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

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 (1772) 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 -58
  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 +5 -7
  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 +4 -1
  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 +3 -3
  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/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ComponentDescriptors.h +2 -2
  403. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/EventEmitters.cpp +26 -1
  404. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/EventEmitters.h +25 -0
  405. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +663 -0
  406. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/Props.h +138 -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/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ShadowNodes.h +3 -3
  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 +292 -504
  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 +3 -2
  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 +3 -3
  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 +1471 -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 +3 -3
  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/root/CMakeLists.txt +1 -1
  1027. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +1 -1
  1028. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +2 -2
  1029. package/ReactCommon/react/renderer/components/scrollview/{ScrollViewProps.cpp → BaseScrollViewProps.cpp} +29 -22
  1030. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +87 -0
  1031. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +16 -3
  1032. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +3 -73
  1033. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +2 -2
  1034. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +354 -0
  1035. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +46 -0
  1036. package/{React/Runtime/RCTJscInstanceFactory.h → ReactCommon/react/renderer/components/scrollview/platform/cxx/react/renderer/components/scrollview/HostPlatformScrollViewProps.h} +4 -10
  1037. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +1 -1
  1038. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +32 -41
  1039. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +0 -3
  1040. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +2 -2
  1041. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +192 -13
  1042. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +6 -0
  1043. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +0 -7
  1044. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +15 -6
  1045. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +93 -0
  1046. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -0
  1047. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +143 -80
  1048. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +26 -7
  1049. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +28 -0
  1050. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -0
  1051. package/ReactCommon/react/renderer/components/text/TextProps.cpp +21 -0
  1052. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -0
  1053. package/ReactCommon/react/renderer/components/text/conversions.h +2 -2
  1054. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +8 -0
  1055. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +23 -2
  1056. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +6 -0
  1057. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +9 -15
  1058. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  1059. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +11 -7
  1060. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.h +2 -1
  1061. package/ReactCommon/react/renderer/components/textinput/TextInputState.h +5 -22
  1062. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +4 -2
  1063. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +277 -0
  1064. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -1
  1065. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +10 -21
  1066. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +2 -2
  1067. package/ReactCommon/react/renderer/components/textinput/{TextInputState.cpp → platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp} +3 -32
  1068. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +83 -0
  1069. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +1 -1
  1070. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +21 -0
  1071. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +4 -0
  1072. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +33 -0
  1073. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +28 -1
  1074. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1075. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  1076. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +11 -7
  1077. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +51 -27
  1078. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +14 -3
  1079. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +144 -516
  1080. package/ReactCommon/react/renderer/components/view/conversions.h +114 -0
  1081. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +119 -5
  1082. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +2 -3
  1083. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +1 -0
  1084. package/ReactCommon/react/renderer/components/view/propsConversions.h +537 -2
  1085. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +6 -2
  1086. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +20 -0
  1087. package/ReactCommon/react/renderer/components/virtualview/VirtualViewShadowNode.h +37 -0
  1088. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  1089. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  1090. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -2
  1091. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -3
  1092. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +9 -6
  1093. package/ReactCommon/react/renderer/core/ConcreteState.h +7 -9
  1094. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -0
  1095. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -0
  1096. package/ReactCommon/react/renderer/core/EventLogger.h +3 -2
  1097. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +24 -2
  1098. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +12 -3
  1099. package/ReactCommon/react/renderer/core/Props.cpp +1 -1
  1100. package/ReactCommon/react/renderer/core/Props.h +5 -2
  1101. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -0
  1102. package/ReactCommon/react/renderer/core/RawEvent.h +6 -1
  1103. package/ReactCommon/react/renderer/core/ShadowNode.cpp +127 -23
  1104. package/ReactCommon/react/renderer/core/ShadowNode.h +69 -26
  1105. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +8 -0
  1106. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -1
  1107. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +26 -16
  1108. package/ReactCommon/react/renderer/core/State.cpp +2 -2
  1109. package/ReactCommon/react/renderer/core/State.h +3 -5
  1110. package/ReactCommon/react/renderer/core/StateData.h +2 -2
  1111. package/ReactCommon/react/renderer/core/graphicsConversions.h +47 -5
  1112. package/ReactCommon/react/renderer/core/propsConversions.h +37 -0
  1113. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +7 -6
  1114. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +9 -1
  1115. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +5 -0
  1116. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +38 -5
  1117. package/ReactCommon/react/renderer/css/CMakeLists.txt +2 -2
  1118. package/ReactCommon/react/renderer/css/CSSTokenizer.h +0 -1
  1119. package/ReactCommon/react/renderer/css/React-renderercss.podspec +3 -3
  1120. package/ReactCommon/react/renderer/debug/CMakeLists.txt +1 -1
  1121. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +3 -2
  1122. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +0 -2
  1123. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  1124. package/ReactCommon/react/renderer/dom/DOM.cpp +28 -31
  1125. package/ReactCommon/react/renderer/dom/DOM.h +3 -4
  1126. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  1127. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
  1128. package/ReactCommon/react/renderer/element/ComponentBuilder.h +2 -1
  1129. package/ReactCommon/react/renderer/element/Element.h +7 -5
  1130. package/ReactCommon/react/renderer/element/ElementFragment.h +1 -1
  1131. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +4 -2
  1132. package/ReactCommon/react/renderer/graphics/BlendMode.h +37 -0
  1133. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +12 -4
  1134. package/ReactCommon/react/renderer/graphics/Color.cpp +1 -1
  1135. package/ReactCommon/react/renderer/graphics/Color.h +10 -0
  1136. package/ReactCommon/react/renderer/graphics/Filter.h +25 -0
  1137. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -3
  1138. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -15
  1139. package/ReactCommon/react/renderer/graphics/Transform.h +0 -7
  1140. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -2
  1141. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +5 -2
  1142. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +4 -0
  1143. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +2 -4
  1144. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +14 -5
  1145. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +11 -0
  1146. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +1 -1
  1147. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -2
  1148. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +2 -1
  1149. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +1 -1
  1150. package/ReactCommon/react/renderer/imagemanager/primitives.h +59 -0
  1151. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +1 -1
  1152. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  1153. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +0 -2
  1154. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -2
  1155. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +2 -1
  1156. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +34 -21
  1157. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -1
  1158. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +55 -23
  1159. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -1
  1160. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +11 -6
  1161. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +6 -2
  1162. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -53
  1163. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +9 -7
  1164. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -2
  1165. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +9 -6
  1166. package/ReactCommon/react/renderer/mounting/updateMountedFlag.h +4 -2
  1167. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -2
  1168. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +27 -10
  1169. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +9 -7
  1170. package/ReactCommon/react/renderer/observers/intersection/CMakeLists.txt +28 -0
  1171. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +74 -31
  1172. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +19 -13
  1173. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +136 -63
  1174. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +34 -8
  1175. package/ReactCommon/react/renderer/observers/mutation/CMakeLists.txt +24 -0
  1176. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +34 -46
  1177. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -15
  1178. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +17 -32
  1179. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +2 -4
  1180. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -1
  1181. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +4 -3
  1182. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +12 -6
  1183. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +16 -10
  1184. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +3 -5
  1185. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +1 -0
  1186. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerIntersectionObserverDelegate.h +25 -0
  1187. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -4
  1188. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +11 -8
  1189. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +61 -62
  1190. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +25 -21
  1191. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +8 -7
  1192. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +17 -5
  1193. package/ReactCommon/react/renderer/runtimescheduler/Task.h +6 -4
  1194. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +43 -31
  1195. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +6 -11
  1196. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -1
  1197. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +10 -3
  1198. package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -3
  1199. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +3 -0
  1200. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +5 -4
  1201. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  1202. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +16 -6
  1203. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +6 -0
  1204. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +81 -10
  1205. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +116 -104
  1206. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -0
  1207. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +5 -2
  1208. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +23 -6
  1209. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +1 -1
  1210. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +27 -28
  1211. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +2 -1
  1212. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +15 -10
  1213. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +6 -7
  1214. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -3
  1215. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +5 -3
  1216. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +21 -19
  1217. package/ReactCommon/react/renderer/uimanager/UIManager.h +13 -12
  1218. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +47 -23
  1219. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +9 -3
  1220. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +2 -2
  1221. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +6 -1
  1222. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  1223. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  1224. package/ReactCommon/react/renderer/uimanager/primitives.h +10 -18
  1225. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -1
  1226. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +0 -1
  1227. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -0
  1228. package/ReactCommon/react/runtime/CMakeLists.txt +8 -3
  1229. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -3
  1230. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  1231. package/ReactCommon/react/runtime/ReactInstance.cpp +2 -1
  1232. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  1233. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +5 -2
  1234. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +8 -10
  1235. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +43 -20
  1236. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +1 -1
  1237. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +16 -16
  1238. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  1239. package/ReactCommon/react/timing/primitives.h +280 -15
  1240. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +82 -24
  1241. package/ReactCommon/react/utils/CMakeLists.txt +13 -3
  1242. package/ReactCommon/react/utils/FloatComparison.h +8 -2
  1243. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +2 -4
  1244. package/ReactCommon/react/utils/OnScopeExit.h +1 -1
  1245. package/ReactCommon/react/utils/PackTraits.h +0 -2
  1246. package/ReactCommon/react/utils/React-utils.podspec +4 -3
  1247. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +40 -28
  1248. package/ReactCommon/react/utils/iequals.h +1 -3
  1249. package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  1250. package/{React/CxxUtils/RCTFollyConvert.mm → ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm} +17 -1
  1251. package/ReactCommon/react/utils/tests/SimpleThreadSafeCacheTest.cpp +40 -0
  1252. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -1
  1253. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +2 -4
  1254. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +2 -6
  1255. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1256. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +10 -4
  1257. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +1 -1
  1258. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +10 -6
  1259. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +2 -1
  1260. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  1261. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +4 -3
  1262. package/ReactCommon/runtimeexecutor/CMakeLists.txt +2 -2
  1263. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +24 -1
  1264. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -72
  1265. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.cpp +61 -0
  1266. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +36 -0
  1267. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +39 -0
  1268. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +260 -0
  1269. package/ReactCommon/yoga/Yoga.podspec +1 -1
  1270. package/ReactCommon/yoga/yoga/YGNodeLayout.cpp +8 -0
  1271. package/ReactCommon/yoga/yoga/YGNodeLayout.h +10 -0
  1272. package/ReactCommon/yoga/yoga/YGValue.h +2 -2
  1273. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +21 -16
  1274. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +6 -6
  1275. package/ReactCommon/yoga/yoga/node/LayoutResults.h +9 -0
  1276. package/ReactCommon/yoga/yoga/node/Node.cpp +29 -0
  1277. package/ReactCommon/yoga/yoga/node/Node.h +6 -4
  1278. package/cli.js +52 -33
  1279. package/gradle/libs.versions.toml +6 -5
  1280. package/index.js +22 -2
  1281. package/index.js.flow +10 -1
  1282. package/interface.js +1 -1
  1283. package/jest/MockNativeMethods.js +9 -3
  1284. package/jest/assetFileTransformer.js +1 -0
  1285. package/jest/local-setup.js +4 -3
  1286. package/jest/mock.js +39 -0
  1287. package/jest/mockComponent.js +47 -17
  1288. package/jest/mockNativeComponent.js +26 -15
  1289. package/jest/mocks/AccessibilityInfo.js +62 -0
  1290. package/jest/mocks/ActivityIndicator.js +23 -0
  1291. package/jest/mocks/AppState.js +19 -0
  1292. package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
  1293. package/jest/mocks/Image.js +23 -0
  1294. package/jest/mocks/InitializeCore.js +9 -0
  1295. package/jest/mocks/Linking.js +28 -0
  1296. package/jest/mocks/Modal.js +33 -0
  1297. package/jest/mocks/NativeComponentRegistry.js +30 -0
  1298. package/jest/mocks/NativeModules.js +239 -0
  1299. package/jest/mocks/RefreshControl.js +31 -0
  1300. package/jest/mocks/RendererProxy.js +45 -0
  1301. package/jest/mocks/ScrollView.js +58 -0
  1302. package/jest/mocks/Text.js +27 -0
  1303. package/jest/mocks/TextInput.js +32 -0
  1304. package/jest/mocks/UIManager.js +60 -0
  1305. package/jest/mocks/Vibration.js +16 -0
  1306. package/jest/mocks/View.js +27 -0
  1307. package/jest/mocks/ViewNativeComponent.js +23 -0
  1308. package/jest/mocks/requireNativeComponent.js +22 -0
  1309. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  1310. package/jest/react-native-env.js +1 -0
  1311. package/jest/renderer.js +1 -2
  1312. package/jest/resolver.js +1 -0
  1313. package/jest/setup.js +64 -443
  1314. package/jest-preset.js +1 -0
  1315. package/package.json +16 -23
  1316. package/react-native.config.js +18 -5
  1317. package/scripts/bundle.js +10 -2
  1318. package/scripts/cocoapods/helpers.rb +1 -1
  1319. package/scripts/cocoapods/jsengine.rb +28 -16
  1320. package/scripts/cocoapods/new_architecture.rb +1 -0
  1321. package/scripts/cocoapods/rncore.rb +247 -0
  1322. package/scripts/cocoapods/rndependencies.rb +86 -26
  1323. package/scripts/cocoapods/utils.rb +73 -44
  1324. package/scripts/codegen/codegen-utils.js +9 -4
  1325. package/scripts/codegen/generate-artifacts-executor/constants.js +30 -36
  1326. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +2 -1
  1327. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +10 -4
  1328. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +8 -4
  1329. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +21 -29
  1330. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +7 -6
  1331. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +13 -6
  1332. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +8 -7
  1333. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +15 -5
  1334. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -3
  1335. package/scripts/codegen/generate-artifacts-executor/index.js +24 -10
  1336. package/scripts/codegen/generate-artifacts-executor/utils.js +51 -23
  1337. package/scripts/codegen/generate-specs-cli-executor.js +36 -30
  1338. package/scripts/codegen/templates/ReactCodegen.podspec.template +5 -2
  1339. package/scripts/compose-source-maps.js +3 -2
  1340. package/scripts/generate-codegen-artifacts.js +2 -0
  1341. package/scripts/generate-provider-cli.js +11 -5
  1342. package/scripts/generate-specs-cli.js +7 -0
  1343. package/scripts/hermes/hermes-utils.js +2 -2
  1344. package/scripts/hermes/prepare-hermes-for-build.js +2 -1
  1345. package/scripts/packager-reporter.js +9 -3
  1346. package/scripts/react_native_pods.rb +56 -24
  1347. package/scripts/replace-rncore-version.js +120 -0
  1348. package/sdks/.hermesversion +1 -1
  1349. package/sdks/hermes-engine/hermes-utils.rb +25 -23
  1350. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +11 -3
  1351. package/sdks/hermes-engine/utils/replace_hermes_version.js +1 -0
  1352. package/sdks/hermesc/osx-bin/hermes +0 -0
  1353. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1354. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1355. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1356. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1357. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1358. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  1359. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  1360. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  1361. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  1362. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  1363. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  1364. package/src/private/components/virtualview/VirtualView.js +145 -0
  1365. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  1366. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  1367. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  1368. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  1369. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  1370. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  1371. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  1372. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  1373. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  1374. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  1375. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  1376. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  1377. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  1378. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  1379. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  1380. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  1381. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  1382. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  1383. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.js.flow +3 -7
  1384. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  1385. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  1386. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -8
  1387. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  1388. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -3
  1389. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  1390. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  1391. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  1392. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  1393. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  1394. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  1395. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  1396. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  1397. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  1398. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  1399. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  1400. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  1401. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  1402. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  1403. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  1404. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  1405. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  1406. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  1407. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  1408. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  1409. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  1410. package/src/private/styles/composeStyles.js +5 -12
  1411. package/src/private/types/HostInstance.js +1 -1
  1412. package/src/private/webapis/dom/events/Event.js +3 -0
  1413. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  1414. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  1415. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  1416. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  1417. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  1418. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  1419. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  1420. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  1421. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  1422. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1423. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  1424. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  1425. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  1426. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  1427. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  1428. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  1429. package/src/private/webapis/errors/DOMException.js +166 -0
  1430. package/src/private/webapis/geometry/DOMRect.js +5 -0
  1431. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  1432. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  1433. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  1434. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  1435. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  1436. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  1437. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  1438. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  1439. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  1440. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  1441. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  1442. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  1443. package/src/private/webapis/performance/EventTiming.js +1 -1
  1444. package/src/private/webapis/performance/LongTasks.js +1 -1
  1445. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  1446. package/src/private/webapis/performance/Performance.js +20 -9
  1447. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  1448. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  1449. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  1450. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  1451. package/src/private/webapis/performance/UserTiming.js +1 -1
  1452. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  1453. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  1454. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  1455. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  1456. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  1457. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  1458. package/third-party-podspecs/ReactNativeDependencies.podspec +14 -1
  1459. package/third-party-podspecs/replace_dependencies_version.js +37 -6
  1460. package/types/modules/Devtools.d.ts +23 -9
  1461. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +101 -0
  1462. package/types_generated/Libraries/Alert/Alert.d.ts +55 -0
  1463. package/types_generated/Libraries/Animated/Animated.d.ts +14 -0
  1464. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +30 -0
  1465. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +190 -0
  1466. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +128 -0
  1467. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +13 -0
  1468. package/types_generated/Libraries/Animated/Easing.d.ts +171 -0
  1469. package/types_generated/Libraries/Animated/animations/Animation.d.ts +35 -0
  1470. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +42 -0
  1471. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +130 -0
  1472. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +54 -0
  1473. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +22 -0
  1474. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +18 -0
  1475. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +23 -0
  1476. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +22 -0
  1477. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +18 -0
  1478. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +19 -0
  1479. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +42 -0
  1480. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +22 -0
  1481. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +76 -0
  1482. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +22 -0
  1483. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +22 -0
  1484. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +36 -0
  1485. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +22 -0
  1486. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +22 -0
  1487. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +46 -0
  1488. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +29 -0
  1489. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +32 -0
  1490. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +22 -0
  1491. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +21 -0
  1492. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +126 -0
  1493. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +135 -0
  1494. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +15 -0
  1495. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  1496. package/types_generated/Libraries/AppState/AppState.d.ts +63 -0
  1497. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +17 -0
  1498. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +39 -0
  1499. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +20 -0
  1500. package/types_generated/Libraries/Blob/Blob.d.ts +80 -0
  1501. package/types_generated/Libraries/Blob/BlobTypes.d.ts +27 -0
  1502. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +220 -0
  1503. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +20 -0
  1504. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +84 -0
  1505. package/types_generated/Libraries/Components/Button.d.ts +251 -0
  1506. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +38 -0
  1507. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +17 -0
  1508. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +27 -0
  1509. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +176 -0
  1510. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +146 -0
  1511. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +73 -0
  1512. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +24 -0
  1513. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +141 -0
  1514. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +45 -0
  1515. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +32 -0
  1516. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +14 -0
  1517. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +50 -0
  1518. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +113 -0
  1519. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +33 -0
  1520. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +560 -0
  1521. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +24 -0
  1522. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +21 -0
  1523. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +134 -0
  1524. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +36 -0
  1525. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +222 -0
  1526. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +14 -0
  1527. package/types_generated/Libraries/Components/Switch/Switch.d.ts +138 -0
  1528. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +14 -0
  1529. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +23 -0
  1530. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +21 -0
  1531. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +71 -0
  1532. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +97 -0
  1533. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +79 -0
  1534. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +24 -0
  1535. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +20 -0
  1536. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +86 -0
  1537. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +47 -0
  1538. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +984 -0
  1539. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +54 -0
  1540. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +99 -0
  1541. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +257 -0
  1542. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +71 -0
  1543. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +228 -0
  1544. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +76 -0
  1545. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +121 -0
  1546. package/types_generated/Libraries/Components/View/View.d.ts +28 -0
  1547. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +415 -0
  1548. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +29 -0
  1549. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +431 -0
  1550. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +27 -0
  1551. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +43 -0
  1552. package/types_generated/Libraries/Core/ExtendedError.d.ts +26 -0
  1553. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +17 -0
  1554. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +26 -0
  1555. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +27 -0
  1556. package/types_generated/Libraries/Core/registerCallableModule.d.ts +18 -0
  1557. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +42 -0
  1558. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +19 -0
  1559. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +18 -0
  1560. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +21 -0
  1561. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +71 -0
  1562. package/types_generated/Libraries/Image/Image.d.ts +18 -0
  1563. package/types_generated/Libraries/Image/ImageBackground.d.ts +44 -0
  1564. package/types_generated/Libraries/Image/ImageProps.d.ts +512 -0
  1565. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +17 -0
  1566. package/types_generated/Libraries/Image/ImageSource.d.ts +94 -0
  1567. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +64 -0
  1568. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +68 -0
  1569. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +42 -0
  1570. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +100 -0
  1571. package/types_generated/Libraries/Interaction/PanResponder.d.ts +231 -0
  1572. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +73 -0
  1573. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +76 -0
  1574. package/types_generated/Libraries/Linking/Linking.d.ts +68 -0
  1575. package/types_generated/Libraries/Lists/FlatList.d.ts +317 -0
  1576. package/types_generated/Libraries/Lists/SectionList.d.ts +172 -0
  1577. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +19 -0
  1578. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +19 -0
  1579. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +78 -0
  1580. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +88 -0
  1581. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +17 -0
  1582. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +53 -0
  1583. package/types_generated/Libraries/LogBox/LogBox.d.ts +29 -0
  1584. package/types_generated/Libraries/Modal/Modal.d.ts +110 -0
  1585. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +17 -0
  1586. package/types_generated/Libraries/Network/FormData.d.ts +56 -0
  1587. package/types_generated/Libraries/Network/RCTNetworking.d.ts +25 -0
  1588. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +22 -0
  1589. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +96 -0
  1590. package/types_generated/Libraries/Network/convertRequestBody.d.ts +21 -0
  1591. package/types_generated/Libraries/Performance/Systrace.d.ts +61 -0
  1592. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +129 -0
  1593. package/types_generated/Libraries/Pressability/Pressability.d.ts +241 -0
  1594. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +323 -0
  1595. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +14 -0
  1596. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +44 -0
  1597. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +73 -0
  1598. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +24 -0
  1599. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +23 -0
  1600. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +17 -0
  1601. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +17 -0
  1602. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +28 -0
  1603. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +32 -0
  1604. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +15 -0
  1605. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +37 -0
  1606. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +28 -0
  1607. package/types_generated/Libraries/ReactNative/RootTag.d.ts +22 -0
  1608. package/types_generated/Libraries/ReactNative/UIManager.d.ts +17 -0
  1609. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +25 -0
  1610. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +33 -0
  1611. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +169 -0
  1612. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +41 -0
  1613. package/types_generated/Libraries/Settings/Settings.d.ts +21 -0
  1614. package/types_generated/Libraries/Share/Share.d.ts +85 -0
  1615. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +15 -0
  1616. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +17 -0
  1617. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +27 -0
  1618. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +16 -0
  1619. package/types_generated/Libraries/StyleSheet/Rect.d.ts +22 -0
  1620. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +153 -0
  1621. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +107 -0
  1622. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +826 -0
  1623. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +19 -0
  1624. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +17 -0
  1625. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +76 -0
  1626. package/types_generated/Libraries/StyleSheet/processColor.d.ts +18 -0
  1627. package/types_generated/Libraries/Text/Text.d.ts +30 -0
  1628. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +20 -0
  1629. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +31 -0
  1630. package/types_generated/Libraries/Text/TextProps.d.ts +220 -0
  1631. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +35 -0
  1632. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  1633. package/types_generated/Libraries/Types/CodegenTypes.d.ts +24 -0
  1634. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +14 -0
  1635. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +327 -0
  1636. package/types_generated/Libraries/Types/RootTagTypes.d.ts +13 -0
  1637. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +17 -0
  1638. package/types_generated/Libraries/UTFSequence.d.ts +39 -0
  1639. package/types_generated/Libraries/Utilities/Appearance.d.ts +31 -0
  1640. package/types_generated/Libraries/Utilities/BackHandler.d.ts +23 -0
  1641. package/types_generated/Libraries/Utilities/DevSettings.d.ts +34 -0
  1642. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +17 -0
  1643. package/types_generated/Libraries/Utilities/Dimensions.d.ts +54 -0
  1644. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +51 -0
  1645. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +17 -0
  1646. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +14 -0
  1647. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +110 -0
  1648. package/types_generated/Libraries/Utilities/Platform.d.ts +16 -0
  1649. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +134 -0
  1650. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +19 -0
  1651. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +24 -0
  1652. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +23 -0
  1653. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +33 -0
  1654. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +19 -0
  1655. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +15 -0
  1656. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +15 -0
  1657. package/types_generated/Libraries/Vibration/Vibration.d.ts +29 -0
  1658. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +39 -0
  1659. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +67 -0
  1660. package/types_generated/index.d.ts +164 -0
  1661. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +70 -0
  1662. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +97 -0
  1663. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +28 -0
  1664. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +53 -0
  1665. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +36 -0
  1666. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +51 -0
  1667. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +26 -0
  1668. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +46 -0
  1669. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +37 -0
  1670. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +45 -0
  1671. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +27 -0
  1672. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +109 -0
  1673. package/types_generated/src/private/styles/composeStyles.d.ts +19 -0
  1674. package/types_generated/src/private/types/HostComponent.d.ts +19 -0
  1675. package/types_generated/src/private/types/HostInstance.d.ts +91 -0
  1676. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +27 -0
  1677. package/types_generated/src/private/webapis/dom/events/Event.d.ts +58 -0
  1678. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +48 -0
  1679. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +32 -0
  1680. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +36 -0
  1681. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +30 -0
  1682. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +54 -0
  1683. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +126 -0
  1684. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +24 -0
  1685. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +29 -0
  1686. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +23 -0
  1687. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +22 -0
  1688. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +222 -0
  1689. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +22 -0
  1690. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +25 -0
  1691. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +46 -0
  1692. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +73 -0
  1693. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +27 -0
  1694. package/types_generated/tsconfig.json +3 -0
  1695. package/types_generated/tsconfig.test.json +16 -0
  1696. package/Libraries/BugReporting/BugReporting.js +0 -140
  1697. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  1698. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  1699. package/Libraries/BugReporting/getReactData.js +0 -187
  1700. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  1701. package/React/CxxBridge/JSCExecutorFactory.h +0 -27
  1702. package/React/CxxBridge/JSCExecutorFactory.mm +0 -24
  1703. package/React/Runtime/RCTJscInstanceFactory.mm +0 -20
  1704. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +0 -222
  1705. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +0 -21
  1706. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +0 -144
  1707. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +0 -420
  1708. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +0 -270
  1709. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +0 -421
  1710. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +0 -269
  1711. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +0 -413
  1712. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +0 -102
  1713. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +0 -247
  1714. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +0 -75
  1715. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +0 -169
  1716. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +0 -257
  1717. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +0 -25
  1718. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +0 -44
  1719. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +0 -75
  1720. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +0 -233
  1721. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +0 -136
  1722. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +0 -16
  1723. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +0 -410
  1724. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +0 -474
  1725. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +0 -41
  1726. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +0 -44
  1727. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +0 -38
  1728. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt +0 -24
  1729. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +0 -1825
  1730. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +0 -247
  1731. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +0 -203
  1732. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +0 -235
  1733. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +0 -244
  1734. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +0 -190
  1735. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +0 -372
  1736. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +0 -417
  1737. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +0 -383
  1738. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +0 -235
  1739. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +0 -208
  1740. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +0 -968
  1741. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +0 -1559
  1742. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +0 -37
  1743. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +0 -74
  1744. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +0 -36
  1745. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +0 -26
  1746. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/OnLoad.cpp +0 -48
  1747. package/ReactCommon/React-rncore.podspec +0 -52
  1748. package/ReactCommon/cxxreact/SampleCxxModule.cpp +0 -182
  1749. package/ReactCommon/cxxreact/SampleCxxModule.h +0 -59
  1750. package/ReactCommon/jsc/CMakeLists.txt +0 -34
  1751. package/ReactCommon/jsc/React-jsc.podspec +0 -37
  1752. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +0 -84
  1753. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.h +0 -18
  1754. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.mm +0 -31
  1755. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp +0 -177
  1756. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.h +0 -46
  1757. package/ReactCommon/react/renderer/components/rncore/Props.cpp +0 -156
  1758. package/ReactCommon/react/renderer/components/rncore/States.h +0 -101
  1759. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +0 -22
  1760. package/flow/HermesInternalType.js +0 -114
  1761. package/flow/console.js +0 -49
  1762. package/flow/global.js +0 -88
  1763. package/jest/mockModal.js +0 -32
  1764. package/jest/mockScrollView.js +0 -35
  1765. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +0 -38
  1766. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  1767. package/src/types/bom.js.flow +0 -499
  1768. package/src/types/cssom.js.flow +0 -576
  1769. package/src/types/dom.js.flow +0 -6290
  1770. package/src/types/streams.js.flow +0 -141
  1771. package/types/tsconfig.test.json +0 -16
  1772. package/types/tslint.json +0 -24
