react-native-tvos 0.86.0-2 → 0.87.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1076) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +19 -24
  2. package/Libraries/Alert/Alert.js +38 -1
  3. package/Libraries/Animated/AnimatedExports.js +22 -0
  4. package/Libraries/Animated/AnimatedExports.js.flow +1 -1
  5. package/Libraries/Animated/AnimatedImplementation.js +120 -3
  6. package/Libraries/Animated/Easing.js +4 -3
  7. package/Libraries/Animated/NativeAnimatedAllowlist.js +37 -0
  8. package/Libraries/Animated/animations/Animation.js +14 -5
  9. package/Libraries/Animated/animations/DecayAnimation.js +1 -0
  10. package/Libraries/Animated/animations/SpringAnimation.js +1 -0
  11. package/Libraries/Animated/animations/TimingAnimation.js +9 -0
  12. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  13. package/Libraries/Animated/nodes/AnimatedColor.js +8 -8
  14. package/Libraries/Animated/nodes/AnimatedInterpolation.js +106 -0
  15. package/Libraries/Animated/nodes/AnimatedProps.js +27 -3
  16. package/Libraries/Animated/nodes/AnimatedValue.js +8 -0
  17. package/Libraries/Animated/nodes/AnimatedValueXY.js +2 -2
  18. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -9
  19. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -20
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.h +0 -18
  21. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +0 -78
  22. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +18 -17
  23. package/Libraries/AppDelegate/RCTReactNativeFactory.h +5 -41
  24. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +0 -82
  25. package/Libraries/AppDelegate/RCTRootViewFactory.h +4 -1
  26. package/Libraries/AppDelegate/RCTRootViewFactory.mm +3 -98
  27. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -0
  28. package/Libraries/AppState/AppState.d.ts +4 -1
  29. package/Libraries/AppState/AppState.js +32 -17
  30. package/Libraries/BatchedBridge/MessageQueue.js +42 -51
  31. package/Libraries/BatchedBridge/NativeModules.js +7 -0
  32. package/Libraries/Blob/Blob.js +7 -1
  33. package/Libraries/Blob/FileReader.js +6 -0
  34. package/Libraries/Blob/URLSearchParams.js.flow +1 -1
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +20 -9
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -43
  37. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +59 -49
  38. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  39. package/Libraries/Components/Button.js +96 -182
  40. package/Libraries/Components/Clipboard/Clipboard.js +5 -0
  41. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  42. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +8 -69
  43. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +10 -1
  44. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +2 -0
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +26 -31
  46. package/Libraries/Components/Keyboard/Keyboard.js +23 -60
  47. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +15 -7
  48. package/Libraries/Components/Pressable/Pressable.js +39 -17
  49. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +5 -6
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +4 -4
  51. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +17 -0
  53. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  54. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  55. package/Libraries/Components/RefreshControl/RefreshControl.js +40 -50
  56. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  57. package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -8
  58. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  59. package/Libraries/Components/ScrollView/ScrollView.d.ts +55 -43
  60. package/Libraries/Components/ScrollView/ScrollView.js +202 -115
  61. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  62. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  63. package/Libraries/Components/StatusBar/StatusBar.d.ts +7 -54
  64. package/Libraries/Components/StatusBar/StatusBar.js +85 -161
  65. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  66. package/Libraries/Components/Switch/Switch.js +76 -75
  67. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  68. package/Libraries/Components/TV/TVEventHandler.js +16 -1
  69. package/Libraries/Components/TextInput/InputAccessoryView.js +13 -61
  70. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  71. package/Libraries/Components/TextInput/TextInput.d.ts +9 -2
  72. package/Libraries/Components/TextInput/TextInput.flow.js +19 -2
  73. package/Libraries/Components/TextInput/TextInput.js +116 -111
  74. package/Libraries/Components/TextInput/TextInputNativeCommands.js +3 -3
  75. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +25 -19
  76. package/Libraries/Components/Touchable/Touchable.js +94 -95
  77. package/Libraries/Components/Touchable/TouchableHighlight.js +46 -114
  78. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +13 -25
  79. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -84
  80. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +4 -3
  81. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  82. package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -0
  83. package/Libraries/Components/View/View.js +85 -64
  84. package/Libraries/Components/View/ViewAccessibility.d.ts +11 -1
  85. package/Libraries/Components/View/ViewAccessibility.js +16 -5
  86. package/Libraries/Components/View/ViewNativeComponent.js +6 -8
  87. package/Libraries/Components/View/ViewPropTypes.js +55 -9
  88. package/Libraries/Core/InitializeCore.js +9 -1
  89. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  90. package/Libraries/Core/ReactNativeVersion.js +2 -2
  91. package/Libraries/Core/Timers/JSTimers.js +53 -52
  92. package/Libraries/Core/setUpGlobals.js +9 -4
  93. package/Libraries/Core/setUpNavigator.js +6 -1
  94. package/Libraries/Core/setUpReactDevTools.js +0 -118
  95. package/Libraries/Core/setUpXHR.js +6 -2
  96. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  97. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  98. package/Libraries/EventEmitter/NativeEventEmitter.js +29 -0
  99. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -7
  100. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +3 -0
  101. package/Libraries/Image/AssetSourceResolver.js +18 -27
  102. package/Libraries/Image/Image.android.js +13 -2
  103. package/Libraries/Image/Image.ios.js +3 -1
  104. package/Libraries/Image/ImageBackground.js +30 -18
  105. package/Libraries/Image/ImageProps.js +116 -117
  106. package/Libraries/Image/ImageSource.d.ts +1 -1
  107. package/Libraries/Image/ImageSource.js +9 -9
  108. package/Libraries/Image/ImageSourceUtils.js +10 -7
  109. package/Libraries/Image/ImageTypes.flow.js +2 -0
  110. package/Libraries/Image/ImageViewNativeComponent.js +1 -1
  111. package/Libraries/Image/RCTImageLoader.mm +60 -63
  112. package/Libraries/Image/RCTImageStoreManager.h +0 -2
  113. package/Libraries/Image/RelativeImageStub.js +1 -1
  114. package/Libraries/Image/resolveAssetSource.js +1 -1
  115. package/Libraries/Interaction/PanResponder.js +102 -97
  116. package/Libraries/LayoutAnimation/LayoutAnimation.js +22 -6
  117. package/Libraries/Linking/Linking.js +24 -23
  118. package/Libraries/Lists/FlatList.d.ts +6 -17
  119. package/Libraries/Lists/FlatList.js +7 -8
  120. package/Libraries/Lists/SectionList.js +7 -0
  121. package/Libraries/Lists/VirtualizedList.js +3 -0
  122. package/Libraries/Lists/VirtualizedSectionList.js +4 -0
  123. package/Libraries/LogBox/LogBox.js +3 -3
  124. package/Libraries/LogBox/UI/AnsiHighlight.js +2 -1
  125. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +2 -2
  126. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +4 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +3 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +9 -2
  130. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +17 -4
  131. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -1
  132. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -1
  133. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -0
  134. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
  135. package/Libraries/LogBox/UI/LogBoxMessage.js +18 -5
  136. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +4 -1
  137. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +1 -0
  138. package/Libraries/LogBox/UI/LogBoxStyle.js +0 -4
  139. package/Libraries/Modal/Modal.d.ts +5 -4
  140. package/Libraries/Modal/Modal.js +71 -37
  141. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  142. package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -0
  143. package/Libraries/NativeComponent/ViewConfig.js +3 -3
  144. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  145. package/Libraries/Network/RCTHTTPRequestHandler.h +1 -1
  146. package/Libraries/Performance/Systrace.js +36 -0
  147. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +4 -2
  148. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +29 -17
  149. package/Libraries/Pressability/Pressability.js +1 -1
  150. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +4 -0
  151. package/Libraries/ReactNative/AppContainer-dev.js +3 -1
  152. package/Libraries/ReactNative/AppRegistry.flow.js +1 -0
  153. package/Libraries/ReactNative/AppRegistry.js +15 -11
  154. package/Libraries/ReactNative/AppRegistryImpl.js +57 -11
  155. package/Libraries/ReactNative/DisplayMode.js +1 -1
  156. package/Libraries/ReactNative/FabricUIManager.js +29 -26
  157. package/Libraries/ReactNative/I18nManager.js +20 -0
  158. package/Libraries/ReactNative/UIManager.js +53 -0
  159. package/Libraries/ReactNative/renderApplication.js +1 -1
  160. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -126
  161. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +5 -41
  162. package/Libraries/Renderer/shims/ReactNativeTypes.js +36 -36
  163. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +4 -4
  164. package/Libraries/Settings/Settings.ios.js +22 -0
  165. package/Libraries/Share/Share.js +25 -28
  166. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +6 -0
  167. package/Libraries/StyleSheet/StyleSheet.js +42 -2
  168. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  169. package/Libraries/StyleSheet/StyleSheetExports.js +7 -5
  170. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  171. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +24 -3
  172. package/Libraries/StyleSheet/StyleSheetTypes.js +34 -6
  173. package/Libraries/StyleSheet/flattenStyle.js +28 -13
  174. package/Libraries/StyleSheet/private/_TransformStyle.js +16 -14
  175. package/Libraries/Text/Text.js +12 -9
  176. package/Libraries/Text/TextEffectNativeComponent.js +31 -0
  177. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +0 -1
  178. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -1
  179. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +0 -1
  180. package/Libraries/Text/TextProps.js +59 -93
  181. package/Libraries/Text/requireNativeTextEffect.js +28 -0
  182. package/Libraries/TurboModule/RCTExport.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.d.ts +8 -0
  184. package/Libraries/Types/CoreEventTypes.js +32 -29
  185. package/Libraries/Types/UIManagerJSInterface.js +2 -2
  186. package/Libraries/Utilities/Appearance.d.ts +32 -17
  187. package/Libraries/Utilities/Appearance.js +35 -18
  188. package/Libraries/Utilities/BackHandler.android.js +13 -33
  189. package/Libraries/Utilities/BackHandler.js.flow +18 -2
  190. package/Libraries/Utilities/DevSettings.js +8 -1
  191. package/Libraries/Utilities/Dimensions.js +18 -12
  192. package/Libraries/Utilities/PixelRatio.js +5 -2
  193. package/Libraries/Utilities/Platform.js.flow +4 -0
  194. package/Libraries/Utilities/PlatformTypes.js +77 -0
  195. package/Libraries/Utilities/differ/deepDiffer.js +5 -2
  196. package/Libraries/Utilities/useColorScheme.js +11 -1
  197. package/Libraries/Utilities/useWindowDimensions.js +6 -0
  198. package/Libraries/Vibration/Vibration.js +14 -11
  199. package/Libraries/vendor/emitter/EventEmitter.js +3 -3
  200. package/React/Base/RCTBridge+Private.h +0 -22
  201. package/React/Base/RCTBridge.h +10 -8
  202. package/React/Base/RCTBridge.mm +5 -447
  203. package/React/Base/RCTBridgeDelegate.h +1 -56
  204. package/React/Base/RCTBridgeModule.h +0 -9
  205. package/React/Base/RCTBridgeProxy.h +8 -0
  206. package/React/Base/RCTBridgeProxy.mm +3 -20
  207. package/React/Base/RCTBundleManager.h +0 -3
  208. package/React/Base/RCTBundleManager.m +0 -31
  209. package/React/Base/RCTBundleURLProvider.mm +4 -4
  210. package/React/Base/RCTCallableJSModules.m +0 -18
  211. package/React/Base/RCTConstants.h +1 -0
  212. package/React/Base/RCTConstants.m +1 -0
  213. package/React/Base/RCTConvert.mm +3 -0
  214. package/React/Base/RCTDisplayLink.h +3 -1
  215. package/React/Base/RCTJavaScriptExecutor.h +0 -69
  216. package/React/Base/RCTModuleData.mm +2 -483
  217. package/React/Base/RCTModuleRegistry.m +0 -25
  218. package/React/Base/RCTRootView.h +0 -11
  219. package/React/Base/RCTRootView.m +3 -461
  220. package/React/Base/RCTUtils.h +0 -3
  221. package/React/Base/RCTUtils.mm +17 -27
  222. package/React/Base/RCTVersion.m +2 -2
  223. package/React/Base/RCTViewRegistry.m +1 -29
  224. package/React/Base/Surface/RCTSurface.mm +1 -582
  225. package/React/Base/Surface/RCTSurfaceRootShadowView.m +0 -89
  226. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +0 -1
  227. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +0 -2
  228. package/React/CoreModules/RCTAlertController.mm +1 -0
  229. package/React/CoreModules/RCTAlertManager.mm +0 -5
  230. package/React/CoreModules/RCTLogBox.mm +0 -11
  231. package/React/CoreModules/RCTLogBoxView.h +0 -3
  232. package/React/CoreModules/RCTLogBoxView.mm +0 -31
  233. package/React/CoreModules/RCTPerfMonitor.mm +0 -2
  234. package/React/CoreModules/RCTStatusBarManager.mm +0 -11
  235. package/React/CxxModule/RCTCxxUtils.h +0 -8
  236. package/React/CxxModule/RCTCxxUtils.mm +0 -17
  237. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +179 -7
  238. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +100 -2
  239. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +373 -119
  240. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -1
  241. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -1
  242. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +71 -71
  243. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +96 -96
  244. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +357 -363
  245. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +211 -212
  246. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +107 -107
  247. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -1
  248. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -11
  249. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -2
  250. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.h +4 -0
  251. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -0
  252. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +4 -0
  253. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +5 -0
  254. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -1
  255. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +14 -0
  256. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +12 -3
  257. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +12 -26
  258. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +39 -4
  259. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +18 -22
  260. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +0 -18
  261. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +9 -5
  262. package/React/Fabric/RCTSurfacePresenter.mm +86 -5
  263. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +2 -0
  264. package/React/I18n/RCTLocalizedString.mm +38 -2
  265. package/React/Modules/RCTEventEmitter.m +30 -10
  266. package/React/Modules/RCTI18nUtil.m +3 -1
  267. package/React/Modules/RCTUIManager.mm +0 -1501
  268. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  269. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +27 -0
  270. package/React/Views/RCTModalHostViewController.h +0 -18
  271. package/React/Views/RCTModalHostViewManager.h +0 -24
  272. package/React/Views/RCTShadowView.h +0 -2
  273. package/React/Views/RCTShadowView.m +0 -723
  274. package/React/Views/RCTView.h +0 -19
  275. package/React/Views/RCTViewManager.m +0 -53
  276. package/React/Views/ScrollView/RCTScrollView.h +0 -92
  277. package/React/Views/ScrollView/RCTScrollableProtocol.h +0 -4
  278. package/React-Core-prebuilt.podspec +45 -17
  279. package/React-Core.podspec +9 -2
  280. package/ReactAndroid/api/ReactAndroid.api +128 -142
  281. package/ReactAndroid/build.gradle.kts +26 -21
  282. package/ReactAndroid/external-artifacts/build.gradle.kts +49 -0
  283. package/ReactAndroid/gradle.properties +1 -1
  284. package/ReactAndroid/hermes-engine/build.gradle.kts +19 -20
  285. package/ReactAndroid/src/debug/AndroidManifest.xml +6 -0
  286. package/ReactAndroid/src/debugOptimized/AndroidManifest.xml +22 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -7
  288. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -2
  289. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +4 -6
  290. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +5 -7
  291. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.kt +212 -0
  292. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +0 -16
  293. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +1 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.kt +287 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +16 -0
  297. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +15 -2
  298. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -3
  299. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +4 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +50 -2
  301. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +63 -22
  302. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +33 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +4 -12
  304. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +14 -10
  305. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +6 -6
  306. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +50 -47
  307. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +0 -4
  308. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -10
  309. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LocalNetworkPermissionUtil.kt +49 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +101 -26
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +40 -38
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -10
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +0 -3
  314. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +15 -11
  315. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +4 -4
  316. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +7 -13
  317. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +195 -194
  318. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SynchronousMountItem.kt +12 -8
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +30 -66
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -111
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -23
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +12 -24
  323. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +57 -123
  324. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +7 -5
  325. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  326. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -23
  327. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +0 -24
  328. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -4
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +3 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +50 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +53 -3
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +2 -77
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +2 -2
  336. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +1 -1
  337. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +9 -4
  338. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +4 -19
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -5
  340. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +4 -4
  341. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +46 -9
  342. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +1 -49
  343. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/HasChildPressedStateDelay.kt +29 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.kt +796 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +2 -4
  346. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +27 -27
  347. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.kt +184 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.kt +486 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +8 -8
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +2 -2
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SkewMatrixHelper.kt +200 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +3 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +6 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +2 -2
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +7 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.kt +645 -0
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +2 -3
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.kt +142 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +0 -10
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +3 -3
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.kt +527 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +3 -1
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +6 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +7 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +8 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +0 -3
  368. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +2 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +4 -4
  370. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +2 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.kt +1729 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +15 -15
  373. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.kt +1297 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +13 -13
  375. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.kt +1392 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +14 -14
  377. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +19 -33
  378. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +8 -6
  379. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +4 -4
  380. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +13 -20
  381. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +7 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/views/text/MutableSpannableLayout.kt +107 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +122 -10
  384. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +91 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +3 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +41 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +48 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextDecorationStyle.kt +200 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectRegistry.kt +45 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextEffectSpanFactory.kt +17 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +361 -15
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/AnimatedEffectSpan.kt +37 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/{DrawCommandSpan.kt → CanvasEffectSpan.kt} +3 -4
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +23 -3
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +30 -3
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +25 -3
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/StatefulSpan.kt +21 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextEffectSpan.kt +19 -0
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TouchableSpan.kt +29 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +81 -9
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +4 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +7 -21
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +9 -1
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewRenderState.kt +1 -1
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +7 -8
  408. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.kt +45 -0
  409. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.kt +27 -0
  410. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +15 -0
  411. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +6 -0
  412. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.kt +27 -0
  413. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.kt +31 -0
  414. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.kt +41 -0
  415. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.kt +37 -0
  416. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.kt +27 -0
  417. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.kt +31 -0
  418. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.kt +33 -0
  419. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.kt +29 -0
  420. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.kt +43 -0
  421. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.kt +39 -0
  422. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.kt +29 -0
  423. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +16 -0
  424. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +12 -2
  425. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.kt +762 -0
  426. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +4 -4
  427. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.kt +27 -0
  428. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.kt +29 -0
  429. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.kt +29 -0
  430. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +24 -2
  431. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.kt +37 -0
  432. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.kt +29 -0
  433. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -2
  434. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +94 -0
  435. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionDelegateImpl.cpp +3 -0
  436. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +10 -10
  437. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  438. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +12 -15
  439. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -3
  440. package/ReactAndroid/src/main/jni/react/fabric/test/FabricMountingManagerTest.cpp +159 -0
  441. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +69 -153
  442. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +15 -33
  443. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +10 -24
  444. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +0 -2
  445. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +13 -0
  446. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +4 -1
  447. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +8 -0
  448. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +4 -0
  449. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +5 -0
  450. package/ReactAndroid/src/main/res/views/uimanager/values-zu/strings.xml +3 -0
  451. package/ReactApple/RCTAnimatedModuleProvider/React-RCTAnimatedModuleProvider.podspec +63 -0
  452. package/ReactCommon/React-Fabric.podspec +2 -0
  453. package/ReactCommon/ReactCommon.podspec +2 -12
  454. package/ReactCommon/cmake-utils/react-native-flags.cmake +1 -3
  455. package/ReactCommon/cxxreact/CMakeLists.txt +1 -0
  456. package/ReactCommon/cxxreact/ErrorUtils.h +2 -32
  457. package/ReactCommon/cxxreact/Instance.cpp +1 -26
  458. package/ReactCommon/cxxreact/Instance.h +0 -2
  459. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -2
  460. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +0 -12
  461. package/ReactCommon/cxxreact/RAMBundleRegistry.h +0 -5
  462. package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
  463. package/ReactCommon/cxxreact/ReactMarker.cpp +4 -30
  464. package/ReactCommon/cxxreact/ReactMarker.h +38 -21
  465. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  466. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  467. package/ReactCommon/cxxreact/tests/methodcall.cpp +4 -0
  468. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +6 -79
  469. package/ReactCommon/jserrorhandler/ErrorUtils.cpp +42 -0
  470. package/{React/CxxLogUtils/RCTDefaultCxxLogFunction.h → ReactCommon/jserrorhandler/ErrorUtils.h} +2 -2
  471. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -1
  472. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -3
  473. package/ReactCommon/jsi/jsi/hermes-interfaces.h +53 -0
  474. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -1
  475. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +3 -14
  476. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +4 -13
  477. package/ReactCommon/jsinspector-modern/HostAgent.cpp +54 -0
  478. package/ReactCommon/jsinspector-modern/HostTarget.h +0 -7
  479. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +10 -7
  480. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +4 -1
  481. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +7 -0
  482. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +20 -0
  483. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -0
  484. package/ReactCommon/jsinspector-modern/SessionState.h +31 -0
  485. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  486. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +14 -1
  487. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +11 -0
  488. package/ReactCommon/react/bridging/ArrayBuffer.h +180 -0
  489. package/ReactCommon/react/bridging/Bridging.h +1 -0
  490. package/ReactCommon/react/bridging/Convert.h +12 -0
  491. package/ReactCommon/react/bridging/React-bridging.podspec +44 -0
  492. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +185 -11
  493. package/ReactCommon/react/bridging/tests/ClassTest.cpp +22 -0
  494. package/ReactCommon/react/cxxstableapi/CMakeLists.txt +18 -0
  495. package/ReactCommon/react/cxxstableapi/FrameworksGuard.h +35 -0
  496. package/ReactCommon/react/cxxstableapi/PrivateGuard.h +34 -0
  497. package/ReactCommon/react/cxxstableapi/React-cxxstableapi.podspec +34 -0
  498. package/ReactCommon/react/cxxstableapi/UmbrellaGuard.h +53 -0
  499. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -45
  500. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -56
  501. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +134 -242
  502. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +14 -26
  503. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +20 -44
  504. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +43 -97
  505. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +10 -6
  506. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  507. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -8
  508. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +7 -13
  509. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +1 -0
  510. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +49 -0
  511. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +4 -0
  512. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +4 -0
  513. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  514. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  515. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +4 -0
  516. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +4 -0
  517. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +60 -3
  518. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +0 -9
  519. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +37 -139
  520. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleWithJSIBindings.h +0 -3
  521. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +6 -0
  522. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  523. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -0
  524. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +25 -55
  525. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -23
  526. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
  527. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -0
  528. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +4 -0
  529. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -0
  530. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  531. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -0
  532. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +95 -63
  533. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +20 -1
  534. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +7 -10
  535. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +20 -1
  536. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +1 -0
  537. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +67 -6
  538. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +12 -0
  539. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +25 -13
  540. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +7 -0
  541. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +48 -0
  542. package/ReactCommon/react/renderer/animated/tests/DecayAnimationDriverTest.cpp +245 -0
  543. package/ReactCommon/react/renderer/animated/tests/ManagedPropsMountingOverrideTests.cpp +204 -0
  544. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -1
  545. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  546. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +17 -0
  547. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +0 -2
  548. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -2
  549. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +25 -1
  550. package/ReactCommon/react/renderer/attributedstring/conversions.h +29 -1
  551. package/ReactCommon/react/renderer/attributedstring/primitives.h +4 -2
  552. package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +73 -0
  553. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -0
  554. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +79 -126
  555. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.cpp +4 -0
  556. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +4 -0
  557. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.h +4 -0
  558. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -0
  559. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +4 -0
  560. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.cpp +5 -0
  561. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h +4 -0
  562. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.cpp +4 -0
  563. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +4 -0
  564. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerInteropComponentDescriptor.h +4 -0
  565. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +4 -0
  566. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +5 -0
  567. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +4 -0
  568. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +5 -0
  569. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +253 -379
  570. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +36 -55
  571. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.cpp +17 -27
  572. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -10
  573. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +19 -0
  574. package/ReactCommon/react/renderer/components/text/TextEffectComponentDescriptor.h +17 -0
  575. package/ReactCommon/react/renderer/components/text/TextEffectProps.cpp +59 -0
  576. package/ReactCommon/react/renderer/components/text/TextEffectProps.h +30 -0
  577. package/{Libraries/Text/VirtualText/RCTVirtualTextView.mm → ReactCommon/react/renderer/components/text/TextEffectShadowNode.cpp} +4 -6
  578. package/ReactCommon/react/renderer/components/text/TextEffectShadowNode.h +26 -0
  579. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +18 -28
  580. package/ReactCommon/react/renderer/components/text/tests/BaseTextShadowNodeTest.cpp +15 -0
  581. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +42 -50
  582. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +168 -754
  583. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +0 -9
  584. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +262 -326
  585. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -6
  586. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +2 -12
  587. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +73 -27
  588. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +7 -9
  589. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -11
  590. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +94 -180
  591. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +2 -2
  592. package/ReactCommon/react/renderer/components/view/primitives.h +5 -0
  593. package/ReactCommon/react/renderer/components/view/propsConversions.h +74 -42
  594. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +5 -5
  595. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +353 -6
  596. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +41 -16
  597. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +19 -0
  598. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  599. package/ReactCommon/react/renderer/core/LayoutMetrics.h +3 -0
  600. package/ReactCommon/react/renderer/core/Props.cpp +8 -39
  601. package/ReactCommon/react/renderer/core/Props.h +63 -13
  602. package/ReactCommon/react/renderer/core/RawProps.cpp +20 -3
  603. package/ReactCommon/react/renderer/core/RawProps.h +44 -0
  604. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +11 -27
  605. package/ReactCommon/react/renderer/core/RawPropsKeyMap.h +3 -3
  606. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +4 -6
  607. package/ReactCommon/react/renderer/core/RawPropsParser.h +3 -3
  608. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -19
  609. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -0
  610. package/ReactCommon/react/renderer/core/StateData.h +4 -4
  611. package/ReactCommon/react/renderer/core/propsConversions.h +3 -7
  612. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +8 -0
  613. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +7 -7
  614. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +19 -19
  615. package/ReactCommon/react/renderer/core/tests/PropsConceptsTest.cpp +135 -0
  616. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +43 -53
  617. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +3 -3
  618. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +17 -0
  619. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  620. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +123 -33
  621. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +26 -14
  622. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +96 -53
  623. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +4 -0
  624. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +96 -1
  625. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +29 -318
  626. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +105 -33
  627. package/ReactCommon/react/renderer/mounting/ShadowTree.h +2 -0
  628. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +11 -3
  629. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +1 -1
  630. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +15 -250
  631. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeReactBranchingTest.cpp +141 -0
  632. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +1 -1
  633. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -0
  634. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -0
  635. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +22 -2
  636. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +13 -2
  637. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +13 -0
  638. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +9 -0
  639. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +43 -5
  640. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +17 -1
  641. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -0
  642. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +113 -8
  643. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +14 -6
  644. package/ReactCommon/react/renderer/scheduler/Scheduler.h +3 -2
  645. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -85
  646. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +0 -6
  647. package/ReactCommon/react/renderer/scheduler/tests/SchedulerDelegateInvalidationTest.cpp +671 -0
  648. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +22 -5
  649. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +4 -2
  650. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +11 -0
  651. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +65 -26
  652. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +193 -1
  653. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +14 -2
  654. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -1
  655. package/ReactCommon/react/renderer/textlayoutmanager/tests/TextLayoutManagerTest.cpp +86 -5
  656. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +89 -94
  657. package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -2
  658. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +1 -1
  659. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  660. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +1 -52
  661. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +4 -4
  662. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +88 -39
  663. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +12 -2
  664. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +10 -0
  665. package/ReactCommon/react/runtime/ReactInstance.cpp +79 -64
  666. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +0 -89
  667. package/ReactCommon/react/runtime/iostests/MainQueueCoordinatorTests.mm +99 -0
  668. package/ReactCommon/react/runtime/iostests/RCTInstanceTests.mm +244 -0
  669. package/ReactCommon/react/runtime/platform/ios/ReactCommon/ObjCTimerRegistry.h +1 -1
  670. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +47 -30
  671. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +3 -2
  672. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTPerformanceLoggerUtils.mm +3 -2
  673. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +27 -3
  674. package/ReactCommon/react/runtime/tests/cxx/RuntimeExecutorShutdownTest.cpp +155 -0
  675. package/ReactCommon/react/utils/Telemetry.h +0 -13
  676. package/ReactCommon/react/utils/tests/Base64Tests.cpp +36 -0
  677. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +0 -1
  678. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +21 -38
  679. package/ReactCommon/yoga/Yoga.podspec +1 -1
  680. package/ReactCommon/yoga/yoga/YGEnums.cpp +2 -0
  681. package/ReactCommon/yoga/yoga/YGEnums.h +1 -0
  682. package/ReactCommon/yoga/yoga/YGNode.cpp +27 -0
  683. package/ReactCommon/yoga/yoga/YGNode.h +69 -0
  684. package/ReactCommon/yoga/yoga/YGNodeLayout.h +0 -2
  685. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -1
  686. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +294 -17
  687. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +1 -1
  688. package/ReactCommon/yoga/yoga/config/Config.h +1 -1
  689. package/ReactCommon/yoga/yoga/enums/Errata.h +1 -0
  690. package/ReactCommon/yoga/yoga/node/LayoutResults.h +8 -0
  691. package/ReactCommon/yoga/yoga/node/Node.cpp +32 -0
  692. package/ReactCommon/yoga/yoga/node/Node.h +33 -0
  693. package/cli.js +3 -182
  694. package/flow/bom.js.flow +42 -42
  695. package/flow/cssom.js.flow +21 -21
  696. package/flow/dom.js.flow +128 -128
  697. package/flow/global.js +6 -0
  698. package/gradle/libs.versions.toml +7 -5
  699. package/index.js +53 -86
  700. package/index.js.flow +53 -23
  701. package/package.json +41 -52
  702. package/react-native.config.js +82 -1
  703. package/scripts/cocoapods/fabric.rb +1 -1
  704. package/scripts/cocoapods/jsengine.rb +1 -1
  705. package/scripts/cocoapods/new_architecture.rb +1 -1
  706. package/scripts/cocoapods/rncore.rb +36 -78
  707. package/scripts/cocoapods/rncore_facades.rb +232 -0
  708. package/scripts/cocoapods/rndependencies.rb +64 -3
  709. package/scripts/cocoapods/rndeps_facades.rb +193 -0
  710. package/scripts/cocoapods/spm.rb +78 -11
  711. package/scripts/cocoapods/utils.rb +5 -7
  712. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +0 -1
  713. package/scripts/codegen/templates/Package.swift.spm-template +97 -0
  714. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  715. package/scripts/hermes/hermes-utils.js +27 -58
  716. package/scripts/react-native-xcode.sh +20 -0
  717. package/scripts/react_native_pods.rb +71 -21
  718. package/scripts/react_native_pods_utils/script_phases.sh +4 -3
  719. package/scripts/replace-rncore-version.js +57 -86
  720. package/scripts/setup-apple-spm.js +1267 -0
  721. package/scripts/spm/__doc__/rfc-spm-xcframework.md +707 -0
  722. package/scripts/spm/__doc__/spm-autolinking-plugins.md +244 -0
  723. package/scripts/spm/__doc__/spm-header-paths-contract.md +97 -0
  724. package/scripts/spm/__doc__/spm-plugins-assessment.md +128 -0
  725. package/scripts/spm/__doc__/spm-scripts.md +486 -0
  726. package/scripts/spm/autolinking-plugins.js +331 -0
  727. package/scripts/spm/download-spm-artifacts.js +1409 -0
  728. package/scripts/spm/expand-spm-dependencies.js +216 -0
  729. package/scripts/spm/flavored-frameworks.js +1008 -0
  730. package/scripts/spm/generate-spm-autolinking-config.js +221 -0
  731. package/scripts/spm/generate-spm-autolinking.js +1888 -0
  732. package/scripts/spm/generate-spm-package.js +302 -0
  733. package/scripts/spm/generate-spm-xcodeproj.js +2266 -0
  734. package/scripts/spm/read-podspec.js +695 -0
  735. package/scripts/spm/scaffold-package-swift.js +1206 -0
  736. package/scripts/spm/spm-pbxproj.js +654 -0
  737. package/scripts/spm/spm-types.js +520 -0
  738. package/scripts/spm/spm-utils.js +645 -0
  739. package/scripts/spm/sync-spm-autolinking.js +160 -0
  740. package/sdks/.hermesv1version +1 -1
  741. package/sdks/hermes-engine/hermes-engine.podspec +9 -39
  742. package/sdks/hermes-engine/hermes-utils.rb +20 -74
  743. package/sdks/hermes-engine/utils/replace_hermes_version.js +18 -4
  744. package/sdks/hermes-engine/version.properties +1 -2
  745. package/settings.gradle.kts +0 -43
  746. package/src/asset-registry.js +29 -0
  747. package/src/private/animated/NativeAnimatedHelper.js +45 -21
  748. package/src/private/assets/AssetRegistry.js +52 -0
  749. package/src/private/{specs_DEPRECATED/components → components/activityindicator/specs}/ActivityIndicatorViewNativeComponent.js +5 -5
  750. package/src/private/{specs_DEPRECATED/components → components/debuggingoverlay/specs}/DebuggingOverlayNativeComponent.js +8 -8
  751. package/src/private/{specs_DEPRECATED/components → components/drawerlayoutandroid/specs}/AndroidDrawerLayoutNativeComponent.js +8 -8
  752. package/src/private/{specs_DEPRECATED/components → components/inputaccessoryview/specs}/RCTInputAccessoryViewNativeComponent.js +4 -4
  753. package/src/private/{specs_DEPRECATED/components → components/modal/specs}/RCTModalHostViewNativeComponent.js +4 -9
  754. package/src/private/{specs_DEPRECATED/components → components/progressbarandroid/specs}/ProgressBarAndroidNativeComponent.js +5 -5
  755. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/AndroidSwipeRefreshLayoutNativeComponent.js +7 -7
  756. package/src/private/{specs_DEPRECATED/components → components/refreshcontrol/specs}/PullToRefreshViewNativeComponent.js +7 -7
  757. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  758. package/src/private/{specs_DEPRECATED/components → components/safeareaview/specs}/RCTSafeAreaViewNativeComponent.js +3 -3
  759. package/src/private/components/scrollview/HScrollViewNativeComponents.js +1 -1
  760. package/src/private/{specs_DEPRECATED/components → components/scrollview/specs}/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  761. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/AndroidSwitchNativeComponent.js +7 -7
  762. package/src/private/{specs_DEPRECATED/components → components/switch/specs}/SwitchNativeComponent.js +10 -7
  763. package/src/private/{specs_DEPRECATED/components → components/unimplementedview/specs}/UnimplementedNativeViewNativeComponent.js +4 -4
  764. package/src/private/components/virtualcollection/Virtual.js +5 -5
  765. package/src/private/components/virtualcollection/VirtualCollectionView.js +2 -6
  766. package/src/private/components/virtualcollection/column/VirtualColumn.js +1 -1
  767. package/src/private/components/virtualcollection/row/VirtualRow.js +1 -1
  768. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +3 -1
  769. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +4 -4
  770. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +4 -2
  771. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  772. package/src/private/featureflags/ReactNativeFeatureFlags.js +46 -70
  773. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +88 -94
  774. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  775. package/src/private/renderer/events/ReactNativeResponder.js +49 -4
  776. package/src/private/renderer/events/ResponderTouchHistoryStore.js +11 -2
  777. package/src/private/renderer/events/dispatchNativeEvent.js +71 -36
  778. package/src/private/setup/setUpDOM.js +19 -9
  779. package/src/private/setup/setUpIntersectionObserver.js +7 -0
  780. package/src/private/setup/setUpMutationObserver.js +3 -1
  781. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +9 -9
  782. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +24 -24
  783. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +28 -28
  784. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  785. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +45 -25
  786. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +44 -24
  787. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +4 -4
  788. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +8 -6
  789. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +7 -7
  790. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +3 -3
  791. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +2 -2
  792. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +11 -11
  793. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  794. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +4 -4
  795. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +7 -7
  796. package/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.js +4 -4
  797. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  798. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +4 -4
  799. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +2 -2
  800. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  801. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +13 -13
  802. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +9 -6
  803. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +6 -6
  804. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  805. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +8 -5
  806. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +5 -5
  807. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  808. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +2 -2
  809. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +6 -6
  810. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +2 -2
  811. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +2 -2
  812. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +5 -5
  813. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +6 -6
  814. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +6 -4
  815. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  816. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +1 -1
  817. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +35 -31
  818. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +2 -2
  819. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +24 -24
  820. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +2 -2
  821. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +3 -3
  822. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +2 -2
  823. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  824. package/src/private/specs_DEPRECATED/modules/NativeSourceCode.js +1 -1
  825. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid.js +5 -17
  826. package/src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS.js +10 -15
  827. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +3 -3
  828. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +4 -4
  829. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +35 -22
  830. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +4 -4
  831. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +7 -7
  832. package/src/private/types/HostInstance.js +38 -80
  833. package/src/private/viewtransition/specs/NativeViewTransition.js +6 -4
  834. package/src/private/webapis/dom/abort-api/AbortController.js +92 -0
  835. package/src/private/webapis/dom/abort-api/AbortSignal.js +243 -0
  836. package/src/private/webapis/dom/events/CustomEvent.js +1 -1
  837. package/src/private/webapis/dom/events/Event.js +12 -12
  838. package/src/private/webapis/dom/events/EventTarget.js +146 -37
  839. package/src/private/webapis/dom/events/internals/EventInternals.js +36 -0
  840. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +38 -3
  841. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +11 -0
  842. package/src/private/webapis/dom/nodes/ReactNativeElement.js +105 -4
  843. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +11 -0
  844. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +9 -0
  845. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +34 -7
  846. package/src/private/webapis/dom/nodes/ReadOnlyText.js +33 -0
  847. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +46 -42
  848. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +12 -0
  849. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +4 -2
  850. package/src/private/webapis/dom/oldstylecollections/NodeList.js +10 -0
  851. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -3
  852. package/src/private/webapis/errors/DOMException.js +50 -50
  853. package/src/private/webapis/geometry/DOMRectList.js +12 -0
  854. package/src/private/webapis/geometry/DOMRectList.js.flow +3 -1
  855. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  856. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  857. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +13 -0
  858. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +3 -7
  859. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +5 -5
  860. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  861. package/src/private/webapis/mutationobserver/MutationObserver.js +7 -7
  862. package/src/private/webapis/mutationobserver/MutationRecord.js +12 -0
  863. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +5 -7
  864. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +5 -5
  865. package/src/private/webapis/performance/EventTiming.js +3 -3
  866. package/src/private/webapis/performance/PerformanceEntry.js +3 -3
  867. package/src/private/webapis/performance/PerformanceObserver.js +4 -4
  868. package/src/private/webapis/performance/ResourceTiming.js +13 -13
  869. package/src/private/webapis/performance/UserTiming.js +3 -3
  870. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  871. package/src/private/webapis/performance/specs/NativePerformance.js +26 -20
  872. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  873. package/src/private/webapis/websockets/events/CloseEvent.js +3 -3
  874. package/src/private/webapis/xhr/events/ProgressEvent.js +3 -3
  875. package/src/react-private-interface.js +145 -0
  876. package/src/react-private-interface.js.flow +48 -0
  877. package/src/setup-env.js +22 -0
  878. package/src/types/globals.d.ts +33 -1
  879. package/src/unstable-internals-do-not-use.d.ts +214 -0
  880. package/src/unstable-internals-do-not-use.js +76 -0
  881. package/third-party-podspecs/ReactNativeDependencies.podspec +2 -2
  882. package/types/index.d.ts +0 -1
  883. package/types/public/DeprecatedPropertiesAlias.d.ts +0 -4
  884. package/types/public/ReactNativeTypes.d.ts +4 -2
  885. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +0 -38
  886. package/Libraries/Image/AssetRegistry.js +0 -14
  887. package/Libraries/Image/RCTImageShadowView.h +0 -17
  888. package/Libraries/Image/RCTImageShadowView.mm +0 -28
  889. package/Libraries/Image/RCTImageView.h +0 -32
  890. package/Libraries/Image/RCTImageView.mm +0 -507
  891. package/Libraries/Image/RCTImageViewManager.h +0 -17
  892. package/Libraries/Image/RCTImageViewManager.mm +0 -115
  893. package/Libraries/Interaction/InteractionManager.d.ts +0 -87
  894. package/Libraries/Interaction/InteractionManager.js +0 -189
  895. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -35
  896. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +0 -162
  897. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -21
  898. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +0 -64
  899. package/Libraries/Text/RCTTextAttributes.h +0 -107
  900. package/Libraries/Text/RCTTextAttributes.mm +0 -358
  901. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -23
  902. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +0 -38
  903. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -21
  904. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +0 -32
  905. package/Libraries/Text/Text/RCTTextShadowView.h +0 -33
  906. package/Libraries/Text/Text/RCTTextShadowView.mm +0 -469
  907. package/Libraries/Text/Text/RCTTextView.h +0 -34
  908. package/Libraries/Text/Text/RCTTextView.mm +0 -308
  909. package/Libraries/Text/Text/RCTTextViewManager.h +0 -19
  910. package/Libraries/Text/Text/RCTTextViewManager.mm +0 -97
  911. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -21
  912. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +0 -67
  913. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -21
  914. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +0 -30
  915. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -30
  916. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +0 -367
  917. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -68
  918. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +0 -858
  919. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -17
  920. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +0 -181
  921. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -17
  922. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +0 -24
  923. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -22
  924. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +0 -82
  925. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -17
  926. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +0 -78
  927. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -17
  928. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +0 -33
  929. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -21
  930. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +0 -43
  931. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -21
  932. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +0 -35
  933. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -17
  934. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +0 -42
  935. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +0 -28
  936. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -17
  937. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +0 -30
  938. package/Libraries/Utilities/SceneTracker.js +0 -42
  939. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -21
  940. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +0 -57
  941. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -21
  942. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +0 -27
  943. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -25
  944. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +0 -50
  945. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -23
  946. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +0 -35
  947. package/Libraries/Wrapper/RCTWrapper.h +0 -73
  948. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -27
  949. package/Libraries/Wrapper/RCTWrapperShadowView.m +0 -138
  950. package/Libraries/Wrapper/RCTWrapperView.h +0 -42
  951. package/Libraries/Wrapper/RCTWrapperView.m +0 -99
  952. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -30
  953. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +0 -137
  954. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -25
  955. package/Libraries/Wrapper/RCTWrapperViewManager.m +0 -31
  956. package/React/Base/RCTRootContentView.h +0 -43
  957. package/React/Base/RCTRootContentView.m +0 -111
  958. package/React/Base/RCTRootViewInternal.h +0 -40
  959. package/React/CxxBridge/RCTCxxBridge.mm +0 -1572
  960. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +0 -25
  961. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +0 -34
  962. package/React/CxxBridge/RCTObjcExecutor.h +0 -34
  963. package/React/CxxBridge/RCTObjcExecutor.mm +0 -150
  964. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -34
  965. package/React/CxxModule/DispatchMessageQueueThread.h +0 -50
  966. package/React/CxxModule/RCTCxxMethod.h +0 -17
  967. package/React/CxxModule/RCTCxxMethod.mm +0 -147
  968. package/React/CxxModule/RCTNativeModule.h +0 -34
  969. package/React/CxxModule/RCTNativeModule.mm +0 -241
  970. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +0 -205
  971. package/React/Tests/Text/RCTTextAttributesTest.mm +0 -49
  972. package/React/Views/RCTActivityIndicatorView.h +0 -16
  973. package/React/Views/RCTActivityIndicatorView.m +0 -26
  974. package/React/Views/RCTActivityIndicatorViewManager.h +0 -23
  975. package/React/Views/RCTActivityIndicatorViewManager.m +0 -65
  976. package/React/Views/RCTDebuggingOverlayManager.h +0 -17
  977. package/React/Views/RCTDebuggingOverlayManager.m +0 -68
  978. package/React/Views/RCTModalHostView.h +0 -72
  979. package/React/Views/RCTModalHostView.m +0 -302
  980. package/React/Views/RCTModalHostViewController.m +0 -107
  981. package/React/Views/RCTModalHostViewManager.m +0 -131
  982. package/React/Views/RCTModalManager.h +0 -22
  983. package/React/Views/RCTModalManager.m +0 -46
  984. package/React/Views/RCTRootShadowView.h +0 -35
  985. package/React/Views/RCTRootShadowView.m +0 -53
  986. package/React/Views/RCTShadowView+Internal.h +0 -18
  987. package/React/Views/RCTShadowView+Internal.m +0 -23
  988. package/React/Views/RCTSwitch.h +0 -24
  989. package/React/Views/RCTSwitch.m +0 -26
  990. package/React/Views/RCTSwitchManager.h +0 -19
  991. package/React/Views/RCTSwitchManager.m +0 -72
  992. package/React/Views/RCTTVView.h +0 -105
  993. package/React/Views/RCTTVView.m +0 -602
  994. package/React/Views/RefreshControl/RCTRefreshControl.h +0 -26
  995. package/React/Views/RefreshControl/RCTRefreshControl.m +0 -232
  996. package/React/Views/RefreshControl/RCTRefreshControlManager.h +0 -19
  997. package/React/Views/RefreshControl/RCTRefreshControlManager.m +0 -49
  998. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +0 -21
  999. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +0 -57
  1000. package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -27
  1001. package/React/Views/SafeAreaView/RCTSafeAreaView.m +0 -79
  1002. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +0 -25
  1003. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +0 -25
  1004. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +0 -21
  1005. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -32
  1006. package/React/Views/ScrollView/RCTScrollContentShadowView.h +0 -19
  1007. package/React/Views/ScrollView/RCTScrollContentShadowView.m +0 -35
  1008. package/React/Views/ScrollView/RCTScrollContentView.h +0 -19
  1009. package/React/Views/ScrollView/RCTScrollContentView.m +0 -36
  1010. package/React/Views/ScrollView/RCTScrollContentViewManager.h +0 -17
  1011. package/React/Views/ScrollView/RCTScrollContentViewManager.m +0 -31
  1012. package/React/Views/ScrollView/RCTScrollView.m +0 -1508
  1013. package/React/Views/ScrollView/RCTScrollViewManager.h +0 -25
  1014. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -208
  1015. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +0 -251
  1016. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +0 -315
  1017. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +0 -51
  1018. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +0 -89
  1019. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +0 -736
  1020. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -221
  1021. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -399
  1022. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +0 -35
  1023. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -346
  1024. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -666
  1025. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -147
  1026. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +0 -113
  1027. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +0 -614
  1028. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +0 -1949
  1029. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +0 -1646
  1030. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +0 -1744
  1031. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +0 -51
  1032. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaBoxSizing.java +0 -33
  1033. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +0 -33
  1034. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +0 -37
  1035. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +0 -47
  1036. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +0 -41
  1037. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +0 -33
  1038. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +0 -37
  1039. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +0 -39
  1040. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +0 -35
  1041. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +0 -49
  1042. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +0 -45
  1043. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +0 -35
  1044. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +0 -928
  1045. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +0 -33
  1046. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +0 -35
  1047. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +0 -35
  1048. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +0 -43
  1049. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +0 -35
  1050. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +0 -23
  1051. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +0 -37
  1052. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +0 -135
  1053. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +0 -72
  1054. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +0 -143
  1055. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +0 -55
  1056. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +0 -78
  1057. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +0 -39
  1058. package/ReactCommon/hermes/inspector-modern/chrome/tests/ConnectionDemuxTests.cpp +0 -148
  1059. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +0 -168
  1060. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +0 -416
  1061. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +0 -31
  1062. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +0 -134
  1063. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +0 -290
  1064. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +0 -62
  1065. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -39
  1066. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +0 -170
  1067. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +0 -95
  1068. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +0 -147
  1069. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +0 -154
  1070. package/interface.js +0 -21
  1071. package/jest-preset.js +0 -26
  1072. package/rn-get-polyfills.js +0 -13
  1073. package/sdks/.hermesversion +0 -1
  1074. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +0 -13
  1075. package/types/tsconfig.json +0 -15
  1076. /package/ReactCommon/{cxxreact → react/utils}/MoveWrapper.h +0 -0
