@depup/react-native 0.86.2-depup.0 → 0.87.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1284) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +19 -24
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.js +38 -1
  4. package/Libraries/Animated/AnimatedExports.js +22 -0
  5. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  6. package/Libraries/Animated/AnimatedImplementation.js +120 -3
  7. package/Libraries/Animated/Easing.js +4 -3
  8. package/Libraries/Animated/NativeAnimatedAllowlist.js +37 -0
  9. package/Libraries/Animated/animations/Animation.js +14 -5
  10. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  11. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  12. package/Libraries/Animated/animations/TimingAnimation.js +9 -0
  13. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  14. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  15. package/Libraries/Animated/nodes/AnimatedColor.js +8 -8
  16. package/Libraries/Animated/nodes/AnimatedInterpolation.js +106 -0
  17. package/Libraries/Animated/nodes/AnimatedProps.js +27 -3
  18. package/Libraries/Animated/nodes/AnimatedValue.js +8 -0
  19. package/Libraries/Animated/nodes/AnimatedValueXY.js +2 -2
  20. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -9
  21. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -20
  22. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -78
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +18 -21
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.h +5 -41
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +0 -82
  27. package/Libraries/AppDelegate/RCTRootViewFactory.h +4 -1
  28. package/Libraries/AppDelegate/RCTRootViewFactory.mm +3 -101
  29. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -1
  30. package/Libraries/AppState/AppState.d.ts +4 -1
  31. package/Libraries/AppState/AppState.js +32 -17
  32. package/Libraries/BatchedBridge/MessageQueue.js +42 -51
  33. package/Libraries/BatchedBridge/NativeModules.js +7 -0
  34. package/Libraries/Blob/Blob.js +7 -1
  35. package/Libraries/Blob/FileReader.js +6 -0
  36. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  37. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  38. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +20 -9
  39. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -43
  40. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +59 -49
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  42. package/Libraries/Components/Button.js +98 -183
  43. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  44. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +8 -69
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  47. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +26 -31
  49. package/Libraries/Components/Keyboard/Keyboard.js +23 -60
  50. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +15 -7
  51. package/Libraries/Components/Pressable/Pressable.js +39 -17
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +4 -4
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +17 -0
  56. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  57. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  58. package/Libraries/Components/RefreshControl/RefreshControl.js +40 -50
  59. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  60. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  61. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  62. package/Libraries/Components/ScrollView/ScrollView.d.ts +55 -43
  63. package/Libraries/Components/ScrollView/ScrollView.js +205 -118
  64. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  65. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  66. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  67. package/Libraries/Components/StatusBar/StatusBar.js +84 -160
  68. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  69. package/Libraries/Components/Switch/Switch.js +76 -75
  70. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  71. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  72. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  73. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  74. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  75. package/Libraries/Components/TextInput/TextInput.flow.js +20 -3
  76. package/Libraries/Components/TextInput/TextInput.js +116 -111
  77. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  78. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  79. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  80. package/Libraries/Components/Touchable/Touchable.js +94 -95
  81. package/Libraries/Components/Touchable/TouchableHighlight.js +45 -112
  82. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  83. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  84. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  85. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  86. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  87. package/Libraries/Components/View/View.js +83 -86
  88. package/Libraries/Components/View/ViewAccessibility.d.ts +12 -2
  89. package/Libraries/Components/View/ViewAccessibility.js +17 -6
  90. package/Libraries/Components/View/ViewNativeComponent.js +4 -6
  91. package/Libraries/Components/View/ViewPropTypes.js +65 -13
  92. package/Libraries/Core/InitializeCore.js +9 -1
  93. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  94. package/Libraries/Core/ReactNativeVersion.js +2 -2
  95. package/Libraries/Core/Timers/JSTimers.js +53 -52
  96. package/Libraries/Core/setUpGlobals.js +9 -4
  97. package/Libraries/Core/setUpNavigator.js +7 -2
  98. package/Libraries/Core/setUpReactDevTools.js +0 -118
  99. package/Libraries/Core/setUpXHR.js +6 -2
  100. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  101. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  102. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  103. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  104. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  105. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  106. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  107. package/Libraries/Image/AssetSourceResolver.js +18 -27
  108. package/Libraries/Image/Image.android.js +13 -2
  109. package/Libraries/Image/Image.ios.js +3 -1
  110. package/Libraries/Image/ImageBackground.js +30 -18
  111. package/Libraries/Image/ImageProps.js +116 -117
  112. package/Libraries/Image/ImageSource.d.ts +1 -1
  113. package/Libraries/Image/ImageSource.js +9 -9
  114. package/Libraries/Image/ImageSourceUtils.js +10 -7
  115. package/Libraries/Image/ImageTypes.flow.js +2 -0
  116. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  117. package/Libraries/Image/RCTImageLoader.mm +61 -64
  118. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  119. package/Libraries/Image/React-RCTImage.podspec +1 -1
  120. package/Libraries/Image/RelativeImageStub.js +1 -1
  121. package/Libraries/Image/resolveAssetSource.js +1 -1
  122. package/Libraries/Interaction/PanResponder.js +102 -97
  123. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  124. package/Libraries/Linking/Linking.js +24 -23
  125. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  126. package/Libraries/Lists/FlatList.d.ts +6 -17
  127. package/Libraries/Lists/FlatList.js +7 -8
  128. package/Libraries/Lists/SectionList.js +7 -0
  129. package/Libraries/Lists/VirtualizedList.js +3 -0
  130. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  131. package/Libraries/LogBox/LogBox.js +3 -3
  132. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  134. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  135. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  136. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  137. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  138. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  139. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  140. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  141. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  142. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  143. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  144. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  145. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  146. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  147. package/Libraries/Modal/Modal.d.ts +5 -4
  148. package/Libraries/Modal/Modal.js +71 -37
  149. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  150. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  151. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  152. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  153. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  154. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  155. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  156. package/Libraries/Performance/Systrace.js +36 -0
  157. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  158. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  159. package/Libraries/Pressability/Pressability.js +1 -1
  160. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  161. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  162. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  163. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  164. package/Libraries/ReactNative/AppRegistry.js +15 -11
  165. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  166. package/Libraries/ReactNative/DisplayMode.js +1 -1
  167. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  168. package/Libraries/ReactNative/I18nManager.js +20 -0
  169. package/Libraries/ReactNative/UIManager.js +53 -0
  170. package/Libraries/ReactNative/renderApplication.js +1 -1
  171. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  172. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  173. package/Libraries/Renderer/README.md +2 -2
  174. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  175. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  176. package/Libraries/Required/RCTRequired.podspec +1 -1
  177. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  178. package/Libraries/Settings/Settings.ios.js +22 -0
  179. package/Libraries/Share/Share.js +25 -28
  180. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  181. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  182. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  183. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  184. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  185. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  186. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  187. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  188. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  189. package/Libraries/Text/React-RCTText.podspec +1 -1
  190. package/Libraries/Text/Text.js +12 -9
  191. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  192. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  193. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  194. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  195. package/Libraries/Text/TextProps.js +59 -93
  196. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  197. package/Libraries/TurboModule/RCTExport.js +1 -1
  198. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  199. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  200. package/Libraries/Types/CoreEventTypes.js +32 -29
  201. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  202. package/Libraries/Utilities/Appearance.d.ts +32 -17
  203. package/Libraries/Utilities/Appearance.js +35 -18
  204. package/Libraries/Utilities/BackHandler.android.js +13 -28
  205. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  206. package/Libraries/Utilities/DevSettings.js +8 -1
  207. package/Libraries/Utilities/Dimensions.js +18 -12
  208. package/Libraries/Utilities/PixelRatio.js +5 -2
  209. package/Libraries/Utilities/Platform.js.flow +4 -0
  210. package/Libraries/Utilities/PlatformTypes.js +77 -0
  211. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  212. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  213. package/Libraries/Utilities/useColorScheme.js +11 -1
  214. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  215. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  216. package/Libraries/Vibration/Vibration.js +14 -11
  217. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  218. package/README.md +6 -8
  219. package/React/Base/RCTBridge+Private.h +0 -22
  220. package/React/Base/RCTBridge.h +10 -8
  221. package/React/Base/RCTBridge.mm +5 -447
  222. package/React/Base/RCTBridgeDelegate.h +1 -56
  223. package/React/Base/RCTBridgeModule.h +0 -9
  224. package/React/Base/RCTBridgeProxy.h +8 -0
  225. package/React/Base/RCTBridgeProxy.mm +3 -20
  226. package/React/Base/RCTBundleManager.h +0 -3
  227. package/React/Base/RCTBundleManager.m +0 -31
  228. package/React/Base/RCTBundleURLProvider.mm +4 -4
  229. package/React/Base/RCTCallableJSModules.m +0 -18
  230. package/React/Base/RCTConstants.h +1 -0
  231. package/React/Base/RCTConstants.m +1 -0
  232. package/React/Base/RCTConvert.mm +3 -0
  233. package/React/Base/RCTDisplayLink.h +3 -1
  234. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  235. package/React/Base/RCTModuleData.mm +2 -483
  236. package/React/Base/RCTModuleRegistry.m +0 -25
  237. package/React/Base/RCTRootView.m +3 -374
  238. package/React/Base/RCTUtils.h +0 -3
  239. package/React/Base/RCTUtils.mm +17 -27
  240. package/React/Base/RCTVersion.m +2 -2
  241. package/React/Base/RCTViewRegistry.m +1 -29
  242. package/React/Base/Surface/RCTSurface.mm +1 -582
  243. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  244. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  245. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  246. package/React/CoreModules/RCTAlertController.mm +1 -0
  247. package/React/CoreModules/RCTAlertManager.mm +0 -5
  248. package/React/CoreModules/RCTLogBox.mm +0 -11
  249. package/React/CoreModules/RCTLogBoxView.h +0 -3
  250. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  251. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  252. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  253. package/React/CoreModules/React-CoreModules.podspec +1 -1
  254. package/React/CxxModule/RCTCxxUtils.h +0 -8
  255. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  256. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  257. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  258. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  259. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  260. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  261. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  262. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  263. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  264. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  265. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  266. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  267. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  268. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  269. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  270. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  271. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  272. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  273. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  274. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  275. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +13 -4
  276. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  277. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  278. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  279. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -5
  280. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  281. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  282. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  283. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  284. package/React/I18n/RCTLocalizedString.mm +38 -2
  285. package/React/Modules/RCTEventEmitter.m +30 -10
  286. package/React/Modules/RCTI18nUtil.m +3 -1
  287. package/React/Modules/RCTUIManager.mm +0 -1501
  288. package/React/React-RCTFBReactNativeSpec.podspec +2 -2
  289. package/React/React-RCTFabric.podspec +1 -1
  290. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  291. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  292. package/React/Views/RCTModalHostViewController.h +0 -15
  293. package/React/Views/RCTModalHostViewManager.h +0 -24
  294. package/React/Views/RCTShadowView.h +0 -2
  295. package/React/Views/RCTShadowView.m +0 -723
  296. package/React/Views/ScrollView/RCTScrollView.h +0 -81
  297. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  298. package/React-Core-prebuilt.podspec +45 -17
  299. package/React-Core.podspec +10 -3
  300. package/React.podspec +1 -1
  301. package/ReactAndroid/api/ReactAndroid.api +128 -142
  302. package/ReactAndroid/build.gradle.kts +27 -22
  303. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  304. package/ReactAndroid/gradle.properties +1 -1
  305. package/ReactAndroid/hermes-engine/build.gradle.kts +14 -14
  306. package/ReactAndroid/publish.gradle +5 -5
  307. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  308. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  310. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  311. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  312. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -3
  313. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  315. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  321. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  324. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  326. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  327. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  328. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  329. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  330. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  331. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  332. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  334. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  335. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  336. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  338. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  339. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  340. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +160 -187
  341. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  342. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  343. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  344. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  345. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  346. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  347. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  349. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  350. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  351. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  352. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  354. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  358. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  359. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  360. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  361. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  362. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  364. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  365. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +2 -6
  366. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +47 -10
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1640 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +6 -6
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1317 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +8 -8
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1309 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +7 -7
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +92 -2
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +83 -11
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +6 -2
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +3 -17
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +8 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  441. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  442. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  443. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  444. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  445. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  446. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  447. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  448. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  449. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  450. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  451. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  452. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  453. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  454. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  455. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  456. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  457. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  458. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  459. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  460. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  461. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  462. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  463. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  464. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  465. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  466. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  467. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  468. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  469. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  470. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  471. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  472. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  473. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  474. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  475. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  476. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  477. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  478. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  479. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  480. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  481. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  482. package/ReactCommon/React-Fabric.podspec +3 -1
  483. package/ReactCommon/React-FabricComponents.podspec +1 -1
  484. package/ReactCommon/React-FabricImage.podspec +1 -1
  485. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  486. package/ReactCommon/ReactCommon.podspec +3 -13
  487. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  488. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  489. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  490. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  491. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  492. package/ReactCommon/cxxreact/Instance.h +0 -2
  493. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  494. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  495. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  496. package/ReactCommon/cxxreact/React-cxxreact.podspec +3 -2
  497. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  498. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  499. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  500. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  501. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  502. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  503. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  504. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  505. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  506. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  507. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  508. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +3 -4
  509. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  510. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  511. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -2
  512. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  513. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  514. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  515. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  516. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  517. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  518. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  519. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  520. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  521. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  522. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  523. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  524. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  525. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  526. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  527. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  528. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  529. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  530. package/ReactCommon/logger/React-logger.podspec +1 -1
  531. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  532. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  533. package/ReactCommon/react/bridging/Bridging.h +1 -0
  534. package/ReactCommon/react/bridging/Convert.h +12 -0
  535. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  536. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  537. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  538. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  539. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  540. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  541. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  542. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  543. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  544. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  545. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  546. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  547. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  548. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  549. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  550. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  551. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  552. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  553. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  554. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  555. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  556. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  557. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  558. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  559. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  560. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +2 -2
  561. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +2 -2
  562. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  563. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +5 -1
  564. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +61 -4
  565. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  566. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  567. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  568. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  569. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  570. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  571. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -1
  572. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  573. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  574. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  575. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +2 -1
  576. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +2 -1
  577. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  578. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  579. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +2 -1
  580. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  581. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  582. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  583. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +2 -1
  584. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  585. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  586. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  587. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  588. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  589. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  590. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  591. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  592. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  593. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  594. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  595. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  596. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  597. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  598. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  599. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  600. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  601. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  602. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  603. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  604. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  605. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  606. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  607. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  608. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  609. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  610. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  611. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  612. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  613. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  614. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  615. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  616. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  617. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  618. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  619. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  622. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  623. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  624. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  625. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +235 -352
  626. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +30 -46
  627. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  628. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  629. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  630. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  631. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  632. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  633. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  634. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  635. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  636. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  637. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  638. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  639. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  640. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +248 -312
  641. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  642. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  643. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  644. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  645. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  646. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +82 -162
  647. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  648. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  649. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  650. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  651. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  652. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  653. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  654. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  655. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  656. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  657. package/ReactCommon/react/renderer/core/Props.h +63 -13
  658. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  659. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  660. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  661. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  662. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  663. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  664. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  665. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  666. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  667. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  668. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  669. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  670. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  671. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  672. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  673. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  674. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  675. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  676. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  677. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  678. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  679. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  680. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  681. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  682. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  683. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  684. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  685. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  686. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  687. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  688. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  689. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  690. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  691. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  692. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  693. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -1
  694. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  695. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  696. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  697. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  698. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  699. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  700. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  701. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  702. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  703. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  704. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  705. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  706. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  707. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  708. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  709. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  710. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  711. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  712. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  713. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  714. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  715. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +31 -41
  716. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  717. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  718. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  719. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  720. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  721. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  722. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  723. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  724. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  725. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  726. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  727. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  728. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  729. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  730. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  731. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  732. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  733. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  734. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  735. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  736. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  737. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  738. package/ReactCommon/react/utils/Telemetry.h +0 -13
  739. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  740. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  741. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  742. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  743. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  744. package/ReactCommon/yoga/Yoga.podspec +2 -2
  745. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  746. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  747. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  748. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  749. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  750. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +283 -10
  751. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  752. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  753. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  754. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  755. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  756. package/changes.json +5 -13
  757. package/cli.js +3 -182
  758. package/flow/bom.js.flow +42 -42
  759. package/flow/cssom.js.flow +21 -21
  760. package/flow/dom.js.flow +128 -128
  761. package/flow/global.js +6 -0
  762. package/gradle/libs.versions.toml +7 -5
  763. package/index.js +53 -86
  764. package/index.js.flow +53 -23
  765. package/package.json +44 -63
  766. package/react-native.config.js +82 -1
  767. package/scripts/cocoapods/fabric.rb +1 -1
  768. package/scripts/cocoapods/jsengine.rb +1 -1
  769. package/scripts/cocoapods/new_architecture.rb +1 -1
  770. package/scripts/cocoapods/rncore.rb +36 -78
  771. package/scripts/cocoapods/rncore_facades.rb +232 -0
  772. package/scripts/cocoapods/rndependencies.rb +64 -3
  773. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  774. package/scripts/cocoapods/spm.rb +79 -12
  775. package/scripts/cocoapods/utils.rb +7 -9
  776. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  777. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  778. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  779. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -2
  780. package/scripts/hermes/hermes-utils.js +27 -58
  781. package/scripts/ios-configure-glog.sh +1 -1
  782. package/scripts/react-native-xcode.sh +20 -0
  783. package/scripts/react_native_pods.rb +71 -21
  784. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  785. package/scripts/replace-rncore-version.js +57 -86
  786. package/scripts/setup-apple-spm.js +1267 -0
  787. package/scripts/spm/__doc__/rfc-spm-xcframework.md +707 -0
  788. package/scripts/spm/__doc__/spm-autolinking-plugins.md +244 -0
  789. package/scripts/spm/__doc__/spm-header-paths-contract.md +97 -0
  790. package/scripts/spm/__doc__/spm-plugins-assessment.md +128 -0
  791. package/scripts/spm/__doc__/spm-scripts.md +486 -0
  792. package/scripts/spm/autolinking-plugins.js +331 -0
  793. package/scripts/spm/download-spm-artifacts.js +1409 -0
  794. package/scripts/spm/expand-spm-dependencies.js +216 -0
  795. package/scripts/spm/flavored-frameworks.js +1008 -0
  796. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  797. package/scripts/spm/generate-spm-autolinking.js +1888 -0
  798. package/scripts/spm/generate-spm-package.js +302 -0
  799. package/scripts/spm/generate-spm-xcodeproj.js +2266 -0
  800. package/scripts/spm/read-podspec.js +695 -0
  801. package/scripts/spm/scaffold-package-swift.js +1206 -0
  802. package/scripts/spm/spm-pbxproj.js +654 -0
  803. package/scripts/spm/spm-types.js +520 -0
  804. package/scripts/spm/spm-utils.js +645 -0
  805. package/scripts/spm/sync-spm-autolinking.js +160 -0
  806. package/sdks/.hermesv1version +1 -1
  807. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  808. package/sdks/hermes-engine/hermes-utils.rb +19 -73
  809. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  810. package/sdks/hermes-engine/version.properties +1 -2
  811. package/settings.gradle.kts +0 -43
  812. package/src/asset-registry.js +29 -0
  813. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  814. package/src/private/assets/AssetRegistry.js +52 -0
  815. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  816. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  817. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  818. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  819. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  820. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  821. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  822. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  823. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  824. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  825. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  826. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  827. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  828. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  829. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  830. package/src/private/components/virtualcollection/Virtual.js +5 -5
  831. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  832. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  833. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  834. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  835. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  836. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  837. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  838. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  839. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  840. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  841. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  842. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  843. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  844. package/src/private/setup/setUpDOM.js +19 -9
  845. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  846. package/src/private/setup/setUpMutationObserver.js +3 -1
  847. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  848. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  849. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  850. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  851. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  852. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  853. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  854. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  855. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  856. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  857. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  858. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  859. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  860. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  861. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  862. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  863. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  864. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  865. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  866. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  867. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  868. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  869. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  870. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  871. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  872. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  873. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  874. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  875. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  876. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  877. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  878. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  879. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  880. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  881. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  882. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  883. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  884. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  885. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  886. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  887. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  888. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  889. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  890. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  891. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  892. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  893. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  894. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  895. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  896. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  897. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  898. package/src/private/types/HostInstance.js +38 -80
  899. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  900. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  901. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  902. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  903. package/src/private/webapis/dom/events/Event.js +12 -12
  904. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  905. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  906. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  907. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  908. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  909. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  910. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  911. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  912. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  913. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  914. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  915. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  916. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  917. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  918. package/src/private/webapis/errors/DOMException.js +50 -50
  919. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  920. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  921. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  922. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  923. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  924. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  925. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  926. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  927. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  928. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  929. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  930. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  931. package/src/private/webapis/performance/EventTiming.js +3 -3
  932. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  933. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  934. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  935. package/src/private/webapis/performance/UserTiming.js +3 -3
  936. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  937. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  938. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  939. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  940. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  941. package/src/react-private-interface.js +145 -0
  942. package/src/react-private-interface.js.flow +48 -0
  943. package/src/setup-env.js +22 -0
  944. package/src/types/globals.d.ts +35 -3
  945. package/src/unstable-internals-do-not-use.d.ts +214 -0
  946. package/src/unstable-internals-do-not-use.js +76 -0
  947. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  948. package/third-party-podspecs/ReactNativeDependencies.podspec +3 -3
  949. package/third-party-podspecs/glog.podspec +1 -1
  950. package/types/index.d.ts +0 -1
  951. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  952. package/types/public/ReactNativeTypes.d.ts +6 -4
  953. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +26 -31
  954. package/types_generated/Libraries/Alert/Alert.d.ts +44 -7
  955. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +2 -2
  956. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +2 -2
  957. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +107 -3
  958. package/types_generated/Libraries/Animated/Easing.d.ts +5 -4
  959. package/types_generated/Libraries/Animated/animations/Animation.d.ts +7 -7
  960. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +5 -5
  961. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +49 -49
  962. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +13 -13
  963. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +3 -3
  964. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  965. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +3 -3
  966. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +4 -4
  967. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +2 -2
  968. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +9 -9
  969. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +3 -3
  970. package/types_generated/Libraries/AppState/AppState.d.ts +41 -22
  971. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +8 -1
  972. package/types_generated/Libraries/Blob/BlobTypes.d.ts +4 -4
  973. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +37 -46
  974. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +92 -43
  975. package/types_generated/Libraries/Components/Button.d.ts +118 -197
  976. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +6 -1
  977. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +44 -63
  978. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +30 -61
  979. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +30 -21
  980. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +41 -17
  981. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +6 -6
  982. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +5 -5
  983. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +18 -1
  984. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +35 -52
  985. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -11
  986. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +212 -88
  987. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +4 -4
  988. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +29 -62
  989. package/types_generated/Libraries/Components/Switch/Switch.d.ts +75 -70
  990. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +16 -65
  991. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +118 -3
  992. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +24 -9
  993. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +18 -18
  994. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +24 -13
  995. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +27 -64
  996. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +18 -6
  997. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +28 -28
  998. package/types_generated/Libraries/Components/View/View.d.ts +13 -9
  999. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +31 -20
  1000. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +1 -2
  1001. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +75 -24
  1002. package/types_generated/Libraries/Core/ExtendedError.d.ts +10 -10
  1003. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +34 -1
  1004. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +4 -1
  1005. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +2 -13
  1006. package/types_generated/Libraries/Image/ImageBackground.d.ts +33 -22
  1007. package/types_generated/Libraries/Image/ImageProps.d.ts +201 -251
  1008. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +6 -5
  1009. package/types_generated/Libraries/Interaction/PanResponder.d.ts +103 -97
  1010. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +18 -7
  1011. package/types_generated/Libraries/Linking/Linking.d.ts +28 -20
  1012. package/types_generated/Libraries/Lists/FlatList.d.ts +17 -18
  1013. package/types_generated/Libraries/Lists/SectionList.d.ts +10 -5
  1014. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +3 -1
  1015. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +3 -1
  1016. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +2 -2
  1017. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +2 -2
  1018. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +2 -2
  1019. package/types_generated/Libraries/LogBox/LogBox.d.ts +4 -1
  1020. package/types_generated/Libraries/Modal/Modal.d.ts +70 -35
  1021. package/types_generated/Libraries/Network/FormData.d.ts +5 -5
  1022. package/types_generated/Libraries/Performance/Systrace.d.ts +11 -1
  1023. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +31 -21
  1024. package/types_generated/Libraries/Pressability/Pressability.d.ts +5 -5
  1025. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +15 -11
  1026. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +5 -5
  1027. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +56 -9
  1028. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +20 -1
  1029. package/types_generated/Libraries/ReactNative/IPerformanceLogger.flow.d.ts +5 -5
  1030. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +6 -22
  1031. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +34 -34
  1032. package/types_generated/Libraries/Share/Share.d.ts +36 -39
  1033. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +7 -1
  1034. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +3 -3
  1035. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +202 -181
  1036. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +3 -3
  1037. package/types_generated/Libraries/Text/Text.d.ts +10 -6
  1038. package/types_generated/Libraries/Text/TextProps.d.ts +57 -102
  1039. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +2 -2
  1040. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +14 -8
  1041. package/types_generated/Libraries/Utilities/Appearance.d.ts +25 -13
  1042. package/types_generated/Libraries/Utilities/BackHandler.d.ts +17 -1
  1043. package/types_generated/Libraries/Utilities/DevSettings.d.ts +9 -2
  1044. package/types_generated/Libraries/Utilities/Dimensions.d.ts +19 -13
  1045. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +6 -3
  1046. package/types_generated/Libraries/Utilities/Platform.d.ts +5 -1
  1047. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +65 -6
  1048. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +5 -5
  1049. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +2 -2
  1050. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +2 -2
  1051. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +12 -2
  1052. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +7 -1
  1053. package/types_generated/Libraries/Vibration/Vibration.d.ts +14 -6
  1054. package/types_generated/index.d.ts +31 -25
  1055. package/types_generated/src/private/assets/AssetRegistry.d.ts +42 -0
  1056. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +5 -5
  1057. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +3 -3
  1058. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +3 -3
  1059. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +7 -7
  1060. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +5 -5
  1061. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +5 -5
  1062. package/types_generated/src/private/renderer/events/dispatchNativeEvent.d.ts +26 -0
  1063. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +6 -5
  1064. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +7 -7
  1065. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +5 -5
  1066. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +8 -8
  1067. package/types_generated/src/private/types/HostComponent.d.ts +3 -3
  1068. package/types_generated/src/private/types/HostInstance.d.ts +39 -74
  1069. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +2 -2
  1070. package/types_generated/src/private/webapis/dom/events/Event.d.ts +4 -4
  1071. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +8 -8
  1072. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +3 -1
  1073. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +57 -4
  1074. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +3 -1
  1075. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +3 -1
  1076. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +4 -2
  1077. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +3 -1
  1078. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +3 -3
  1079. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +3 -1
  1080. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +3 -1
  1081. package/types_generated/src/react-private-interface.d.ts +33 -0
  1082. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  1083. package/Libraries/Image/AssetRegistry.js +0 -14
  1084. package/Libraries/Image/RCTImageShadowView.h +0 -17
  1085. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  1086. package/Libraries/Image/RCTImageView.h +0 -32
  1087. package/Libraries/Image/RCTImageView.mm +0 -508
  1088. package/Libraries/Image/RCTImageViewManager.h +0 -17
  1089. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  1090. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  1091. package/Libraries/Interaction/InteractionManager.js +0 -189
  1092. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  1093. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  1094. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  1095. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  1096. package/Libraries/Text/RCTTextAttributes.h +0 -107
  1097. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  1098. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  1099. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  1100. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  1101. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  1102. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  1103. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  1104. package/Libraries/Text/Text/RCTTextView.h +0 -34
  1105. package/Libraries/Text/Text/RCTTextView.mm +0 -298
  1106. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  1107. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  1108. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  1109. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  1110. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  1111. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -28
  1112. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  1113. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  1114. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  1115. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -849
  1116. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  1117. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  1118. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  1119. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  1120. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  1121. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  1122. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  1123. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  1124. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  1125. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  1126. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  1127. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  1128. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  1129. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  1130. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  1131. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  1132. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  1133. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  1134. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  1135. package/Libraries/Utilities/SceneTracker.js +0 -42
  1136. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  1137. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  1138. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  1139. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  1140. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  1141. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  1142. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  1143. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  1144. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  1145. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  1146. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  1147. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  1148. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  1149. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  1150. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  1151. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  1152. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  1153. package/React/Base/RCTRootContentView.h +0 -43
  1154. package/React/Base/RCTRootContentView.m +0 -111
  1155. package/React/Base/RCTRootViewInternal.h +0 -28
  1156. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  1157. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  1158. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  1159. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  1160. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  1161. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  1162. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  1163. package/React/CxxModule/RCTCxxMethod.h +0 -17
  1164. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  1165. package/React/CxxModule/RCTNativeModule.h +0 -34
  1166. package/React/CxxModule/RCTNativeModule.mm +0 -241
  1167. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  1168. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  1169. package/React/Views/RCTActivityIndicatorView.h +0 -16
  1170. package/React/Views/RCTActivityIndicatorView.m +0 -26
  1171. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  1172. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  1173. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  1174. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  1175. package/React/Views/RCTModalHostView.h +0 -64
  1176. package/React/Views/RCTModalHostView.m +0 -264
  1177. package/React/Views/RCTModalHostViewController.m +0 -74
  1178. package/React/Views/RCTModalHostViewManager.m +0 -131
  1179. package/React/Views/RCTModalManager.h +0 -22
  1180. package/React/Views/RCTModalManager.m +0 -46
  1181. package/React/Views/RCTRootShadowView.h +0 -35
  1182. package/React/Views/RCTRootShadowView.m +0 -53
  1183. package/React/Views/RCTShadowView+Internal.h +0 -18
  1184. package/React/Views/RCTShadowView+Internal.m +0 -23
  1185. package/React/Views/RCTSwitch.h +0 -22
  1186. package/React/Views/RCTSwitch.m +0 -24
  1187. package/React/Views/RCTSwitchManager.h +0 -17
  1188. package/React/Views/RCTSwitchManager.m +0 -70
  1189. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -24
  1190. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -230
  1191. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -17
  1192. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -47
  1193. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  1194. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1195. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1196. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1197. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1198. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1199. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1200. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1201. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1202. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1203. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1204. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1205. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1206. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1207. package/React/Views/ScrollView/RCTScrollView.m +0 -1168
  1208. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1209. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -202
  1210. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1212. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1213. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1214. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1215. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1216. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1217. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1218. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1219. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1220. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1221. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1222. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1223. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1838
  1224. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1225. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1638
  1226. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1227. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1228. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1229. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1230. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1231. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1232. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1233. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1234. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1235. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1236. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1237. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1238. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1239. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1240. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1241. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1242. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1243. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1244. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1245. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1246. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1247. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1248. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1249. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1250. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1251. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1252. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1253. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1254. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1255. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1256. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1257. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1258. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1259. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1260. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1261. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1262. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1263. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1264. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1265. package/interface.js +0 -21
  1266. package/jest-preset.js +0 -26
  1267. package/rn-get-polyfills.js +0 -13
  1268. package/sdks/.hermesversion +0 -1
  1269. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1270. package/types/tsconfig.json +0 -15
  1271. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1272. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1273. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1274. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1275. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1276. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -262
  1277. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -117
  1278. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1279. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1280. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1281. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1282. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1283. package/types_generated/tsconfig.test.json +0 -16
  1284. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -1,1572 +0,0 @@
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
- #include <atomic>
9
- #include <future>
10
-
11
- #import <React/RCTAssert.h>
12
- #import <React/RCTBridge+Inspector.h>
13
- #import <React/RCTBridge+Private.h>
14
- #import <React/RCTBridge.h>
15
- #import <React/RCTBridgeMethod.h>
16
- #import <React/RCTBridgeModule.h>
17
- #import <React/RCTBridgeModuleDecorator.h>
18
- #import <React/RCTCallInvoker.h>
19
- #import <React/RCTConstants.h>
20
- #import <React/RCTConvert.h>
21
- #import <React/RCTCxxBridgeDelegate.h>
22
- #import <React/RCTCxxUtils.h>
23
- #import <React/RCTDevSettings.h>
24
- #import <React/RCTDisplayLink.h>
25
- #import <React/RCTJavaScriptLoader.h>
26
- #import <React/RCTLog.h>
27
- #import <React/RCTModuleData.h>
28
- #import <React/RCTPerformanceLogger.h>
29
- #import <React/RCTProfile.h>
30
- #import <React/RCTRedBox.h>
31
- #import <React/RCTRedBoxSetEnabled.h>
32
- #import <React/RCTReloadCommand.h>
33
- #import <React/RCTTurboModuleRegistry.h>
34
- #import <React/RCTUtils.h>
35
- #import <cxxreact/CxxNativeModule.h>
36
- #import <cxxreact/Instance.h>
37
- #import <cxxreact/JSBundleType.h>
38
- #import <cxxreact/JSIndexedRAMBundle.h>
39
- #import <cxxreact/ModuleRegistry.h>
40
- #import <cxxreact/RAMBundleRegistry.h>
41
- #import <cxxreact/ReactMarker.h>
42
- #import <jsinspector-modern/ReactCdp.h>
43
- #import <jsireact/JSIExecutor.h>
44
- #import <react/utils/FollyConvert.h>
45
- #import <reactperflogger/BridgeNativeModulePerfLogger.h>
46
-
47
- #if !defined(USE_HERMES) || USE_HERMES == 1
48
- #import <reacthermes/HermesExecutorFactory.h>
49
- #endif
50
- #import "RCTJSIExecutorRuntimeInstaller.h"
51
-
52
- #import "NSDataBigString.h"
53
- #import "RCTMessageThread.h"
54
- #import "RCTObjcExecutor.h"
55
-
56
- #if RCT_DEV_MENU && __has_include(<React/RCTDevLoadingViewProtocol.h>)
57
- #import <React/RCTDevLoadingViewProtocol.h>
58
- #endif
59
-
60
- #ifndef RCT_REMOVE_LEGACY_ARCH
61
-
62
- static NSString *const RCTJSThreadName = @"com.facebook.react.JavaScript";
63
-
64
- using RCTPendingCall = void (^)();
65
-
66
- using namespace facebook::jsi;
67
- using namespace facebook::react;
68
-
69
- /**
70
- * Must be kept in sync with `MessageQueue.js`.
71
- */
72
- typedef NS_ENUM(NSInteger, RCTBridgeFields) {
73
- RCTBridgeFieldRequestModuleIDs = 0,
74
- RCTBridgeFieldMethodIDs,
75
- RCTBridgeFieldParams,
76
- RCTBridgeFieldCallID,
77
- };
78
-
79
- namespace {
80
-
81
- int32_t getUniqueId()
82
- {
83
- static std::atomic<int32_t> counter{0};
84
- return counter++;
85
- }
86
-
87
- class GetDescAdapter : public JSExecutorFactory {
88
- public:
89
- GetDescAdapter(RCTCxxBridge *bridge, std::shared_ptr<JSExecutorFactory> factory) : bridge_(bridge), factory_(factory)
90
- {
91
- }
92
- std::unique_ptr<JSExecutor> createJSExecutor(
93
- std::shared_ptr<ExecutorDelegate> delegate,
94
- std::shared_ptr<MessageQueueThread> jsQueue) override
95
- {
96
- auto ret = factory_->createJSExecutor(delegate, jsQueue);
97
- bridge_.bridgeDescription = @(ret->getDescription().c_str());
98
- return ret;
99
- }
100
-
101
- private:
102
- RCTCxxBridge *bridge_;
103
- std::shared_ptr<JSExecutorFactory> factory_;
104
- };
105
-
106
- } // namespace
107
-
108
- static void mapReactMarkerToPerformanceLogger(
109
- const ReactMarker::ReactMarkerId markerId,
110
- RCTPerformanceLogger *performanceLogger,
111
- const char *tag)
112
- {
113
- switch (markerId) {
114
- case ReactMarker::APP_STARTUP_START:
115
- [performanceLogger markStartForTag:RCTPLAppStartup];
116
- break;
117
- case ReactMarker::APP_STARTUP_STOP:
118
- [performanceLogger markStopForTag:RCTPLAppStartup];
119
- break;
120
- case ReactMarker::INIT_REACT_RUNTIME_START:
121
- [performanceLogger markStartForTag:RCTPLInitReactRuntime];
122
- break;
123
- case ReactMarker::INIT_REACT_RUNTIME_STOP:
124
- [performanceLogger markStopForTag:RCTPLInitReactRuntime];
125
- break;
126
- case ReactMarker::RUN_JS_BUNDLE_START:
127
- [performanceLogger markStartForTag:RCTPLScriptExecution];
128
- break;
129
- case ReactMarker::RUN_JS_BUNDLE_STOP:
130
- [performanceLogger markStopForTag:RCTPLScriptExecution];
131
- break;
132
- case ReactMarker::NATIVE_REQUIRE_START:
133
- [performanceLogger appendStartForTag:RCTPLRAMNativeRequires];
134
- break;
135
- case ReactMarker::NATIVE_REQUIRE_STOP:
136
- [performanceLogger appendStopForTag:RCTPLRAMNativeRequires];
137
- [performanceLogger addValue:1 forTag:RCTPLRAMNativeRequiresCount];
138
- break;
139
- case ReactMarker::NATIVE_MODULE_SETUP_START:
140
- [performanceLogger markStartForTag:RCTPLNativeModuleSetup];
141
- break;
142
- case ReactMarker::NATIVE_MODULE_SETUP_STOP:
143
- [performanceLogger markStopForTag:RCTPLNativeModuleSetup];
144
- break;
145
- // Not needed in bridge mode.
146
- case ReactMarker::REACT_INSTANCE_INIT_START:
147
- case ReactMarker::REACT_INSTANCE_INIT_STOP:
148
- // Not used on iOS.
149
- case ReactMarker::CREATE_REACT_CONTEXT_STOP:
150
- case ReactMarker::JS_BUNDLE_STRING_CONVERT_START:
151
- case ReactMarker::JS_BUNDLE_STRING_CONVERT_STOP:
152
- case ReactMarker::REGISTER_JS_SEGMENT_START:
153
- case ReactMarker::REGISTER_JS_SEGMENT_STOP:
154
- break;
155
- }
156
- }
157
-
158
- static void registerPerformanceLoggerHooks(RCTPerformanceLogger *performanceLogger)
159
- {
160
- std::unique_lock lock(ReactMarker::logTaggedMarkerImplMutex);
161
- __weak RCTPerformanceLogger *weakPerformanceLogger = performanceLogger;
162
- ReactMarker::LogTaggedMarker newMarker = [weakPerformanceLogger](
163
- const ReactMarker::ReactMarkerId markerId, const char *tag) {
164
- mapReactMarkerToPerformanceLogger(markerId, weakPerformanceLogger, tag);
165
- };
166
- ReactMarker::logTaggedMarkerImpl = newMarker;
167
- }
168
-
169
- @interface RCTCxxBridge () <RCTModuleDataCallInvokerProvider>
170
-
171
- @property (nonatomic, weak, readonly) RCTBridge *parentBridge;
172
- @property (nonatomic, assign, readonly) BOOL moduleSetupComplete;
173
-
174
- - (instancetype)initWithParentBridge:(RCTBridge *)bridge;
175
- - (void)batchDidComplete;
176
-
177
- @end
178
-
179
- struct RCTInstanceCallback : public InstanceCallback {
180
- __weak RCTCxxBridge *bridge_;
181
- RCTInstanceCallback(RCTCxxBridge *bridge) : bridge_(bridge) {};
182
- void onBatchComplete() override
183
- {
184
- [bridge_ batchDidComplete];
185
- }
186
- };
187
-
188
- @interface RCTBridgeDisplayLinkModuleHolder : NSObject <RCTDisplayLinkModuleHolder>
189
- - (instancetype)initWithModuleData:(RCTModuleData *)moduleData;
190
- @end
191
-
192
- @implementation RCTBridgeDisplayLinkModuleHolder {
193
- RCTModuleData *_moduleData;
194
- }
195
-
196
- - (instancetype)initWithModuleData:(RCTModuleData *)moduleData
197
- {
198
- _moduleData = moduleData;
199
- return self;
200
- }
201
-
202
- - (id<RCTBridgeModule>)instance
203
- {
204
- return _moduleData.instance;
205
- }
206
-
207
- - (Class)moduleClass
208
- {
209
- return _moduleData.moduleClass;
210
- }
211
-
212
- - (dispatch_queue_t)methodQueue
213
- {
214
- return _moduleData.methodQueue;
215
- }
216
-
217
- @end
218
-
219
- @implementation RCTCxxBridge {
220
- BOOL _didInvalidate;
221
- std::atomic<BOOL> _moduleRegistryCreated;
222
-
223
- NSMutableArray<RCTPendingCall> *_pendingCalls;
224
- std::atomic<NSInteger> _pendingCount;
225
-
226
- // Native modules
227
- NSMutableDictionary<NSString *, RCTModuleData *> *_moduleDataByName;
228
- NSMutableArray<RCTModuleData *> *_moduleDataByID;
229
- NSMutableArray<Class> *_moduleClassesByID;
230
- NSUInteger _modulesInitializedOnMainQueue;
231
- RCTDisplayLink *_displayLink;
232
-
233
- // JS thread management
234
- NSThread *_jsThread;
235
- std::shared_ptr<RCTMessageThread> _jsMessageThread;
236
- std::mutex _moduleRegistryLock;
237
-
238
- // This is uniquely owned, but weak_ptr is used.
239
- std::shared_ptr<Instance> _reactInstance;
240
-
241
- // Necessary for searching in TurboModules in TurboModuleManager
242
- id<RCTTurboModuleRegistry> _turboModuleRegistry;
243
-
244
- RCTModuleRegistry *_objCModuleRegistry;
245
- RCTViewRegistry *_viewRegistry_DEPRECATED;
246
- RCTBundleManager *_bundleManager;
247
- RCTCallableJSModules *_callableJSModules;
248
- std::atomic<BOOL> _loading;
249
- std::atomic<BOOL> _valid;
250
- }
251
-
252
- @synthesize bridgeDescription = _bridgeDescription;
253
- @synthesize performanceLogger = _performanceLogger;
254
-
255
- - (BOOL)isLoading
256
- {
257
- return _loading;
258
- }
259
-
260
- - (void)setLoading:(BOOL)newValue
261
- {
262
- _loading = newValue;
263
- }
264
-
265
- - (BOOL)isValid
266
- {
267
- return _valid;
268
- }
269
-
270
- - (void)setValid:(BOOL)newValue
271
- {
272
- _valid = newValue;
273
- }
274
-
275
- - (RCTModuleRegistry *)moduleRegistry
276
- {
277
- return _objCModuleRegistry;
278
- }
279
-
280
- - (void)setRCTTurboModuleRegistry:(id<RCTTurboModuleRegistry>)turboModuleRegistry
281
- {
282
- _turboModuleRegistry = turboModuleRegistry;
283
- [_objCModuleRegistry setTurboModuleRegistry:_turboModuleRegistry];
284
- }
285
-
286
- - (RCTBridgeModuleDecorator *)bridgeModuleDecorator
287
- {
288
- return [[RCTBridgeModuleDecorator alloc] initWithViewRegistry:_viewRegistry_DEPRECATED
289
- moduleRegistry:_objCModuleRegistry
290
- bundleManager:_bundleManager
291
- callableJSModules:_callableJSModules];
292
- }
293
-
294
- - (std::shared_ptr<MessageQueueThread>)jsMessageThread
295
- {
296
- return _jsMessageThread;
297
- }
298
-
299
- - (BOOL)isInspectable
300
- {
301
- return _reactInstance ? _reactInstance->isInspectable() : NO;
302
- }
303
-
304
- - (instancetype)initWithParentBridge:(RCTBridge *)bridge
305
- {
306
- RCTAssertParam(bridge);
307
-
308
- if ((self = [super initWithDelegate:bridge.delegate
309
- bundleURL:bridge.bundleURL
310
- moduleProvider:bridge.moduleProvider
311
- launchOptions:bridge.launchOptions])) {
312
- _parentBridge = bridge;
313
- _performanceLogger = [bridge performanceLogger];
314
-
315
- registerPerformanceLoggerHooks(_performanceLogger);
316
-
317
- /**
318
- * Set Initial State
319
- */
320
- _valid = YES;
321
- _loading = YES;
322
- _moduleRegistryCreated = NO;
323
- _pendingCalls = [NSMutableArray new];
324
- _displayLink = [RCTDisplayLink new];
325
- _moduleDataByName = [NSMutableDictionary new];
326
- _moduleClassesByID = [NSMutableArray new];
327
- _moduleDataByID = [NSMutableArray new];
328
- _objCModuleRegistry = [RCTModuleRegistry new];
329
- [_objCModuleRegistry setBridge:self];
330
- _bundleManager = [RCTBundleManager new];
331
- [_bundleManager setBridge:self];
332
- _viewRegistry_DEPRECATED = [RCTViewRegistry new];
333
- [_viewRegistry_DEPRECATED setBridge:self];
334
- _callableJSModules = [RCTCallableJSModules new];
335
- [_callableJSModules setBridge:self];
336
-
337
- [RCTBridge setCurrentBridge:self];
338
-
339
- [[NSNotificationCenter defaultCenter] addObserver:self
340
- selector:@selector(handleMemoryWarning)
341
- name:UIApplicationDidReceiveMemoryWarningNotification
342
- object:nil];
343
-
344
- RCTLogSetBridgeModuleRegistry(_objCModuleRegistry);
345
- RCTLogSetBridgeCallableJSModules(_callableJSModules);
346
- }
347
- return self;
348
- }
349
-
350
- - (void)dealloc
351
- {
352
- [[NSNotificationCenter defaultCenter] removeObserver:self];
353
- }
354
-
355
- + (void)runRunLoop
356
- {
357
- @autoreleasepool {
358
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge runJSRunLoop] setup", nil);
359
-
360
- // copy thread name to pthread name
361
- pthread_setname_np([NSThread currentThread].name.UTF8String);
362
-
363
- // Set up a dummy runloop source to avoid spinning
364
- CFRunLoopSourceContext noSpinCtx = {0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
365
- CFRunLoopSourceRef noSpinSource = CFRunLoopSourceCreate(NULL, 0, &noSpinCtx);
366
- CFRunLoopAddSource(CFRunLoopGetCurrent(), noSpinSource, kCFRunLoopDefaultMode);
367
- CFRelease(noSpinSource);
368
-
369
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
370
-
371
- // run the run loop
372
- while (kCFRunLoopRunStopped !=
373
- CFRunLoopRunInMode(
374
- kCFRunLoopDefaultMode, ((NSDate *)[NSDate distantFuture]).timeIntervalSinceReferenceDate, NO)) {
375
- RCTAssert(NO, @"not reached assertion"); // runloop spun. that's bad.
376
- }
377
- }
378
- }
379
-
380
- - (void)_tryAndHandleError:(dispatch_block_t)block
381
- {
382
- NSError *error = tryAndReturnError(block);
383
- if (error) {
384
- [self handleError:error];
385
- }
386
- }
387
-
388
- - (void)handleMemoryWarning
389
- {
390
- // We only want to run garbage collector when the loading is finished
391
- // and the instance is valid.
392
- if (!_valid || _loading) {
393
- return;
394
- }
395
-
396
- // We need to hold a local retaining pointer to react instance
397
- // in case if some other tread resets it.
398
- auto reactInstance = _reactInstance;
399
- if (reactInstance) {
400
- // Memory Pressure Unloading Level 15 represents TRIM_MEMORY_RUNNING_CRITICAL.
401
- int unloadLevel = 15;
402
- reactInstance->handleMemoryPressure(unloadLevel);
403
- }
404
- }
405
-
406
- /**
407
- * Ensure block is run on the JS thread. If we're already on the JS thread, the block will execute synchronously.
408
- * If we're not on the JS thread, the block is dispatched to that thread. Any errors encountered while executing
409
- * the block will go through handleError:
410
- */
411
- - (void)ensureOnJavaScriptThread:(dispatch_block_t)block
412
- {
413
- RCTAssert(_jsThread, @"This method must not be called before the JS thread is created");
414
-
415
- // This does not use _jsMessageThread because it may be called early before the runloop reference is captured
416
- // and _jsMessageThread is valid. _jsMessageThread also doesn't allow us to shortcut the dispatch if we're
417
- // already on the correct thread.
418
-
419
- if ([NSThread currentThread] == _jsThread) {
420
- [self _tryAndHandleError:block];
421
- } else {
422
- [self performSelector:@selector(_tryAndHandleError:) onThread:_jsThread withObject:block waitUntilDone:NO];
423
- }
424
- }
425
-
426
- - (void)start
427
- {
428
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge start]", nil);
429
-
430
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTJavaScriptWillStartLoadingNotification
431
- object:_parentBridge
432
- userInfo:@{@"bridge" : self}];
433
-
434
- // Set up the JS thread early
435
- _jsThread = [[NSThread alloc] initWithTarget:[self class] selector:@selector(runRunLoop) object:nil];
436
- _jsThread.name = RCTJSThreadName;
437
- _jsThread.qualityOfService = NSOperationQualityOfServiceUserInteractive;
438
- #if RCT_DEBUG
439
- _jsThread.stackSize *= 2;
440
- #endif
441
- [_jsThread start];
442
-
443
- dispatch_group_t prepareBridge = dispatch_group_create();
444
-
445
- [_performanceLogger markStartForTag:RCTPLNativeModuleInit];
446
-
447
- [self registerExtraModules];
448
- // Initialize all native modules that cannot be loaded lazily
449
- (void)[self _initializeModules:RCTGetModuleClasses() withDispatchGroup:prepareBridge lazilyDiscovered:NO];
450
-
451
- [_performanceLogger markStopForTag:RCTPLNativeModuleInit];
452
-
453
- // This doesn't really do anything. The real work happens in initializeBridge.
454
- _reactInstance.reset(new Instance);
455
-
456
- __weak RCTCxxBridge *weakSelf = self;
457
-
458
- // Prepare executor factory (shared_ptr for copy into block)
459
- std::shared_ptr<JSExecutorFactory> executorFactory;
460
- if (!self.executorClass) {
461
- if ([self.delegate conformsToProtocol:@protocol(RCTCxxBridgeDelegate)]) {
462
- id<RCTCxxBridgeDelegate> cxxDelegate = (id<RCTCxxBridgeDelegate>)self.delegate;
463
- executorFactory = [cxxDelegate jsExecutorFactoryForBridge:self];
464
- }
465
- if (!executorFactory) {
466
- auto installBindings = RCTJSIExecutorRuntimeInstaller(nullptr);
467
- #if !defined(USE_HERMES) || USE_HERMES == 1
468
- executorFactory = std::make_shared<HermesExecutorFactory>(installBindings);
469
- #endif
470
- }
471
- } else {
472
- id<RCTJavaScriptExecutor> objcExecutor = [self moduleForClass:self.executorClass];
473
- executorFactory.reset(new RCTObjcExecutorFactory(objcExecutor, ^(NSError *error) {
474
- if (error) {
475
- [weakSelf handleError:error];
476
- }
477
- }));
478
- }
479
-
480
- // Grab the inspector target from the parent bridge here, on the main queue, to avoid inadvertently
481
- // moving ownership of the parent bridge to the JS thread, which would violate expectations around
482
- // the timing and thread affinity of RCTBridge's destruction. This could technically be a dangling
483
- // pointer into a member of RCTBridge! But we only use it while _reactInstance exists, meaning we
484
- // haven't been invalidated, and therefore RCTBridge hasn't been deallocated yet.
485
- RCTAssertMainQueue();
486
- facebook::react::jsinspector_modern::HostTarget *parentInspectorTarget = _parentBridge.inspectorTarget;
487
-
488
- // Dispatch the instance initialization as soon as the initial module metadata has
489
- // been collected (see initModules)
490
- dispatch_group_enter(prepareBridge);
491
- [self ensureOnJavaScriptThread:^{
492
- [weakSelf _initializeBridge:executorFactory parentInspectorTarget:parentInspectorTarget];
493
- dispatch_group_leave(prepareBridge);
494
- }];
495
-
496
- // Load the source asynchronously, then store it for later execution.
497
- dispatch_group_enter(prepareBridge);
498
- __block NSData *sourceCode;
499
- __block NSURL *sourceURL = self.bundleURL;
500
-
501
- #if RCT_DEV_MENU && __has_include(<React/RCTDevLoadingViewProtocol.h>)
502
- {
503
- id<RCTDevLoadingViewProtocol> loadingView = [self moduleForName:@"DevLoadingView" lazilyLoadIfNecessary:YES];
504
- [loadingView showWithURL:self.bundleURL];
505
- }
506
- #endif
507
-
508
- [self
509
- loadSource:^(NSError *error, RCTSource *source) {
510
- if (error) {
511
- [weakSelf handleError:error];
512
- }
513
-
514
- sourceCode = source.data;
515
- if (source.url) {
516
- sourceURL = source.url;
517
- }
518
- dispatch_group_leave(prepareBridge);
519
- }
520
- onProgress:^(RCTLoadingProgress *progressData) {
521
- #if RCT_DEV_MENU && __has_include(<React/RCTDevLoadingViewProtocol.h>)
522
- id<RCTDevLoadingViewProtocol> loadingView = [weakSelf moduleForName:@"DevLoadingView"
523
- lazilyLoadIfNecessary:YES];
524
- [loadingView updateProgress:progressData];
525
- #endif
526
- }];
527
-
528
- // Wait for both the modules and source code to have finished loading
529
- dispatch_group_notify(prepareBridge, dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0), ^{
530
- RCTCxxBridge *strongSelf = weakSelf;
531
- if (sourceCode && strongSelf.loading) {
532
- [strongSelf executeSourceCode:sourceCode withSourceURL:sourceURL sync:NO];
533
- }
534
- });
535
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
536
- }
537
-
538
- - (void)loadSource:(RCTSourceLoadBlock)_onSourceLoad onProgress:(RCTSourceLoadProgressBlock)onProgress
539
- {
540
- NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
541
- [center postNotificationName:RCTBridgeWillDownloadScriptNotification object:_parentBridge];
542
- [_performanceLogger markStartForTag:RCTPLScriptDownload];
543
- NSUInteger cookie = RCTProfileBeginAsyncEvent(0, @"JavaScript download", nil);
544
-
545
- // Suppress a warning if RCTProfileBeginAsyncEvent gets compiled out
546
- (void)cookie;
547
-
548
- RCTPerformanceLogger *performanceLogger = _performanceLogger;
549
- RCTSourceLoadBlock onSourceLoad = ^(NSError *error, RCTSource *source) {
550
- RCTProfileEndAsyncEvent(0, @"native", cookie, @"JavaScript download", @"JS async");
551
- [performanceLogger markStopForTag:RCTPLScriptDownload];
552
- [performanceLogger setValue:source.length forTag:RCTPLBundleSize];
553
-
554
- NSDictionary *userInfo = @{
555
- RCTBridgeDidDownloadScriptNotificationSourceKey : source ?: [NSNull null],
556
- RCTBridgeDidDownloadScriptNotificationBridgeDescriptionKey : self->_bridgeDescription ?: [NSNull null],
557
- };
558
-
559
- [center postNotificationName:RCTBridgeDidDownloadScriptNotification object:self->_parentBridge userInfo:userInfo];
560
-
561
- _onSourceLoad(error, source);
562
- };
563
-
564
- if ([self.delegate respondsToSelector:@selector(loadSourceForBridge:onProgress:onComplete:)]) {
565
- [self.delegate loadSourceForBridge:_parentBridge onProgress:onProgress onComplete:onSourceLoad];
566
- } else if ([self.delegate respondsToSelector:@selector(loadSourceForBridge:withBlock:)]) {
567
- [self.delegate loadSourceForBridge:_parentBridge withBlock:onSourceLoad];
568
- } else if (!self.bundleURL) {
569
- NSError *error = RCTErrorWithMessage(
570
- @"No bundle URL present.\n\nMake sure you're running a packager "
571
- "server or have included a .jsbundle file in your application bundle.");
572
- onSourceLoad(error, nil);
573
- } else {
574
- __weak RCTCxxBridge *weakSelf = self;
575
- [RCTJavaScriptLoader loadBundleAtURL:self.bundleURL
576
- onProgress:onProgress
577
- onComplete:^(NSError *error, RCTSource *source) {
578
- if (error) {
579
- [weakSelf handleError:error];
580
- return;
581
- }
582
- onSourceLoad(error, source);
583
- }];
584
- }
585
- }
586
-
587
- - (NSArray<Class> *)moduleClasses
588
- {
589
- if (RCT_DEBUG && _valid && _moduleClassesByID == nil) {
590
- RCTLogError(
591
- @"Bridge modules have not yet been initialized. You may be "
592
- "trying to access a module too early in the startup procedure.");
593
- }
594
- return _moduleClassesByID;
595
- }
596
-
597
- /**
598
- * Used by RCTUIManager
599
- */
600
- - (RCTModuleData *)moduleDataForName:(NSString *)moduleName
601
- {
602
- return _moduleDataByName[moduleName];
603
- }
604
-
605
- - (id)moduleForName:(NSString *)moduleName
606
- {
607
- return [self moduleForName:moduleName lazilyLoadIfNecessary:NO];
608
- }
609
-
610
- - (id)moduleForName:(NSString *)moduleName lazilyLoadIfNecessary:(BOOL)lazilyLoad
611
- {
612
- if (RCTTurboModuleEnabled() && _turboModuleRegistry) {
613
- const char *moduleNameCStr = [moduleName UTF8String];
614
- if (lazilyLoad || [_turboModuleRegistry moduleIsInitialized:moduleNameCStr]) {
615
- id<RCTTurboModule> module = [_turboModuleRegistry moduleForName:moduleNameCStr warnOnLookupFailure:NO];
616
- if (module != nil) {
617
- return module;
618
- }
619
- }
620
- }
621
-
622
- if (!lazilyLoad) {
623
- return _moduleDataByName[moduleName].instance;
624
- }
625
-
626
- RCTModuleData *moduleData = _moduleDataByName[moduleName];
627
- if (moduleData) {
628
- if (![moduleData isKindOfClass:[RCTModuleData class]]) {
629
- // There is rare race condition where the data stored in the dictionary
630
- // may have been deallocated, which means the module instance is no longer
631
- // usable.
632
- return nil;
633
- }
634
- return moduleData.instance;
635
- }
636
-
637
- // Module may not be loaded yet, so attempt to force load it here.
638
- // Do this only if the bridge is still valid.
639
- if (_didInvalidate) {
640
- return nil;
641
- }
642
-
643
- const BOOL result = [self.delegate respondsToSelector:@selector(bridge:didNotFindModule:)] &&
644
- [self.delegate bridge:self didNotFindModule:moduleName];
645
- if (result) {
646
- // Try again.
647
- moduleData = _moduleDataByName[moduleName];
648
- #if RCT_DEV
649
- // If the `_moduleDataByName` is nil, it must have been cleared by the reload.
650
- } else if (_moduleDataByName != nil) {
651
- RCTLogError(@"Unable to find module for %@", moduleName);
652
- }
653
- #else
654
- } else {
655
- RCTLogError(@"Unable to find module for %@", moduleName);
656
- }
657
- #endif
658
-
659
- return moduleData.instance;
660
- }
661
-
662
- - (BOOL)moduleIsInitialized:(Class)moduleClass
663
- {
664
- NSString *moduleName = RCTBridgeModuleNameForClass(moduleClass);
665
- if (_moduleDataByName[moduleName].hasInstance) {
666
- return YES;
667
- }
668
-
669
- if (_turboModuleRegistry) {
670
- return [_turboModuleRegistry moduleIsInitialized:[moduleName UTF8String]];
671
- }
672
-
673
- return NO;
674
- }
675
-
676
- - (id)moduleForClass:(Class)moduleClass
677
- {
678
- return [self moduleForName:RCTBridgeModuleNameForClass(moduleClass) lazilyLoadIfNecessary:YES];
679
- }
680
-
681
- - (std::shared_ptr<ModuleRegistry>)_buildModuleRegistryUnlocked
682
- {
683
- if (!self.valid) {
684
- return {};
685
- }
686
-
687
- [_performanceLogger markStartForTag:RCTPLNativeModulePrepareConfig];
688
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge buildModuleRegistry]", nil);
689
-
690
- __weak __typeof(self) weakSelf = self;
691
- ModuleRegistry::ModuleNotFoundCallback moduleNotFoundCallback = ^bool(const std::string &name) {
692
- __strong __typeof(weakSelf) strongSelf = weakSelf;
693
- return [strongSelf.delegate respondsToSelector:@selector(bridge:didNotFindModule:)] &&
694
- [strongSelf.delegate bridge:strongSelf didNotFindModule:@(name.c_str())];
695
- };
696
-
697
- auto registry = std::make_shared<ModuleRegistry>(
698
- createNativeModules(_moduleDataByID, self, _reactInstance), moduleNotFoundCallback);
699
-
700
- [_performanceLogger markStopForTag:RCTPLNativeModulePrepareConfig];
701
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
702
-
703
- return registry;
704
- }
705
-
706
- - (void)_initializeBridge:(std::shared_ptr<JSExecutorFactory>)executorFactory
707
- parentInspectorTarget:(facebook::react::jsinspector_modern::HostTarget *)parentInspectorTarget
708
- {
709
- if (!self.valid) {
710
- return;
711
- }
712
-
713
- __weak RCTCxxBridge *weakSelf = self;
714
- _jsMessageThread = std::make_shared<RCTMessageThread>([NSRunLoop currentRunLoop], ^(NSError *error) {
715
- if (error) {
716
- [weakSelf handleError:error];
717
- }
718
- });
719
-
720
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge initializeBridge:]", nil);
721
- // This can only be false if the bridge was invalidated before startup completed
722
- if (_reactInstance) {
723
- #if RCT_DEV
724
- executorFactory = std::make_shared<GetDescAdapter>(self, executorFactory);
725
- #endif
726
-
727
- [self _initializeBridgeLocked:executorFactory parentInspectorTarget:parentInspectorTarget];
728
-
729
- #if RCT_PROFILE
730
- if (RCTProfileIsProfiling()) {
731
- _reactInstance->setGlobalVariable("__RCTProfileIsProfiling", std::make_unique<JSBigStdString>("true"));
732
- }
733
- #endif
734
- }
735
-
736
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
737
- }
738
-
739
- - (void)_initializeBridgeLocked:(std::shared_ptr<JSExecutorFactory>)executorFactory
740
- parentInspectorTarget:(facebook::react::jsinspector_modern::HostTarget *)parentInspectorTarget
741
- {
742
- std::lock_guard<std::mutex> guard(_moduleRegistryLock);
743
-
744
- // This is async, but any calls into JS are blocked by the m_syncReady CV in Instance
745
- _reactInstance->initializeBridge(
746
- std::make_unique<RCTInstanceCallback>(self),
747
- executorFactory,
748
- _jsMessageThread,
749
- [self _buildModuleRegistryUnlocked],
750
- parentInspectorTarget);
751
- _moduleRegistryCreated = YES;
752
- }
753
-
754
- - (void)updateModuleWithInstance:(id<RCTBridgeModule>)instance
755
- {
756
- NSString *const moduleName = RCTBridgeModuleNameForClass([instance class]);
757
- if (moduleName) {
758
- RCTModuleData *const moduleData = _moduleDataByName[moduleName];
759
- if (moduleData) {
760
- moduleData.instance = instance;
761
- }
762
- }
763
- }
764
-
765
- - (NSArray<RCTModuleData *> *)registerModulesForClasses:(NSArray<Class> *)moduleClasses
766
- {
767
- return [self _registerModulesForClasses:moduleClasses lazilyDiscovered:NO];
768
- }
769
-
770
- - (NSArray<RCTModuleData *> *)_registerModulesForClasses:(NSArray<Class> *)moduleClasses
771
- lazilyDiscovered:(BOOL)lazilyDiscovered
772
- {
773
- RCT_PROFILE_BEGIN_EVENT(
774
- RCTProfileTagAlways, @"-[RCTCxxBridge initModulesWithDispatchGroup:] autoexported moduleData", nil);
775
-
776
- NSArray *moduleClassesCopy = [moduleClasses copy];
777
- NSMutableArray<RCTModuleData *> *moduleDataByID = [NSMutableArray arrayWithCapacity:moduleClassesCopy.count];
778
- for (Class moduleClass in moduleClassesCopy) {
779
- if (RCTTurboModuleEnabled() && [moduleClass conformsToProtocol:@protocol(RCTTurboModule)]) {
780
- continue;
781
- }
782
- NSString *moduleName = RCTBridgeModuleNameForClass(moduleClass);
783
-
784
- // Check for module name collisions
785
- RCTModuleData *moduleData = _moduleDataByName[moduleName];
786
- if (moduleData) {
787
- if (moduleData.hasInstance || lazilyDiscovered) {
788
- // Existing module was preregistered, so it takes precedence
789
- continue;
790
- } else if ([moduleClass new] == nil) {
791
- // The new module returned nil from init, so use the old module
792
- continue;
793
- } else if ([moduleData.moduleClass new] != nil) {
794
- // Both modules were non-nil, so it's unclear which should take precedence
795
- RCTLogWarn(
796
- @"Attempted to register RCTBridgeModule class %@ for the "
797
- "name '%@', but name was already registered by class %@",
798
- moduleClass,
799
- moduleName,
800
- moduleData.moduleClass);
801
- }
802
- }
803
-
804
- // Instantiate moduleData
805
- // TODO #13258411: can we defer this until config generation?
806
- int32_t moduleDataId = getUniqueId();
807
- BridgeNativeModulePerfLogger::moduleDataCreateStart([moduleName UTF8String], moduleDataId);
808
- moduleData = [[RCTModuleData alloc] initWithModuleClass:moduleClass
809
- bridge:self
810
- moduleRegistry:_objCModuleRegistry
811
- viewRegistry_DEPRECATED:_viewRegistry_DEPRECATED
812
- bundleManager:_bundleManager
813
- callableJSModules:_callableJSModules];
814
- moduleData.callInvokerProvider = self;
815
- BridgeNativeModulePerfLogger::moduleDataCreateEnd([moduleName UTF8String], moduleDataId);
816
-
817
- _moduleDataByName[moduleName] = moduleData;
818
- [_moduleClassesByID addObject:moduleClass];
819
- [moduleDataByID addObject:moduleData];
820
- }
821
- [_moduleDataByID addObjectsFromArray:moduleDataByID];
822
-
823
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
824
-
825
- return moduleDataByID;
826
- }
827
-
828
- - (void)registerExtraModules
829
- {
830
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge initModulesWithDispatchGroup:] extraModules", nil);
831
-
832
- NSArray<id<RCTBridgeModule>> *appExtraModules = nil;
833
- if ([self.delegate respondsToSelector:@selector(extraModulesForBridge:)]) {
834
- appExtraModules = [self.delegate extraModulesForBridge:_parentBridge];
835
- } else if (self.moduleProvider) {
836
- appExtraModules = self.moduleProvider();
837
- }
838
-
839
- NSMutableArray<id<RCTBridgeModule>> *extraModules = [NSMutableArray new];
840
-
841
- // Prevent TurboModules from appearing the NativeModule system
842
- for (id<RCTBridgeModule> module in appExtraModules) {
843
- if (!(RCTTurboModuleEnabled() && [module conformsToProtocol:@protocol(RCTTurboModule)])) {
844
- [extraModules addObject:module];
845
- }
846
- }
847
-
848
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
849
-
850
- RCT_PROFILE_BEGIN_EVENT(
851
- RCTProfileTagAlways, @"-[RCTCxxBridge initModulesWithDispatchGroup:] preinitialized moduleData", nil);
852
- // Set up moduleData for pre-initialized module instances
853
- for (id<RCTBridgeModule> module in extraModules) {
854
- Class moduleClass = [module class];
855
- NSString *moduleName = RCTBridgeModuleNameForClass(moduleClass);
856
-
857
- if (RCT_DEBUG) {
858
- // Check for name collisions between preregistered modules
859
- RCTModuleData *moduleData = _moduleDataByName[moduleName];
860
- if (moduleData) {
861
- RCTLogError(
862
- @"Attempted to register RCTBridgeModule class %@ for the "
863
- "name '%@', but name was already registered by class %@",
864
- moduleClass,
865
- moduleName,
866
- moduleData.moduleClass);
867
- continue;
868
- }
869
- }
870
-
871
- if (RCTTurboModuleEnabled() && [module conformsToProtocol:@protocol(RCTTurboModule)]) {
872
- #if RCT_DEBUG
873
- // TODO: don't ask for extra module for when TurboModule is enabled.
874
- RCTLogError(
875
- @"NativeModule '%@' was marked as TurboModule, but provided as an extra NativeModule "
876
- "by the class '%@', ignoring.",
877
- moduleName,
878
- moduleClass);
879
- #endif
880
- continue;
881
- }
882
-
883
- // Instantiate moduleData container
884
- int32_t moduleDataId = getUniqueId();
885
- BridgeNativeModulePerfLogger::moduleDataCreateStart([moduleName UTF8String], moduleDataId);
886
- RCTModuleData *moduleData = [[RCTModuleData alloc] initWithModuleInstance:module
887
- bridge:self
888
- moduleRegistry:_objCModuleRegistry
889
- viewRegistry_DEPRECATED:_viewRegistry_DEPRECATED
890
- bundleManager:_bundleManager
891
- callableJSModules:_callableJSModules];
892
- BridgeNativeModulePerfLogger::moduleDataCreateEnd([moduleName UTF8String], moduleDataId);
893
-
894
- _moduleDataByName[moduleName] = moduleData;
895
- [_moduleClassesByID addObject:moduleClass];
896
- [_moduleDataByID addObject:moduleData];
897
- }
898
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
899
- }
900
-
901
- - (NSArray<RCTModuleData *> *)_initializeModules:(NSArray<Class> *)modules
902
- withDispatchGroup:(dispatch_group_t)dispatchGroup
903
- lazilyDiscovered:(BOOL)lazilyDiscovered
904
- {
905
- // Set up moduleData for automatically-exported modules
906
- NSArray<RCTModuleData *> *moduleDataById = [self _registerModulesForClasses:modules
907
- lazilyDiscovered:lazilyDiscovered];
908
-
909
- if (lazilyDiscovered) {
910
- #if RCT_DEBUG
911
- // Lazily discovered modules do not require instantiation here,
912
- // as they are not allowed to have pre-instantiated instance
913
- // and must not require the main queue.
914
- for (RCTModuleData *moduleData in moduleDataById) {
915
- RCTAssert(
916
- !(moduleData.requiresMainQueueSetup || moduleData.hasInstance),
917
- @"Module \'%@\' requires initialization on the Main Queue or has pre-instantiated, which is not supported for the lazily discovered modules.",
918
- moduleData.name);
919
- }
920
- #endif
921
- } else {
922
- RCT_PROFILE_BEGIN_EVENT(
923
- RCTProfileTagAlways, @"-[RCTCxxBridge initModulesWithDispatchGroup:] moduleData.hasInstance", nil);
924
- // Dispatch module init onto main thread for those modules that require it
925
- // For non-lazily discovered modules we run through the entire set of modules
926
- // that we have, otherwise some modules coming from the delegate
927
- // or module provider block, will not be properly instantiated.
928
- for (RCTModuleData *moduleData in _moduleDataByID) {
929
- if (moduleData.hasInstance && (!moduleData.requiresMainQueueSetup || RCTIsMainQueue())) {
930
- // Modules that were pre-initialized should ideally be set up before
931
- // bridge init has finished, otherwise the caller may try to access the
932
- // module directly rather than via `[bridge moduleForClass:]`, which won't
933
- // trigger the lazy initialization process. If the module cannot safely be
934
- // set up on the current thread, it will instead be async dispatched
935
- // to the main thread to be set up in _prepareModulesWithDispatchGroup:.
936
- (void)[moduleData instance];
937
- }
938
- }
939
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
940
-
941
- // From this point on, RCTDidInitializeModuleNotification notifications will
942
- // be sent the first time a module is accessed.
943
- _moduleSetupComplete = YES;
944
- [self _prepareModulesWithDispatchGroup:dispatchGroup];
945
- }
946
-
947
- #if RCT_PROFILE
948
- if (RCTProfileIsProfiling()) {
949
- // Depends on moduleDataByID being loaded
950
- RCTProfileHookModules(self);
951
- }
952
- #endif
953
- return moduleDataById;
954
- }
955
-
956
- - (void)registerAdditionalModuleClasses:(NSArray<Class> *)modules
957
- {
958
- std::lock_guard<std::mutex> guard(_moduleRegistryLock);
959
- if (_moduleRegistryCreated) {
960
- NSArray<RCTModuleData *> *newModules = [self _initializeModules:modules
961
- withDispatchGroup:NULL
962
- lazilyDiscovered:YES];
963
- assert(_reactInstance); // at this point you must have reactInstance as you already called
964
- // reactInstance->initializeBridge
965
- _reactInstance->getModuleRegistry().registerModules(createNativeModules(newModules, self, _reactInstance));
966
- } else {
967
- [self registerModulesForClasses:modules];
968
- }
969
- }
970
-
971
- - (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
972
- {
973
- RCT_PROFILE_BEGIN_EVENT(0, @"-[RCTCxxBridge _prepareModulesWithDispatchGroup]", nil);
974
-
975
- BOOL initializeImmediately = NO;
976
- if (dispatchGroup == NULL) {
977
- // If no dispatchGroup is passed in, we must prepare everything immediately.
978
- // We better be on the right thread too.
979
- RCTAssertMainQueue();
980
- initializeImmediately = YES;
981
- }
982
-
983
- // Set up modules that require main thread init or constants export
984
- [_performanceLogger setValue:0 forTag:RCTPLNativeModuleMainThread];
985
-
986
- for (RCTModuleData *moduleData in _moduleDataByID) {
987
- if (moduleData.requiresMainQueueSetup) {
988
- // Modules that need to be set up on the main thread cannot be initialized
989
- // lazily when required without doing a dispatch_sync to the main thread,
990
- // which can result in deadlock. To avoid this, we initialize all of these
991
- // modules on the main thread in parallel with loading the JS code, so
992
- // they will already be available before they are ever required.
993
- dispatch_block_t block = ^{
994
- if (self.valid) {
995
- [self->_performanceLogger appendStartForTag:RCTPLNativeModuleMainThread];
996
- (void)[moduleData instance];
997
- [moduleData gatherConstants];
998
- [self->_performanceLogger appendStopForTag:RCTPLNativeModuleMainThread];
999
- }
1000
- };
1001
-
1002
- if (initializeImmediately && RCTIsMainQueue()) {
1003
- block();
1004
- } else {
1005
- // We've already checked that dispatchGroup is non-null, but this satisfies the
1006
- // Xcode analyzer
1007
- if (dispatchGroup) {
1008
- dispatch_group_async(dispatchGroup, dispatch_get_main_queue(), block);
1009
- }
1010
- }
1011
- _modulesInitializedOnMainQueue++;
1012
- }
1013
- }
1014
- [_performanceLogger setValue:_modulesInitializedOnMainQueue forTag:RCTPLNativeModuleMainThreadUsesCount];
1015
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
1016
- }
1017
-
1018
- - (void)registerModuleForFrameUpdates:(id<RCTBridgeModule>)module withModuleData:(RCTModuleData *)moduleData
1019
- {
1020
- id<RCTDisplayLinkModuleHolder> moduleHolder =
1021
- [[RCTBridgeDisplayLinkModuleHolder alloc] initWithModuleData:moduleData];
1022
- [_displayLink registerModuleForFrameUpdates:module withModuleHolder:moduleHolder];
1023
- }
1024
-
1025
- - (void)executeSourceCode:(NSData *)sourceCode withSourceURL:(NSURL *)url sync:(BOOL)sync
1026
- {
1027
- // This will get called from whatever thread was actually executing JS.
1028
- dispatch_block_t completion = ^{
1029
- // Log start up metrics early before processing any other js calls
1030
- [self logStartupFinish];
1031
- // Flush pending calls immediately so we preserve ordering
1032
- [self _flushPendingCalls];
1033
-
1034
- // Perform the state update and notification on the main thread, so we can't run into
1035
- // timing issues with RCTRootView
1036
- dispatch_async(dispatch_get_main_queue(), ^{
1037
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTJavaScriptDidLoadNotification
1038
- object:self->_parentBridge
1039
- userInfo:@{@"bridge" : self}];
1040
-
1041
- // Starting the display link is not critical to startup, so do it last
1042
- [self ensureOnJavaScriptThread:^{
1043
- // Register the display link to start sending js calls after everything is setup
1044
- [self->_displayLink addToRunLoop:[NSRunLoop currentRunLoop]];
1045
- }];
1046
- });
1047
- };
1048
-
1049
- if (sync) {
1050
- [self executeApplicationScriptSync:sourceCode url:url];
1051
- completion();
1052
- } else {
1053
- [self enqueueApplicationScript:sourceCode url:url onComplete:completion];
1054
- }
1055
-
1056
- // Use the original request URL here - HMRClient uses this to derive the /hot URL and entry point.
1057
- [self.devSettings setupHMRClientWithBundleURL:self.bundleURL];
1058
- }
1059
-
1060
- - (void)handleError:(NSError *)error
1061
- {
1062
- // This is generally called when the infrastructure throws an
1063
- // exception while calling JS. Most product exceptions will not go
1064
- // through this method, but through RCTExceptionManager.
1065
-
1066
- // There are three possible states:
1067
- // 1. initializing == _valid && _loading
1068
- // 2. initializing/loading finished (success or failure) == _valid && !_loading
1069
- // 3. invalidated == !_valid && !_loading
1070
-
1071
- // !_valid && _loading can't happen.
1072
-
1073
- // In state 1: on main queue, move to state 2, reset the bridge, and RCTFatal.
1074
- // In state 2: go directly to RCTFatal. Do not enqueue, do not collect $200.
1075
- // In state 3: do nothing.
1076
-
1077
- if (self->_valid && !self->_loading) {
1078
- if ([error userInfo][RCTJSRawStackTraceKey]) {
1079
- RCTRedBox *redBox = RCTRedBoxGetEnabled() ? [self.moduleRegistry moduleForName:"RedBox"] : nil;
1080
- [redBox showErrorMessage:[error localizedDescription] withRawStack:[error userInfo][RCTJSRawStackTraceKey]];
1081
- }
1082
-
1083
- RCTFatal(error);
1084
-
1085
- // RN will stop, but let the rest of the app keep going.
1086
- return;
1087
- }
1088
-
1089
- if (!_valid || !_loading) {
1090
- return;
1091
- }
1092
-
1093
- // Hack: once the bridge is invalidated below, it won't initialize any new native
1094
- // modules. Initialize the redbox module now so we can still report this error.
1095
- RCTRedBox *redBox = RCTRedBoxGetEnabled() ? [self.moduleRegistry moduleForName:"RedBox"] : nil;
1096
-
1097
- _loading = NO;
1098
- _valid = NO;
1099
- _moduleRegistryCreated = NO;
1100
-
1101
- dispatch_async(dispatch_get_main_queue(), ^{
1102
- if (self->_jsMessageThread) {
1103
- // Make sure initializeBridge completed
1104
- self->_jsMessageThread->runOnQueueSync([] {});
1105
- }
1106
-
1107
- self->_reactInstance.reset();
1108
- self->_jsMessageThread.reset();
1109
-
1110
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTJavaScriptDidFailToLoadNotification
1111
- object:self->_parentBridge
1112
- userInfo:@{@"bridge" : self, @"error" : error}];
1113
-
1114
- if ([error userInfo][RCTJSRawStackTraceKey]) {
1115
- [redBox showErrorMessage:[error localizedDescription] withRawStack:[error userInfo][RCTJSRawStackTraceKey]];
1116
- }
1117
-
1118
- RCTFatal(error);
1119
- });
1120
- }
1121
-
1122
- RCT_NOT_IMPLEMENTED(-(instancetype)initWithDelegate : (__unused id<RCTBridgeDelegate>)delegate bundleURL : (
1123
- __unused NSURL *)bundleURL moduleProvider : (__unused RCTBridgeModuleListProvider)
1124
- block launchOptions : (__unused NSDictionary *)launchOptions)
1125
-
1126
- RCT_NOT_IMPLEMENTED(-(instancetype)initWithBundleURL : (__unused NSURL *)bundleURL moduleProvider : (
1127
- __unused RCTBridgeModuleListProvider)block launchOptions : (__unused NSDictionary *)launchOptions)
1128
-
1129
- /**
1130
- * Prevent super from calling setUp (that'd create another batchedBridge)
1131
- */
1132
- - (void)setUp
1133
- {
1134
- }
1135
-
1136
- - (Class)executorClass
1137
- {
1138
- return _parentBridge.executorClass;
1139
- }
1140
-
1141
- - (void)setExecutorClass:(Class)executorClass
1142
- {
1143
- RCTAssertMainQueue();
1144
-
1145
- _parentBridge.executorClass = executorClass;
1146
- }
1147
-
1148
- - (NSURL *)bundleURL
1149
- {
1150
- return _parentBridge.bundleURL;
1151
- }
1152
-
1153
- - (void)setBundleURL:(NSURL *)bundleURL
1154
- {
1155
- _parentBridge.bundleURL = bundleURL;
1156
- }
1157
-
1158
- - (id<RCTBridgeDelegate>)delegate
1159
- {
1160
- return _parentBridge.delegate;
1161
- }
1162
-
1163
- - (void)dispatchBlock:(dispatch_block_t)block queue:(dispatch_queue_t)queue
1164
- {
1165
- if (queue == RCTJSThread) {
1166
- [self ensureOnJavaScriptThread:block];
1167
- } else if (queue) {
1168
- dispatch_async(queue, block);
1169
- }
1170
- }
1171
-
1172
- #pragma mark - RCTInvalidating
1173
-
1174
- - (void)invalidate
1175
- {
1176
- if (_didInvalidate) {
1177
- return;
1178
- }
1179
-
1180
- RCTAssertMainQueue();
1181
- RCTLogInfo(@"Invalidating %@ (parent: %@, executor: %@)", self, _parentBridge, [self executorClass]);
1182
-
1183
- if (self->_reactInstance) {
1184
- // Do this synchronously on the main thread to fulfil unregisterFromInspector's
1185
- // requirements.
1186
- self->_reactInstance->unregisterFromInspector();
1187
- }
1188
-
1189
- _loading = NO;
1190
- _valid = NO;
1191
- _didInvalidate = YES;
1192
- _moduleRegistryCreated = NO;
1193
-
1194
- if ([RCTBridge currentBridge] == self) {
1195
- [RCTBridge setCurrentBridge:nil];
1196
- }
1197
-
1198
- // Stop JS instance and message thread
1199
- [self ensureOnJavaScriptThread:^{
1200
- [self->_displayLink invalidate];
1201
- self->_displayLink = nil;
1202
-
1203
- if (RCTProfileIsProfiling()) {
1204
- RCTProfileUnhookModules(self);
1205
- }
1206
-
1207
- // Invalidate modules
1208
-
1209
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTBridgeWillInvalidateModulesNotification
1210
- object:self->_parentBridge
1211
- userInfo:@{@"bridge" : self}];
1212
-
1213
- // We're on the JS thread (which we'll be suspending soon), so no new calls will be made to native modules after
1214
- // this completes. We must ensure all previous calls were dispatched before deallocating the instance (and module
1215
- // wrappers) or we may have invalid pointers still in flight.
1216
- dispatch_group_t moduleInvalidation = dispatch_group_create();
1217
- for (RCTModuleData *moduleData in self->_moduleDataByID) {
1218
- // Be careful when grabbing an instance here, we don't want to instantiate
1219
- // any modules just to invalidate them.
1220
- if (![moduleData hasInstance]) {
1221
- continue;
1222
- }
1223
-
1224
- if ([moduleData.instance respondsToSelector:@selector(invalidate)]) {
1225
- dispatch_group_enter(moduleInvalidation);
1226
- [self
1227
- dispatchBlock:^{
1228
- [(id<RCTInvalidating>)moduleData.instance invalidate];
1229
- dispatch_group_leave(moduleInvalidation);
1230
- }
1231
- queue:moduleData.methodQueue];
1232
- }
1233
- [moduleData invalidate];
1234
- }
1235
-
1236
- if (dispatch_group_wait(moduleInvalidation, dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_SEC))) {
1237
- RCTLogError(@"Timed out waiting for modules to be invalidated");
1238
- }
1239
-
1240
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTBridgeDidInvalidateModulesNotification
1241
- object:self->_parentBridge
1242
- userInfo:@{@"bridge" : self}];
1243
-
1244
- self->_reactInstance.reset();
1245
- self->_jsMessageThread.reset();
1246
-
1247
- self->_moduleDataByName = nil;
1248
- self->_moduleDataByID = nil;
1249
- self->_moduleClassesByID = nil;
1250
- self->_pendingCalls = nil;
1251
-
1252
- [self->_jsThread cancel];
1253
- self->_jsThread = nil;
1254
- CFRunLoopStop(CFRunLoopGetCurrent());
1255
- }];
1256
- }
1257
-
1258
- - (void)logMessage:(NSString *)message level:(NSString *)level
1259
- {
1260
- if (RCT_DEBUG && _valid) {
1261
- [self enqueueJSCall:@"RCTLog" method:@"logIfNoNativeHook" args:@[ level, message ] completion:NULL];
1262
- }
1263
- }
1264
-
1265
- #pragma mark - RCTBridge methods
1266
-
1267
- - (void)_runAfterLoad:(RCTPendingCall)block
1268
- {
1269
- // Ordering here is tricky. Ideally, the C++ bridge would provide
1270
- // functionality to defer calls until after the app is loaded. Until that
1271
- // happens, we do this. _pendingCount keeps a count of blocks which have
1272
- // been deferred. It is incremented using an atomic barrier call before each
1273
- // block is added to the js queue, and decremented using an atomic barrier
1274
- // call after the block is executed. If _pendingCount is zero, there is no
1275
- // work either in the js queue, or in _pendingCalls, so it is safe to add new
1276
- // work to the JS queue directly.
1277
-
1278
- if (self.loading || _pendingCount > 0) {
1279
- // From the callers' perspective:
1280
-
1281
- // Phase 1: jsQueueBlocks are added to the queue; _pendingCount is
1282
- // incremented for each. If the first block is created after self.loading is
1283
- // true, phase 1 will be nothing.
1284
- _pendingCount++;
1285
- dispatch_block_t jsQueueBlock = ^{
1286
- // From the perspective of the JS queue:
1287
- if (self.loading) {
1288
- // Phase A: jsQueueBlocks are executed. self.loading is true, so they
1289
- // are added to _pendingCalls.
1290
- [self->_pendingCalls addObject:block];
1291
- } else {
1292
- // Phase C: More jsQueueBlocks are executed. self.loading is false, so
1293
- // each block is executed, adding work to the queue, and _pendingCount is
1294
- // decremented.
1295
- block();
1296
- self->_pendingCount--;
1297
- }
1298
- };
1299
- [self ensureOnJavaScriptThread:jsQueueBlock];
1300
- } else {
1301
- // Phase 2/Phase D: blocks are executed directly, adding work to the JS queue.
1302
- block();
1303
- }
1304
- }
1305
-
1306
- - (void)logStartupFinish
1307
- {
1308
- // Log metrics about native requires during the bridge startup.
1309
- uint64_t nativeRequiresCount = [_performanceLogger valueForTag:RCTPLRAMNativeRequiresCount];
1310
- [_performanceLogger setValue:nativeRequiresCount forTag:RCTPLRAMStartupNativeRequiresCount];
1311
- uint64_t nativeRequires = [_performanceLogger valueForTag:RCTPLRAMNativeRequires];
1312
- [_performanceLogger setValue:nativeRequires forTag:RCTPLRAMStartupNativeRequires];
1313
-
1314
- [_performanceLogger markStopForTag:RCTPLBridgeStartup];
1315
- }
1316
-
1317
- - (void)_flushPendingCalls
1318
- {
1319
- RCT_PROFILE_BEGIN_EVENT(0, @"Processing pendingCalls", @{@"count" : [@(_pendingCalls.count) stringValue]});
1320
- // Phase B: _flushPendingCalls happens. Each block in _pendingCalls is
1321
- // executed, adding work to the queue, and _pendingCount is decremented.
1322
- // loading is set to NO.
1323
- NSArray<RCTPendingCall> *pendingCalls = _pendingCalls;
1324
- _pendingCalls = nil;
1325
- for (RCTPendingCall call in pendingCalls) {
1326
- call();
1327
- _pendingCount--;
1328
- }
1329
- _loading = NO;
1330
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
1331
- }
1332
-
1333
- /**
1334
- * Public. Can be invoked from any thread.
1335
- */
1336
- - (void)enqueueJSCall:(NSString *)module
1337
- method:(NSString *)method
1338
- args:(NSArray *)args
1339
- completion:(dispatch_block_t)completion
1340
- {
1341
- if (!self.valid) {
1342
- return;
1343
- }
1344
-
1345
- /**
1346
- * AnyThread
1347
- */
1348
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge enqueueJSCall:]", nil);
1349
-
1350
- RCTProfileBeginFlowEvent();
1351
- __weak __typeof(self) weakSelf = self;
1352
- [self _runAfterLoad:^() {
1353
- RCTProfileEndFlowEvent();
1354
- __strong __typeof(weakSelf) strongSelf = weakSelf;
1355
- if (!strongSelf) {
1356
- return;
1357
- }
1358
-
1359
- if (strongSelf->_reactInstance) {
1360
- strongSelf->_reactInstance->callJSFunction(
1361
- [module UTF8String], [method UTF8String], convertIdToFollyDynamic(args ?: @[]));
1362
-
1363
- // ensureOnJavaScriptThread may execute immediately, so use jsMessageThread, to make sure
1364
- // the block is invoked after callJSFunction
1365
- if (completion) {
1366
- if (strongSelf->_jsMessageThread) {
1367
- strongSelf->_jsMessageThread->runOnQueue(completion);
1368
- } else {
1369
- RCTLogWarn(@"Can't invoke completion without messageThread");
1370
- }
1371
- }
1372
- }
1373
- }];
1374
-
1375
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
1376
- }
1377
-
1378
- /**
1379
- * Called by RCTModuleMethod from any thread.
1380
- */
1381
- - (void)enqueueCallback:(NSNumber *)cbID args:(NSArray *)args
1382
- {
1383
- if (!self.valid) {
1384
- return;
1385
- }
1386
-
1387
- /**
1388
- * AnyThread
1389
- */
1390
-
1391
- RCTProfileBeginFlowEvent();
1392
- __weak __typeof(self) weakSelf = self;
1393
- [self _runAfterLoad:^() {
1394
- RCTProfileEndFlowEvent();
1395
- __strong __typeof(weakSelf) strongSelf = weakSelf;
1396
- if (!strongSelf) {
1397
- return;
1398
- }
1399
-
1400
- if (strongSelf->_reactInstance) {
1401
- strongSelf->_reactInstance->callJSCallback([cbID unsignedLongLongValue], convertIdToFollyDynamic(args ?: @[]));
1402
- }
1403
- }];
1404
- }
1405
-
1406
- /**
1407
- * Private hack to support `setTimeout(fn, 0)`
1408
- */
1409
- - (void)_immediatelyCallTimer:(NSNumber *)timer
1410
- {
1411
- if (_reactInstance) {
1412
- _reactInstance->callJSFunction(
1413
- "JSTimers", "callTimers", folly::dynamic::array(folly::dynamic::array([timer doubleValue])));
1414
- }
1415
- }
1416
-
1417
- - (void)enqueueApplicationScript:(NSData *)script url:(NSURL *)url onComplete:(dispatch_block_t)onComplete
1418
- {
1419
- RCT_PROFILE_BEGIN_EVENT(RCTProfileTagAlways, @"-[RCTCxxBridge enqueueApplicationScript]", nil);
1420
-
1421
- [self executeApplicationScript:script url:url async:YES];
1422
-
1423
- RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
1424
-
1425
- // Assumes that onComplete can be called when the next block on the JS thread is scheduled
1426
- if (onComplete) {
1427
- RCTAssert(_jsMessageThread != nullptr, @"Cannot invoke completion without jsMessageThread");
1428
- _jsMessageThread->runOnQueue(onComplete);
1429
- }
1430
- }
1431
-
1432
- - (void)executeApplicationScriptSync:(NSData *)script url:(NSURL *)url
1433
- {
1434
- [self executeApplicationScript:script url:url async:NO];
1435
- }
1436
-
1437
- - (void)executeApplicationScript:(NSData *)script url:(NSURL *)url async:(BOOL)async
1438
- {
1439
- [self _tryAndHandleError:^{
1440
- NSString *sourceUrlStr = deriveSourceURL(url);
1441
- [[NSNotificationCenter defaultCenter] postNotificationName:RCTJavaScriptWillStartExecutingNotification
1442
- object:self->_parentBridge
1443
- userInfo:@{@"bridge" : self}];
1444
-
1445
- BundleHeader header;
1446
- [script getBytes:&header length:sizeof(header)];
1447
- ScriptTag scriptType = parseTypeFromHeader(header);
1448
-
1449
- // hold a local reference to reactInstance in case a parallel thread
1450
- // resets it between null check and usage
1451
- auto reactInstance = self->_reactInstance;
1452
- if (scriptType == ScriptTag::RAMBundle) {
1453
- [self->_performanceLogger markStartForTag:RCTPLRAMBundleLoad];
1454
- auto ramBundle = std::make_unique<JSIndexedRAMBundle>(sourceUrlStr.UTF8String);
1455
- std::unique_ptr<const JSBigString> scriptStr = ramBundle->getStartupCode();
1456
- [self->_performanceLogger markStopForTag:RCTPLRAMBundleLoad];
1457
- [self->_performanceLogger setValue:scriptStr->size() forTag:RCTPLRAMStartupCodeSize];
1458
- if (reactInstance) {
1459
- auto registry =
1460
- RAMBundleRegistry::multipleBundlesRegistry(std::move(ramBundle), JSIndexedRAMBundle::buildFactory());
1461
- reactInstance->loadRAMBundle(std::move(registry), std::move(scriptStr), sourceUrlStr.UTF8String, !async);
1462
- }
1463
- } else if (reactInstance) {
1464
- reactInstance->loadScriptFromString(std::make_unique<NSDataBigString>(script), sourceUrlStr.UTF8String, !async);
1465
- } else {
1466
- std::string methodName = async ? "loadBundle" : "loadBundleSync";
1467
- throw std::logic_error("Attempt to call " + methodName + ": on uninitialized bridge");
1468
- }
1469
- }];
1470
- }
1471
-
1472
- - (void)registerSegmentWithId:(NSUInteger)segmentId path:(NSString *)path
1473
- {
1474
- if (_reactInstance) {
1475
- _reactInstance->registerBundle(static_cast<uint32_t>(segmentId), path.UTF8String);
1476
- }
1477
- }
1478
-
1479
- #pragma mark - Payload Processing
1480
-
1481
- - (void)batchDidComplete
1482
- {
1483
- // TODO #12592471: batchDidComplete is only used by RCTUIManager,
1484
- // can we eliminate this special case?
1485
- for (RCTModuleData *moduleData in _moduleDataByID) {
1486
- if (moduleData.implementsBatchDidComplete) {
1487
- [self
1488
- dispatchBlock:^{
1489
- [moduleData.instance batchDidComplete];
1490
- }
1491
- queue:moduleData.methodQueue];
1492
- }
1493
- }
1494
- }
1495
-
1496
- - (void)startProfiling
1497
- {
1498
- RCTAssertMainQueue();
1499
-
1500
- [self ensureOnJavaScriptThread:^{
1501
- RCTProfileInit(self);
1502
-
1503
- [self enqueueJSCall:@"Systrace" method:@"setEnabled" args:@[ @YES ] completion:NULL];
1504
- }];
1505
- }
1506
-
1507
- - (void)stopProfiling:(void (^)(NSData *))callback
1508
- {
1509
- RCTAssertMainQueue();
1510
-
1511
- [self ensureOnJavaScriptThread:^{
1512
- [self enqueueJSCall:@"Systrace" method:@"setEnabled" args:@[ @NO ] completion:NULL];
1513
- RCTProfileEnd(self, ^(NSString *log) {
1514
- NSData *logData = [log dataUsingEncoding:NSUTF8StringEncoding];
1515
- callback(logData);
1516
- });
1517
- }];
1518
- }
1519
-
1520
- - (BOOL)isBatchActive
1521
- {
1522
- return _reactInstance ? _reactInstance->isBatchActive() : NO;
1523
- }
1524
-
1525
- - (void *)runtime
1526
- {
1527
- if (!_reactInstance) {
1528
- return nullptr;
1529
- }
1530
-
1531
- return _reactInstance->getJavaScriptContext();
1532
- }
1533
-
1534
- - (void)invokeAsync:(CallFunc &&)func
1535
- {
1536
- __block auto retainedFunc = std::move(func);
1537
- __weak __typeof(self) weakSelf = self;
1538
- [self _runAfterLoad:^{
1539
- __strong __typeof(self) strongSelf = weakSelf;
1540
-
1541
- if (std::shared_ptr<CallInvoker> jsInvoker = strongSelf.jsCallInvoker) {
1542
- jsInvoker->invokeAsync(std::move(retainedFunc));
1543
- }
1544
- }];
1545
- }
1546
-
1547
- #pragma mark - RCTBridge (RCTTurboModule)
1548
-
1549
- - (std::shared_ptr<CallInvoker>)jsCallInvoker
1550
- {
1551
- return _reactInstance ? _reactInstance->getJSCallInvoker() : nullptr;
1552
- }
1553
-
1554
- - (std::shared_ptr<NativeMethodCallInvoker>)decorateNativeMethodCallInvoker:
1555
- (std::shared_ptr<NativeMethodCallInvoker>)nativeInvoker
1556
- {
1557
- return _reactInstance ? _reactInstance->getDecoratedNativeMethodCallInvoker(nativeInvoker) : nullptr;
1558
- }
1559
-
1560
- #pragma mark - RCTModuleDataCallInvokerProvider
1561
-
1562
- - (RCTCallInvoker *)callInvokerForModuleData:(RCTModuleData *)moduleData
1563
- {
1564
- return [[RCTCallInvoker alloc] initWithCallInvoker:self.jsCallInvoker];
1565
- }
1566
-
1567
- @end
1568
-
1569
- #else // RCT_REMOVE_LEGACY_ARCH
1570
- @implementation RCTCxxBridge
1571
- @end
1572
- #endif // RCT_REMOVE_LEGACY_ARCH