react-native-tvos 0.80.1-0 → 0.81.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1773) hide show
  1. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.js +3 -3
  4. package/Libraries/Alert/NativeAlertManager.js +1 -0
  5. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  6. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  7. package/Libraries/Alert/RCTAlertManager.js +1 -3
  8. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  9. package/Libraries/Animated/Animated.js +0 -1
  10. package/Libraries/Animated/Animated.js.flow +0 -1
  11. package/Libraries/Animated/AnimatedEvent.js +4 -3
  12. package/Libraries/Animated/AnimatedExports.js +0 -1
  13. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  14. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  15. package/Libraries/Animated/AnimatedMock.js +2 -2
  16. package/Libraries/Animated/Easing.js +1 -1
  17. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  18. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  19. package/Libraries/Animated/SpringConfig.js +1 -1
  20. package/Libraries/Animated/animations/Animation.js +10 -2
  21. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  22. package/Libraries/Animated/components/AnimatedText.js +2 -5
  23. package/Libraries/Animated/components/AnimatedView.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  25. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  26. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  27. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  28. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  29. package/Libraries/AppDelegate/RCTAppSetupUtils.h +1 -7
  30. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +4 -16
  31. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +2 -8
  32. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +8 -7
  33. package/Libraries/AppState/NativeAppState.js +1 -0
  34. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  35. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  36. package/Libraries/Blob/BlobManager.js +4 -0
  37. package/Libraries/Blob/NativeBlobModule.js +1 -0
  38. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  39. package/Libraries/Blob/React-RCTBlob.podspec +3 -2
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +5 -1
  42. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  43. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  44. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  49. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  50. package/Libraries/Components/Button.js +10 -7
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  60. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  61. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  62. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  63. package/Libraries/Components/Pressable/Pressable.js +21 -18
  64. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  65. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  66. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  67. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  68. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  69. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  70. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  71. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  72. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  73. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  74. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  75. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  76. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  77. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  78. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  79. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  81. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  82. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  83. package/Libraries/Components/Sound/SoundManager.js +1 -1
  84. package/Libraries/Components/StaticRenderer.js +1 -1
  85. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  86. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  87. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  88. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  89. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  90. package/Libraries/Components/Switch/Switch.js +10 -3
  91. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  92. package/Libraries/Components/TV/TVEventControl.js +7 -6
  93. package/Libraries/Components/TV/TVFocusGuideView.js +29 -24
  94. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -12
  95. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  96. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  97. package/Libraries/Components/TextInput/TextInput.flow.js +2 -6
  98. package/Libraries/Components/TextInput/TextInput.js +36 -37
  99. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  100. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  101. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  102. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  103. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  104. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  105. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  106. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  107. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  108. package/Libraries/Components/Touchable/Position.js +1 -1
  109. package/Libraries/Components/Touchable/Touchable.js +17 -3
  110. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  111. package/Libraries/Components/Touchable/TouchableHighlight.js +16 -11
  112. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  113. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  114. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  115. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  116. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  117. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  118. package/Libraries/Components/View/View.js +144 -54
  119. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  120. package/Libraries/Components/View/ViewPropTypes.d.ts +4 -0
  121. package/Libraries/Components/View/ViewPropTypes.js +8 -1
  122. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  123. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  124. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  125. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  126. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  127. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  128. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  129. package/Libraries/Core/ExceptionsManager.js +27 -16
  130. package/Libraries/Core/InitializeCore.js +2 -23
  131. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  132. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  133. package/Libraries/Core/ReactNativeVersion.js +4 -6
  134. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  135. package/Libraries/Core/Timers/JSTimers.js +1 -1
  136. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  137. package/Libraries/Core/Timers/immediateShim.js +1 -1
  138. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  139. package/Libraries/Core/checkNativeVersion.js +1 -0
  140. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  141. package/Libraries/Core/setUpReactDevTools.js +21 -4
  142. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  143. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  144. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  145. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  146. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  147. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  148. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  149. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  150. package/Libraries/Image/AssetRegistry.js +4 -10
  151. package/Libraries/Image/Image.android.js +113 -107
  152. package/Libraries/Image/Image.ios.js +10 -2
  153. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  154. package/Libraries/Image/ImageInjection.js +1 -1
  155. package/Libraries/Image/ImageSource.d.ts +5 -0
  156. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  157. package/Libraries/Image/NativeImageEditor.js +1 -0
  158. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  159. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  160. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  161. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  162. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +2 -1
  163. package/Libraries/Image/RCTImageUtils.mm +1 -1
  164. package/Libraries/Image/RCTResizeMode.h +3 -7
  165. package/Libraries/Image/React-RCTImage.podspec +4 -2
  166. package/Libraries/Image/RelativeImageStub.js +2 -1
  167. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  168. package/Libraries/Image/resolveAssetSource.js +1 -1
  169. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  170. package/Libraries/Interaction/InteractionManager.js +64 -54
  171. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  172. package/Libraries/Interaction/TaskQueue.js +8 -9
  173. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  174. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  175. package/Libraries/Linking/Linking.js +1 -1
  176. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  177. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  178. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  179. package/Libraries/Lists/FlatList.d.ts +9 -5
  180. package/Libraries/Lists/FlatList.js +6 -7
  181. package/Libraries/Lists/SectionList.js +4 -4
  182. package/Libraries/Lists/SectionListModern.js +9 -3
  183. package/Libraries/Lists/VirtualizedList.js +3 -2
  184. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  185. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  186. package/Libraries/LogBox/LogBox.js +72 -99
  187. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  188. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  189. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  190. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +2 -1
  196. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -18
  197. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  198. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTInspectorNetworkReporter.h +64 -0
  212. package/Libraries/Network/RCTInspectorNetworkReporter.mm +105 -0
  213. package/Libraries/Network/RCTNetworkConversions.h +23 -0
  214. package/Libraries/Network/RCTNetworking.android.js +2 -2
  215. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  216. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  217. package/Libraries/Network/RCTNetworking.mm +31 -4
  218. package/Libraries/Network/React-RCTNetwork.podspec +2 -1
  219. package/Libraries/Network/XMLHttpRequest.js +3 -3
  220. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  221. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  222. package/Libraries/Pressability/Pressability.js +1 -1
  223. package/Libraries/Promise.js +1 -1
  224. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  225. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  226. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -0
  227. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  228. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  229. package/Libraries/ReactNative/AppContainer.js +1 -1
  230. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  231. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  232. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  233. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  234. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  235. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  236. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  237. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  238. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  239. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  240. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  241. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  242. package/Libraries/ReactNative/RendererProxy.js +1 -1
  243. package/Libraries/ReactNative/RootTag.js +2 -2
  244. package/Libraries/ReactNative/renderApplication.js +1 -1
  245. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  246. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  247. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  248. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  249. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  250. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  251. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  252. package/Libraries/Required/RCTRequired.podspec +1 -1
  253. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  254. package/Libraries/Settings/React-RCTSettings.podspec +2 -1
  255. package/Libraries/Settings/Settings.ios.js +1 -1
  256. package/Libraries/Settings/Settings.js +1 -1
  257. package/Libraries/Settings/SettingsFallback.js +1 -1
  258. package/Libraries/Share/NativeShareModule.js +1 -0
  259. package/Libraries/Share/Share.js +1 -1
  260. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  261. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  262. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  263. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  264. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  265. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  266. package/Libraries/StyleSheet/PointPropType.js +1 -1
  267. package/Libraries/StyleSheet/Rect.js +1 -1
  268. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  269. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  270. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  271. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  272. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  273. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  274. package/Libraries/StyleSheet/processColor.js +1 -1
  275. package/Libraries/StyleSheet/processColorArray.js +1 -1
  276. package/Libraries/StyleSheet/processFilter.js +1 -2
  277. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  278. package/Libraries/StyleSheet/processTransform.js +1 -1
  279. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  280. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  281. package/Libraries/Text/React-RCTText.podspec +1 -1
  282. package/Libraries/Text/Text.d.ts +9 -0
  283. package/Libraries/Text/Text.js +255 -246
  284. package/Libraries/Text/TextAncestor.js +3 -9
  285. package/Libraries/Text/TextAncestorContext.js +23 -0
  286. package/Libraries/Text/TextNativeComponent.js +4 -0
  287. package/Libraries/Text/TextProps.js +2 -5
  288. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  289. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  290. package/Libraries/Types/CodegenTypes.js +1 -1
  291. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  292. package/Libraries/Types/CoreEventTypes.d.ts +0 -4
  293. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  294. package/Libraries/Utilities/Appearance.js +1 -1
  295. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  296. package/Libraries/Utilities/DevLoadingView.js +1 -1
  297. package/Libraries/Utilities/DeviceInfo.js +1 -1
  298. package/Libraries/Utilities/Dimensions.js +1 -1
  299. package/Libraries/Utilities/HMRClient.js +13 -3
  300. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  301. package/Libraries/Utilities/NativeAppearance.js +1 -0
  302. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  303. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  304. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  305. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  306. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  307. package/Libraries/Utilities/PixelRatio.js +1 -1
  308. package/Libraries/Utilities/Platform.android.js +2 -5
  309. package/Libraries/Utilities/Platform.ios.js +2 -5
  310. package/Libraries/Utilities/Platform.js +1 -1
  311. package/Libraries/Utilities/Platform.js.flow +2 -2
  312. package/Libraries/Utilities/PlatformTypes.js +2 -2
  313. package/Libraries/Utilities/RCTLog.js +1 -1
  314. package/Libraries/Utilities/SceneTracker.js +1 -1
  315. package/Libraries/Utilities/binaryToBase64.js +1 -1
  316. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  317. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  318. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  319. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  320. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  321. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  322. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  323. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  324. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  325. package/Libraries/Utilities/logError.js +1 -1
  326. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  327. package/Libraries/Utilities/stringifySafe.js +1 -1
  328. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  329. package/Libraries/Utilities/useColorScheme.js +1 -1
  330. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  331. package/Libraries/Utilities/warnOnce.js +1 -1
  332. package/Libraries/Vibration/NativeVibration.js +1 -0
  333. package/Libraries/Vibration/React-RCTVibration.podspec +2 -1
  334. package/Libraries/Vibration/Vibration.js +1 -2
  335. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  336. package/Libraries/WebSocket/WebSocket.js +1 -1
  337. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  338. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  339. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  340. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  341. package/React/Base/RCTBridge+Private.h +5 -0
  342. package/React/Base/RCTBridge.mm +108 -0
  343. package/React/Base/RCTBridgeDelegate.h +2 -0
  344. package/React/Base/RCTBridgeMethod.h +3 -2
  345. package/React/Base/RCTBridgeModule.h +6 -0
  346. package/React/Base/RCTBridgeProxy.mm +2 -0
  347. package/React/Base/RCTBundleManager.h +2 -0
  348. package/React/Base/RCTBundleManager.m +10 -0
  349. package/React/Base/RCTCallInvokerModule.h +2 -0
  350. package/React/Base/RCTCallableJSModules.m +6 -0
  351. package/React/Base/RCTDisplayLink.h +8 -1
  352. package/React/Base/RCTDisplayLink.m +15 -14
  353. package/React/Base/RCTJavaScriptExecutor.h +2 -0
  354. package/React/Base/RCTModuleData.mm +37 -0
  355. package/React/Base/RCTModuleMethod.mm +1 -0
  356. package/React/Base/RCTModuleRegistry.m +8 -0
  357. package/React/Base/RCTRootContentView.h +4 -0
  358. package/React/Base/RCTRootContentView.m +4 -0
  359. package/React/Base/RCTRootView.m +32 -0
  360. package/React/Base/RCTRootViewInternal.h +4 -0
  361. package/React/Base/RCTTVNavigationEventNotification.h +2 -0
  362. package/React/Base/RCTTVRemoteHandler.h +3 -0
  363. package/React/Base/RCTTVRemoteHandler.m +2 -0
  364. package/React/Base/RCTTVRemoteHandlerConstants.h +2 -0
  365. package/React/Base/RCTTVRemoteSelectHandler.h +2 -0
  366. package/React/Base/RCTTVRemoteSelectHandler.m +2 -0
  367. package/React/Base/RCTTouchHandler.m +2 -0
  368. package/React/Base/RCTTouchHandlerTV.m +2 -0
  369. package/React/Base/RCTUtils.h +0 -2
  370. package/React/Base/RCTUtils.mm +65 -35
  371. package/React/Base/RCTVersion.m +2 -2
  372. package/React/Base/RCTViewRegistry.m +16 -7
  373. package/React/Base/Surface/RCTSurface.mm +68 -0
  374. package/React/Base/Surface/RCTSurfaceRootShadowView.m +17 -0
  375. package/React/Base/Surface/RCTSurfaceView.h +3 -3
  376. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  377. package/React/CoreModules/RCTDeviceInfo.mm +4 -3
  378. package/React/CoreModules/RCTLogBox.mm +4 -1
  379. package/React/CoreModules/RCTLogBoxView.h +2 -0
  380. package/React/CoreModules/RCTLogBoxView.mm +6 -0
  381. package/React/CoreModules/RCTStatusBarManager.mm +2 -0
  382. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +3 -1
  383. package/React/CoreModules/React-CoreModules.podspec +4 -1
  384. package/React/CxxBridge/RCTCxxBridge.mm +47 -11
  385. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +4 -0
  386. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +4 -0
  387. package/React/CxxBridge/RCTObjcExecutor.h +4 -0
  388. package/React/CxxBridge/RCTObjcExecutor.mm +5 -1
  389. package/React/CxxModule/DispatchMessageQueueThread.h +4 -0
  390. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  391. package/React/CxxModule/RCTCxxModule.mm +1 -1
  392. package/React/CxxModule/RCTCxxUtils.h +4 -0
  393. package/React/CxxModule/RCTCxxUtils.mm +4 -1
  394. package/React/CxxModule/RCTNativeModule.h +4 -0
  395. package/React/CxxModule/RCTNativeModule.mm +5 -1
  396. package/React/CxxUtils/RCTFollyConvert.h +8 -6
  397. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -31
  398. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +3 -28
  399. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +153 -40
  400. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +243 -108
  401. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ComponentDescriptors.cpp +2 -2
  402. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +30 -0
  403. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/EventEmitters.cpp +26 -1
  404. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +194 -0
  405. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +663 -0
  406. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +535 -0
  407. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/RCTComponentViewHelpers.h +4 -0
  408. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ShadowNodes.cpp +1 -1
  409. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +98 -0
  410. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/States.cpp +1 -1
  411. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +32 -0
  412. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +3 -3
  413. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h +1 -1
  414. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm +4 -4
  415. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -1
  416. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -1
  417. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +0 -2
  418. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +18 -2
  419. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +4 -4
  420. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -1
  421. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +4 -4
  422. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +2 -1
  423. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +3 -3
  424. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +3 -3
  425. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +20 -7
  426. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +24 -0
  427. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +384 -0
  428. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  429. package/React/Fabric/Mounting/RCTMountingManager.mm +15 -6
  430. package/React/Fabric/RCTScheduler.h +1 -0
  431. package/React/Fabric/RCTScheduler.mm +6 -2
  432. package/React/Fabric/RCTSurfacePointerHandler.mm +2 -0
  433. package/React/Fabric/RCTSurfacePointerHandlerTV.mm +2 -0
  434. package/React/Fabric/RCTSurfacePresenter.h +2 -1
  435. package/React/Fabric/RCTSurfacePresenter.mm +14 -8
  436. package/React/Fabric/RCTSurfaceTouchHandler.mm +2 -0
  437. package/React/Fabric/RCTSurfaceTouchHandlerTV.mm +2 -0
  438. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -4
  439. package/React/Fabric/Utils/RCTGradientUtils.h +12 -0
  440. package/React/Fabric/Utils/RCTGradientUtils.mm +213 -6
  441. package/React/Fabric/Utils/RCTLinearGradient.mm +37 -42
  442. package/React/Fabric/Utils/RCTRadialGradient.mm +29 -64
  443. package/React/Modules/RCTSurfacePresenterStub.h +1 -1
  444. package/React/Modules/RCTUIManager.mm +206 -93
  445. package/React/React-RCTFBReactNativeSpec.podspec +33 -8
  446. package/React/React-RCTFabric.podspec +8 -3
  447. package/React/Runtime/React-RCTRuntime.podspec +7 -6
  448. package/React/Views/RCTBorderDrawing.h +5 -0
  449. package/React/Views/RCTBorderDrawing.m +37 -4
  450. package/React/Views/RCTModalHostView.h +1 -0
  451. package/React/Views/RCTModalHostView.m +16 -0
  452. package/React/Views/RCTModalHostViewController.m +0 -1
  453. package/React/Views/RCTModalHostViewManager.m +1 -0
  454. package/React/Views/RCTSwitch.h +2 -0
  455. package/React/Views/RCTSwitch.m +2 -0
  456. package/React/Views/RCTSwitchManager.h +2 -0
  457. package/React/Views/RCTSwitchManager.m +2 -0
  458. package/React/Views/RCTTVView.h +2 -0
  459. package/React/Views/RCTTVView.m +2 -0
  460. package/React/Views/RCTView.m +4 -1
  461. package/React/Views/RefreshControl/RCTRefreshControl.h +2 -0
  462. package/React/Views/RefreshControl/RCTRefreshControl.m +2 -0
  463. package/React/Views/RefreshControl/RCTRefreshControlManager.h +2 -0
  464. package/React/Views/RefreshControl/RCTRefreshControlManager.m +2 -0
  465. package/React/Views/RefreshControl/RCTRefreshableProtocol.h +2 -0
  466. package/React/Views/ScrollView/RCTScrollView.h +2 -0
  467. package/React/Views/ScrollView/RCTScrollView.m +2 -0
  468. package/React/Views/ScrollView/RCTScrollViewManager.m +2 -0
  469. package/React-Core-prebuilt.podspec +78 -0
  470. package/React-Core.podspec +29 -28
  471. package/ReactAndroid/api/ReactAndroid.api +294 -506
  472. package/ReactAndroid/build.gradle.kts +20 -55
  473. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +1 -1
  474. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -2
  475. package/ReactAndroid/external-artifacts/build.gradle.kts +52 -0
  476. package/ReactAndroid/gradle.properties +1 -1
  477. package/ReactAndroid/hermes-engine/build.gradle.kts +25 -0
  478. package/ReactAndroid/publish.gradle +2 -2
  479. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  480. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +0 -9
  481. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +1 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +194 -0
  483. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +1 -5
  484. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -4
  485. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +146 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +6 -5
  487. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +2 -2
  488. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  489. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +57 -30
  490. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +4 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +451 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +237 -0
  493. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -10
  494. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +396 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +7 -16
  496. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +3 -3
  497. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -0
  498. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +2 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +244 -0
  500. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +1 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +4 -3
  502. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +1 -1
  503. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +59 -77
  504. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +43 -37
  505. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +2 -2
  506. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +0 -2
  507. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +20 -11
  508. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +2 -2
  509. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +3 -4
  510. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +2 -0
  511. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +1 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +37 -40
  513. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +399 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +2 -2
  515. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +8 -9
  516. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +93 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +227 -0
  519. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +59 -0
  520. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +4 -2
  521. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +4 -2
  522. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +156 -0
  523. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +2 -1
  524. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +240 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.kt +20 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +33 -0
  527. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +69 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +212 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +4 -2
  531. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +4 -3
  532. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +30 -21
  533. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +8 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +21 -7
  535. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +3 -3
  536. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RetryableMountingLayerException.kt +4 -4
  537. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +4 -4
  538. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +2 -1
  539. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +3 -3
  540. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +8 -8
  541. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +107 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +2 -1
  543. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +6 -4
  544. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +1 -1
  545. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  546. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +16 -4
  547. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +53 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +4 -3
  549. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +9 -15
  550. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +2 -2
  551. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +0 -3
  552. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +5 -7
  553. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +0 -4
  554. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +1 -3
  555. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +3 -2
  556. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +16 -7
  557. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +1 -1
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +1 -1
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.kt +1 -1
  560. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  561. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +3 -3
  562. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +65 -68
  563. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +6 -5
  564. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +1 -1
  565. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +4 -2
  566. package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/InteropUiBlockListener.kt +27 -16
  567. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +365 -0
  568. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +373 -0
  569. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +48 -50
  570. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  571. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  572. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +2 -2
  573. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +77 -5
  574. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +131 -11
  575. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +27 -3
  576. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +145 -13
  578. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +2 -2
  579. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +27 -3
  580. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +2 -2
  581. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +4 -4
  582. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +1 -1
  583. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +21 -30
  584. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +4 -11
  585. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +2 -2
  586. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +6 -4
  587. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -1
  588. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
  589. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +2 -2
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +3 -4
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +6 -2
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +2 -2
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +2 -3
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +10 -9
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +23 -55
  596. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +1 -1
  597. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +0 -5
  598. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +8 -3
  599. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +0 -2
  600. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +9 -5
  601. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +5 -2
  602. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -4
  603. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +23 -21
  604. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +7 -10
  605. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +9 -9
  606. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.kt +5 -5
  607. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +24 -23
  608. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  609. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +3 -4
  610. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +1 -1
  611. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +17 -20
  612. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  613. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +11 -14
  614. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +2 -2
  615. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +52 -40
  616. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +1 -1
  617. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +22 -18
  618. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +6 -4
  619. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSRuntimeFactory.kt +6 -1
  620. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +1472 -0
  621. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +4 -0
  622. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +4 -0
  623. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +14 -14
  624. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +3 -1
  625. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +6 -2
  626. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/ExecutorException.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +1 -1
  628. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +9 -2
  629. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +0 -17
  630. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +2 -2
  631. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +1 -1
  632. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +1 -1
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +80 -63
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +1 -5
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +17 -5
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FloatUtil.kt +2 -2
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +238 -0
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +4 -10
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +25 -20
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +2 -1
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -2
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +2 -2
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +4 -2
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +9 -9
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.kt +6 -7
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -14
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +63 -106
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +1 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +5 -4
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +7 -7
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +2 -1
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +3 -3
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +4 -6
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +151 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -2
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +232 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +5 -5
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +0 -4
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +238 -0
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +2 -1
  663. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -2
  664. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +2 -2
  665. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +5 -6
  666. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +15 -62
  667. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +18 -4
  668. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +2 -3
  669. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.kt +161 -0
  670. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt +1 -1
  671. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +1 -2
  672. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +4 -2
  673. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +1 -1
  674. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +0 -2
  675. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +2 -1
  676. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +0 -5
  677. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +0 -2
  678. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -6
  679. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +334 -0
  680. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +3 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +12 -12
  682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +340 -0
  683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +3 -2
  685. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +2 -2
  686. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +2 -1
  687. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +2 -2
  688. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +2 -1
  689. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +2 -2
  690. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +2 -1
  691. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +2 -2
  692. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +2 -2
  693. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +2 -2
  694. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +2 -1
  695. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +8 -8
  696. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +2 -2
  697. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +4 -2
  698. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +9 -11
  699. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +1 -1
  700. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +1 -1
  701. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +1 -1
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -2
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +26 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +5 -17
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +4 -15
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +1 -1
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +1 -1
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +1 -1
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +1 -1
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +2 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +3 -2
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +6 -6
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -9
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +10 -1
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +3 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +52 -4
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +37 -7
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +45 -5
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +19 -28
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +34 -6
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +28 -17
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +2 -1
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +0 -14
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +0 -7
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +10 -1
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.kt +7 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +15 -21
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +5 -1
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +103 -159
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +29 -21
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +11 -10
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +4 -1
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +2 -1
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +25 -22
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +349 -0
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +87 -84
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +181 -0
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +10 -1
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +8 -1
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.kt +137 -0
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +1203 -0
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +2 -6
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +17 -10
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +7 -7
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +1 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +5 -5
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +4 -4
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +8 -15
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +5 -5
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +8 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +1586 -0
  755. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +38 -44
  756. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +1 -5
  757. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +77 -43
  758. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/ReactVirtualView.kt +382 -0
  759. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/ReactVirtualViewManager.kt +102 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewMode.kt +14 -0
  761. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewModeChangeEvent.kt +49 -0
  762. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewRenderState.kt +20 -0
  763. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  764. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -98
  765. package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -3
  766. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +2 -4
  767. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +4 -0
  768. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +1 -1
  769. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +1 -1
  770. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -1
  771. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +4 -2
  772. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +13 -10
  773. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -1
  774. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +105 -13
  775. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +8 -6
  776. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +1 -1
  777. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +181 -13
  778. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +39 -3
  779. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +11 -9
  780. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +2 -6
  781. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +10 -2
  782. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +0 -1
  783. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +4 -0
  784. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +4 -0
  785. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +4 -0
  786. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +4 -0
  787. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +4 -0
  788. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +4 -0
  789. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +4 -0
  790. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +4 -0
  791. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +4 -0
  792. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +4 -0
  793. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +4 -0
  794. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -0
  795. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +1 -1
  796. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +1 -1
  797. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +1 -1
  798. package/ReactAndroid/src/main/jni/react/newarchdefaults/rncore.h +20 -0
  799. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +1 -1
  800. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +1 -1
  801. package/ReactAndroid/src/main/res/systeminfo/values-am/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -9
  803. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  804. package/ReactCommon/React-Fabric.podspec +32 -43
  805. package/ReactCommon/React-FabricComponents.podspec +54 -57
  806. package/ReactCommon/React-FabricImage.podspec +2 -1
  807. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  808. package/ReactCommon/ReactCommon.podspec +6 -7
  809. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  810. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +5 -5
  811. package/ReactCommon/callinvoker/ReactCommon/SchedulerPriority.h +0 -2
  812. package/ReactCommon/cmake-utils/internal/react-native-platform-selector.cmake +24 -0
  813. package/ReactCommon/cmake-utils/react-native-flags.cmake +7 -11
  814. package/ReactCommon/cxxreact/CMakeLists.txt +1 -1
  815. package/ReactCommon/cxxreact/CxxModule.h +3 -7
  816. package/ReactCommon/cxxreact/CxxNativeModule.cpp +5 -0
  817. package/ReactCommon/cxxreact/CxxNativeModule.h +4 -0
  818. package/ReactCommon/cxxreact/Instance.cpp +4 -0
  819. package/ReactCommon/cxxreact/Instance.h +5 -1
  820. package/ReactCommon/cxxreact/JSBigString.cpp +3 -3
  821. package/ReactCommon/cxxreact/JSBigString.h +3 -2
  822. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -6
  823. package/ReactCommon/cxxreact/JSExecutor.h +5 -4
  824. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +7 -1
  825. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +6 -0
  826. package/ReactCommon/cxxreact/JSModulesUnbundle.h +5 -1
  827. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -4
  828. package/ReactCommon/cxxreact/MessageQueueThread.h +1 -3
  829. package/ReactCommon/cxxreact/MethodCall.cpp +4 -0
  830. package/ReactCommon/cxxreact/MethodCall.h +4 -0
  831. package/ReactCommon/cxxreact/ModuleRegistry.cpp +4 -0
  832. package/ReactCommon/cxxreact/ModuleRegistry.h +4 -0
  833. package/ReactCommon/cxxreact/NativeModule.h +5 -1
  834. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -0
  835. package/ReactCommon/cxxreact/NativeToJsBridge.h +4 -0
  836. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +4 -0
  837. package/ReactCommon/cxxreact/RAMBundleRegistry.h +5 -1
  838. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -4
  839. package/ReactCommon/cxxreact/ReactMarker.cpp +2 -4
  840. package/ReactCommon/cxxreact/ReactMarker.h +2 -4
  841. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  842. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +2 -6
  843. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +5 -5
  844. package/ReactCommon/hermes/React-hermes.podspec +6 -3
  845. package/ReactCommon/hermes/executor/CMakeLists.txt +4 -1
  846. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  847. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +4 -1
  848. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +10 -6
  849. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.h +11 -1
  850. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +58 -9
  851. package/ReactCommon/jsc/JSCRuntime.cpp +2 -4
  852. package/ReactCommon/jsc/JSCRuntime.h +2 -4
  853. package/ReactCommon/jserrorhandler/CMakeLists.txt +3 -1
  854. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +4 -9
  855. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +4 -3
  856. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +3 -1
  857. package/ReactCommon/jsi/CMakeLists.txt +1 -1
  858. package/ReactCommon/jsi/React-jsi.podspec +3 -6
  859. package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
  860. package/ReactCommon/jsi/jsi/decorator.h +33 -0
  861. package/ReactCommon/jsi/jsi/jsi-inl.h +14 -0
  862. package/ReactCommon/jsi/jsi/jsi.cpp +119 -0
  863. package/ReactCommon/jsi/jsi/jsi.h +153 -1
  864. package/ReactCommon/jsi/jsi/test/testlib.cpp +111 -4
  865. package/ReactCommon/jsi/jsi/test/testlib.h +2 -2
  866. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
  867. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +54 -1
  868. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +4 -0
  869. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -0
  870. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +4 -0
  871. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +0 -6
  872. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +54 -2
  873. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +16 -0
  874. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -3
  875. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +1 -1
  876. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +157 -27
  877. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +4 -3
  878. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -2
  879. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +3 -2
  880. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.cpp +77 -0
  881. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.h +67 -0
  882. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +3 -1
  883. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +35 -0
  884. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +43 -0
  885. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +144 -23
  886. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +91 -19
  887. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +6 -2
  888. package/ReactCommon/jsinspector-modern/tests/ConsoleTimeStampTest.cpp +146 -0
  889. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +37 -36
  890. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +9 -9
  891. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  892. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +91 -0
  893. package/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.cpp +5 -18
  894. package/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h +4 -2
  895. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +141 -84
  896. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +59 -18
  897. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -2
  898. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +28 -8
  899. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +41 -32
  900. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +9 -7
  901. package/ReactCommon/jsinspector-modern/tracing/Timing.h +42 -0
  902. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +6 -8
  903. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +10 -2
  904. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +13 -13
  905. package/ReactCommon/jsitooling/CMakeLists.txt +1 -1
  906. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -2
  907. package/ReactCommon/logger/React-logger.podspec +2 -1
  908. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  909. package/ReactCommon/react/bridging/Base.h +45 -34
  910. package/ReactCommon/react/bridging/Bool.h +1 -1
  911. package/ReactCommon/react/bridging/Bridging.h +1 -0
  912. package/ReactCommon/react/bridging/CMakeLists.txt +2 -2
  913. package/ReactCommon/react/bridging/Class.h +36 -33
  914. package/ReactCommon/react/bridging/HighResTimeStamp.h +41 -0
  915. package/ReactCommon/react/bridging/Number.h +10 -10
  916. package/ReactCommon/react/bridging/Promise.h +14 -8
  917. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +35 -6
  918. package/ReactCommon/react/bridging/tests/ClassTest.cpp +58 -0
  919. package/ReactCommon/react/debug/CMakeLists.txt +6 -2
  920. package/ReactCommon/react/debug/React-debug.podspec +2 -2
  921. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  922. package/ReactCommon/react/featureflags/React-featureflags.podspec +3 -2
  923. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +53 -5
  924. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +65 -5
  925. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +269 -53
  926. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -6
  927. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +52 -4
  928. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +115 -7
  929. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +4 -2
  930. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -3
  931. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +9 -5
  932. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.cpp +2 -4
  933. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +2 -4
  934. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +0 -19
  935. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +108 -0
  936. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +7 -2
  937. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +4 -3
  938. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +2 -4
  939. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +2 -4
  940. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +3 -4
  941. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +25 -26
  942. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -1
  943. package/ReactCommon/react/nativemodule/cputime/CMakeLists.txt +20 -0
  944. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -1
  945. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -1
  946. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +2 -2
  947. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +2 -0
  948. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +1 -1
  949. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +2 -1
  950. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +62 -51
  951. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +33 -18
  952. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +4 -1
  953. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/CMakeLists.txt +29 -0
  954. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +52 -0
  955. package/ReactCommon/react/nativemodule/{fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h → fantomtestspecificmethods/NativeFantomTestSpecificMethods.h} +7 -6
  956. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.cpp +56 -0
  957. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.h +29 -0
  958. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  959. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +66 -6
  960. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +31 -8
  961. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +2 -1
  962. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  963. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +10 -17
  964. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h +3 -4
  965. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +3 -1
  966. package/ReactCommon/react/nativemodule/intersectionobserver/CMakeLists.txt +28 -0
  967. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +66 -11
  968. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +20 -4
  969. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  970. package/ReactCommon/react/nativemodule/microtasks/NativeMicrotasks.h +1 -3
  971. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +2 -1
  972. package/ReactCommon/react/nativemodule/mutationobserver/CMakeLists.txt +27 -0
  973. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +7 -8
  974. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +5 -5
  975. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  976. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +1 -1
  977. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +21 -0
  978. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +45 -12
  979. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +20 -22
  980. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  981. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +11 -10
  982. package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +2 -2
  983. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +56 -47
  984. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +33 -20
  985. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +8 -5
  986. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -2
  987. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +196 -79
  988. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +238 -44
  989. package/ReactCommon/react/renderer/animations/CMakeLists.txt +1 -1
  990. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +5 -4
  991. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -6
  992. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  993. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +9 -3
  994. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  995. package/ReactCommon/react/renderer/attributedstring/PlaceholderAttributedString.h +34 -0
  996. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +3 -16
  997. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -5
  998. package/ReactCommon/react/renderer/attributedstring/conversions.h +14 -7
  999. package/ReactCommon/react/renderer/bridging/CMakeLists.txt +15 -0
  1000. package/ReactCommon/react/renderer/bridging/bridging.h +52 -0
  1001. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  1002. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  1003. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  1004. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +108 -0
  1005. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -0
  1006. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +16 -0
  1007. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +2 -2
  1008. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  1009. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +18 -7
  1010. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +1 -1
  1011. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +9 -2
  1012. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +3 -2
  1013. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +5 -2
  1014. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +1 -1
  1015. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +7 -15
  1016. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h +2 -2
  1017. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +1 -1
  1018. package/ReactCommon/react/renderer/components/modal/platform/android/JReactModalHostView.h +38 -0
  1019. package/ReactCommon/react/renderer/components/modal/platform/android/ModalHostViewUtils.cpp +18 -0
  1020. package/ReactCommon/react/renderer/components/modal/platform/cxx/ModalHostViewUtils.cpp +17 -0
  1021. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  1022. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -12
  1023. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +1 -5
  1024. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +2 -2
  1025. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +2 -2
  1026. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +10 -26
  1027. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +10 -165
  1028. package/ReactCommon/react/renderer/components/rncore/Props.h +10 -393
  1029. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +10 -94
  1030. package/ReactCommon/react/renderer/components/rncore/States.h +10 -97
  1031. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  1032. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +1 -1
  1033. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +2 -2
  1034. package/ReactCommon/react/renderer/components/scrollview/{ScrollViewProps.cpp → BaseScrollViewProps.cpp} +29 -22
  1035. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +87 -0
  1036. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +16 -3
  1037. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +3 -73
  1038. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +2 -2
  1039. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +354 -0
  1040. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +46 -0
  1041. package/{React/Runtime/RCTJscInstanceFactory.h → ReactCommon/react/renderer/components/scrollview/platform/cxx/react/renderer/components/scrollview/HostPlatformScrollViewProps.h} +4 -10
  1042. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +1 -1
  1043. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +32 -41
  1044. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +0 -3
  1045. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +2 -2
  1046. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +192 -13
  1047. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +6 -0
  1048. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +0 -7
  1049. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +15 -6
  1050. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +93 -0
  1051. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -0
  1052. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +143 -80
  1053. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +26 -7
  1054. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +28 -0
  1055. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -0
  1056. package/ReactCommon/react/renderer/components/text/TextProps.cpp +21 -0
  1057. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -0
  1058. package/ReactCommon/react/renderer/components/text/conversions.h +2 -2
  1059. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +8 -0
  1060. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +23 -2
  1061. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +6 -0
  1062. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +9 -15
  1063. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  1064. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +11 -7
  1065. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.h +2 -1
  1066. package/ReactCommon/react/renderer/components/textinput/TextInputState.h +5 -22
  1067. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +4 -2
  1068. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +277 -0
  1069. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -1
  1070. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +10 -21
  1071. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +2 -2
  1072. package/ReactCommon/react/renderer/components/textinput/{TextInputState.cpp → platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp} +3 -32
  1073. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +83 -0
  1074. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +1 -1
  1075. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +21 -0
  1076. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +4 -0
  1077. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +33 -0
  1078. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +28 -1
  1079. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1080. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  1081. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +11 -7
  1082. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +51 -27
  1083. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +14 -3
  1084. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +144 -516
  1085. package/ReactCommon/react/renderer/components/view/conversions.h +114 -0
  1086. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +119 -5
  1087. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +2 -3
  1088. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +1 -0
  1089. package/ReactCommon/react/renderer/components/view/propsConversions.h +537 -2
  1090. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +6 -2
  1091. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +20 -0
  1092. package/ReactCommon/react/renderer/components/virtualview/VirtualViewShadowNode.h +37 -0
  1093. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  1094. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  1095. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -2
  1096. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -3
  1097. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +9 -6
  1098. package/ReactCommon/react/renderer/core/ConcreteState.h +7 -9
  1099. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -0
  1100. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -0
  1101. package/ReactCommon/react/renderer/core/EventLogger.h +3 -2
  1102. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +24 -2
  1103. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +12 -3
  1104. package/ReactCommon/react/renderer/core/Props.cpp +1 -1
  1105. package/ReactCommon/react/renderer/core/Props.h +5 -2
  1106. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -0
  1107. package/ReactCommon/react/renderer/core/RawEvent.h +6 -1
  1108. package/ReactCommon/react/renderer/core/ShadowNode.cpp +127 -23
  1109. package/ReactCommon/react/renderer/core/ShadowNode.h +69 -26
  1110. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +8 -0
  1111. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -1
  1112. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +26 -16
  1113. package/ReactCommon/react/renderer/core/State.cpp +2 -2
  1114. package/ReactCommon/react/renderer/core/State.h +3 -5
  1115. package/ReactCommon/react/renderer/core/StateData.h +2 -2
  1116. package/ReactCommon/react/renderer/core/graphicsConversions.h +47 -5
  1117. package/ReactCommon/react/renderer/core/propsConversions.h +37 -0
  1118. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +7 -6
  1119. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +9 -1
  1120. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +5 -0
  1121. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +38 -5
  1122. package/ReactCommon/react/renderer/css/CMakeLists.txt +2 -2
  1123. package/ReactCommon/react/renderer/css/CSSTokenizer.h +0 -1
  1124. package/ReactCommon/react/renderer/css/React-renderercss.podspec +3 -3
  1125. package/ReactCommon/react/renderer/debug/CMakeLists.txt +1 -1
  1126. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +3 -2
  1127. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +0 -2
  1128. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  1129. package/ReactCommon/react/renderer/dom/DOM.cpp +28 -31
  1130. package/ReactCommon/react/renderer/dom/DOM.h +3 -4
  1131. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  1132. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
  1133. package/ReactCommon/react/renderer/element/ComponentBuilder.h +2 -1
  1134. package/ReactCommon/react/renderer/element/Element.h +7 -5
  1135. package/ReactCommon/react/renderer/element/ElementFragment.h +1 -1
  1136. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +4 -2
  1137. package/ReactCommon/react/renderer/graphics/BlendMode.h +37 -0
  1138. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +12 -4
  1139. package/ReactCommon/react/renderer/graphics/Color.cpp +1 -1
  1140. package/ReactCommon/react/renderer/graphics/Color.h +10 -0
  1141. package/ReactCommon/react/renderer/graphics/Filter.h +25 -0
  1142. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -3
  1143. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -15
  1144. package/ReactCommon/react/renderer/graphics/Transform.h +0 -7
  1145. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -2
  1146. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +5 -2
  1147. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +4 -0
  1148. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +2 -4
  1149. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +14 -5
  1150. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +11 -0
  1151. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +1 -1
  1152. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -2
  1153. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +2 -1
  1154. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +1 -1
  1155. package/ReactCommon/react/renderer/imagemanager/primitives.h +59 -0
  1156. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +1 -1
  1157. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  1158. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +0 -2
  1159. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -2
  1160. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +2 -1
  1161. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +34 -21
  1162. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -1
  1163. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +67 -25
  1164. package/ReactCommon/react/renderer/mounting/ShadowTree.h +13 -0
  1165. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +11 -6
  1166. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +6 -2
  1167. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -53
  1168. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +9 -7
  1169. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -2
  1170. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +9 -6
  1171. package/ReactCommon/react/renderer/mounting/updateMountedFlag.h +4 -2
  1172. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -2
  1173. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +27 -10
  1174. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +9 -7
  1175. package/ReactCommon/react/renderer/observers/intersection/CMakeLists.txt +28 -0
  1176. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +74 -31
  1177. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +19 -13
  1178. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +136 -63
  1179. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +34 -8
  1180. package/ReactCommon/react/renderer/observers/mutation/CMakeLists.txt +24 -0
  1181. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +34 -46
  1182. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -15
  1183. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +17 -32
  1184. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +2 -4
  1185. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -1
  1186. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +4 -3
  1187. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +12 -6
  1188. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +16 -10
  1189. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +3 -5
  1190. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +1 -0
  1191. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerIntersectionObserverDelegate.h +25 -0
  1192. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -4
  1193. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +11 -8
  1194. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +61 -62
  1195. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +25 -21
  1196. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +8 -7
  1197. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +17 -5
  1198. package/ReactCommon/react/renderer/runtimescheduler/Task.h +6 -4
  1199. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +43 -31
  1200. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +6 -11
  1201. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -1
  1202. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +10 -3
  1203. package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -3
  1204. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +3 -0
  1205. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +5 -4
  1206. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  1207. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +16 -6
  1208. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +6 -0
  1209. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +81 -10
  1210. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +116 -104
  1211. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -0
  1212. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +5 -2
  1213. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +23 -6
  1214. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +1 -1
  1215. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +27 -28
  1216. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +2 -1
  1217. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +15 -10
  1218. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +6 -7
  1219. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -3
  1220. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +5 -3
  1221. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +21 -19
  1222. package/ReactCommon/react/renderer/uimanager/UIManager.h +13 -12
  1223. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +47 -23
  1224. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +9 -3
  1225. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +2 -2
  1226. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +6 -1
  1227. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  1228. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  1229. package/ReactCommon/react/renderer/uimanager/primitives.h +10 -18
  1230. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -1
  1231. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +0 -1
  1232. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -0
  1233. package/ReactCommon/react/runtime/CMakeLists.txt +8 -3
  1234. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -3
  1235. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  1236. package/ReactCommon/react/runtime/ReactInstance.cpp +2 -1
  1237. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  1238. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +5 -2
  1239. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +8 -10
  1240. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +43 -20
  1241. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +1 -1
  1242. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +16 -16
  1243. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  1244. package/ReactCommon/react/timing/primitives.h +280 -15
  1245. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +82 -24
  1246. package/ReactCommon/react/utils/CMakeLists.txt +13 -3
  1247. package/ReactCommon/react/utils/FloatComparison.h +8 -2
  1248. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +2 -4
  1249. package/ReactCommon/react/utils/OnScopeExit.h +1 -1
  1250. package/ReactCommon/react/utils/PackTraits.h +0 -2
  1251. package/ReactCommon/react/utils/React-utils.podspec +4 -3
  1252. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +40 -28
  1253. package/ReactCommon/react/utils/iequals.h +1 -3
  1254. package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  1255. package/{React/CxxUtils/RCTFollyConvert.mm → ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm} +17 -1
  1256. package/ReactCommon/react/utils/tests/SimpleThreadSafeCacheTest.cpp +40 -0
  1257. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -1
  1258. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +2 -4
  1259. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +2 -6
  1260. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1261. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +10 -4
  1262. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +1 -1
  1263. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +10 -6
  1264. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +2 -1
  1265. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  1266. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +4 -3
  1267. package/ReactCommon/runtimeexecutor/CMakeLists.txt +2 -2
  1268. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +24 -1
  1269. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -72
  1270. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.cpp +61 -0
  1271. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +36 -0
  1272. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +39 -0
  1273. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +260 -0
  1274. package/ReactCommon/yoga/Yoga.podspec +1 -1
  1275. package/ReactCommon/yoga/yoga/YGNodeLayout.cpp +8 -0
  1276. package/ReactCommon/yoga/yoga/YGNodeLayout.h +10 -0
  1277. package/ReactCommon/yoga/yoga/YGValue.h +2 -2
  1278. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +21 -16
  1279. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +6 -6
  1280. package/ReactCommon/yoga/yoga/node/LayoutResults.h +9 -0
  1281. package/ReactCommon/yoga/yoga/node/Node.cpp +29 -0
  1282. package/ReactCommon/yoga/yoga/node/Node.h +6 -4
  1283. package/cli.js +52 -33
  1284. package/{src/types → flow}/bom.js.flow +0 -10
  1285. package/{src/types → flow}/cssom.js.flow +0 -1
  1286. package/{src/types → flow}/dom.js.flow +0 -1
  1287. package/{src/types → flow}/streams.js.flow +0 -1
  1288. package/gradle/libs.versions.toml +6 -5
  1289. package/index.js +22 -2
  1290. package/index.js.flow +10 -1
  1291. package/interface.js +1 -1
  1292. package/jest/MockNativeMethods.js +9 -3
  1293. package/jest/assetFileTransformer.js +1 -0
  1294. package/jest/local-setup.js +4 -3
  1295. package/jest/mock.js +39 -0
  1296. package/jest/mockComponent.js +47 -17
  1297. package/jest/mockNativeComponent.js +26 -15
  1298. package/jest/mocks/AccessibilityInfo.js +62 -0
  1299. package/jest/mocks/ActivityIndicator.js +23 -0
  1300. package/jest/mocks/AppState.js +19 -0
  1301. package/jest/mocks/Clipboard.js +16 -0
  1302. package/jest/mocks/Image.js +23 -0
  1303. package/jest/mocks/InitializeCore.js +9 -0
  1304. package/jest/mocks/Linking.js +28 -0
  1305. package/jest/mocks/Modal.js +33 -0
  1306. package/jest/mocks/NativeComponentRegistry.js +30 -0
  1307. package/jest/mocks/NativeModules.js +239 -0
  1308. package/jest/mocks/RefreshControl.js +31 -0
  1309. package/jest/mocks/RendererProxy.js +45 -0
  1310. package/jest/mocks/ScrollView.js +58 -0
  1311. package/jest/mocks/Text.js +27 -0
  1312. package/jest/mocks/TextInput.js +32 -0
  1313. package/jest/mocks/UIManager.js +60 -0
  1314. package/jest/mocks/Vibration.js +16 -0
  1315. package/jest/mocks/View.js +27 -0
  1316. package/jest/mocks/ViewNativeComponent.js +23 -0
  1317. package/jest/mocks/requireNativeComponent.js +22 -0
  1318. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  1319. package/jest/react-native-env.js +1 -0
  1320. package/jest/renderer.js +1 -2
  1321. package/jest/resolver.js +1 -0
  1322. package/jest/setup.js +64 -443
  1323. package/jest-preset.js +1 -0
  1324. package/package.json +16 -22
  1325. package/react-native.config.js +18 -5
  1326. package/scripts/bundle.js +10 -2
  1327. package/scripts/cocoapods/helpers.rb +1 -1
  1328. package/scripts/cocoapods/jsengine.rb +28 -16
  1329. package/scripts/cocoapods/new_architecture.rb +1 -0
  1330. package/scripts/cocoapods/rncore.rb +247 -0
  1331. package/scripts/cocoapods/rndependencies.rb +86 -26
  1332. package/scripts/cocoapods/utils.rb +73 -44
  1333. package/scripts/codegen/codegen-utils.js +9 -4
  1334. package/scripts/codegen/generate-artifacts-executor/constants.js +30 -36
  1335. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +2 -1
  1336. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +10 -4
  1337. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +8 -4
  1338. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +21 -29
  1339. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +7 -6
  1340. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +13 -6
  1341. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +8 -7
  1342. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +15 -5
  1343. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -3
  1344. package/scripts/codegen/generate-artifacts-executor/index.js +24 -10
  1345. package/scripts/codegen/generate-artifacts-executor/utils.js +51 -23
  1346. package/scripts/codegen/generate-specs-cli-executor.js +36 -30
  1347. package/scripts/codegen/templates/ReactCodegen.podspec.template +5 -2
  1348. package/scripts/compose-source-maps.js +3 -2
  1349. package/scripts/generate-codegen-artifacts.js +2 -0
  1350. package/scripts/generate-provider-cli.js +11 -5
  1351. package/scripts/generate-specs-cli.js +7 -0
  1352. package/scripts/hermes/hermes-utils.js +2 -2
  1353. package/scripts/hermes/prepare-hermes-for-build.js +2 -1
  1354. package/scripts/packager-reporter.js +9 -3
  1355. package/scripts/react_native_pods.rb +56 -24
  1356. package/scripts/replace-rncore-version.js +120 -0
  1357. package/sdks/.hermesversion +1 -1
  1358. package/sdks/hermes-engine/hermes-utils.rb +25 -23
  1359. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +11 -3
  1360. package/sdks/hermes-engine/utils/replace_hermes_version.js +1 -0
  1361. package/sdks/hermesc/osx-bin/hermes +0 -0
  1362. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1363. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1364. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1365. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1366. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1367. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  1368. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  1369. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  1370. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  1371. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  1372. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  1373. package/src/private/components/virtualview/VirtualView.js +145 -0
  1374. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  1375. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  1376. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  1377. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  1378. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  1379. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  1380. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  1381. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  1382. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  1383. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  1384. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  1385. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  1386. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  1387. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  1388. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  1389. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  1390. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  1391. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  1392. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.js.flow +3 -7
  1393. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  1394. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  1395. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -8
  1396. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  1397. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -3
  1398. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  1399. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  1400. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  1401. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  1402. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  1403. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  1404. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  1405. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  1406. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  1407. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  1408. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  1409. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  1410. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  1411. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  1412. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  1413. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  1414. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  1415. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  1416. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  1417. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  1418. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  1419. package/src/private/styles/composeStyles.js +5 -12
  1420. package/src/private/types/HostInstance.js +1 -1
  1421. package/src/private/webapis/dom/events/Event.js +3 -0
  1422. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  1423. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  1424. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  1425. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  1426. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  1427. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  1428. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  1429. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  1430. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  1431. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1432. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  1433. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  1434. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  1435. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  1436. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  1437. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  1438. package/src/private/webapis/errors/DOMException.js +166 -0
  1439. package/src/private/webapis/geometry/DOMRect.js +5 -0
  1440. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  1441. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  1442. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  1443. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  1444. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  1445. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  1446. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  1447. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  1448. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  1449. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  1450. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  1451. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  1452. package/src/private/webapis/performance/EventTiming.js +1 -1
  1453. package/src/private/webapis/performance/LongTasks.js +1 -1
  1454. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  1455. package/src/private/webapis/performance/Performance.js +20 -9
  1456. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  1457. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  1458. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  1459. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  1460. package/src/private/webapis/performance/UserTiming.js +1 -1
  1461. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  1462. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  1463. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  1464. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  1465. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  1466. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  1467. package/third-party-podspecs/ReactNativeDependencies.podspec +14 -1
  1468. package/third-party-podspecs/replace_dependencies_version.js +37 -6
  1469. package/types/modules/Devtools.d.ts +23 -9
  1470. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +101 -0
  1471. package/types_generated/Libraries/Alert/Alert.d.ts +55 -0
  1472. package/types_generated/Libraries/Animated/Animated.d.ts +14 -0
  1473. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +30 -0
  1474. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +190 -0
  1475. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +128 -0
  1476. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +13 -0
  1477. package/types_generated/Libraries/Animated/Easing.d.ts +171 -0
  1478. package/types_generated/Libraries/Animated/animations/Animation.d.ts +35 -0
  1479. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +42 -0
  1480. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +130 -0
  1481. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +54 -0
  1482. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +22 -0
  1483. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +18 -0
  1484. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +23 -0
  1485. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +22 -0
  1486. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +18 -0
  1487. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +19 -0
  1488. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +42 -0
  1489. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +22 -0
  1490. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +76 -0
  1491. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +22 -0
  1492. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +22 -0
  1493. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +36 -0
  1494. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +22 -0
  1495. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +22 -0
  1496. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +46 -0
  1497. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +29 -0
  1498. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +32 -0
  1499. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +22 -0
  1500. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +21 -0
  1501. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +126 -0
  1502. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +135 -0
  1503. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +15 -0
  1504. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  1505. package/types_generated/Libraries/AppState/AppState.d.ts +63 -0
  1506. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +17 -0
  1507. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +39 -0
  1508. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +20 -0
  1509. package/types_generated/Libraries/Blob/Blob.d.ts +80 -0
  1510. package/types_generated/Libraries/Blob/BlobTypes.d.ts +27 -0
  1511. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +220 -0
  1512. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +20 -0
  1513. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +84 -0
  1514. package/types_generated/Libraries/Components/Button.d.ts +251 -0
  1515. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +38 -0
  1516. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +17 -0
  1517. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +27 -0
  1518. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +176 -0
  1519. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +146 -0
  1520. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +73 -0
  1521. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +24 -0
  1522. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +141 -0
  1523. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +45 -0
  1524. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +32 -0
  1525. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +14 -0
  1526. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +50 -0
  1527. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +113 -0
  1528. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +33 -0
  1529. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +560 -0
  1530. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +24 -0
  1531. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +21 -0
  1532. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +134 -0
  1533. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +36 -0
  1534. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +222 -0
  1535. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +14 -0
  1536. package/types_generated/Libraries/Components/Switch/Switch.d.ts +138 -0
  1537. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +14 -0
  1538. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +23 -0
  1539. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +21 -0
  1540. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +71 -0
  1541. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +97 -0
  1542. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +79 -0
  1543. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +24 -0
  1544. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +20 -0
  1545. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +86 -0
  1546. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +47 -0
  1547. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +984 -0
  1548. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +54 -0
  1549. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +99 -0
  1550. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +257 -0
  1551. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +71 -0
  1552. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +228 -0
  1553. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +76 -0
  1554. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +121 -0
  1555. package/types_generated/Libraries/Components/View/View.d.ts +30 -0
  1556. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +415 -0
  1557. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +29 -0
  1558. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +431 -0
  1559. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +27 -0
  1560. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +43 -0
  1561. package/types_generated/Libraries/Core/ExtendedError.d.ts +26 -0
  1562. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +17 -0
  1563. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +26 -0
  1564. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +27 -0
  1565. package/types_generated/Libraries/Core/registerCallableModule.d.ts +18 -0
  1566. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +42 -0
  1567. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +19 -0
  1568. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +18 -0
  1569. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +21 -0
  1570. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +71 -0
  1571. package/types_generated/Libraries/Image/Image.d.ts +18 -0
  1572. package/types_generated/Libraries/Image/ImageBackground.d.ts +44 -0
  1573. package/types_generated/Libraries/Image/ImageProps.d.ts +512 -0
  1574. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +17 -0
  1575. package/types_generated/Libraries/Image/ImageSource.d.ts +94 -0
  1576. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +64 -0
  1577. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +68 -0
  1578. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +42 -0
  1579. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +100 -0
  1580. package/types_generated/Libraries/Interaction/PanResponder.d.ts +231 -0
  1581. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +73 -0
  1582. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +76 -0
  1583. package/types_generated/Libraries/Linking/Linking.d.ts +68 -0
  1584. package/types_generated/Libraries/Lists/FlatList.d.ts +317 -0
  1585. package/types_generated/Libraries/Lists/SectionList.d.ts +172 -0
  1586. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +19 -0
  1587. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +19 -0
  1588. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +78 -0
  1589. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +88 -0
  1590. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +17 -0
  1591. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +53 -0
  1592. package/types_generated/Libraries/LogBox/LogBox.d.ts +29 -0
  1593. package/types_generated/Libraries/Modal/Modal.d.ts +110 -0
  1594. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +17 -0
  1595. package/types_generated/Libraries/Network/FormData.d.ts +56 -0
  1596. package/types_generated/Libraries/Network/RCTNetworking.d.ts +25 -0
  1597. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +22 -0
  1598. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +96 -0
  1599. package/types_generated/Libraries/Network/convertRequestBody.d.ts +21 -0
  1600. package/types_generated/Libraries/Performance/Systrace.d.ts +61 -0
  1601. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +129 -0
  1602. package/types_generated/Libraries/Pressability/Pressability.d.ts +241 -0
  1603. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +323 -0
  1604. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +14 -0
  1605. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +44 -0
  1606. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +73 -0
  1607. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +24 -0
  1608. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +23 -0
  1609. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +17 -0
  1610. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +17 -0
  1611. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +28 -0
  1612. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +32 -0
  1613. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +15 -0
  1614. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +37 -0
  1615. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +28 -0
  1616. package/types_generated/Libraries/ReactNative/RootTag.d.ts +22 -0
  1617. package/types_generated/Libraries/ReactNative/UIManager.d.ts +17 -0
  1618. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +25 -0
  1619. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +33 -0
  1620. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +169 -0
  1621. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +41 -0
  1622. package/types_generated/Libraries/Settings/Settings.d.ts +21 -0
  1623. package/types_generated/Libraries/Share/Share.d.ts +85 -0
  1624. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +15 -0
  1625. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +17 -0
  1626. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +27 -0
  1627. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +16 -0
  1628. package/types_generated/Libraries/StyleSheet/Rect.d.ts +22 -0
  1629. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +153 -0
  1630. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +107 -0
  1631. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +826 -0
  1632. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +19 -0
  1633. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +17 -0
  1634. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +76 -0
  1635. package/types_generated/Libraries/StyleSheet/processColor.d.ts +18 -0
  1636. package/types_generated/Libraries/Text/Text.d.ts +30 -0
  1637. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +20 -0
  1638. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +31 -0
  1639. package/types_generated/Libraries/Text/TextProps.d.ts +220 -0
  1640. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +35 -0
  1641. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  1642. package/types_generated/Libraries/Types/CodegenTypes.d.ts +24 -0
  1643. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +14 -0
  1644. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +327 -0
  1645. package/types_generated/Libraries/Types/RootTagTypes.d.ts +13 -0
  1646. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +17 -0
  1647. package/types_generated/Libraries/UTFSequence.d.ts +39 -0
  1648. package/types_generated/Libraries/Utilities/Appearance.d.ts +31 -0
  1649. package/types_generated/Libraries/Utilities/BackHandler.d.ts +23 -0
  1650. package/types_generated/Libraries/Utilities/DevSettings.d.ts +34 -0
  1651. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +17 -0
  1652. package/types_generated/Libraries/Utilities/Dimensions.d.ts +54 -0
  1653. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +51 -0
  1654. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +17 -0
  1655. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +14 -0
  1656. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +110 -0
  1657. package/types_generated/Libraries/Utilities/Platform.d.ts +16 -0
  1658. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +134 -0
  1659. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +19 -0
  1660. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +24 -0
  1661. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +23 -0
  1662. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +33 -0
  1663. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +19 -0
  1664. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +15 -0
  1665. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +15 -0
  1666. package/types_generated/Libraries/Vibration/Vibration.d.ts +29 -0
  1667. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +39 -0
  1668. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +67 -0
  1669. package/types_generated/index.d.ts +164 -0
  1670. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +70 -0
  1671. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +97 -0
  1672. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +28 -0
  1673. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +53 -0
  1674. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +36 -0
  1675. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +51 -0
  1676. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +26 -0
  1677. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +46 -0
  1678. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +37 -0
  1679. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +45 -0
  1680. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +27 -0
  1681. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +109 -0
  1682. package/types_generated/src/private/styles/composeStyles.d.ts +19 -0
  1683. package/types_generated/src/private/types/HostComponent.d.ts +19 -0
  1684. package/types_generated/src/private/types/HostInstance.d.ts +91 -0
  1685. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +27 -0
  1686. package/types_generated/src/private/webapis/dom/events/Event.d.ts +58 -0
  1687. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +48 -0
  1688. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +32 -0
  1689. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +36 -0
  1690. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +30 -0
  1691. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +54 -0
  1692. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +126 -0
  1693. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +24 -0
  1694. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +29 -0
  1695. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +23 -0
  1696. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +22 -0
  1697. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +222 -0
  1698. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +22 -0
  1699. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +25 -0
  1700. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +46 -0
  1701. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +73 -0
  1702. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +27 -0
  1703. package/types_generated/tsconfig.json +3 -0
  1704. package/types_generated/tsconfig.test.json +16 -0
  1705. package/Libraries/BugReporting/BugReporting.js +0 -140
  1706. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  1707. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  1708. package/Libraries/BugReporting/getReactData.js +0 -187
  1709. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  1710. package/React/CxxBridge/JSCExecutorFactory.h +0 -27
  1711. package/React/CxxBridge/JSCExecutorFactory.mm +0 -24
  1712. package/React/Runtime/RCTJscInstanceFactory.mm +0 -20
  1713. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +0 -222
  1714. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +0 -21
  1715. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +0 -144
  1716. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +0 -420
  1717. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +0 -270
  1718. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +0 -421
  1719. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +0 -269
  1720. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +0 -413
  1721. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +0 -102
  1722. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +0 -247
  1723. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +0 -75
  1724. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +0 -169
  1725. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +0 -257
  1726. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +0 -25
  1727. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +0 -44
  1728. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +0 -75
  1729. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +0 -233
  1730. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +0 -136
  1731. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +0 -16
  1732. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +0 -410
  1733. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +0 -474
  1734. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +0 -41
  1735. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +0 -44
  1736. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +0 -38
  1737. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt +0 -24
  1738. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +0 -1825
  1739. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +0 -247
  1740. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +0 -203
  1741. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +0 -235
  1742. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +0 -244
  1743. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +0 -190
  1744. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +0 -372
  1745. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +0 -417
  1746. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +0 -383
  1747. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +0 -235
  1748. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +0 -208
  1749. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +0 -968
  1750. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +0 -1559
  1751. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +0 -37
  1752. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +0 -74
  1753. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +0 -36
  1754. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +0 -26
  1755. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/OnLoad.cpp +0 -48
  1756. package/ReactCommon/React-rncore.podspec +0 -52
  1757. package/ReactCommon/cxxreact/SampleCxxModule.cpp +0 -182
  1758. package/ReactCommon/cxxreact/SampleCxxModule.h +0 -59
  1759. package/ReactCommon/jsc/CMakeLists.txt +0 -34
  1760. package/ReactCommon/jsc/React-jsc.podspec +0 -37
  1761. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +0 -84
  1762. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.h +0 -18
  1763. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.mm +0 -31
  1764. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp +0 -177
  1765. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.h +0 -46
  1766. package/ReactCommon/react/renderer/components/rncore/Props.cpp +0 -156
  1767. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +0 -22
  1768. package/jest/mockModal.js +0 -32
  1769. package/jest/mockScrollView.js +0 -35
  1770. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +0 -38
  1771. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  1772. package/types/tsconfig.test.json +0 -16
  1773. package/types/tslint.json +0 -24