@@ -84,6 +84,24 @@ internal class WritableMapBuffer : MapBuffer {
84
84
  */
85
85
  fun put(key: Int, value: MapBuffer): WritableMapBuffer = putInternal(key, value)
86
86
 
87
+ /**
88
+ * Adds an [IntArray] value for given key to the current MapBuffer.
89
+ *
90
+ * @param key entry key
91
+ * @param value entry value
92
+ * @throws IllegalArgumentException if key is out of [UShort] range
93
+ */
94
+ fun put(key: Int, value: IntArray): WritableMapBuffer = putInternal(key, value)
95
+
96
+ /**
97
+ * Adds a [DoubleArray] value for given key to the current MapBuffer.
98
+ *
99
+ * @param key entry key
100
+ * @param value entry value
101
+ * @throws IllegalArgumentException if key is out of [UShort] range
102
+ */
103
+ fun put(key: Int, value: DoubleArray): WritableMapBuffer = putInternal(key, value)
104
+
87
105
  private fun putInternal(key: Int, value: Any): WritableMapBuffer {
88
106
  require(key in KEY_RANGE) {
89
107
  "Only integers in [${UShort.MIN_VALUE};${UShort.MAX_VALUE}] range are allowed for keys."
@@ -126,6 +144,10 @@ internal class WritableMapBuffer : MapBuffer {
126
144
 
127
145
  override fun getMapBufferList(key: Int): List<MapBuffer> = verifyValue(key, values.get(key))
128
146
 
147
+ override fun getIntBuffer(key: Int): IntArray = verifyValue(key, values.get(key))
148
+
149
+ override fun getDoubleBuffer(key: Int): DoubleArray = verifyValue(key, values.get(key))
150
+
129
151
  /** Generalizes verification of the value types based on the requested type. */
130
152
  private inline fun <reified T> verifyValue(key: Int, value: Any?): T {
131
153
  require(value != null) { "Key not found: $key" }
@@ -143,6 +165,8 @@ internal class WritableMapBuffer : MapBuffer {
143
165
  is Double -> DataType.DOUBLE
144
166
  is String -> DataType.STRING
145
167
  is MapBuffer -> DataType.MAP
168
+ is IntArray -> DataType.INT_BUFFER
169
+ is DoubleArray -> DataType.DOUBLE_BUFFER
146
170
  else -> throw IllegalStateException("Key $key has value of unknown type: ${value.javaClass}")
147
171
  }
148
172
  }
@@ -176,6 +200,15 @@ internal class WritableMapBuffer : MapBuffer {
176
200
 
177
201
  override val mapBufferValue: MapBuffer
178
202
  get() = verifyValue(key, values.valueAt(index))
203
+
204
+ override val intBufferValue: IntArray
205
+ get() = verifyValue(key, values.valueAt(index))
206
+
207
+ override val doubleBufferValue: DoubleArray
208
+ get() = verifyValue(key, values.valueAt(index))
209
+
210
+ override val mapBufferListValue: List<MapBuffer>
211
+ get() = verifyValue(key, values.valueAt(index))
179
212
  }
180
213
 
181
214
  /*
@@ -102,9 +102,7 @@ public object DefaultNewArchitectureEntryPoint {
102
102
  }
103
103
  }
104
104
 
105
- privateFabricEnabled = fabricEnabled
106
105
  privateTurboModulesEnabled = turboModulesEnabled
107
- privateConcurrentReactEnabled = fabricEnabled
108
106
  privateBridgelessEnabled = bridgelessEnabled
109
107
 
110
108
  DefaultSoLoader.maybeLoadSoLibrary()
@@ -114,15 +112,13 @@ public object DefaultNewArchitectureEntryPoint {
114
112
  internal fun loadWithFeatureFlags(featureFlags: ReactNativeFeatureFlagsProvider) {
115
113
  ReactNativeFeatureFlags.override(featureFlags)
116
114
 
117
- privateFabricEnabled = featureFlags.enableFabricRenderer()
118
- privateTurboModulesEnabled = featureFlags.useTurboModules()
119
- privateConcurrentReactEnabled = featureFlags.enableFabricRenderer()
115
+ privateTurboModulesEnabled = true
120
116
  privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture()
121
117
 
122
118
  val (isValid, errorMessage) =
123
119
  isConfigurationValid(
124
120
  privateTurboModulesEnabled,
125
- privateFabricEnabled,
121
+ true,
126
122
  privateBridgelessEnabled,
127
123
  )
128
124
  if (!isValid) {
@@ -132,11 +128,9 @@ public object DefaultNewArchitectureEntryPoint {
132
128
  DefaultSoLoader.maybeLoadSoLibrary()
133
129
  }
134
130
 
135
- private var privateFabricEnabled: Boolean = false
136
-
137
131
  @JvmStatic
138
132
  public val fabricEnabled: Boolean
139
- get() = privateFabricEnabled
133
+ get() = true
140
134
 
141
135
  private var privateTurboModulesEnabled: Boolean = false
142
136
 
@@ -144,11 +138,9 @@ public object DefaultNewArchitectureEntryPoint {
144
138
  public val turboModulesEnabled: Boolean
145
139
  get() = privateTurboModulesEnabled
146
140
 
147
- private var privateConcurrentReactEnabled: Boolean = false
148
-
149
141
  @JvmStatic
150
142
  public val concurrentReactEnabled: Boolean
151
- get() = privateConcurrentReactEnabled
143
+ get() = true
152
144
 
153
145
  private var privateBridgelessEnabled: Boolean = false
154
146
 
@@ -22,24 +22,28 @@ import com.facebook.react.ReactActivityDelegate
22
22
  public open class DefaultReactActivityDelegate(
23
23
  activity: ReactActivity,
24
24
  mainComponentName: String,
25
- private val fabricEnabled: Boolean = false,
26
25
  ) : ReactActivityDelegate(activity, mainComponentName) {
27
26
 
28
27
  @Deprecated(
29
- message =
30
- "Creating DefaultReactActivityDelegate with both fabricEnabled and " +
31
- "concurrentReactEnabled is deprecated. Please pass only one boolean value that will" +
32
- " be used for both flags",
28
+ message = "Creating DefaultReactActivityDelegate with flags is deprecated.",
33
29
  level = DeprecationLevel.WARNING,
34
- replaceWith =
35
- ReplaceWith("DefaultReactActivityDelegate(activity, mainComponentName, fabricEnabled)"),
30
+ replaceWith = ReplaceWith("DefaultReactActivityDelegate(activity, mainComponentName)"),
36
31
  )
37
32
  public constructor(
38
33
  activity: ReactActivity,
39
34
  mainComponentName: String,
40
- fabricEnabled: Boolean,
35
+ @Suppress("UNUSED_PARAMETER") fabricEnabled: Boolean,
41
36
  @Suppress("UNUSED_PARAMETER") concurrentReactEnabled: Boolean,
42
- ) : this(activity, mainComponentName, fabricEnabled)
37
+ ) : this(activity, mainComponentName)
43
38
 
44
- override fun isFabricEnabled(): Boolean = fabricEnabled
39
+ @Deprecated(
40
+ message = "Creating DefaultReactActivityDelegate with flags is deprecated.",
41
+ level = DeprecationLevel.WARNING,
42
+ replaceWith = ReplaceWith("DefaultReactActivityDelegate(activity, mainComponentName)"),
43
+ )
44
+ public constructor(
45
+ activity: ReactActivity,
46
+ mainComponentName: String,
47
+ @Suppress("UNUSED_PARAMETER") fabricEnabled: Boolean,
48
+ ) : this(activity, mainComponentName)
45
49
  }
@@ -54,7 +54,7 @@ protected constructor(
54
54
  DefaultComponentsRegistry.register(componentFactory)
55
55
 
56
56
  val viewManagerRegistry =
57
- if (lazyViewManagersEnabled) {
57
+ if (getLazyViewManagersEnabled()) {
58
58
  ViewManagerRegistry(
59
59
  object : ViewManagerResolver {
60
60
  override fun getViewManager(viewManagerName: String) =
@@ -120,12 +120,12 @@ protected constructor(
120
120
  val concreteJSRuntimeFactory = jsRuntimeFactory ?: HermesInstance()
121
121
  return DefaultReactHost.getDefaultReactHost(
122
122
  context,
123
- packages,
124
- jsMainModuleName,
125
- bundleAssetName ?: "index.android.bundle",
126
- jsBundleFile,
123
+ getPackages(),
124
+ getJSMainModuleName(),
125
+ getBundleAssetName() ?: "index.android.bundle",
126
+ getJSBundleFile(),
127
127
  concreteJSRuntimeFactory,
128
- useDeveloperSupport,
128
+ getUseDeveloperSupport(),
129
129
  )
130
130
  }
131
131
  }
@@ -26,7 +26,6 @@ import okhttp3.Headers
26
26
  import okhttp3.OkHttpClient
27
27
  import okhttp3.Request
28
28
  import okhttp3.Response
29
- import okio.Buffer
30
29
  import okio.BufferedSource
31
30
  import okio.Okio
32
31
  import org.json.JSONException
@@ -121,11 +120,7 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
121
120
 
122
121
  val url = resp.request().url().toString()
123
122
  // Make sure the result is a multipart response and parse the boundary.
124
- var contentType = resp.header("content-type")
125
- if (contentType == null) {
126
- // fallback to empty string for nullability
127
- contentType = ""
128
- }
123
+ val contentType = resp.header("content-type") ?: ""
129
124
  val regex = Pattern.compile("multipart/mixed;.*boundary=\"([^\"]+)\"")
130
125
  val match = regex.matcher(contentType)
131
126
  if (contentType.isNotEmpty() && match.find()) {
@@ -135,18 +130,28 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
135
130
  // In case the server doesn't support multipart/mixed responses, fallback to
136
131
  // normal
137
132
  // download.
138
- resp.body().use { body ->
139
- if (body != null) {
133
+ val body = resp.body()
134
+ if (body != null) {
135
+ body.use {
140
136
  processBundleResult(
141
137
  url,
142
138
  resp.code(),
143
139
  resp.headers(),
144
- body.source(),
140
+ it.source(),
145
141
  outputFile,
146
142
  bundleInfo,
147
143
  callback,
148
144
  )
149
145
  }
146
+ } else {
147
+ callback.onFailure(
148
+ makeGeneric(
149
+ url,
150
+ "Development server response body was empty.",
151
+ "URL: $url",
152
+ null,
153
+ )
154
+ )
150
155
  }
151
156
  }
152
157
  }
@@ -164,7 +169,8 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
164
169
  bundleInfo: BundleInfo?,
165
170
  callback: DevBundleDownloadListener,
166
171
  ) {
167
- if (response.body() == null) {
172
+ val responseBody = response.body()
173
+ if (responseBody == null) {
168
174
  callback.onFailure(
169
175
  DebugServerException(
170
176
  ("""
@@ -181,7 +187,8 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
181
187
  )
182
188
  return
183
189
  }
184
- val source = checkNotNull(response.body()?.source())
190
+
191
+ val source = responseBody.source()
185
192
  val bodyReader = MultipartStreamReader(source, boundary)
186
193
  val completed =
187
194
  bodyReader.readAllParts(
@@ -189,19 +196,16 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
189
196
  @Throws(IOException::class)
190
197
  override fun onChunkComplete(
191
198
  headers: Map<String, String>,
192
- body: Buffer,
199
+ body: BufferedSource,
193
200
  isLastChunk: Boolean,
194
201
  ) {
195
202
  // This will get executed for every chunk of the multipart response. The last chunk
196
203
  // (isLastChunk = true) will be the JS bundle, the other ones will be progress
197
- // events
198
- // encoded as JSON.
204
+ // events encoded as JSON.
199
205
  if (isLastChunk) {
200
206
  // The http status code for each separate chunk is in the X-Http-Status header.
201
- var status = response.code()
202
- if (headers.containsKey("X-Http-Status")) {
203
- status = headers.getOrDefault("X-Http-Status", "0").toInt()
204
- }
207
+ val status = headers["X-Http-Status"]?.toIntOrNull() ?: response.code()
208
+
205
209
  processBundleResult(
206
210
  url,
207
211
  status,
@@ -211,34 +215,26 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
211
215
  bundleInfo,
212
216
  callback,
213
217
  )
214
- } else {
215
- if (
216
- !headers.containsKey("Content-Type") ||
217
- headers["Content-Type"] != "application/json"
218
- ) {
219
- return
220
- }
218
+ return
219
+ }
221
220
 
222
- try {
223
- val progress = JSONObject(body.readUtf8())
224
- val status =
225
- if (progress.has("status")) progress.getString("status") else "Bundling"
226
- var done: Int? = null
227
- if (progress.has("done")) {
228
- done = progress.getInt("done")
229
- }
230
- var total: Int? = null
231
- if (progress.has("total")) {
232
- total = progress.getInt("total")
233
- }
234
- var percent: Int? = null
235
- if (progress.has("percent")) {
236
- percent = progress.getInt("percent")
237
- }
238
- callback.onProgress(status, done, total, percent)
239
- } catch (e: JSONException) {
240
- FLog.e(ReactConstants.TAG, "Error parsing progress JSON. $e")
241
- }
221
+ val contentType = headers["Content-Type"] ?: return
222
+ if (!isJsonContentType(contentType)) {
223
+ return
224
+ }
225
+
226
+ try {
227
+ // Body is already bounded to this part; safe to read fully.
228
+ val progress = JSONObject(body.readUtf8())
229
+ val status =
230
+ if (progress.has("status")) progress.getString("status") else "Bundling"
231
+ val done: Int? = if (progress.has("done")) progress.getInt("done") else null
232
+ val total: Int? = if (progress.has("total")) progress.getInt("total") else null
233
+ val percent: Int? =
234
+ if (progress.has("percent")) progress.getInt("percent") else null
235
+ callback.onProgress(status, done, total, percent)
236
+ } catch (e: JSONException) {
237
+ FLog.e(ReactConstants.TAG, "Error parsing progress JSON.", e)
242
238
  }
243
239
  }
244
240
 
@@ -247,7 +243,8 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
247
243
  loaded: Long,
248
244
  total: Long,
249
245
  ) {
250
- if ("application/javascript" == headers["Content-Type"]) {
246
+ val contentType = headers["Content-Type"] ?: return
247
+ if (isJavaScriptContentType(contentType)) {
251
248
  callback.onProgress(
252
249
  "Downloading",
253
250
  (loaded / 1024).toInt(),
@@ -258,6 +255,7 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
258
255
  }
259
256
  }
260
257
  )
258
+
261
259
  if (!completed) {
262
260
  callback.onFailure(
263
261
  DebugServerException(
@@ -331,7 +329,7 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
331
329
 
332
330
  @Throws(IOException::class)
333
331
  private fun storePlainJSInFile(body: BufferedSource, outputFile: File): Boolean {
334
- Okio.sink(outputFile).use { it -> body.readAll(it) }
332
+ Okio.sink(outputFile).use { sink -> body.readAll(sink) }
335
333
  return true
336
334
  }
337
335
 
@@ -348,5 +346,10 @@ public class BundleDownloader public constructor(private val client: OkHttpClien
348
346
  }
349
347
  }
350
348
  }
349
+
350
+ private fun isJsonContentType(value: String): Boolean = value.startsWith("application/json")
351
+
352
+ private fun isJavaScriptContentType(value: String): Boolean =
353
+ value.startsWith("application/javascript")
351
354
  }
352
355
  }
@@ -78,10 +78,6 @@ public open class DevServerHelper(
78
78
  public fun customCommandHandlers(): Map<String, RequestHandler>?
79
79
  }
80
80
 
81
- public val websocketProxyURL: String
82
- get() =
83
- "${DevSupportHttpClient.wsScheme(packagerConnectionSettings.debugServerHost)}://${packagerConnectionSettings.debugServerHost}/debugger-proxy?role=client"
84
-
85
81
  private enum class BundleType(val typeID: String) {
86
82
  BUNDLE("bundle"),
87
83
  MAP("map"),
@@ -48,15 +48,15 @@ public interface DevSupportManagerFactory {
48
48
  public fun create(
49
49
  applicationContext: Context,
50
50
  reactInstanceManagerHelper: ReactInstanceDevHelper,
51
- packagerPathForJSBundleName: String?,
52
- enableOnCreate: Boolean,
53
- redBoxHandler: RedBoxHandler?,
54
- devBundleDownloadListener: DevBundleDownloadListener?,
55
- minNumShakes: Int,
56
- customPackagerCommandHandlers: Map<String, RequestHandler>?,
57
- surfaceDelegateFactory: SurfaceDelegateFactory?,
58
- devLoadingViewManager: DevLoadingViewManager?,
59
- pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager?,
60
- useDevSupport: Boolean,
51
+ packagerPathForJSBundleName: String? = null,
52
+ enableOnCreate: Boolean = true,
53
+ redBoxHandler: RedBoxHandler? = null,
54
+ devBundleDownloadListener: DevBundleDownloadListener? = null,
55
+ minNumShakes: Int = 2,
56
+ customPackagerCommandHandlers: Map<String, RequestHandler>? = null,
57
+ surfaceDelegateFactory: SurfaceDelegateFactory? = null,
58
+ devLoadingViewManager: DevLoadingViewManager? = null,
59
+ pausedInDebuggerOverlayManager: PausedInDebuggerOverlayManager? = null,
60
+ useDevSupport: Boolean = true,
61
61
  ): DevSupportManager
62
62
  }
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.devsupport
9
+
10
+ import android.app.Activity
11
+ import android.content.pm.PackageManager
12
+ import android.os.Build
13
+ import com.facebook.react.common.build.ReactBuildConfig
14
+ import com.facebook.react.modules.core.PermissionAwareActivity
15
+ import com.facebook.react.util.AndroidVersion
16
+
17
+ /**
18
+ * Debug-only helper to request the runtime `ACCESS_LOCAL_NETWORK` permission needed to reach Metro
19
+ * on Android 17 (SDK 37) devices, which gate local-network addresses (the emulator's `10.0.2.2`
20
+ * alias, a device's Wi-Fi/LAN IP). Requested only in debuggable builds, and always (like iOS),
21
+ * since the dev-server host can change at runtime (e.g. switching from `adb reverse` to a LAN IP).
22
+ */
23
+ internal object LocalNetworkPermissionUtil {
24
+ private const val PERMISSION = "android.permission.ACCESS_LOCAL_NETWORK"
25
+ private const val PERMISSION_REQUEST_CODE = 1
26
+
27
+ /**
28
+ * Invokes [onResolved] once it is safe to connect to Metro: immediately when no permission is
29
+ * needed, or after the user answers the `ACCESS_LOCAL_NETWORK` prompt otherwise.
30
+ */
31
+ @JvmStatic
32
+ fun requestLocalNetworkAccessIfNeeded(activity: Activity, onResolved: Runnable) {
33
+ if (activity is PermissionAwareActivity && needsLocalNetworkPrompt(activity)) {
34
+ activity.requestPermissions(arrayOf(PERMISSION), PERMISSION_REQUEST_CODE) { _, _, _ ->
35
+ onResolved.run()
36
+ true
37
+ }
38
+ } else {
39
+ onResolved.run()
40
+ }
41
+ }
42
+
43
+ /** Whether the `ACCESS_LOCAL_NETWORK` prompt must be shown before reaching the dev server. */
44
+ private fun needsLocalNetworkPrompt(activity: Activity): Boolean {
45
+ if (!ReactBuildConfig.DEBUG) return false // dev-server only; never prompt in release builds
46
+ if (Build.VERSION.SDK_INT < AndroidVersion.VERSION_CODE_CINNAMON_BUN) return false
47
+ return activity.checkSelfPermission(PERMISSION) != PackageManager.PERMISSION_GRANTED
48
+ }
49
+ }
@@ -10,10 +10,14 @@
10
10
  package com.facebook.react.devsupport
11
11
 
12
12
  import java.io.IOException
13
+ import java.util.TreeMap
13
14
  import kotlin.math.max
14
15
  import okio.Buffer
15
16
  import okio.BufferedSource
16
17
  import okio.ByteString
18
+ import okio.Okio
19
+ import okio.Source
20
+ import okio.Timeout
17
21
 
18
22
  /** Utility class to parse the body of a response of type multipart/mixed. */
19
23
  internal class MultipartStreamReader(
@@ -25,7 +29,7 @@ internal class MultipartStreamReader(
25
29
  interface ChunkListener {
26
30
  /** Invoked when a chunk of a multipart response is fully downloaded. */
27
31
  @Throws(IOException::class)
28
- fun onChunkComplete(headers: Map<String, String>, body: Buffer, isLastChunk: Boolean)
32
+ fun onChunkComplete(headers: Map<String, String>, body: BufferedSource, isLastChunk: Boolean)
29
33
 
30
34
  /** Invoked as bytes of the current chunk are read. */
31
35
  @Throws(IOException::class)
@@ -44,12 +48,16 @@ internal class MultipartStreamReader(
44
48
  val closeDelimiter: ByteString = ByteString.encodeUtf8("$CRLF--$boundary--$CRLF")
45
49
  val headersDelimiter: ByteString = ByteString.encodeUtf8(CRLF + CRLF)
46
50
 
47
- val bufferLen = 4 * 1024
51
+ // Buffer size for reading from network. Increased from 4KB to 16KB for better I/O
52
+ // throughput and fewer syscalls. For a 2MB bundle: ~128 reads instead of ~512.
53
+ // Memory impact is negligible (12KB increase) while I/O overhead is significantly reduced.
54
+ val bufferLen = 16 * 1024
48
55
  var chunkStart: Long = 0
49
56
  var bytesSeen: Long = 0
50
57
  val content = Buffer()
58
+
51
59
  var currentHeaders: Map<String, String>? = null
52
- var currentHeadersLength: Long = 0
60
+ var currentBodyStartIndexInContent: Long = -1
53
61
 
54
62
  while (true) {
55
63
  var isCloseDelimiter = false
@@ -58,6 +66,7 @@ internal class MultipartStreamReader(
58
66
  // to allow for the edge case when the delimiter is cut by read call.
59
67
  val searchStart =
60
68
  max((bytesSeen - closeDelimiter.size()).toDouble(), chunkStart.toDouble()).toLong()
69
+
61
70
  var indexOfDelimiter = content.indexOf(delimiter, searchStart)
62
71
  if (indexOfDelimiter == -1L) {
63
72
  isCloseDelimiter = true
@@ -68,16 +77,17 @@ internal class MultipartStreamReader(
68
77
  bytesSeen = content.size()
69
78
 
70
79
  if (currentHeaders == null) {
71
- val indexOfHeaders = content.indexOf(headersDelimiter, searchStart)
72
- if (indexOfHeaders >= 0) {
73
- source.read(content, indexOfHeaders)
80
+ val indexOfHeadersDelimiter = content.indexOf(headersDelimiter, searchStart)
81
+ if (indexOfHeadersDelimiter >= 0) {
74
82
  val headers = Buffer()
75
- content.copyTo(headers, searchStart, indexOfHeaders - searchStart)
76
- currentHeadersLength = headers.size() + headersDelimiter.size()
83
+ content.copyTo(headers, searchStart, indexOfHeadersDelimiter - searchStart)
77
84
  currentHeaders = parseHeaders(headers)
85
+ currentBodyStartIndexInContent =
86
+ indexOfHeadersDelimiter + headersDelimiter.size().toLong()
78
87
  }
79
88
  } else {
80
- emitProgress(currentHeaders, content.size() - currentHeadersLength, false, listener)
89
+ val loaded = max(0L, content.size() - currentBodyStartIndexInContent)
90
+ emitProgress(currentHeaders, loaded, false, listener)
81
91
  }
82
92
 
83
93
  val bytesRead = source.read(content, bufferLen.toLong())
@@ -92,26 +102,30 @@ internal class MultipartStreamReader(
92
102
 
93
103
  // Ignore preamble
94
104
  if (chunkStart > 0) {
95
- val chunk = Buffer()
105
+ if (currentHeaders != null && currentBodyStartIndexInContent >= 0) {
106
+ val loadedFinal = max(0L, chunkEnd - currentBodyStartIndexInContent)
107
+ emitProgress(currentHeaders, loadedFinal, true, listener)
108
+ }
96
109
  content.skip(chunkStart)
97
- content.read(chunk, length)
98
- emitProgress(currentHeaders, chunk.size() - currentHeadersLength, true, listener)
99
- emitChunk(chunk, isCloseDelimiter, listener)
110
+ emitChunk(content, length, isCloseDelimiter, listener)
111
+
100
112
  currentHeaders = null
101
- currentHeadersLength = 0
113
+ currentBodyStartIndexInContent = -1
102
114
  } else {
103
115
  content.skip(chunkEnd)
104
116
  }
105
117
  if (isCloseDelimiter) {
106
118
  return true
107
119
  }
120
+
108
121
  chunkStart = delimiter.size().toLong()
109
122
  bytesSeen = chunkStart
110
123
  }
111
124
  }
112
125
 
113
126
  private fun parseHeaders(data: Buffer): Map<String, String> {
114
- val headers: MutableMap<String, String> = mutableMapOf()
127
+ // Header names are case-insensitive
128
+ val headers: MutableMap<String, String> = TreeMap(String.CASE_INSENSITIVE_ORDER)
115
129
  val text = data.readUtf8()
116
130
  val lines = text.split(CRLF.toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
117
131
  for (line in lines) {
@@ -126,20 +140,81 @@ internal class MultipartStreamReader(
126
140
  return headers
127
141
  }
128
142
 
143
+ /**
144
+ * Emits a chunk to the listener. The `body` passed to the listener is bounded to the chunk body
145
+ * bytes, so the listener cannot accidentally read into the next boundary.
146
+ *
147
+ * Also drains any unread body bytes after the callback to keep parsing in sync.
148
+ */
129
149
  @Throws(IOException::class)
130
- private fun emitChunk(chunk: Buffer, done: Boolean, listener: ChunkListener) {
150
+ private fun emitChunk(
151
+ content: Buffer,
152
+ chunkLength: Long,
153
+ done: Boolean,
154
+ listener: ChunkListener,
155
+ ) {
131
156
  val marker: ByteString = ByteString.encodeUtf8(CRLF + CRLF)
132
- val indexOfMarker = chunk.indexOf(marker)
133
- if (indexOfMarker == -1L) {
134
- listener.onChunkComplete(emptyMap(), chunk, done)
135
- } else {
136
- val headers = Buffer()
137
- val body = Buffer()
138
- chunk.read(headers, indexOfMarker)
139
- chunk.skip(marker.size().toLong())
140
- chunk.readAll(body)
141
- listener.onChunkComplete(parseHeaders(headers), body, done)
157
+ val indexOfMarker = content.indexOf(marker, 0)
158
+
159
+ if (indexOfMarker == -1L || indexOfMarker >= chunkLength) {
160
+ // No headers marker found inside the chunk. Treat the entire chunk as body.
161
+ val bodyLength = chunkLength
162
+ val body = Okio.buffer(FixedLengthSource(content, bodyLength))
163
+ try {
164
+ listener.onChunkComplete(emptyMap(), body, done)
165
+ } finally {
166
+ drainFully(body)
167
+ }
168
+ return
142
169
  }
170
+
171
+ // Headers exist.
172
+ val headersBuf = Buffer()
173
+ content.read(headersBuf, indexOfMarker)
174
+ content.skip(marker.size().toLong())
175
+ val headers = parseHeaders(headersBuf)
176
+
177
+ val maxBodyLength = chunkLength - indexOfMarker - marker.size().toLong()
178
+ val body = Okio.buffer(FixedLengthSource(content, maxBodyLength))
179
+ try {
180
+ listener.onChunkComplete(headers, body, done)
181
+ } finally {
182
+ drainFully(body)
183
+ }
184
+ }
185
+
186
+ private fun drainFully(body: BufferedSource) {
187
+ // Drain remaining bytes from this part body (if listener didn't).
188
+ // Use small reusable buffer to avoid unbounded memory.
189
+ val tmp = Buffer()
190
+ try {
191
+ while (true) {
192
+ val r = body.read(tmp, 8 * 1024L)
193
+ if (r == -1L) break
194
+ tmp.clear()
195
+ }
196
+ } catch (_: IOException) {
197
+ // Best-effort drain; parsing will likely fail upstream anyway.
198
+ }
199
+ }
200
+
201
+ private class FixedLengthSource(
202
+ private val upstream: Buffer,
203
+ private var remaining: Long,
204
+ ) : Source {
205
+ override fun read(sink: Buffer, byteCount: Long): Long {
206
+ if (byteCount == 0L) return 0L
207
+ if (remaining == 0L) return -1L
208
+ val toRead = minOf(byteCount, remaining)
209
+ val read = upstream.read(sink, toRead)
210
+ if (read == -1L) return -1L
211
+ remaining -= read
212
+ return read
213
+ }
214
+
215
+ override fun timeout(): Timeout = Timeout.NONE
216
+
217
+ override fun close() = Unit
143
218
  }
144
219
 
145
220
  @Throws(IOException::class)