@@ -0,0 +1,1471 @@
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> = reactInstance?.nativeModules ?: listOf()
518
+
519
+ internal fun <T : NativeModule> getNativeModule(nativeModuleInterface: Class<T>): T? {
520
+ if (!ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE &&
521
+ nativeModuleInterface == UIManagerModule::class.java) {
522
+ ReactSoftExceptionLogger.logSoftExceptionVerbose(
523
+ TAG,
524
+ ReactNoCrashBridgeNotAllowedSoftException(
525
+ "getNativeModule(UIManagerModule.class) cannot be called when the bridge is disabled"))
526
+ }
527
+
528
+ return reactInstance?.getNativeModule(nativeModuleInterface)
529
+ }
530
+
531
+ internal fun getNativeModule(nativeModuleName: String): NativeModule? =
532
+ reactInstance?.getNativeModule(nativeModuleName)
533
+
534
+ internal val runtimeExecutor: RuntimeExecutor?
535
+ get() {
536
+ reactInstance?.apply {
537
+ return getBufferedRuntimeExecutor()
538
+ }
539
+
540
+ raiseSoftException(
541
+ "getRuntimeExecutor()", "Tried to get runtime executor while instance is not ready")
542
+ return null
543
+ }
544
+
545
+ internal val jsCallInvokerHolder: CallInvokerHolder?
546
+ get() {
547
+ reactInstance?.apply {
548
+ return getJSCallInvokerHolder()
549
+ }
550
+
551
+ raiseSoftException(
552
+ "getJSCallInvokerHolder()",
553
+ "Tried to get JSCallInvokerHolder while instance is not ready")
554
+ return null
555
+ }
556
+
557
+ /**
558
+ * To be called when the host activity receives an activity result.
559
+ *
560
+ * @param activity The host activity
561
+ */
562
+ @ThreadConfined(ThreadConfined.UI)
563
+ override fun onActivityResult(
564
+ activity: Activity,
565
+ requestCode: Int,
566
+ resultCode: Int,
567
+ data: Intent?
568
+ ) {
569
+ val method =
570
+ "onActivityResult(activity = \"$activity\", requestCode = \"$requestCode\", resultCode = \"$resultCode\", data = \"$data\")"
571
+
572
+ val currentContext = currentReactContext
573
+ if (currentContext != null) {
574
+ currentContext.onActivityResult(activity, requestCode, resultCode, data)
575
+ } else {
576
+ raiseSoftException(method, "Tried to access onActivityResult while context is not ready")
577
+ }
578
+ }
579
+
580
+ /* To be called when focus has changed for the hosting window. */
581
+ @ThreadConfined(ThreadConfined.UI)
582
+ override fun onWindowFocusChange(hasFocus: Boolean) {
583
+ val currentContext = currentReactContext
584
+ if (currentContext != null) {
585
+ currentContext.onWindowFocusChange(hasFocus)
586
+ } else {
587
+ val method = "onWindowFocusChange(hasFocus = \"$hasFocus\")"
588
+ raiseSoftException(method, "Tried to access onWindowFocusChange while context is not ready")
589
+ }
590
+ }
591
+
592
+ /**
593
+ * This method will give JS the opportunity to receive intents via Linking.
594
+ *
595
+ * @param intent The incoming intent
596
+ */
597
+ @ThreadConfined(ThreadConfined.UI)
598
+ override fun onNewIntent(intent: Intent) {
599
+ val currentContext = currentReactContext
600
+ if (currentContext != null) {
601
+ val action = intent.action
602
+ val uri = intent.data
603
+
604
+ if (uri != null &&
605
+ (Intent.ACTION_VIEW == action || NfcAdapter.ACTION_NDEF_DISCOVERED == action)) {
606
+ val deviceEventManagerModule =
607
+ currentContext.getNativeModule(DeviceEventManagerModule::class.java)
608
+ deviceEventManagerModule?.emitNewIntentReceived(uri)
609
+ }
610
+ currentContext.onNewIntent(currentActivity, intent)
611
+ } else {
612
+ val method = "onNewIntent(intent = \"$intent\")"
613
+ raiseSoftException(method, "Tried to access onNewIntent while context is not ready")
614
+ }
615
+ }
616
+
617
+ @ThreadConfined(ThreadConfined.UI)
618
+ override fun onConfigurationChanged(context: Context) {
619
+ val currentReactContext = this.currentReactContext
620
+ if (currentReactContext != null) {
621
+ if (ReactNativeFeatureFlags.enableFontScaleChangesUpdatingLayout()) {
622
+ DisplayMetricsHolder.initDisplayMetrics(currentReactContext)
623
+ }
624
+
625
+ val appearanceModule = currentReactContext.getNativeModule(AppearanceModule::class.java)
626
+ appearanceModule?.onConfigurationChanged(context)
627
+ }
628
+ }
629
+
630
+ internal val javaScriptContextHolder: JavaScriptContextHolder?
631
+ get() = reactInstance?.javaScriptContextHolder
632
+
633
+ internal val defaultBackButtonHandler: DefaultHardwareBackBtnHandler
634
+ get() = DefaultHardwareBackBtnHandler {
635
+ UiThreadUtil.assertOnUiThread()
636
+ defaultHardwareBackBtnHandler?.invokeDefaultOnBackPressed()
637
+ }
638
+
639
+ internal fun loadBundle(bundleLoader: JSBundleLoader): Task<Boolean> {
640
+ val method = "loadBundle()"
641
+ log(method, "Schedule")
642
+
643
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
644
+ log(method, "Execute")
645
+ reactInstance.loadJSBundle(bundleLoader)
646
+ }
647
+ }
648
+
649
+ internal fun registerSegment(segmentId: Int, path: String, callback: Callback?): Task<Boolean> {
650
+ val method = "registerSegment(segmentId = \"$segmentId\", path = \"$path\")"
651
+ log(method, "Schedule")
652
+
653
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
654
+ log(method, "Execute")
655
+ reactInstance.registerSegment(segmentId, path)
656
+ checkNotNull(callback).invoke()
657
+ }
658
+ }
659
+
660
+ internal fun handleHostException(e: Exception): Unit {
661
+ val method = "handleHostException(message = \"${e.message}\")"
662
+ log(method)
663
+
664
+ if (useDevSupport) {
665
+ devSupportManager.handleException(e)
666
+ } else {
667
+ reactHostDelegate.handleInstanceException(e)
668
+ }
669
+ destroy(method, e)
670
+ }
671
+
672
+ /**
673
+ * Call a function on a JS module that has been registered as callable.
674
+ *
675
+ * @param moduleName The name of the JS module
676
+ * @param methodName The function to call
677
+ * @param args Arguments to be passed to the function
678
+ * @return A Task that will complete when the function call has been enqueued on the JS thread.
679
+ */
680
+ internal fun callFunctionOnModule(
681
+ moduleName: String,
682
+ methodName: String,
683
+ args: NativeArray
684
+ ): Task<Boolean> {
685
+ val method = "callFunctionOnModule(\"$moduleName\", \"$methodName\")"
686
+ return callWithExistingReactInstance(method) { reactInstance: ReactInstance ->
687
+ reactInstance.callFunctionOnModule(moduleName, methodName, args)
688
+ }
689
+ }
690
+
691
+ internal fun attachSurface(surface: ReactSurfaceImpl) {
692
+ log("attachSurface(surfaceId = ${surface.surfaceID})")
693
+ synchronized(attachedSurfaces) { attachedSurfaces.add(surface) }
694
+ }
695
+
696
+ internal fun detachSurface(surface: ReactSurfaceImpl) {
697
+ log("detachSurface(surfaceId = ${surface.surfaceID})")
698
+ synchronized(attachedSurfaces) { attachedSurfaces.remove(surface) }
699
+ }
700
+
701
+ internal fun isSurfaceAttached(surface: ReactSurfaceImpl): Boolean =
702
+ synchronized(attachedSurfaces) {
703
+ return attachedSurfaces.contains(surface)
704
+ }
705
+
706
+ internal fun isSurfaceWithModuleNameAttached(moduleName: String): Boolean =
707
+ synchronized(attachedSurfaces) {
708
+ return attachedSurfaces.any { surface -> surface.moduleName == moduleName }
709
+ }
710
+
711
+ override fun addBeforeDestroyListener(onBeforeDestroy: () -> Unit) {
712
+ beforeDestroyListeners.add(onBeforeDestroy)
713
+ }
714
+
715
+ override fun removeBeforeDestroyListener(onBeforeDestroy: () -> Unit) {
716
+ beforeDestroyListeners.remove(onBeforeDestroy)
717
+ }
718
+
719
+ @ThreadConfined("ReactHost") private var startTask: Task<Void>? = null
720
+
721
+ @ThreadConfined("ReactHost")
722
+ private fun getOrCreateStartTask(): Task<Void> {
723
+ startTask?.let {
724
+ return it
725
+ }
726
+
727
+ val method = "getOrCreateStartTask()"
728
+ log(method, "Schedule")
729
+ if (ReactBuildConfig.DEBUG) {
730
+ Assertions.assertCondition(
731
+ ReactNativeNewArchitectureFeatureFlags.enableBridgelessArchitecture(),
732
+ "enableBridgelessArchitecture FeatureFlag must be set to start ReactNative.")
733
+
734
+ Assertions.assertCondition(
735
+ ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer(),
736
+ "enableFabricRenderer FeatureFlag must be set to start ReactNative.")
737
+
738
+ Assertions.assertCondition(
739
+ ReactNativeNewArchitectureFeatureFlags.useTurboModules(),
740
+ "useTurboModules FeatureFlag must be set to start ReactNative.")
741
+ }
742
+ if (ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
743
+ Assertions.assertCondition(
744
+ !ReactNativeNewArchitectureFeatureFlags.useFabricInterop(),
745
+ "useFabricInterop FeatureFlag must be false when UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE == true.")
746
+ Assertions.assertCondition(
747
+ !ReactNativeNewArchitectureFeatureFlags.useTurboModuleInterop(),
748
+ "useTurboModuleInterop FeatureFlag must be false when UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE == true.")
749
+ }
750
+
751
+ return waitThenCallGetOrCreateReactInstanceTask()
752
+ .continueWithTask(
753
+ { task ->
754
+ if (task.isFaulted()) {
755
+ val ex = checkNotNull(task.getError())
756
+ if (useDevSupport) {
757
+ devSupportManager.handleException(ex)
758
+ } else {
759
+ reactHostDelegate.handleInstanceException(ex)
760
+ }
761
+ // Wait for destroy to finish
762
+ getOrCreateDestroyTask("getOrCreateStartTask() failure: ${ex.message}", ex)
763
+ .continueWithTask({ Task.forError(ex) })
764
+ } else {
765
+ task.makeVoid()
766
+ }
767
+ },
768
+ bgExecutor)
769
+ .also { startTask = it }
770
+ }
771
+
772
+ @ThreadConfined(ThreadConfined.UI)
773
+ private fun moveToHostDestroy(currentContext: ReactContext?) {
774
+ reactLifecycleStateManager.moveToOnHostDestroy(currentContext)
775
+ currentActivity = null
776
+ }
777
+
778
+ private fun raiseSoftException(
779
+ callingMethod: String,
780
+ message: String,
781
+ throwable: Throwable? = null
782
+ ) {
783
+ val method = "raiseSoftException($callingMethod)"
784
+ log(method, message)
785
+ ReactSoftExceptionLogger.logSoftException(
786
+ TAG, ReactNoCrashSoftException("$method: $message", throwable))
787
+ }
788
+
789
+ /** Schedule work on a ReactInstance that is already created. */
790
+ private fun callWithExistingReactInstance(
791
+ callingMethod: String,
792
+ executor: Executor = Task.IMMEDIATE_EXECUTOR,
793
+ runnable: (reactInstance: ReactInstance) -> Unit,
794
+ ): Task<Boolean> =
795
+ createReactInstanceTaskRef
796
+ .get()
797
+ .onSuccess(
798
+ { task ->
799
+ val reactInstance = task.getResult()
800
+ if (reactInstance == null) {
801
+ raiseSoftException(
802
+ "callWithExistingReactInstance($callingMethod)",
803
+ "Execute: reactInstance is null. Dropping work.")
804
+ false
805
+ } else {
806
+ runnable(reactInstance)
807
+ true
808
+ }
809
+ },
810
+ executor)
811
+
812
+ /** Create a ReactInstance if it doesn't exist already, and schedule work on it. */
813
+ private fun callAfterGetOrCreateReactInstance(
814
+ callingMethod: String,
815
+ executor: Executor = Task.IMMEDIATE_EXECUTOR,
816
+ runnable: (reactInstance: ReactInstance) -> Unit,
817
+ ): Task<Void> =
818
+ getOrCreateReactInstance()
819
+ .onSuccess<Void>(
820
+ { task ->
821
+ val reactInstance = task.getResult()
822
+ if (reactInstance == null) {
823
+ raiseSoftException(
824
+ "callAfterGetOrCreateReactInstance($callingMethod)",
825
+ "Execute: reactInstance is null. Dropping work.")
826
+ } else {
827
+ runnable(reactInstance)
828
+ }
829
+ null
830
+ },
831
+ executor)
832
+ .continueWith({ task: Task<Void> ->
833
+ // TODO: validate whether errors during startup go through here?
834
+ if (task.isFaulted()) {
835
+ handleHostException(checkNotNull(task.getError()))
836
+ }
837
+ null
838
+ })
839
+
840
+ private fun getOrCreateReactContext(): BridgelessReactContext {
841
+ val method = "getOrCreateReactContext()"
842
+ return bridgelessReactContextRef.getOrCreate {
843
+ log(method, "Creating BridgelessReactContext")
844
+ BridgelessReactContext(context, this)
845
+ }
846
+ }
847
+
848
+ /**
849
+ * Entrypoint to create the ReactInstance.
850
+ *
851
+ * If the ReactInstance is reloading, will return the reload task. If the ReactInstance is
852
+ * destroying, will wait until destroy is finished, before creating.
853
+ */
854
+ private fun getOrCreateReactInstance(): Task<ReactInstance> =
855
+ Task.call({ waitThenCallGetOrCreateReactInstanceTask() }, bgExecutor)
856
+
857
+ @ThreadConfined("ReactHost")
858
+ private fun waitThenCallGetOrCreateReactInstanceTask(): Task<ReactInstance> =
859
+ waitThenCallGetOrCreateReactInstanceTaskWithRetries(0, 4)
860
+
861
+ @ThreadConfined("ReactHost")
862
+ private fun waitThenCallGetOrCreateReactInstanceTaskWithRetries(
863
+ tryNum: Int,
864
+ maxTries: Int
865
+ ): Task<ReactInstance> {
866
+ val method = "waitThenCallGetOrCreateReactInstanceTaskWithRetries"
867
+ reloadTask?.let { task ->
868
+ log(method, "React Native is reloading. Return reload task.")
869
+ return task
870
+ }
871
+
872
+ destroyTask?.let { task ->
873
+ val shouldTryAgain = tryNum < maxTries
874
+ if (shouldTryAgain) {
875
+ log(
876
+ method,
877
+ "React Native is tearing down.Wait for teardown to finish, before trying again (try count = $tryNum).")
878
+ return task.onSuccessTask(
879
+ { waitThenCallGetOrCreateReactInstanceTaskWithRetries(tryNum + 1, maxTries) },
880
+ bgExecutor)
881
+ }
882
+
883
+ raiseSoftException(
884
+ method,
885
+ "React Native is tearing down. Not wait for teardown to finish: reached max retries.")
886
+ }
887
+
888
+ return getOrCreateReactInstanceTask()
889
+ }
890
+
891
+ private class CreationResult(
892
+ val instance: ReactInstance,
893
+ val context: ReactContext,
894
+ val isReloading: Boolean
895
+ )
896
+
897
+ @ThreadConfined("ReactHost")
898
+ private fun getOrCreateReactInstanceTask(): Task<ReactInstance> {
899
+ val method = "getOrCreateReactInstanceTask()"
900
+ log(method)
901
+
902
+ return createReactInstanceTaskRef.getOrCreate {
903
+ log(method, "Start")
904
+ Assertions.assertCondition(
905
+ !hostInvalidated, "Cannot start a new ReactInstance on an invalidated ReactHost")
906
+
907
+ ReactMarker.logMarker(
908
+ ReactMarkerConstants.REACT_BRIDGELESS_LOADING_START, BRIDGELESS_MARKER_INSTANCE_KEY)
909
+
910
+ val creationTask =
911
+ jsBundleLoader.onSuccess(
912
+ { task ->
913
+ val bundleLoader = checkNotNull(task.getResult())
914
+ val reactContext = getOrCreateReactContext()
915
+ reactContext.setJSExceptionHandler(devSupportManager)
916
+
917
+ log(method, "Creating ReactInstance")
918
+ val instance =
919
+ ReactInstance(
920
+ reactContext,
921
+ reactHostDelegate,
922
+ componentFactory,
923
+ devSupportManager,
924
+ { e: Exception -> this.handleHostException(e) },
925
+ useDevSupport,
926
+ getOrCreateReactHostInspectorTarget())
927
+ reactInstance = instance
928
+
929
+ val memoryPressureListener = createMemoryPressureListener(instance)
930
+ this.memoryPressureListener = memoryPressureListener
931
+ memoryPressureRouter.addMemoryPressureListener(memoryPressureListener)
932
+
933
+ // Eagerly initialize turbo modules in parallel with JS bundle execution
934
+ // as TurboModuleManager will handle any concurrent access
935
+ instance.initializeEagerTurboModules()
936
+
937
+ log(method, "Loading JS Bundle")
938
+ instance.loadJSBundle(bundleLoader)
939
+
940
+ log(method, "Calling DevSupportManagerBase.onNewReactContextCreated(reactContext)")
941
+ devSupportManager.onNewReactContextCreated(reactContext)
942
+
943
+ reactContext.runOnJSQueueThread {
944
+ // Executing on the JS thread to ensure that we're done
945
+ // loading the JS bundle.
946
+ // TODO T76081936 Move this if we switch to a sync RTE
947
+ ReactMarker.logMarker(
948
+ ReactMarkerConstants.REACT_BRIDGELESS_LOADING_END,
949
+ BRIDGELESS_MARKER_INSTANCE_KEY)
950
+ }
951
+ CreationResult(instance, reactContext, reloadTask != null)
952
+ },
953
+ bgExecutor)
954
+
955
+ val lifecycleUpdateTask = { task: Task<CreationResult> ->
956
+ val result = checkNotNull(task.getResult())
957
+ val reactInstance = result.instance
958
+ val reactContext = result.context
959
+ val isReloading = result.isReloading
960
+ val isManagerResumed = reactLifecycleStateManager.lifecycleState == LifecycleState.RESUMED
961
+
962
+ /**
963
+ * ReactContext.onHostResume() should only be called when the user navigates to the first
964
+ * React Native screen.
965
+ *
966
+ * During init: The application puts the React manager in a resumed state, when the user
967
+ * navigates to a React Native screen. Two types of init: (1) If React Native init happens
968
+ * when the user navigates to a React Native screen, the React manager will get resumed on
969
+ * init start, so ReactContext.onHostResume() will be executed here. (2) If React Native
970
+ * init happens before the user navigates to a React Native screen (i.e: React Native is
971
+ * preloaded), the React manager won't be in a resumed state here. So
972
+ * ReactContext.onHostResume() won't be executed here. But, when the user navigates to their
973
+ * first React Native screen, the application will call ReactHost.onHostResume(). That will
974
+ * call ReactContext.onHostResume().
975
+ *
976
+ * During reloads, if the manager isn't resumed, call ReactContext.onHostResume(). If React
977
+ * Native is reloading, it seems reasonable to assume that: (1) We must have navigated to a
978
+ * React Native screen in the past, or (2) We must be on a React Native screen.
979
+ */
980
+ if (isReloading && !isManagerResumed) {
981
+ reactLifecycleStateManager.moveToOnHostResume(reactContext, currentActivity)
982
+ } else {
983
+ /**
984
+ * Call ReactContext.onHostResume() only when already in the resumed state which aligns
985
+ * with the bridge https://fburl.com/diffusion/2qhxmudv.
986
+ */
987
+ reactLifecycleStateManager.resumeReactContextIfHostResumed(reactContext, currentActivity)
988
+ }
989
+
990
+ log(method, "Executing ReactInstanceEventListeners")
991
+ for (listener in reactInstanceEventListeners) {
992
+ listener.onReactContextInitialized(reactContext)
993
+ }
994
+ reactInstance
995
+ }
996
+
997
+ creationTask.onSuccess(lifecycleUpdateTask, uiExecutor)
998
+ creationTask.onSuccess({ task -> checkNotNull(task.getResult()).instance })
999
+ }
1000
+ }
1001
+
1002
+ private val jsBundleLoader: Task<JSBundleLoader>
1003
+ get() {
1004
+ val method = "getJSBundleLoader()"
1005
+ log(method)
1006
+
1007
+ if (useDevSupport && allowPackagerServerAccess) {
1008
+ return isMetroRunning.onSuccessTask(
1009
+ { task ->
1010
+ val isMetroRunning = checkNotNull(task.getResult())
1011
+ if (isMetroRunning) {
1012
+ // Since metro is running, fetcxception(method, "ReactContext is null. Reload
1013
+ // reason: $h the JS bundle from the server
1014
+ loadJSBundleFromMetro()
1015
+ } else {
1016
+ Task.forResult(reactHostDelegate.jsBundleLoader)
1017
+ }
1018
+ },
1019
+ bgExecutor)
1020
+ } else {
1021
+ if (ReactBuildConfig.DEBUG) {
1022
+ FLog.d(TAG, "Packager server access is disabled in this environment")
1023
+ }
1024
+
1025
+ /**
1026
+ * In prod mode: fall back to the JS bundle loader from the delegate.
1027
+ *
1028
+ * Note: Create the prod JSBundleLoader inside a Task.call. Why: If JSBundleLoader creation
1029
+ * throws an exception, the task will fault, and we'll go through the ReactHost error
1030
+ * reporting pipeline.
1031
+ */
1032
+ return try {
1033
+ Task.forResult(reactHostDelegate.jsBundleLoader)
1034
+ } catch (e: Exception) {
1035
+ Task.forError(e)
1036
+ }
1037
+ }
1038
+ }
1039
+
1040
+ private val isMetroRunning: Task<Boolean>
1041
+ get() {
1042
+ val method = "isMetroRunning()"
1043
+ log(method)
1044
+
1045
+ val taskCompletionSource = TaskCompletionSource<Boolean>()
1046
+ val asyncDevSupportManager = devSupportManager
1047
+
1048
+ asyncDevSupportManager.isPackagerRunning { packagerIsRunning: Boolean ->
1049
+ log(method, "Async result = $packagerIsRunning")
1050
+ taskCompletionSource.setResult(packagerIsRunning)
1051
+ }
1052
+
1053
+ return taskCompletionSource.task
1054
+ }
1055
+
1056
+ private fun loadJSBundleFromMetro(): Task<JSBundleLoader> {
1057
+ val method = "loadJSBundleFromMetro()"
1058
+ log(method)
1059
+
1060
+ val taskCompletionSource = TaskCompletionSource<JSBundleLoader>()
1061
+ val asyncDevSupportManager = devSupportManager as DevSupportManagerBase
1062
+ val bundleURL =
1063
+ asyncDevSupportManager.devServerHelper.getDevServerBundleURL(
1064
+ checkNotNull(asyncDevSupportManager.jsAppBundleName))
1065
+
1066
+ asyncDevSupportManager.reloadJSFromServer(
1067
+ bundleURL,
1068
+ object : BundleLoadCallback {
1069
+ override fun onSuccess() {
1070
+ log(method, "Creating BundleLoader")
1071
+ val bundleLoader =
1072
+ JSBundleLoader.createCachedBundleFromNetworkLoader(
1073
+ bundleURL, asyncDevSupportManager.downloadedJSBundleFile)
1074
+ taskCompletionSource.setResult(bundleLoader)
1075
+ }
1076
+
1077
+ override fun onError(cause: Exception) {
1078
+ taskCompletionSource.setError(cause)
1079
+ }
1080
+ })
1081
+
1082
+ return taskCompletionSource.task
1083
+ }
1084
+
1085
+ private fun log(method: String, message: String) {
1086
+ bridgelessReactStateTracker.enterState("ReactHost{$id}.$method: $message")
1087
+ }
1088
+
1089
+ private fun log(method: String) {
1090
+ bridgelessReactStateTracker.enterState("ReactHost{$id}.$method")
1091
+ }
1092
+
1093
+ private fun stopAttachedSurfaces(method: String, reactInstance: ReactInstance) {
1094
+ log(method, "Stopping all React Native surfaces")
1095
+ synchronized(attachedSurfaces) {
1096
+ for (surface in attachedSurfaces) {
1097
+ reactInstance.stopSurface(surface)
1098
+ surface.clear()
1099
+ }
1100
+ }
1101
+ }
1102
+
1103
+ private fun startAttachedSurfaces(method: String, reactInstance: ReactInstance) {
1104
+ log(method, "Restarting previously running React Native Surfaces")
1105
+ synchronized(attachedSurfaces) {
1106
+ for (surface in attachedSurfaces) {
1107
+ reactInstance.startSurface(surface)
1108
+ }
1109
+ }
1110
+ }
1111
+
1112
+ @ThreadConfined("ReactHost") private var reloadTask: Task<ReactInstance>? = null
1113
+
1114
+ private fun createReactInstanceUnwrapper(
1115
+ tag: String,
1116
+ method: String,
1117
+ reason: String
1118
+ ): (task: Task<ReactInstance>, stage: String) -> ReactInstance? =
1119
+ unwrap@{ task: Task<ReactInstance>, stage: String ->
1120
+ val reactInstance = task.getResult()
1121
+ val currentReactInstance = this.reactInstance
1122
+
1123
+ val stageLabel = "Stage: $stage"
1124
+ val reasonLabel = "$tag reason: $reason"
1125
+ if (task.isFaulted()) {
1126
+ val ex = checkNotNull(task.getError())
1127
+ val faultLabel = "Fault reason: ${ex.message}"
1128
+ raiseSoftException(
1129
+ method, "$tag: ReactInstance task faulted. $stageLabel. $faultLabel. $reasonLabel")
1130
+ return@unwrap currentReactInstance
1131
+ }
1132
+
1133
+ if (task.isCancelled()) {
1134
+ raiseSoftException(
1135
+ method, "$tag: ReactInstance task cancelled. $stageLabel. $reasonLabel")
1136
+ return@unwrap currentReactInstance
1137
+ }
1138
+
1139
+ if (reactInstance == null) {
1140
+ raiseSoftException(
1141
+ method, "$tag: ReactInstance task returned null. $stageLabel. $reasonLabel")
1142
+ return@unwrap currentReactInstance
1143
+ }
1144
+
1145
+ if (currentReactInstance != null && reactInstance != currentReactInstance) {
1146
+ raiseSoftException(
1147
+ method,
1148
+ ("$tag: Detected two different ReactInstances. Returning old. $stageLabel. $reasonLabel"))
1149
+ }
1150
+ reactInstance
1151
+ }
1152
+
1153
+ /**
1154
+ * The ReactInstance is loaded. Tear it down, and re-create it.
1155
+ *
1156
+ * If the ReactInstance is in an "invalid state", make a "best effort" attempt to clean up React.
1157
+ * "invalid state" means: ReactInstance task is faulted; ReactInstance is null; React instance
1158
+ * task is cancelled; BridgelessReactContext is null. This can typically happen if the
1159
+ * ReactInstance task work throws an exception.
1160
+ */
1161
+ @ThreadConfined("ReactHost")
1162
+ private fun getOrCreateReloadTask(reason: String): Task<ReactInstance> {
1163
+ val method = "getOrCreateReloadTask()"
1164
+ log(method)
1165
+
1166
+ // Log how React Native is destroyed
1167
+ // TODO(T136397487): Remove after Venice is shipped to 100%
1168
+ raiseSoftException(method, reason)
1169
+
1170
+ reloadTask?.let {
1171
+ return it
1172
+ }
1173
+
1174
+ val taskUnwrapper = createReactInstanceUnwrapper("Reload", method, reason)
1175
+
1176
+ // When using the immediate executor, we want to avoid scheduling any further work immediately
1177
+ // when destruction is kicked off.
1178
+ log(method, "Resetting createReactInstance task ref")
1179
+ return createReactInstanceTaskRef.andReset
1180
+ .continueWithTask(
1181
+ { task ->
1182
+ log(method, "Starting React Native reload")
1183
+ val reactInstance = taskUnwrapper(task, "1: Starting reload")
1184
+
1185
+ unregisterInstanceFromInspector(reactInstance)
1186
+
1187
+ val reactContext = bridgelessReactContextRef.value
1188
+ if (reactContext == null) {
1189
+ raiseSoftException(method, "ReactContext is null. Reload reason: $reason")
1190
+ }
1191
+
1192
+ if (reactContext != null &&
1193
+ reactLifecycleStateManager.lifecycleState == LifecycleState.RESUMED) {
1194
+ log(method, "Calling ReactContext.onHostPause()")
1195
+ reactContext.onHostPause()
1196
+ }
1197
+ Task.forResult(reactInstance)
1198
+ },
1199
+ uiExecutor)
1200
+ .continueWithTask(
1201
+ { task: Task<ReactInstance> ->
1202
+ val reactInstance = taskUnwrapper(task, "2: Surface shutdown")
1203
+ if (reactInstance == null) {
1204
+ raiseSoftException(method, "Skipping surface shutdown: ReactInstance null")
1205
+ } else {
1206
+ stopAttachedSurfaces(method, reactInstance)
1207
+ }
1208
+ task
1209
+ },
1210
+ bgExecutor)
1211
+ .continueWithTask(
1212
+ { task: Task<ReactInstance> ->
1213
+ taskUnwrapper(task, "3: Destroying ReactContext")
1214
+ for (destroyListener in beforeDestroyListeners) {
1215
+ destroyListener.invoke()
1216
+ }
1217
+
1218
+ memoryPressureListener?.let { listener ->
1219
+ log(method, "Removing memory pressure listener")
1220
+ memoryPressureRouter.removeMemoryPressureListener(listener)
1221
+ }
1222
+
1223
+ val reactContext = bridgelessReactContextRef.value
1224
+ if (reactContext != null) {
1225
+ log(method, "Resetting ReactContext ref")
1226
+ bridgelessReactContextRef.reset()
1227
+
1228
+ log(method, "Destroying ReactContext")
1229
+ reactContext.destroy()
1230
+ }
1231
+
1232
+ if (useDevSupport && reactContext != null) {
1233
+ log(method, "Calling DevSupportManager.onReactInstanceDestroyed(reactContext)")
1234
+ devSupportManager.onReactInstanceDestroyed(reactContext)
1235
+ }
1236
+ task
1237
+ },
1238
+ uiExecutor)
1239
+ .continueWithTask(
1240
+ { task: Task<ReactInstance> ->
1241
+ val reactInstance = taskUnwrapper(task, "4: Destroying ReactInstance")
1242
+ if (reactInstance == null) {
1243
+ raiseSoftException(method, "Skipping ReactInstance.destroy(): ReactInstance null")
1244
+ } else {
1245
+ log(method, "Resetting ReactInstance ptr")
1246
+ this.reactInstance = null
1247
+
1248
+ log(method, "Destroying ReactInstance")
1249
+ reactInstance.destroy()
1250
+ }
1251
+
1252
+ log(method, "Resetting start task ref")
1253
+ startTask = null
1254
+
1255
+ // Kickstart a new ReactInstance create
1256
+ getOrCreateReactInstanceTask()
1257
+ },
1258
+ bgExecutor)
1259
+ .continueWithTask(
1260
+ { task: Task<ReactInstance> ->
1261
+ val reactInstance = taskUnwrapper(task, "5: Restarting surfaces")
1262
+ if (reactInstance == null) {
1263
+ raiseSoftException(method, "Skipping surface restart: ReactInstance null")
1264
+ } else {
1265
+ startAttachedSurfaces(method, reactInstance)
1266
+ }
1267
+ task
1268
+ },
1269
+ bgExecutor)
1270
+ .continueWithTask(
1271
+ { task: Task<ReactInstance> ->
1272
+ if (task.isFaulted()) {
1273
+ val fault = checkNotNull(task.getError())
1274
+ raiseSoftException(
1275
+ method,
1276
+ ("Error during reload. ReactInstance task faulted. Fault reason: ${fault.message}. Reload reason: $reason"),
1277
+ task.getError())
1278
+ }
1279
+ if (task.isCancelled()) {
1280
+ raiseSoftException(
1281
+ method,
1282
+ "Error during reload. ReactInstance task cancelled. Reload reason: $reason")
1283
+ }
1284
+
1285
+ log(method, "Resetting reload task ref")
1286
+ reloadTask = null
1287
+ task
1288
+ },
1289
+ bgExecutor)
1290
+ .also { reloadTask = it }
1291
+ }
1292
+
1293
+ @ThreadConfined("ReactHost") private var destroyTask: Task<Void>? = null
1294
+
1295
+ /**
1296
+ * The ReactInstance is loaded. Tear it down.
1297
+ *
1298
+ * If the ReactInstance is in an "invalid state", make a "best effort" attempt to clean up React.
1299
+ * "invalid state" means: ReactInstance task is faulted; ReactInstance is null; React instance
1300
+ * task is cancelled; BridgelessReactContext is null. This can typically happen if the *
1301
+ * ReactInstance task work throws an exception.
1302
+ */
1303
+ @ThreadConfined("ReactHost")
1304
+ private fun getOrCreateDestroyTask(reason: String, ex: Exception?): Task<Void> {
1305
+ val method = "getOrCreateDestroyTask()"
1306
+ log(method)
1307
+
1308
+ // Log how React Native is destroyed
1309
+ // TODO(T136397487): Remove after Venice is shipped to 100%
1310
+ raiseSoftException(method, reason, ex)
1311
+
1312
+ destroyTask?.let {
1313
+ return it
1314
+ }
1315
+
1316
+ val taskUnwrapper = createReactInstanceUnwrapper("Destroy", method, reason)
1317
+
1318
+ // When using the immediate executor, we want to avoid scheduling any further work immediately
1319
+ // when destruction is kicked off.
1320
+ log(method, "Resetting createReactInstance task ref")
1321
+ return createReactInstanceTaskRef.andReset
1322
+ .continueWithTask(
1323
+ { task: Task<ReactInstance> ->
1324
+ log(method, "Starting React Native destruction")
1325
+ val reactInstance = taskUnwrapper(task, "1: Starting destroy")
1326
+
1327
+ unregisterInstanceFromInspector(reactInstance)
1328
+
1329
+ if (hostInvalidated) {
1330
+ // If the host has been invalidated, now that the current context/instance
1331
+ // has been unregistered, we can safely destroy the host's inspector
1332
+ // target.
1333
+ reactHostInspectorTarget?.close()
1334
+ reactHostInspectorTarget = null
1335
+ }
1336
+
1337
+ // Step 1: Destroy DevSupportManager
1338
+ if (useDevSupport) {
1339
+ log(method, "DevSupportManager cleanup")
1340
+ // TODO(T137233065): Disable DevSupportManager here
1341
+ devSupportManager.stopInspector()
1342
+ }
1343
+
1344
+ val reactContext = bridgelessReactContextRef.value
1345
+ if (reactContext == null) {
1346
+ raiseSoftException(method, "ReactContext is null. Destroy reason: $reason")
1347
+ }
1348
+
1349
+ // Step 2: Move React Native to onHostDestroy()
1350
+ log(method, "Move ReactHost to onHostDestroy()")
1351
+ reactLifecycleStateManager.moveToOnHostDestroy(reactContext)
1352
+ Task.forResult<ReactInstance>(reactInstance)
1353
+ },
1354
+ uiExecutor)
1355
+ .continueWithTask(
1356
+ { task: Task<ReactInstance> ->
1357
+ val reactInstance = taskUnwrapper(task, "2: Stopping surfaces")
1358
+ if (reactInstance == null) {
1359
+ raiseSoftException(method, "Skipping surface shutdown: ReactInstance null")
1360
+ } else {
1361
+ // Step 3: Stop all React Native surfaces
1362
+ stopAttachedSurfaces(method, reactInstance)
1363
+ synchronized(attachedSurfaces) { attachedSurfaces.clear() }
1364
+ }
1365
+ task
1366
+ },
1367
+ bgExecutor)
1368
+ .continueWithTask(
1369
+ { task: Task<ReactInstance> ->
1370
+ taskUnwrapper(task, "3: Destroying ReactContext")
1371
+ for (destroyListener in beforeDestroyListeners) {
1372
+ destroyListener.invoke()
1373
+ }
1374
+
1375
+ val reactContext = bridgelessReactContextRef.value
1376
+ if (reactContext == null) {
1377
+ raiseSoftException(method, "ReactContext is null. Destroy reason: $reason")
1378
+ }
1379
+
1380
+ // Step 4: De-register the memory pressure listener
1381
+ log(method, "Destroying MemoryPressureRouter")
1382
+ memoryPressureRouter.destroy(context)
1383
+
1384
+ if (reactContext != null) {
1385
+ log(method, "Resetting ReactContext ref")
1386
+ bridgelessReactContextRef.reset()
1387
+
1388
+ log(method, "Destroying ReactContext")
1389
+ reactContext.destroy()
1390
+ }
1391
+
1392
+ // Reset current activity
1393
+ currentActivity = null
1394
+
1395
+ // Clear ResourceIdleDrawableIdMap
1396
+ ResourceDrawableIdHelper.clear()
1397
+ task
1398
+ },
1399
+ uiExecutor)
1400
+ .continueWithTask(
1401
+ { task: Task<ReactInstance> ->
1402
+ val reactInstance = taskUnwrapper(task, "4: Destroying ReactInstance")
1403
+ if (reactInstance == null) {
1404
+ raiseSoftException(method, "Skipping ReactInstance.destroy(): ReactInstance null")
1405
+ } else {
1406
+ log(method, "Resetting ReactInstance ptr")
1407
+ this.reactInstance = null
1408
+
1409
+ log(method, "Destroying ReactInstance")
1410
+ reactInstance.destroy()
1411
+ }
1412
+
1413
+ log(method, "Resetting start task ref")
1414
+ startTask = null
1415
+
1416
+ log(method, "Resetting destroy task ref")
1417
+ destroyTask = null
1418
+ task
1419
+ },
1420
+ bgExecutor)
1421
+ .continueWith<Void>({ task: Task<ReactInstance> ->
1422
+ if (task.isFaulted()) {
1423
+ val fault = checkNotNull(task.getError())
1424
+ raiseSoftException(
1425
+ method,
1426
+ ("React destruction failed. ReactInstance task faulted. Fault reason: ${fault.message}. Destroy reason: $reason"),
1427
+ task.getError())
1428
+ }
1429
+ if (task.isCancelled()) {
1430
+ raiseSoftException(
1431
+ method,
1432
+ "React destruction failed. ReactInstance task cancelled. Destroy reason: $reason")
1433
+ }
1434
+ null
1435
+ })
1436
+ .also { destroyTask = it }
1437
+ }
1438
+
1439
+ internal fun getOrCreateReactHostInspectorTarget(): ReactHostInspectorTarget? {
1440
+ if (reactHostInspectorTarget == null && InspectorFlags.getFuseboxEnabled()) {
1441
+ // NOTE: ReactHostInspectorTarget only retains a weak reference to `this`.
1442
+ reactHostInspectorTarget = ReactHostInspectorTarget(this)
1443
+ }
1444
+
1445
+ return reactHostInspectorTarget
1446
+ }
1447
+
1448
+ @ThreadConfined(ThreadConfined.UI)
1449
+ internal fun unregisterInstanceFromInspector(reactInstance: ReactInstance?): Unit {
1450
+ if (reactInstance != null) {
1451
+ if (InspectorFlags.getFuseboxEnabled()) {
1452
+ Assertions.assertCondition(
1453
+ reactHostInspectorTarget?.isValid() == true,
1454
+ "Host inspector target destroyed before instance was unregistered")
1455
+ }
1456
+ reactInstance.unregisterFromInspector()
1457
+ }
1458
+ }
1459
+
1460
+ override fun invalidate() {
1461
+ FLog.d(TAG, "ReactHostImpl.invalidate()")
1462
+ hostInvalidated = true
1463
+ destroy("ReactHostImpl.invalidate()", null)
1464
+ }
1465
+
1466
+ private companion object {
1467
+ private const val TAG = "ReactHost"
1468
+ private const val BRIDGELESS_MARKER_INSTANCE_KEY = 1
1469
+ private val counter = AtomicInteger(0)
1470
+ }
1471
+ }