@@ -0,0 +1,1472 @@
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
+ package com.facebook.react.runtime
9
+
10
+ import android.app.Activity
11
+ import android.content.Context
12
+ import android.content.Intent
13
+ import android.nfc.NfcAdapter
14
+ import android.os.Bundle
15
+ import com.facebook.common.logging.FLog
16
+ import com.facebook.infer.annotation.Assertions
17
+ import com.facebook.infer.annotation.ThreadConfined
18
+ import com.facebook.infer.annotation.ThreadSafe
19
+ import com.facebook.proguard.annotations.DoNotStrip
20
+ import com.facebook.react.MemoryPressureRouter
21
+ import com.facebook.react.ReactHost
22
+ import com.facebook.react.ReactInstanceEventListener
23
+ import com.facebook.react.bridge.Callback
24
+ import com.facebook.react.bridge.JSBundleLoader
25
+ import com.facebook.react.bridge.JavaScriptContextHolder
26
+ import com.facebook.react.bridge.MemoryPressureListener
27
+ import com.facebook.react.bridge.NativeArray
28
+ import com.facebook.react.bridge.NativeModule
29
+ import com.facebook.react.bridge.ReactContext
30
+ import com.facebook.react.bridge.ReactMarker
31
+ import com.facebook.react.bridge.ReactMarkerConstants
32
+ import com.facebook.react.bridge.ReactNoCrashBridgeNotAllowedSoftException
33
+ import com.facebook.react.bridge.ReactNoCrashSoftException
34
+ import com.facebook.react.bridge.ReactSoftExceptionLogger
35
+ import com.facebook.react.bridge.RuntimeExecutor
36
+ import com.facebook.react.bridge.UiThreadUtil
37
+ import com.facebook.react.bridge.queue.ReactQueueConfiguration
38
+ import com.facebook.react.common.LifecycleState
39
+ import com.facebook.react.common.annotations.FrameworkAPI
40
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI
41
+ import com.facebook.react.common.build.ReactBuildConfig
42
+ import com.facebook.react.devsupport.DefaultDevSupportManagerFactory
43
+ import com.facebook.react.devsupport.DevSupportManagerBase
44
+ import com.facebook.react.devsupport.DevSupportManagerFactory
45
+ import com.facebook.react.devsupport.InspectorFlags
46
+ import com.facebook.react.devsupport.inspector.InspectorNetworkHelper
47
+ import com.facebook.react.devsupport.inspector.InspectorNetworkRequestListener
48
+ import com.facebook.react.devsupport.interfaces.BundleLoadCallback
49
+ import com.facebook.react.devsupport.interfaces.DevSupportManager
50
+ import com.facebook.react.devsupport.interfaces.DevSupportManager.PausedInDebuggerOverlayCommandListener
51
+ import com.facebook.react.fabric.ComponentFactory
52
+ import com.facebook.react.fabric.FabricUIManager
53
+ import com.facebook.react.interfaces.TaskInterface
54
+ import com.facebook.react.interfaces.fabric.ReactSurface
55
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
56
+ import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatureFlags
57
+ import com.facebook.react.modules.appearance.AppearanceModule
58
+ import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler
59
+ import com.facebook.react.modules.core.DeviceEventManagerModule
60
+ import com.facebook.react.modules.systeminfo.AndroidInfoHelpers
61
+ import com.facebook.react.runtime.internal.bolts.Task
62
+ import com.facebook.react.runtime.internal.bolts.TaskCompletionSource
63
+ import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder
64
+ import com.facebook.react.uimanager.DisplayMetricsHolder
65
+ import com.facebook.react.uimanager.UIManagerModule
66
+ import com.facebook.react.uimanager.events.BlackHoleEventDispatcher
67
+ import com.facebook.react.uimanager.events.EventDispatcher
68
+ import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper
69
+ import java.lang.ref.WeakReference
70
+ import java.util.concurrent.CopyOnWriteArrayList
71
+ import java.util.concurrent.Executor
72
+ import java.util.concurrent.Executors
73
+ import java.util.concurrent.atomic.AtomicInteger
74
+ import java.util.concurrent.atomic.AtomicReference
75
+ import kotlin.Unit
76
+ import kotlin.concurrent.Volatile
77
+
78
+ /**
79
+ * A ReactHost is an object that manages a single [ReactInstance]. A ReactHost can be constructed
80
+ * without initializing the ReactInstance, and it will continue to exist after the instance is
81
+ * destroyed. This class ensures safe access to the ReactInstance and the JS runtime; methods that
82
+ * operate on the instance use Bolts Tasks to defer the operation until the instance has been
83
+ * initialized. They also return a Task so the caller can be notified of completion.
84
+ *
85
+ * @see [Bolts Android](https://github.com/BoltsFramework/Bolts-Android.tasks)
86
+ */
87
+ @DoNotStrip
88
+ @ThreadSafe
89
+ @OptIn(UnstableReactNativeAPI::class, FrameworkAPI::class)
90
+ public class ReactHostImpl(
91
+ private val context: Context,
92
+ private val reactHostDelegate: ReactHostDelegate,
93
+ private val componentFactory: ComponentFactory,
94
+ private val bgExecutor: Executor = Executors.newSingleThreadExecutor(),
95
+ private val uiExecutor: Executor = Task.UI_THREAD_EXECUTOR,
96
+ private val allowPackagerServerAccess: Boolean,
97
+ private val useDevSupport: Boolean,
98
+ devSupportManagerFactory: DevSupportManagerFactory? = null,
99
+ ) : ReactHost {
100
+ public override val devSupportManager: DevSupportManager =
101
+ (devSupportManagerFactory ?: DefaultDevSupportManagerFactory()).create(
102
+ applicationContext = context.applicationContext,
103
+ reactInstanceManagerHelper = ReactHostImplDevHelper(this),
104
+ packagerPathForJSBundleName = reactHostDelegate.jsMainModulePath,
105
+ enableOnCreate = true,
106
+ redBoxHandler = null,
107
+ devBundleDownloadListener = null,
108
+ minNumShakes = 2,
109
+ customPackagerCommandHandlers = null,
110
+ surfaceDelegateFactory = null,
111
+ devLoadingViewManager = null,
112
+ pausedInDebuggerOverlayManager = null,
113
+ useDevSupport = useDevSupport)
114
+ public override val memoryPressureRouter: MemoryPressureRouter = MemoryPressureRouter(context)
115
+
116
+ private val attachedSurfaces: MutableSet<ReactSurfaceImpl> = HashSet()
117
+
118
+ // todo: T192399917 This no longer needs to store the react instance
119
+ private val createReactInstanceTaskRef = BridgelessAtomicRef(Task.forResult<ReactInstance>(null))
120
+ private var reactInstance: ReactInstance? = null
121
+
122
+ private val bridgelessReactContextRef = BridgelessAtomicRef<BridgelessReactContext>()
123
+
124
+ private val activity = AtomicReference<Activity?>()
125
+ private val lastUsedActivityRef = AtomicReference(WeakReference<Activity?>(null))
126
+ private val bridgelessReactStateTracker = BridgelessReactStateTracker(ReactBuildConfig.DEBUG)
127
+ private val reactLifecycleStateManager = ReactLifecycleStateManager(bridgelessReactStateTracker)
128
+ private val id = counter.getAndIncrement()
129
+ private var memoryPressureListener: MemoryPressureListener? = null
130
+ private var defaultHardwareBackBtnHandler: DefaultHardwareBackBtnHandler? = null
131
+
132
+ private val reactInstanceEventListeners: MutableList<ReactInstanceEventListener> =
133
+ CopyOnWriteArrayList()
134
+ private val beforeDestroyListeners: MutableList<() -> Unit> = CopyOnWriteArrayList()
135
+
136
+ private var reactHostInspectorTarget: ReactHostInspectorTarget? = null
137
+
138
+ @Volatile private var hostInvalidated = false
139
+
140
+ public constructor(
141
+ context: Context,
142
+ delegate: ReactHostDelegate,
143
+ componentFactory: ComponentFactory,
144
+ allowPackagerServerAccess: Boolean,
145
+ useDevSupport: Boolean
146
+ ) : this(
147
+ context,
148
+ delegate,
149
+ componentFactory,
150
+ Executors.newSingleThreadExecutor(),
151
+ Task.UI_THREAD_EXECUTOR,
152
+ allowPackagerServerAccess,
153
+ useDevSupport)
154
+
155
+ public override val lifecycleState: LifecycleState
156
+ get() = reactLifecycleStateManager.lifecycleState
157
+
158
+ /**
159
+ * This function can be used to initialize the ReactInstance in a background thread before a
160
+ * surface needs to be rendered. It is not necessary to call this function; startSurface() will
161
+ * initialize the ReactInstance if it hasn't been preloaded.
162
+ *
163
+ * @return A Task that completes when the instance is initialized. The task will be faulted if any
164
+ * errors occur during initialization, and will be cancelled if ReactHost.destroy() is called
165
+ * before it completes.
166
+ */
167
+ override fun start(): TaskInterface<Void> = Task.call({ getOrCreateStartTask() }, bgExecutor)
168
+
169
+ /** Initialize and run a React Native surface in a background without mounting real views. */
170
+ internal fun prerenderSurface(surface: ReactSurfaceImpl): TaskInterface<Void> {
171
+ val method = "prerenderSurface(surfaceId = ${surface.surfaceID})"
172
+ log(method, "Schedule")
173
+
174
+ attachSurface(surface)
175
+ return callAfterGetOrCreateReactInstance(method, bgExecutor) { reactInstance: ReactInstance ->
176
+ log(method, "Execute")
177
+ reactInstance.prerenderSurface(surface)
178
+ }
179
+ }
180
+
181
+ /**
182
+ * Start rendering a React Native surface on screen.
183
+ *
184
+ * @param surface The ReactSurface to render
185
+ * @return A Task that will complete when startSurface has been called.
186
+ */
187
+ internal fun startSurface(surface: ReactSurfaceImpl): TaskInterface<Void> {
188
+ val method = "startSurface(surfaceId = ${surface.surfaceID})"
189
+ log(method, "Schedule")
190
+
191
+ attachSurface(surface)
192
+ return callAfterGetOrCreateReactInstance(method, bgExecutor) { reactInstance: ReactInstance ->
193
+ log(method, "Execute")
194
+ reactInstance.startSurface(surface)
195
+ }
196
+ }
197
+
198
+ /**
199
+ * Stop rendering a React Native surface.
200
+ *
201
+ * @param surface The surface to stop
202
+ * @return A Task that will complete when stopSurface has been called.
203
+ */
204
+ internal fun stopSurface(surface: ReactSurfaceImpl): TaskInterface<Void> {
205
+ val method = "stopSurface(surfaceId = ${surface.surfaceID})"
206
+ log(method, "Schedule")
207
+
208
+ detachSurface(surface)
209
+ return callWithExistingReactInstance(method, bgExecutor) { reactInstance: ReactInstance ->
210
+ log(method, "Execute")
211
+ reactInstance.stopSurface(surface)
212
+ }
213
+ .makeVoid()
214
+ }
215
+
216
+ /**
217
+ * To be called when the host activity is resumed.
218
+ *
219
+ * @param activity The host activity
220
+ */
221
+ @ThreadConfined(ThreadConfined.UI)
222
+ override fun onHostResume(
223
+ activity: Activity?,
224
+ defaultBackButtonImpl: DefaultHardwareBackBtnHandler?
225
+ ) {
226
+ defaultHardwareBackBtnHandler = defaultBackButtonImpl
227
+ onHostResume(activity)
228
+ }
229
+
230
+ @ThreadConfined(ThreadConfined.UI)
231
+ override fun onHostResume(activity: Activity?) {
232
+ val method = "onHostResume(activity)"
233
+ log(method)
234
+
235
+ currentActivity = activity
236
+
237
+ maybeEnableDevSupport(true)
238
+ reactLifecycleStateManager.moveToOnHostResume(currentReactContext, activity)
239
+ }
240
+
241
+ @ThreadConfined(ThreadConfined.UI)
242
+ override fun onHostLeaveHint(activity: Activity?) {
243
+ val method = "onUserLeaveHint(activity)"
244
+ log(method)
245
+
246
+ currentReactContext?.onUserLeaveHint(activity)
247
+ }
248
+
249
+ @ThreadConfined(ThreadConfined.UI)
250
+ override fun onHostPause(activity: Activity?) {
251
+ val method = "onHostPause(activity)"
252
+ log(method)
253
+
254
+ val currentActivity = this.currentActivity
255
+ if (currentActivity != null) {
256
+ val currentActivityClass = currentActivity.javaClass.simpleName
257
+ val activityClass = if (activity == null) "null" else activity.javaClass.simpleName
258
+ Assertions.assertCondition(
259
+ activity === currentActivity,
260
+ "Pausing an activity that is not the current activity, this is incorrect! Current activity: $currentActivityClass Paused activity: $activityClass")
261
+ }
262
+
263
+ maybeEnableDevSupport(false)
264
+ defaultHardwareBackBtnHandler = null
265
+ reactLifecycleStateManager.moveToOnHostPause(currentReactContext, currentActivity)
266
+ }
267
+
268
+ /** To be called when the host activity is paused. */
269
+ @ThreadConfined(ThreadConfined.UI)
270
+ override fun onHostPause() {
271
+ val method = "onHostPause()"
272
+ log(method)
273
+
274
+ maybeEnableDevSupport(false)
275
+ defaultHardwareBackBtnHandler = null
276
+ reactLifecycleStateManager.moveToOnHostPause(currentReactContext, currentActivity)
277
+ }
278
+
279
+ /** To be called when the host activity is destroyed. */
280
+ @ThreadConfined(ThreadConfined.UI)
281
+ override fun onHostDestroy() {
282
+ val method = "onHostDestroy()"
283
+ log(method)
284
+
285
+ maybeEnableDevSupport(false)
286
+ moveToHostDestroy(currentReactContext)
287
+ }
288
+
289
+ @ThreadConfined(ThreadConfined.UI)
290
+ override fun onHostDestroy(activity: Activity?) {
291
+ val method = "onHostDestroy(activity)"
292
+ log(method)
293
+
294
+ val currentActivity = this.currentActivity
295
+
296
+ if (currentActivity === activity) {
297
+ maybeEnableDevSupport(false)
298
+ moveToHostDestroy(currentReactContext)
299
+ }
300
+ }
301
+
302
+ private fun maybeEnableDevSupport(enabled: Boolean) {
303
+ if (useDevSupport) {
304
+ devSupportManager.devSupportEnabled = enabled
305
+ }
306
+ }
307
+
308
+ public override val currentReactContext: ReactContext?
309
+ /**
310
+ * Returns current ReactContext which could be nullable if ReactInstance hasn't been created.
311
+ *
312
+ * @return The [BridgelessReactContext] associated with ReactInstance.
313
+ */
314
+ get() = bridgelessReactContextRef.value
315
+
316
+ override fun createSurface(
317
+ context: Context,
318
+ moduleName: String,
319
+ initialProps: Bundle?
320
+ ): ReactSurface {
321
+ val surface = ReactSurfaceImpl(context, moduleName, initialProps)
322
+ val surfaceView = ReactSurfaceView(context, surface)
323
+ surfaceView.setShouldLogContentAppeared(true)
324
+ surface.attachView(surfaceView)
325
+ surface.attach(this)
326
+ return surface
327
+ }
328
+
329
+ internal val isInstanceInitialized: Boolean
330
+ get() = reactInstance != null
331
+
332
+ @ThreadConfined(ThreadConfined.UI)
333
+ override fun onBackPressed(): Boolean {
334
+ UiThreadUtil.assertOnUiThread()
335
+ val reactInstance = reactInstance ?: return false
336
+
337
+ val deviceEventManagerModule =
338
+ reactInstance.getNativeModule(DeviceEventManagerModule::class.java) ?: return false
339
+
340
+ deviceEventManagerModule.emitHardwareBackPressed()
341
+ return true
342
+ }
343
+
344
+ public override val reactQueueConfiguration: ReactQueueConfiguration?
345
+ get() = reactInstance?.reactQueueConfiguration
346
+
347
+ /** Add a listener to be notified of ReactInstance events. */
348
+ override fun addReactInstanceEventListener(listener: ReactInstanceEventListener) {
349
+ reactInstanceEventListeners.add(listener)
350
+ }
351
+
352
+ /** Remove a listener previously added with [addReactInstanceEventListener]. */
353
+ override fun removeReactInstanceEventListener(listener: ReactInstanceEventListener) {
354
+ reactInstanceEventListeners.remove(listener)
355
+ }
356
+
357
+ /**
358
+ * Entrypoint to reload the ReactInstance. If the ReactInstance is destroying, will wait until
359
+ * destroy is finished, before reloading.
360
+ *
361
+ * @param reason [String] describing why ReactHost is being reloaded (e.g. js error, user tap on
362
+ * reload button)
363
+ * @return A task that completes when React Native reloads
364
+ */
365
+ override fun reload(reason: String): TaskInterface<Void> =
366
+ Task.call(
367
+ {
368
+ val reloadTask =
369
+ (destroyTask?.let { destroyTask ->
370
+ log(
371
+ "reload()",
372
+ "Waiting for destroy to finish, before reloading React Native.")
373
+ destroyTask.continueWithTask({ getOrCreateReloadTask(reason) }, bgExecutor)
374
+ } ?: getOrCreateReloadTask(reason))
375
+ .makeVoid()
376
+ reloadTask.continueWithTask(
377
+ { task ->
378
+ if (task.isFaulted()) {
379
+ val ex = checkNotNull(task.getError())
380
+ if (useDevSupport) {
381
+ devSupportManager.handleException(ex)
382
+ } else {
383
+ reactHostDelegate.handleInstanceException(ex)
384
+ }
385
+ getOrCreateDestroyTask("Reload failed", ex)
386
+ } else {
387
+ task
388
+ }
389
+ },
390
+ bgExecutor)
391
+ },
392
+ bgExecutor)
393
+
394
+ @DoNotStrip
395
+ private fun setPausedInDebuggerMessage(message: String?) {
396
+ if (message == null) {
397
+ devSupportManager.hidePausedInDebuggerOverlay()
398
+ } else {
399
+ devSupportManager.showPausedInDebuggerOverlay(
400
+ message,
401
+ object : PausedInDebuggerOverlayCommandListener {
402
+ override fun onResume() {
403
+ UiThreadUtil.assertOnUiThread()
404
+ reactHostInspectorTarget?.sendDebuggerResumeCommand()
405
+ }
406
+ })
407
+ }
408
+ }
409
+
410
+ @get:DoNotStrip
411
+ private val hostMetadata: Map<String, String?>
412
+ get() = AndroidInfoHelpers.getInspectorHostMetadata(context)
413
+
414
+ @DoNotStrip
415
+ private fun loadNetworkResource(url: String, listener: InspectorNetworkRequestListener) {
416
+ InspectorNetworkHelper.loadNetworkResource(url, listener)
417
+ }
418
+
419
+ /**
420
+ * Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until
421
+ * reload is finished, before destroying.
422
+ *
423
+ * The destroy operation is asynchronous and the task returned by this method will complete when
424
+ * React Native gets destroyed. Note that the destroy operation will execute in multiple threads,
425
+ * in particular some of the sub-tasks will run in the UIThread. Calling
426
+ * [TaskInterface#waitForCompletion()] from the UIThread will lead into a deadlock. Use
427
+ * onDestroyFinished callback to be notified when React Native gets destroyed.
428
+ *
429
+ * @param reason describing why ReactHost is being destroyed (e.g. memory pressure)
430
+ * @param ex exception that caused the trigger to destroy ReactHost (or null) This exception will
431
+ * be used to log properly the cause of destroy operation.
432
+ * @param onDestroyFinished callback that will be called when React Native gets destroyed, the
433
+ * callback will run on a background thread.
434
+ * @return A task that completes when React Native gets destroyed.
435
+ */
436
+ override fun destroy(
437
+ reason: String,
438
+ ex: Exception?,
439
+ onDestroyFinished: (instanceDestroyedSuccessfully: Boolean) -> Unit
440
+ ): TaskInterface<Void> {
441
+ val destroyTask = destroy(reason, ex) as Task<Void>
442
+ return destroyTask.continueWith({ task: Task<Void> ->
443
+ val instanceDestroyedSuccessfully = task.isCompleted() && !task.isFaulted()
444
+ onDestroyFinished(instanceDestroyedSuccessfully)
445
+ null
446
+ })
447
+ }
448
+
449
+ /**
450
+ * Entrypoint to destroy the ReactInstance. If the ReactInstance is reloading, will wait until
451
+ * reload is finished, before destroying.
452
+ *
453
+ * The destroy operation is asynchronous and the task returned by this method will complete when
454
+ * React Native gets destroyed. Note that the destroy operation will execute in multiple threads,
455
+ * in particular some of the sub-tasks will run in the UIThread. Calling
456
+ * [TaskInterface#waitForCompletion()] from the UIThread will lead into a deadlock.
457
+ *
458
+ * @param reason [String] describing why ReactHost is being destroyed (e.g. memory pressure)
459
+ * @param ex [Exception] exception that caused the trigger to destroy ReactHost (or null). This
460
+ * exception will be used to log properly the cause of destroy operation.
461
+ * @return A task that completes when React Native gets destroyed.
462
+ */
463
+ override fun destroy(reason: String, ex: Exception?): TaskInterface<Void> =
464
+ Task.call(
465
+ {
466
+ val reloadTask = reloadTask
467
+ if (reloadTask != null) {
468
+ log(
469
+ "destroy()",
470
+ "Reloading React Native. Waiting for reload to finish before destroying React Native.")
471
+ reloadTask.continueWithTask<Void>({ getOrCreateDestroyTask(reason, ex) }, bgExecutor)
472
+ } else {
473
+ getOrCreateDestroyTask(reason, ex)
474
+ }
475
+ },
476
+ bgExecutor)
477
+
478
+ private fun createMemoryPressureListener(reactInstance: ReactInstance): MemoryPressureListener {
479
+ val weakReactInstance = WeakReference(reactInstance)
480
+ return MemoryPressureListener { level: Int ->
481
+ bgExecutor.execute {
482
+ val strongReactInstance = weakReactInstance.get()
483
+ strongReactInstance?.handleMemoryPressure(level)
484
+ }
485
+ }
486
+ }
487
+
488
+ internal var currentActivity: Activity?
489
+ get() = activity.get()
490
+ private set(activity) {
491
+ this.activity.set(activity)
492
+ if (activity != null) {
493
+ lastUsedActivityRef.set(WeakReference(activity))
494
+ }
495
+ }
496
+
497
+ internal val lastUsedActivity: Activity?
498
+ get() = lastUsedActivityRef.get()?.get()
499
+
500
+ internal val eventDispatcher: EventDispatcher
501
+ /**
502
+ * Get the [EventDispatcher] from the [FabricUIManager]. This always returns an EventDispatcher,
503
+ * even if the instance isn't alive; in that case, it returns a [BlackHoleEventDispatcher] which
504
+ * no-ops.
505
+ *
506
+ * @return The real [EventDispatcher] if the instance is alive; otherwise, a
507
+ * [BlackHoleEventDispatcher].
508
+ */
509
+ get() = reactInstance?.eventDispatcher ?: BlackHoleEventDispatcher
510
+
511
+ internal val uiManager: FabricUIManager?
512
+ get() = reactInstance?.fabricUIManager
513
+
514
+ internal fun <T : NativeModule> hasNativeModule(nativeModuleInterface: Class<T>): Boolean =
515
+ reactInstance?.hasNativeModule<T>(nativeModuleInterface) ?: false
516
+
517
+ internal val nativeModules: Collection<NativeModule>
518
+ get() = reactInstance?.nativeModules ?: listOf()
519
+
520
+ internal fun <T : NativeModule> getNativeModule(nativeModuleInterface: Class<T>): T? {
521
+ if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE &&
522
+ nativeModuleInterface == UIManagerModule::class.java) {
523
+ ReactSoftExceptionLogger.logSoftExceptionVerbose(
524
+ TAG,
525
+ ReactNoCrashBridgeNotAllowedSoftException(
526
+ "getNativeModule(UIManagerModule.class) cannot be called when the bridge is disabled"))
527
+ }
528
+
529
+ return reactInstance?.getNativeModule(nativeModuleInterface)
530
+ }
531
+
532
+ internal fun getNativeModule(nativeModuleName: String): NativeModule? =
533
+ reactInstance?.getNativeModule(nativeModuleName)
534
+
535
+ internal val runtimeExecutor: RuntimeExecutor?
536
+ get() {
537
+ reactInstance?.apply {
538
+ return getBufferedRuntimeExecutor()
539
+ }
540
+
541
+ raiseSoftException(
542
+ "getRuntimeExecutor()", "Tried to get runtime executor while instance is not ready")
543
+ return null
544
+ }
545
+
546
+ internal val jsCallInvokerHolder: CallInvokerHolder?
547
+ get() {
548
+ reactInstance?.apply {
549
+ return getJSCallInvokerHolder()
550
+ }
551
+
552
+ raiseSoftException(
553
+ "getJSCallInvokerHolder()",
554
+ "Tried to get JSCallInvokerHolder while instance is not ready")
555
+ return null
556
+ }
557
+
558
+ /**
559
+ * To be called when the host activity receives an activity result.
560
+ *
561
+ * @param activity The host activity
562
+ */
563
+ @ThreadConfined(ThreadConfined.UI)
564
+ override fun onActivityResult(
565
+ activity: Activity,
566
+ requestCode: Int,
567
+ resultCode: Int,
568
+ data: Intent?
569
+ ) {
570
+ val method =
571
+ "onActivityResult(activity = \"$activity\", requestCode = \"$requestCode\", resultCode = \"$resultCode\", data = \"$data\")"
572
+
573
+ val currentContext = currentReactContext
574
+ if (currentContext != null) {
575
+ currentContext.onActivityResult(activity, requestCode, resultCode, data)
576
+ } else {
577
+ raiseSoftException(method, "Tried to access onActivityResult while context is not ready")
578
+ }
579
+ }
580
+
581
+ /* To be called when focus has changed for the hosting window. */
582
+ @ThreadConfined(ThreadConfined.UI)
583
+ override fun onWindowFocusChange(hasFocus: Boolean) {
584
+ val currentContext = currentReactContext
585
+ if (currentContext != null) {
586
+ currentContext.onWindowFocusChange(hasFocus)
587
+ } else {
588
+ val method = "onWindowFocusChange(hasFocus = \"$hasFocus\")"
589
+ raiseSoftException(method, "Tried to access onWindowFocusChange while context is not ready")
590
+ }
591
+ }
592
+
593
+ /**
594
+ * This method will give JS the opportunity to receive intents via Linking.
595
+ *
596
+ * @param intent The incoming intent
597
+ */
598
+ @ThreadConfined(ThreadConfined.UI)
599
+ override fun onNewIntent(intent: Intent) {
600
+ val currentContext = currentReactContext
601
+ if (currentContext != null) {
602
+ val action = intent.action
603
+ val uri = intent.data
604
+
605
+ if (uri != null &&
606
+ (Intent.ACTION_VIEW == action || NfcAdapter.ACTION_NDEF_DISCOVERED == action)) {
607
+ val deviceEventManagerModule =
608
+ currentContext.getNativeModule(DeviceEventManagerModule::class.java)
609
+ deviceEventManagerModule?.emitNewIntentReceived(uri)
610
+ }
611
+ currentContext.onNewIntent(currentActivity, intent)
612
+ } else {
613
+ val method = "onNewIntent(intent = \"$intent\")"
614
+ raiseSoftException(method, "Tried to access onNewIntent while context is not ready")
615
+ }
616
+ }
617
+
618
+ @ThreadConfined(ThreadConfined.UI)
619
+ override fun onConfigurationChanged(context: Context) {
620
+ val currentReactContext = this.currentReactContext
621
+ if (currentReactContext != null) {
622
+ if (ReactNativeFeatureFlags.enableFontScaleChangesUpdatingLayout()) {
623
+ DisplayMetricsHolder.initDisplayMetrics(currentReactContext)
624
+ }
625
+
626
+ val appearanceModule = currentReactContext.getNativeModule(AppearanceModule::class.java)
627
+ appearanceModule?.onConfigurationChanged(context)
628
+ }
629
+ }
630
+
631
+ internal val javaScriptContextHolder: JavaScriptContextHolder?
632
+ get() = reactInstance?.javaScriptContextHolder
633
+
634
+ internal val defaultBackButtonHandler: DefaultHardwareBackBtnHandler
635
+ get() = DefaultHardwareBackBtnHandler {
636
+ UiThreadUtil.assertOnUiThread()
637
+ defaultHardwareBackBtnHandler?.invokeDefaultOnBackPressed()
638
+ }
639
+
640
+ internal fun loadBundle(bundleLoader: JSBundleLoader): Task<Boolean> {
641
+ val method = "loadBundle()"
642
+ log(method, "Schedule")
643
+
644
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
645
+ log(method, "Execute")
646
+ reactInstance.loadJSBundle(bundleLoader)
647
+ }
648
+ }
649
+
650
+ internal fun registerSegment(segmentId: Int, path: String, callback: Callback?): Task<Boolean> {
651
+ val method = "registerSegment(segmentId = \"$segmentId\", path = \"$path\")"
652
+ log(method, "Schedule")
653
+
654
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
655
+ log(method, "Execute")
656
+ reactInstance.registerSegment(segmentId, path)
657
+ checkNotNull(callback).invoke()
658
+ }
659
+ }
660
+
661
+ internal fun handleHostException(e: Exception): Unit {
662
+ val method = "handleHostException(message = \"${e.message}\")"
663
+ log(method)
664
+
665
+ if (useDevSupport) {
666
+ devSupportManager.handleException(e)
667
+ } else {
668
+ reactHostDelegate.handleInstanceException(e)
669
+ }
670
+ destroy(method, e)
671
+ }
672
+
673
+ /**
674
+ * Call a function on a JS module that has been registered as callable.
675
+ *
676
+ * @param moduleName The name of the JS module
677
+ * @param methodName The function to call
678
+ * @param args Arguments to be passed to the function
679
+ * @return A Task that will complete when the function call has been enqueued on the JS thread.
680
+ */
681
+ internal fun callFunctionOnModule(
682
+ moduleName: String,
683
+ methodName: String,
684
+ args: NativeArray
685
+ ): Task<Boolean> {
686
+ val method = "callFunctionOnModule(\"$moduleName\", \"$methodName\")"
687
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
688
+ reactInstance.callFunctionOnModule(moduleName, methodName, args)
689
+ }
690
+ }
691
+
692
+ internal fun attachSurface(surface: ReactSurfaceImpl) {
693
+ log("attachSurface(surfaceId = ${surface.surfaceID})")
694
+ synchronized(attachedSurfaces) { attachedSurfaces.add(surface) }
695
+ }
696
+
697
+ internal fun detachSurface(surface: ReactSurfaceImpl) {
698
+ log("detachSurface(surfaceId = ${surface.surfaceID})")
699
+ synchronized(attachedSurfaces) { attachedSurfaces.remove(surface) }
700
+ }
701
+
702
+ internal fun isSurfaceAttached(surface: ReactSurfaceImpl): Boolean =
703
+ synchronized(attachedSurfaces) {
704
+ return attachedSurfaces.contains(surface)
705
+ }
706
+
707
+ internal fun isSurfaceWithModuleNameAttached(moduleName: String): Boolean =
708
+ synchronized(attachedSurfaces) {
709
+ return attachedSurfaces.any { surface -> surface.moduleName == moduleName }
710
+ }
711
+
712
+ override fun addBeforeDestroyListener(onBeforeDestroy: () -> Unit) {
713
+ beforeDestroyListeners.add(onBeforeDestroy)
714
+ }
715
+
716
+ override fun removeBeforeDestroyListener(onBeforeDestroy: () -> Unit) {
717
+ beforeDestroyListeners.remove(onBeforeDestroy)
718
+ }
719
+
720
+ @ThreadConfined("ReactHost") private var startTask: Task<Void>? = null
721
+
722
+ @ThreadConfined("ReactHost")
723
+ private fun getOrCreateStartTask(): Task<Void> {
724
+ startTask?.let {
725
+ return it
726
+ }
727
+
728
+ val method = "getOrCreateStartTask()"
729
+ log(method, "Schedule")
730
+ if (ReactBuildConfig.DEBUG) {
731
+ Assertions.assertCondition(
732
+ ReactNativeNewArchitectureFeatureFlags.enableBridgelessArchitecture(),
733
+ "enableBridgelessArchitecture FeatureFlag must be set to start ReactNative.")
734
+
735
+ Assertions.assertCondition(
736
+ ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer(),
737
+ "enableFabricRenderer FeatureFlag must be set to start ReactNative.")
738
+
739
+ Assertions.assertCondition(
740
+ ReactNativeNewArchitectureFeatureFlags.useTurboModules(),
741
+ "useTurboModules FeatureFlag must be set to start ReactNative.")
742
+ }
743
+ if (ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
744
+ Assertions.assertCondition(
745
+ !ReactNativeNewArchitectureFeatureFlags.useFabricInterop(),
746
+ "useFabricInterop FeatureFlag must be false when UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE == true.")
747
+ Assertions.assertCondition(
748
+ !ReactNativeNewArchitectureFeatureFlags.useTurboModuleInterop(),
749
+ "useTurboModuleInterop FeatureFlag must be false when UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE == true.")
750
+ }
751
+
752
+ return waitThenCallGetOrCreateReactInstanceTask()
753
+ .continueWithTask(
754
+ { task ->
755
+ if (task.isFaulted()) {
756
+ val ex = checkNotNull(task.getError())
757
+ if (useDevSupport) {
758
+ devSupportManager.handleException(ex)
759
+ } else {
760
+ reactHostDelegate.handleInstanceException(ex)
761
+ }
762
+ // Wait for destroy to finish
763
+ getOrCreateDestroyTask("getOrCreateStartTask() failure: ${ex.message}", ex)
764
+ .continueWithTask({ Task.forError(ex) })
765
+ } else {
766
+ task.makeVoid()
767
+ }
768
+ },
769
+ bgExecutor)
770
+ .also { startTask = it }
771
+ }
772
+
773
+ @ThreadConfined(ThreadConfined.UI)
774
+ private fun moveToHostDestroy(currentContext: ReactContext?) {
775
+ reactLifecycleStateManager.moveToOnHostDestroy(currentContext)
776
+ currentActivity = null
777
+ }
778
+
779
+ private fun raiseSoftException(
780
+ callingMethod: String,
781
+ message: String,
782
+ throwable: Throwable? = null
783
+ ) {
784
+ val method = "raiseSoftException($callingMethod)"
785
+ log(method, message)
786
+ ReactSoftExceptionLogger.logSoftException(
787
+ TAG, ReactNoCrashSoftException("$method: $message", throwable))
788
+ }
789
+
790
+ /** Schedule work on a ReactInstance that is already created. */
791
+ private fun callWithExistingReactInstance(
792
+ callingMethod: String,
793
+ executor: Executor = Task.IMMEDIATE_EXECUTOR,
794
+ runnable: (reactInstance: ReactInstance) -> Unit,
795
+ ): Task<Boolean> =
796
+ createReactInstanceTaskRef
797
+ .get()
798
+ .onSuccess(
799
+ { task ->
800
+ val reactInstance = task.getResult()
801
+ if (reactInstance == null) {
802
+ raiseSoftException(
803
+ "callWithExistingReactInstance($callingMethod)",
804
+ "Execute: reactInstance is null. Dropping work.")
805
+ false
806
+ } else {
807
+ runnable(reactInstance)
808
+ true
809
+ }
810
+ },
811
+ executor)
812
+
813
+ /** Create a ReactInstance if it doesn't exist already, and schedule work on it. */
814
+ private fun callAfterGetOrCreateReactInstance(
815
+ callingMethod: String,
816
+ executor: Executor = Task.IMMEDIATE_EXECUTOR,
817
+ runnable: (reactInstance: ReactInstance) -> Unit,
818
+ ): Task<Void> =
819
+ getOrCreateReactInstance()
820
+ .onSuccess<Void>(
821
+ { task ->
822
+ val reactInstance = task.getResult()
823
+ if (reactInstance == null) {
824
+ raiseSoftException(
825
+ "callAfterGetOrCreateReactInstance($callingMethod)",
826
+ "Execute: reactInstance is null. Dropping work.")
827
+ } else {
828
+ runnable(reactInstance)
829
+ }
830
+ null
831
+ },
832
+ executor)
833
+ .continueWith({ task: Task<Void> ->
834
+ // TODO: validate whether errors during startup go through here?
835
+ if (task.isFaulted()) {
836
+ handleHostException(checkNotNull(task.getError()))
837
+ }
838
+ null
839
+ })
840
+
841
+ private fun getOrCreateReactContext(): BridgelessReactContext {
842
+ val method = "getOrCreateReactContext()"
843
+ return bridgelessReactContextRef.getOrCreate {
844
+ log(method, "Creating BridgelessReactContext")
845
+ BridgelessReactContext(context, this)
846
+ }
847
+ }
848
+
849
+ /**
850
+ * Entrypoint to create the ReactInstance.
851
+ *
852
+ * If the ReactInstance is reloading, will return the reload task. If the ReactInstance is
853
+ * destroying, will wait until destroy is finished, before creating.
854
+ */
855
+ private fun getOrCreateReactInstance(): Task<ReactInstance> =
856
+ Task.call({ waitThenCallGetOrCreateReactInstanceTask() }, bgExecutor)
857
+
858
+ @ThreadConfined("ReactHost")
859
+ private fun waitThenCallGetOrCreateReactInstanceTask(): Task<ReactInstance> =
860
+ waitThenCallGetOrCreateReactInstanceTaskWithRetries(0, 4)
861
+
862
+ @ThreadConfined("ReactHost")
863
+ private fun waitThenCallGetOrCreateReactInstanceTaskWithRetries(
864
+ tryNum: Int,
865
+ maxTries: Int
866
+ ): Task<ReactInstance> {
867
+ val method = "waitThenCallGetOrCreateReactInstanceTaskWithRetries"
868
+ reloadTask?.let { task ->
869
+ log(method, "React Native is reloading. Return reload task.")
870
+ return task
871
+ }
872
+
873
+ destroyTask?.let { task ->
874
+ val shouldTryAgain = tryNum < maxTries
875
+ if (shouldTryAgain) {
876
+ log(
877
+ method,
878
+ "React Native is tearing down.Wait for teardown to finish, before trying again (try count = $tryNum).")
879
+ return task.onSuccessTask(
880
+ { waitThenCallGetOrCreateReactInstanceTaskWithRetries(tryNum + 1, maxTries) },
881
+ bgExecutor)
882
+ }
883
+
884
+ raiseSoftException(
885
+ method,
886
+ "React Native is tearing down. Not wait for teardown to finish: reached max retries.")
887
+ }
888
+
889
+ return getOrCreateReactInstanceTask()
890
+ }
891
+
892
+ private class CreationResult(
893
+ val instance: ReactInstance,
894
+ val context: ReactContext,
895
+ val isReloading: Boolean
896
+ )
897
+
898
+ @ThreadConfined("ReactHost")
899
+ private fun getOrCreateReactInstanceTask(): Task<ReactInstance> {
900
+ val method = "getOrCreateReactInstanceTask()"
901
+ log(method)
902
+
903
+ return createReactInstanceTaskRef.getOrCreate {
904
+ log(method, "Start")
905
+ Assertions.assertCondition(
906
+ !hostInvalidated, "Cannot start a new ReactInstance on an invalidated ReactHost")
907
+
908
+ ReactMarker.logMarker(
909
+ ReactMarkerConstants.REACT_BRIDGELESS_LOADING_START, BRIDGELESS_MARKER_INSTANCE_KEY)
910
+
911
+ val creationTask =
912
+ jsBundleLoader.onSuccess(
913
+ { task ->
914
+ val bundleLoader = checkNotNull(task.getResult())
915
+ val reactContext = getOrCreateReactContext()
916
+ reactContext.setJSExceptionHandler(devSupportManager)
917
+
918
+ log(method, "Creating ReactInstance")
919
+ val instance =
920
+ ReactInstance(
921
+ reactContext,
922
+ reactHostDelegate,
923
+ componentFactory,
924
+ devSupportManager,
925
+ { e: Exception -> this.handleHostException(e) },
926
+ useDevSupport,
927
+ getOrCreateReactHostInspectorTarget())
928
+ reactInstance = instance
929
+
930
+ val memoryPressureListener = createMemoryPressureListener(instance)
931
+ this.memoryPressureListener = memoryPressureListener
932
+ memoryPressureRouter.addMemoryPressureListener(memoryPressureListener)
933
+
934
+ // Eagerly initialize turbo modules in parallel with JS bundle execution
935
+ // as TurboModuleManager will handle any concurrent access
936
+ instance.initializeEagerTurboModules()
937
+
938
+ log(method, "Loading JS Bundle")
939
+ instance.loadJSBundle(bundleLoader)
940
+
941
+ log(method, "Calling DevSupportManagerBase.onNewReactContextCreated(reactContext)")
942
+ devSupportManager.onNewReactContextCreated(reactContext)
943
+
944
+ reactContext.runOnJSQueueThread {
945
+ // Executing on the JS thread to ensure that we're done
946
+ // loading the JS bundle.
947
+ // TODO T76081936 Move this if we switch to a sync RTE
948
+ ReactMarker.logMarker(
949
+ ReactMarkerConstants.REACT_BRIDGELESS_LOADING_END,
950
+ BRIDGELESS_MARKER_INSTANCE_KEY)
951
+ }
952
+ CreationResult(instance, reactContext, reloadTask != null)
953
+ },
954
+ bgExecutor)
955
+
956
+ val lifecycleUpdateTask = { task: Task<CreationResult> ->
957
+ val result = checkNotNull(task.getResult())
958
+ val reactInstance = result.instance
959
+ val reactContext = result.context
960
+ val isReloading = result.isReloading
961
+ val isManagerResumed = reactLifecycleStateManager.lifecycleState == LifecycleState.RESUMED
962
+
963
+ /**
964
+ * ReactContext.onHostResume() should only be called when the user navigates to the first
965
+ * React Native screen.
966
+ *
967
+ * During init: The application puts the React manager in a resumed state, when the user
968
+ * navigates to a React Native screen. Two types of init: (1) If React Native init happens
969
+ * when the user navigates to a React Native screen, the React manager will get resumed on
970
+ * init start, so ReactContext.onHostResume() will be executed here. (2) If React Native
971
+ * init happens before the user navigates to a React Native screen (i.e: React Native is
972
+ * preloaded), the React manager won't be in a resumed state here. So
973
+ * ReactContext.onHostResume() won't be executed here. But, when the user navigates to their
974
+ * first React Native screen, the application will call ReactHost.onHostResume(). That will
975
+ * call ReactContext.onHostResume().
976
+ *
977
+ * During reloads, if the manager isn't resumed, call ReactContext.onHostResume(). If React
978
+ * Native is reloading, it seems reasonable to assume that: (1) We must have navigated to a
979
+ * React Native screen in the past, or (2) We must be on a React Native screen.
980
+ */
981
+ if (isReloading && !isManagerResumed) {
982
+ reactLifecycleStateManager.moveToOnHostResume(reactContext, currentActivity)
983
+ } else {
984
+ /**
985
+ * Call ReactContext.onHostResume() only when already in the resumed state which aligns
986
+ * with the bridge https://fburl.com/diffusion/2qhxmudv.
987
+ */
988
+ reactLifecycleStateManager.resumeReactContextIfHostResumed(reactContext, currentActivity)
989
+ }
990
+
991
+ log(method, "Executing ReactInstanceEventListeners")
992
+ for (listener in reactInstanceEventListeners) {
993
+ listener.onReactContextInitialized(reactContext)
994
+ }
995
+ reactInstance
996
+ }
997
+
998
+ creationTask.onSuccess(lifecycleUpdateTask, uiExecutor)
999
+ creationTask.onSuccess({ task -> checkNotNull(task.getResult()).instance })
1000
+ }
1001
+ }
1002
+
1003
+ private val jsBundleLoader: Task<JSBundleLoader>
1004
+ get() {
1005
+ val method = "getJSBundleLoader()"
1006
+ log(method)
1007
+
1008
+ if (useDevSupport && allowPackagerServerAccess) {
1009
+ return isMetroRunning.onSuccessTask(
1010
+ { task ->
1011
+ val isMetroRunning = checkNotNull(task.getResult())
1012
+ if (isMetroRunning) {
1013
+ // Since metro is running, fetcxception(method, "ReactContext is null. Reload
1014
+ // reason: $h the JS bundle from the server
1015
+ loadJSBundleFromMetro()
1016
+ } else {
1017
+ Task.forResult(reactHostDelegate.jsBundleLoader)
1018
+ }
1019
+ },
1020
+ bgExecutor)
1021
+ } else {
1022
+ if (ReactBuildConfig.DEBUG) {
1023
+ FLog.d(TAG, "Packager server access is disabled in this environment")
1024
+ }
1025
+
1026
+ /**
1027
+ * In prod mode: fall back to the JS bundle loader from the delegate.
1028
+ *
1029
+ * Note: Create the prod JSBundleLoader inside a Task.call. Why: If JSBundleLoader creation
1030
+ * throws an exception, the task will fault, and we'll go through the ReactHost error
1031
+ * reporting pipeline.
1032
+ */
1033
+ return try {
1034
+ Task.forResult(reactHostDelegate.jsBundleLoader)
1035
+ } catch (e: Exception) {
1036
+ Task.forError(e)
1037
+ }
1038
+ }
1039
+ }
1040
+
1041
+ private val isMetroRunning: Task<Boolean>
1042
+ get() {
1043
+ val method = "isMetroRunning()"
1044
+ log(method)
1045
+
1046
+ val taskCompletionSource = TaskCompletionSource<Boolean>()
1047
+ val asyncDevSupportManager = devSupportManager
1048
+
1049
+ asyncDevSupportManager.isPackagerRunning { packagerIsRunning: Boolean ->
1050
+ log(method, "Async result = $packagerIsRunning")
1051
+ taskCompletionSource.setResult(packagerIsRunning)
1052
+ }
1053
+
1054
+ return taskCompletionSource.task
1055
+ }
1056
+
1057
+ private fun loadJSBundleFromMetro(): Task<JSBundleLoader> {
1058
+ val method = "loadJSBundleFromMetro()"
1059
+ log(method)
1060
+
1061
+ val taskCompletionSource = TaskCompletionSource<JSBundleLoader>()
1062
+ val asyncDevSupportManager = devSupportManager as DevSupportManagerBase
1063
+ val bundleURL =
1064
+ asyncDevSupportManager.devServerHelper.getDevServerBundleURL(
1065
+ checkNotNull(asyncDevSupportManager.jsAppBundleName))
1066
+
1067
+ asyncDevSupportManager.reloadJSFromServer(
1068
+ bundleURL,
1069
+ object : BundleLoadCallback {
1070
+ override fun onSuccess() {
1071
+ log(method, "Creating BundleLoader")
1072
+ val bundleLoader =
1073
+ JSBundleLoader.createCachedBundleFromNetworkLoader(
1074
+ bundleURL, asyncDevSupportManager.downloadedJSBundleFile)
1075
+ taskCompletionSource.setResult(bundleLoader)
1076
+ }
1077
+
1078
+ override fun onError(cause: Exception) {
1079
+ taskCompletionSource.setError(cause)
1080
+ }
1081
+ })
1082
+
1083
+ return taskCompletionSource.task
1084
+ }
1085
+
1086
+ private fun log(method: String, message: String) {
1087
+ bridgelessReactStateTracker.enterState("ReactHost{$id}.$method: $message")
1088
+ }
1089
+
1090
+ private fun log(method: String) {
1091
+ bridgelessReactStateTracker.enterState("ReactHost{$id}.$method")
1092
+ }
1093
+
1094
+ private fun stopAttachedSurfaces(method: String, reactInstance: ReactInstance) {
1095
+ log(method, "Stopping all React Native surfaces")
1096
+ synchronized(attachedSurfaces) {
1097
+ for (surface in attachedSurfaces) {
1098
+ reactInstance.stopSurface(surface)
1099
+ surface.clear()
1100
+ }
1101
+ }
1102
+ }
1103
+
1104
+ private fun startAttachedSurfaces(method: String, reactInstance: ReactInstance) {
1105
+ log(method, "Restarting previously running React Native Surfaces")
1106
+ synchronized(attachedSurfaces) {
1107
+ for (surface in attachedSurfaces) {
1108
+ reactInstance.startSurface(surface)
1109
+ }
1110
+ }
1111
+ }
1112
+
1113
+ @ThreadConfined("ReactHost") private var reloadTask: Task<ReactInstance>? = null
1114
+
1115
+ private fun createReactInstanceUnwrapper(
1116
+ tag: String,
1117
+ method: String,
1118
+ reason: String
1119
+ ): (task: Task<ReactInstance>, stage: String) -> ReactInstance? =
1120
+ unwrap@{ task: Task<ReactInstance>, stage: String ->
1121
+ val reactInstance = task.getResult()
1122
+ val currentReactInstance = this.reactInstance
1123
+
1124
+ val stageLabel = "Stage: $stage"
1125
+ val reasonLabel = "$tag reason: $reason"
1126
+ if (task.isFaulted()) {
1127
+ val ex = checkNotNull(task.getError())
1128
+ val faultLabel = "Fault reason: ${ex.message}"
1129
+ raiseSoftException(
1130
+ method, "$tag: ReactInstance task faulted. $stageLabel. $faultLabel. $reasonLabel")
1131
+ return@unwrap currentReactInstance
1132
+ }
1133
+
1134
+ if (task.isCancelled()) {
1135
+ raiseSoftException(
1136
+ method, "$tag: ReactInstance task cancelled. $stageLabel. $reasonLabel")
1137
+ return@unwrap currentReactInstance
1138
+ }
1139
+
1140
+ if (reactInstance == null) {
1141
+ raiseSoftException(
1142
+ method, "$tag: ReactInstance task returned null. $stageLabel. $reasonLabel")
1143
+ return@unwrap currentReactInstance
1144
+ }
1145
+
1146
+ if (currentReactInstance != null && reactInstance != currentReactInstance) {
1147
+ raiseSoftException(
1148
+ method,
1149
+ ("$tag: Detected two different ReactInstances. Returning old. $stageLabel. $reasonLabel"))
1150
+ }
1151
+ reactInstance
1152
+ }
1153
+
1154
+ /**
1155
+ * The ReactInstance is loaded. Tear it down, and re-create it.
1156
+ *
1157
+ * If the ReactInstance is in an "invalid state", make a "best effort" attempt to clean up React.
1158
+ * "invalid state" means: ReactInstance task is faulted; ReactInstance is null; React instance
1159
+ * task is cancelled; BridgelessReactContext is null. This can typically happen if the
1160
+ * ReactInstance task work throws an exception.
1161
+ */
1162
+ @ThreadConfined("ReactHost")
1163
+ private fun getOrCreateReloadTask(reason: String): Task<ReactInstance> {
1164
+ val method = "getOrCreateReloadTask()"
1165
+ log(method)
1166
+
1167
+ // Log how React Native is destroyed
1168
+ // TODO(T136397487): Remove after Venice is shipped to 100%
1169
+ raiseSoftException(method, reason)
1170
+
1171
+ reloadTask?.let {
1172
+ return it
1173
+ }
1174
+
1175
+ val taskUnwrapper = createReactInstanceUnwrapper("Reload", method, reason)
1176
+
1177
+ // When using the immediate executor, we want to avoid scheduling any further work immediately
1178
+ // when destruction is kicked off.
1179
+ log(method, "Resetting createReactInstance task ref")
1180
+ return createReactInstanceTaskRef.andReset
1181
+ .continueWithTask(
1182
+ { task ->
1183
+ log(method, "Starting React Native reload")
1184
+ val reactInstance = taskUnwrapper(task, "1: Starting reload")
1185
+
1186
+ unregisterInstanceFromInspector(reactInstance)
1187
+
1188
+ val reactContext = bridgelessReactContextRef.value
1189
+ if (reactContext == null) {
1190
+ raiseSoftException(method, "ReactContext is null. Reload reason: $reason")
1191
+ }
1192
+
1193
+ if (reactContext != null &&
1194
+ reactLifecycleStateManager.lifecycleState == LifecycleState.RESUMED) {
1195
+ log(method, "Calling ReactContext.onHostPause()")
1196
+ reactContext.onHostPause()
1197
+ }
1198
+ Task.forResult(reactInstance)
1199
+ },
1200
+ uiExecutor)
1201
+ .continueWithTask(
1202
+ { task: Task<ReactInstance> ->
1203
+ val reactInstance = taskUnwrapper(task, "2: Surface shutdown")
1204
+ if (reactInstance == null) {
1205
+ raiseSoftException(method, "Skipping surface shutdown: ReactInstance null")
1206
+ } else {
1207
+ stopAttachedSurfaces(method, reactInstance)
1208
+ }
1209
+ task
1210
+ },
1211
+ bgExecutor)
1212
+ .continueWithTask(
1213
+ { task: Task<ReactInstance> ->
1214
+ taskUnwrapper(task, "3: Destroying ReactContext")
1215
+ for (destroyListener in beforeDestroyListeners) {
1216
+ destroyListener.invoke()
1217
+ }
1218
+
1219
+ memoryPressureListener?.let { listener ->
1220
+ log(method, "Removing memory pressure listener")
1221
+ memoryPressureRouter.removeMemoryPressureListener(listener)
1222
+ }
1223
+
1224
+ val reactContext = bridgelessReactContextRef.value
1225
+ if (reactContext != null) {
1226
+ log(method, "Resetting ReactContext ref")
1227
+ bridgelessReactContextRef.reset()
1228
+
1229
+ log(method, "Destroying ReactContext")
1230
+ reactContext.destroy()
1231
+ }
1232
+
1233
+ if (useDevSupport && reactContext != null) {
1234
+ log(method, "Calling DevSupportManager.onReactInstanceDestroyed(reactContext)")
1235
+ devSupportManager.onReactInstanceDestroyed(reactContext)
1236
+ }
1237
+ task
1238
+ },
1239
+ uiExecutor)
1240
+ .continueWithTask(
1241
+ { task: Task<ReactInstance> ->
1242
+ val reactInstance = taskUnwrapper(task, "4: Destroying ReactInstance")
1243
+ if (reactInstance == null) {
1244
+ raiseSoftException(method, "Skipping ReactInstance.destroy(): ReactInstance null")
1245
+ } else {
1246
+ log(method, "Resetting ReactInstance ptr")
1247
+ this.reactInstance = null
1248
+
1249
+ log(method, "Destroying ReactInstance")
1250
+ reactInstance.destroy()
1251
+ }
1252
+
1253
+ log(method, "Resetting start task ref")
1254
+ startTask = null
1255
+
1256
+ // Kickstart a new ReactInstance create
1257
+ getOrCreateReactInstanceTask()
1258
+ },
1259
+ bgExecutor)
1260
+ .continueWithTask(
1261
+ { task: Task<ReactInstance> ->
1262
+ val reactInstance = taskUnwrapper(task, "5: Restarting surfaces")
1263
+ if (reactInstance == null) {
1264
+ raiseSoftException(method, "Skipping surface restart: ReactInstance null")
1265
+ } else {
1266
+ startAttachedSurfaces(method, reactInstance)
1267
+ }
1268
+ task
1269
+ },
1270
+ bgExecutor)
1271
+ .continueWithTask(
1272
+ { task: Task<ReactInstance> ->
1273
+ if (task.isFaulted()) {
1274
+ val fault = checkNotNull(task.getError())
1275
+ raiseSoftException(
1276
+ method,
1277
+ ("Error during reload. ReactInstance task faulted. Fault reason: ${fault.message}. Reload reason: $reason"),
1278
+ task.getError())
1279
+ }
1280
+ if (task.isCancelled()) {
1281
+ raiseSoftException(
1282
+ method,
1283
+ "Error during reload. ReactInstance task cancelled. Reload reason: $reason")
1284
+ }
1285
+
1286
+ log(method, "Resetting reload task ref")
1287
+ reloadTask = null
1288
+ task
1289
+ },
1290
+ bgExecutor)
1291
+ .also { reloadTask = it }
1292
+ }
1293
+
1294
+ @ThreadConfined("ReactHost") private var destroyTask: Task<Void>? = null
1295
+
1296
+ /**
1297
+ * The ReactInstance is loaded. Tear it down.
1298
+ *
1299
+ * If the ReactInstance is in an "invalid state", make a "best effort" attempt to clean up React.
1300
+ * "invalid state" means: ReactInstance task is faulted; ReactInstance is null; React instance
1301
+ * task is cancelled; BridgelessReactContext is null. This can typically happen if the *
1302
+ * ReactInstance task work throws an exception.
1303
+ */
1304
+ @ThreadConfined("ReactHost")
1305
+ private fun getOrCreateDestroyTask(reason: String, ex: Exception?): Task<Void> {
1306
+ val method = "getOrCreateDestroyTask()"
1307
+ log(method)
1308
+
1309
+ // Log how React Native is destroyed
1310
+ // TODO(T136397487): Remove after Venice is shipped to 100%
1311
+ raiseSoftException(method, reason, ex)
1312
+
1313
+ destroyTask?.let {
1314
+ return it
1315
+ }
1316
+
1317
+ val taskUnwrapper = createReactInstanceUnwrapper("Destroy", method, reason)
1318
+
1319
+ // When using the immediate executor, we want to avoid scheduling any further work immediately
1320
+ // when destruction is kicked off.
1321
+ log(method, "Resetting createReactInstance task ref")
1322
+ return createReactInstanceTaskRef.andReset
1323
+ .continueWithTask(
1324
+ { task: Task<ReactInstance> ->
1325
+ log(method, "Starting React Native destruction")
1326
+ val reactInstance = taskUnwrapper(task, "1: Starting destroy")
1327
+
1328
+ unregisterInstanceFromInspector(reactInstance)
1329
+
1330
+ if (hostInvalidated) {
1331
+ // If the host has been invalidated, now that the current context/instance
1332
+ // has been unregistered, we can safely destroy the host's inspector
1333
+ // target.
1334
+ reactHostInspectorTarget?.close()
1335
+ reactHostInspectorTarget = null
1336
+ }
1337
+
1338
+ // Step 1: Destroy DevSupportManager
1339
+ if (useDevSupport) {
1340
+ log(method, "DevSupportManager cleanup")
1341
+ // TODO(T137233065): Disable DevSupportManager here
1342
+ devSupportManager.stopInspector()
1343
+ }
1344
+
1345
+ val reactContext = bridgelessReactContextRef.value
1346
+ if (reactContext == null) {
1347
+ raiseSoftException(method, "ReactContext is null. Destroy reason: $reason")
1348
+ }
1349
+
1350
+ // Step 2: Move React Native to onHostDestroy()
1351
+ log(method, "Move ReactHost to onHostDestroy()")
1352
+ reactLifecycleStateManager.moveToOnHostDestroy(reactContext)
1353
+ Task.forResult<ReactInstance>(reactInstance)
1354
+ },
1355
+ uiExecutor)
1356
+ .continueWithTask(
1357
+ { task: Task<ReactInstance> ->
1358
+ val reactInstance = taskUnwrapper(task, "2: Stopping surfaces")
1359
+ if (reactInstance == null) {
1360
+ raiseSoftException(method, "Skipping surface shutdown: ReactInstance null")
1361
+ } else {
1362
+ // Step 3: Stop all React Native surfaces
1363
+ stopAttachedSurfaces(method, reactInstance)
1364
+ synchronized(attachedSurfaces) { attachedSurfaces.clear() }
1365
+ }
1366
+ task
1367
+ },
1368
+ bgExecutor)
1369
+ .continueWithTask(
1370
+ { task: Task<ReactInstance> ->
1371
+ taskUnwrapper(task, "3: Destroying ReactContext")
1372
+ for (destroyListener in beforeDestroyListeners) {
1373
+ destroyListener.invoke()
1374
+ }
1375
+
1376
+ val reactContext = bridgelessReactContextRef.value
1377
+ if (reactContext == null) {
1378
+ raiseSoftException(method, "ReactContext is null. Destroy reason: $reason")
1379
+ }
1380
+
1381
+ // Step 4: De-register the memory pressure listener
1382
+ log(method, "Destroying MemoryPressureRouter")
1383
+ memoryPressureRouter.destroy(context)
1384
+
1385
+ if (reactContext != null) {
1386
+ log(method, "Resetting ReactContext ref")
1387
+ bridgelessReactContextRef.reset()
1388
+
1389
+ log(method, "Destroying ReactContext")
1390
+ reactContext.destroy()
1391
+ }
1392
+
1393
+ // Reset current activity
1394
+ currentActivity = null
1395
+
1396
+ // Clear ResourceIdleDrawableIdMap
1397
+ ResourceDrawableIdHelper.clear()
1398
+ task
1399
+ },
1400
+ uiExecutor)
1401
+ .continueWithTask(
1402
+ { task: Task<ReactInstance> ->
1403
+ val reactInstance = taskUnwrapper(task, "4: Destroying ReactInstance")
1404
+ if (reactInstance == null) {
1405
+ raiseSoftException(method, "Skipping ReactInstance.destroy(): ReactInstance null")
1406
+ } else {
1407
+ log(method, "Resetting ReactInstance ptr")
1408
+ this.reactInstance = null
1409
+
1410
+ log(method, "Destroying ReactInstance")
1411
+ reactInstance.destroy()
1412
+ }
1413
+
1414
+ log(method, "Resetting start task ref")
1415
+ startTask = null
1416
+
1417
+ log(method, "Resetting destroy task ref")
1418
+ destroyTask = null
1419
+ task
1420
+ },
1421
+ bgExecutor)
1422
+ .continueWith<Void>({ task: Task<ReactInstance> ->
1423
+ if (task.isFaulted()) {
1424
+ val fault = checkNotNull(task.getError())
1425
+ raiseSoftException(
1426
+ method,
1427
+ ("React destruction failed. ReactInstance task faulted. Fault reason: ${fault.message}. Destroy reason: $reason"),
1428
+ task.getError())
1429
+ }
1430
+ if (task.isCancelled()) {
1431
+ raiseSoftException(
1432
+ method,
1433
+ "React destruction failed. ReactInstance task cancelled. Destroy reason: $reason")
1434
+ }
1435
+ null
1436
+ })
1437
+ .also { destroyTask = it }
1438
+ }
1439
+
1440
+ internal fun getOrCreateReactHostInspectorTarget(): ReactHostInspectorTarget? {
1441
+ if (reactHostInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
1442
+ // NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
1443
+ reactHostInspectorTarget = ReactHostInspectorTarget(this)
1444
+ }
1445
+
1446
+ return reactHostInspectorTarget
1447
+ }
1448
+
1449
+ @ThreadConfined(ThreadConfined.UI)
1450
+ internal fun unregisterInstanceFromInspector(reactInstance: ReactInstance?): Unit {
1451
+ if (reactInstance != null) {
1452
+ if (InspectorFlags.getFuseboxEnabled()) {
1453
+ Assertions.assertCondition(
1454
+ reactHostInspectorTarget?.isValid() == true,
1455
+ "Host inspector target destroyed before instance was unregistered")
1456
+ }
1457
+ reactInstance.unregisterFromInspector()
1458
+ }
1459
+ }
1460
+
1461
+ override fun invalidate() {
1462
+ FLog.d(TAG, "ReactHostImpl.invalidate()")
1463
+ hostInvalidated = true
1464
+ destroy("ReactHostImpl.invalidate()", null)
1465
+ }
1466
+
1467
+ private companion object {
1468
+ private const val TAG = "ReactHost"
1469
+ private const val BRIDGELESS_MARKER_INSTANCE_KEY = 1
1470
+ private val counter = AtomicInteger(0)
1471
+ }
1472
+ }