react-native-tvos 0.79.3-0 → 0.80.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 (1450) hide show
  1. package/Libraries/Alert/Alert.d.ts +4 -1
  2. package/Libraries/Alert/Alert.js +3 -0
  3. package/Libraries/Alert/RCTAlertManager.js +17 -0
  4. package/Libraries/Animated/Animated.js.flow +1 -3
  5. package/Libraries/Animated/AnimatedEvent.js +4 -3
  6. package/Libraries/Animated/AnimatedExports.js +2 -2
  7. package/Libraries/Animated/AnimatedExports.js.flow +140 -0
  8. package/Libraries/Animated/AnimatedImplementation.js +2 -123
  9. package/Libraries/Animated/Easing.js +13 -15
  10. package/Libraries/Animated/animations/Animation.js +8 -4
  11. package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
  12. package/Libraries/Animated/components/AnimatedScrollView.js +48 -42
  13. package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
  14. package/Libraries/Animated/createAnimatedComponent.js +105 -57
  15. package/Libraries/Animated/nodes/AnimatedNode.js +4 -3
  16. package/Libraries/Animated/nodes/AnimatedProps.js +46 -26
  17. package/Libraries/Animated/nodes/AnimatedValue.js +16 -7
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
  19. package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -0
  20. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +6 -0
  21. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -4
  22. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +6 -5
  23. package/Libraries/AppDelegate/RCTDependencyProvider.h +2 -0
  24. package/Libraries/AppDelegate/RCTReactNativeFactory.h +4 -0
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +54 -40
  26. package/Libraries/AppDelegate/RCTRootViewFactory.h +9 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +14 -6
  28. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -11
  29. package/Libraries/AppState/AppState.js +7 -2
  30. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  31. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  32. package/Libraries/Blob/BlobManager.js +1 -0
  33. package/Libraries/Blob/FileReader.js +219 -8
  34. package/Libraries/Blob/RCTBlobCollector.mm +1 -1
  35. package/Libraries/Blob/RCTBlobManager.h +0 -4
  36. package/Libraries/Blob/RCTBlobManager.mm +4 -21
  37. package/Libraries/Blob/RCTFileReaderModule.mm +2 -2
  38. package/Libraries/Blob/React-RCTBlob.podspec +4 -14
  39. package/Libraries/Blob/URL.js +24 -11
  40. package/Libraries/Blob/URLSearchParams.js +106 -31
  41. package/Libraries/Blob/URLSearchParams.js.flow +12 -7
  42. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  43. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js +17 -0
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -0
  45. package/Libraries/Components/Button.js +1 -1
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -3
  47. package/Libraries/{NewAppScreen/components/Colors.js → Components/DrawerAndroid/DrawerLayoutAndroid.ios.js} +6 -10
  48. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +6 -66
  49. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +18 -0
  50. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +71 -0
  51. package/Libraries/Components/Keyboard/Keyboard.js +5 -3
  52. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +6 -3
  53. package/Libraries/Components/Pressable/Pressable.js +23 -7
  54. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +25 -3
  55. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +29 -20
  56. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  57. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  58. package/Libraries/Components/ScrollView/ScrollView.js +132 -122
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/Switch/Switch.d.ts +3 -0
  61. package/Libraries/Components/Switch/Switch.js +8 -4
  62. package/Libraries/Components/TV/TVEventControl.js +3 -1
  63. package/Libraries/Components/TV/TVEventHandler.js +21 -13
  64. package/Libraries/Components/TV/TVFocusEventHandler.js +1 -1
  65. package/Libraries/Components/TV/TVFocusGuideView.js +3 -8
  66. package/Libraries/Components/TV/tagForComponentOrHandle.js +2 -2
  67. package/Libraries/Components/TV/useTVEventHandler.js +1 -1
  68. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -13
  69. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -4
  70. package/Libraries/Components/TextInput/TextInput.d.ts +76 -33
  71. package/Libraries/Components/TextInput/TextInput.flow.js +106 -55
  72. package/Libraries/Components/TextInput/TextInput.js +94 -1029
  73. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  74. package/Libraries/{Modal/ModalInjection.js → Components/ToastAndroid/ToastAndroid.ios.js} +3 -5
  75. package/Libraries/Components/ToastAndroid/ToastAndroid.js +4 -32
  76. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +109 -0
  77. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +45 -0
  78. package/Libraries/Components/Touchable/Touchable.js +5 -5
  79. package/Libraries/Components/Touchable/TouchableBounce.js +14 -7
  80. package/Libraries/Components/Touchable/TouchableHighlight.js +14 -10
  81. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -6
  82. package/Libraries/Components/Touchable/TouchableOpacity.js +14 -7
  83. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  84. package/Libraries/Components/View/View.js +21 -23
  85. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  86. package/Libraries/Components/View/ViewAccessibility.js +25 -1
  87. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  88. package/Libraries/Components/View/ViewPropTypes.d.ts +16 -0
  89. package/Libraries/Components/View/ViewPropTypes.js +49 -3
  90. package/Libraries/Core/ReactNativeVersion.js +2 -2
  91. package/Libraries/Core/setUpReactDevTools.js +5 -5
  92. package/Libraries/Debugging/DebuggingOverlayRegistry.js +3 -3
  93. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -4
  94. package/Libraries/Image/AssetSourceResolver.js +17 -4
  95. package/Libraries/Image/Image.d.ts +26 -10
  96. package/Libraries/Image/Image.js +17 -0
  97. package/Libraries/Image/Image.js.flow +5 -5
  98. package/Libraries/Image/ImageBackground.js +2 -0
  99. package/Libraries/Image/ImageInjection.js +1 -1
  100. package/Libraries/Image/ImageProps.js +22 -17
  101. package/Libraries/Image/ImageSource.js +3 -1
  102. package/Libraries/Image/ImageSourceUtils.js +4 -2
  103. package/Libraries/Image/ImageTypes.flow.js +1 -1
  104. package/Libraries/Image/RCTImageLoader.mm +63 -19
  105. package/Libraries/Image/RCTImageStoreManager.mm +10 -32
  106. package/Libraries/Image/RCTImageURLLoader.h +19 -1
  107. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -23
  108. package/Libraries/Image/React-RCTImage.podspec +2 -7
  109. package/Libraries/Interaction/InteractionManager.d.ts +13 -0
  110. package/Libraries/Interaction/InteractionManager.js +1 -1
  111. package/Libraries/Interaction/PanResponder.js +3 -3
  112. package/Libraries/Interaction/TaskQueue.js +1 -0
  113. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  114. package/Libraries/Linking/Linking.js +1 -1
  115. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -6
  116. package/Libraries/Lists/FlatList.d.ts +2 -2
  117. package/Libraries/Lists/FlatList.js +8 -11
  118. package/Libraries/Lists/SectionList.js +39 -42
  119. package/Libraries/Lists/SectionListModern.js +25 -34
  120. package/Libraries/Lists/VirtualizedList.js +1 -0
  121. package/Libraries/Lists/VirtualizedSectionList.js +1 -0
  122. package/Libraries/LogBox/Data/LogBoxData.js +1 -1
  123. package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
  124. package/Libraries/Modal/Modal.js +33 -7
  125. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +118 -124
  126. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +4 -7
  127. package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -6
  128. package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -0
  129. package/Libraries/NativeComponent/BaseViewConfig.js +17 -0
  130. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +2 -2
  131. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  132. package/Libraries/Network/RCTDataRequestHandler.mm +10 -6
  133. package/Libraries/Network/RCTFileRequestHandler.mm +11 -7
  134. package/Libraries/Network/RCTHTTPRequestHandler.mm +1 -2
  135. package/Libraries/Network/RCTInspectorNetworkReporter.h +32 -0
  136. package/Libraries/Network/RCTInspectorNetworkReporter.mm +88 -0
  137. package/Libraries/Network/RCTNetworking.android.js +1 -1
  138. package/Libraries/Network/RCTNetworking.h +0 -4
  139. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  140. package/Libraries/Network/RCTNetworking.js +17 -0
  141. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  142. package/Libraries/Network/RCTNetworking.mm +32 -33
  143. package/Libraries/Network/React-RCTNetwork.podspec +6 -7
  144. package/Libraries/Network/XMLHttpRequest.js +781 -10
  145. package/Libraries/Performance/Systrace.js +7 -7
  146. package/Libraries/Pressability/Pressability.js +1 -1
  147. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -6
  148. package/Libraries/ReactNative/AppContainer-dev.js +10 -9
  149. package/Libraries/ReactNative/AppRegistry.flow.js +49 -0
  150. package/Libraries/ReactNative/AppRegistry.js +2 -322
  151. package/Libraries/ReactNative/AppRegistry.js.flow +23 -0
  152. package/Libraries/ReactNative/AppRegistryImpl.js +316 -0
  153. package/Libraries/ReactNative/FabricUIManager.js +10 -0
  154. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -4
  155. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -4
  156. package/Libraries/ReactNative/RendererImplementation.js +10 -5
  157. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -0
  158. package/Libraries/ReactNative/renderApplication.js +9 -0
  159. package/Libraries/ReactNativeDependencies/Package.swift +2 -2
  160. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -3
  161. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +51 -0
  162. package/Libraries/Renderer/implementations/ReactFabric-dev.js +4840 -4748
  163. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4947 -4829
  164. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3998 -3888
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5005 -4948
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2744 -2652
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5020 -4933
  168. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -3
  169. package/Libraries/Settings/React-RCTSettings.podspec +3 -7
  170. package/Libraries/Settings/Settings.ios.js +1 -0
  171. package/Libraries/Settings/Settings.js +13 -19
  172. package/Libraries/Settings/SettingsFallback.js +33 -0
  173. package/Libraries/StyleSheet/PlatformColorValueTypes.js +15 -0
  174. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +6 -0
  175. package/Libraries/StyleSheet/Rect.js +1 -0
  176. package/Libraries/StyleSheet/StyleSheet.js +31 -200
  177. package/Libraries/StyleSheet/StyleSheet.js.flow +188 -0
  178. package/Libraries/StyleSheet/StyleSheetExports.js +210 -0
  179. package/Libraries/StyleSheet/StyleSheetExports.js.flow +112 -0
  180. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  181. package/Libraries/StyleSheet/StyleSheetTypes.js +130 -52
  182. package/Libraries/StyleSheet/flattenStyle.js +14 -4
  183. package/Libraries/StyleSheet/private/_TransformStyle.js +49 -21
  184. package/Libraries/StyleSheet/processBackgroundImage.js +670 -214
  185. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +1 -1
  186. package/Libraries/Text/Text.d.ts +2 -5
  187. package/Libraries/Text/Text.js +3 -3
  188. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +11 -0
  189. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +96 -0
  190. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -0
  191. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -4
  192. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +11 -0
  193. package/Libraries/Text/TextNativeComponent.js +0 -4
  194. package/Libraries/Text/TextProps.js +5 -33
  195. package/Libraries/Types/CodegenTypesNamespace.d.ts +45 -0
  196. package/Libraries/{Blob/__mocks__/BlobModule.js → Types/CodegenTypesNamespace.js} +4 -6
  197. package/Libraries/Types/CoreEventTypes.d.ts +10 -1
  198. package/Libraries/Types/CoreEventTypes.js +4 -6
  199. package/Libraries/Utilities/Appearance.js +2 -0
  200. package/Libraries/Utilities/BackHandler.ios.js +9 -4
  201. package/Libraries/Utilities/BackHandler.js +17 -0
  202. package/Libraries/Utilities/DeviceInfo.js +2 -0
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Platform.js +17 -0
  205. package/Libraries/Utilities/PlatformTypes.js +11 -3
  206. package/Libraries/Utilities/ReactNativeTestTools.js +2 -2
  207. package/Libraries/Utilities/codegenNativeCommands.d.ts +18 -0
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +26 -0
  209. package/Libraries/Utilities/setAndForwardRef.js +6 -6
  210. package/Libraries/Vibration/React-RCTVibration.podspec +3 -7
  211. package/Libraries/WebSocket/WebSocket.js +313 -8
  212. package/Libraries/vendor/core/ErrorUtils.js +28 -2
  213. package/Libraries/vendor/emitter/EventEmitter.js +6 -2
  214. package/README-core.md +0 -3
  215. package/React/Base/RCTBridge.h +5 -3
  216. package/React/Base/RCTBridge.mm +95 -13
  217. package/React/Base/RCTBridgeProxy.mm +1 -1
  218. package/React/Base/RCTUtils.h +8 -5
  219. package/React/Base/{RCTUtils.m → RCTUtils.mm} +55 -28
  220. package/React/Base/RCTVersion.m +2 -2
  221. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +3 -8
  222. package/React/CoreModules/RCTAccessibilityManager.mm +9 -11
  223. package/React/CoreModules/RCTAppState.mm +11 -9
  224. package/React/CoreModules/RCTAppearance.mm +2 -14
  225. package/React/CoreModules/RCTDevSettings.mm +0 -1
  226. package/React/CoreModules/RCTDeviceInfo.mm +50 -19
  227. package/React/CoreModules/RCTLogBox.mm +1 -1
  228. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  229. package/React/CoreModules/RCTPlatform.mm +25 -20
  230. package/React/CoreModules/RCTStatusBarManager.mm +18 -13
  231. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +0 -2
  232. package/React/CoreModules/React-CoreModules.podspec +4 -18
  233. package/React/CxxBridge/RCTCxxBridge.mm +6 -18
  234. package/React/CxxModule/RCTNativeModule.mm +1 -1
  235. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +173 -133
  236. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +600 -425
  237. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -0
  238. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +3 -4
  239. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.h +1 -1
  240. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +2 -2
  241. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +2 -4
  242. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +2 -2
  243. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +31 -0
  244. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +12 -0
  245. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +1 -1
  246. package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +2 -2
  247. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +13 -8
  248. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +62 -15
  249. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +47 -4
  250. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
  251. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +28 -0
  252. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +83 -0
  253. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +11 -0
  254. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +127 -29
  255. package/React/Fabric/Mounting/RCTComponentViewFactory.h +0 -6
  256. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +36 -31
  257. package/React/Fabric/RCTScheduler.mm +6 -0
  258. package/React/Fabric/Utils/RCTBoxShadow.h +2 -4
  259. package/React/Fabric/Utils/RCTBoxShadow.mm +92 -224
  260. package/React/Fabric/Utils/RCTGradientUtils.h +21 -0
  261. package/React/Fabric/Utils/RCTGradientUtils.mm +204 -0
  262. package/React/Fabric/Utils/RCTLinearGradient.mm +3 -192
  263. package/React/Fabric/Utils/{RCTViewFinder.h → RCTRadialGradient.h} +3 -2
  264. package/React/Fabric/Utils/RCTRadialGradient.mm +229 -0
  265. package/React/Profiler/RCTProfile.m +1 -1
  266. package/React/React-RCTFBReactNativeSpec.podspec +3 -13
  267. package/React/React-RCTFabric.podspec +6 -14
  268. package/React/Runtime/React-RCTRuntime.podspec +4 -18
  269. package/React/Views/RCTBorderDrawing.h +5 -2
  270. package/React/Views/RCTBorderDrawing.m +29 -12
  271. package/React/Views/RCTFont.mm +0 -4
  272. package/React/Views/RCTView.m +4 -4
  273. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  274. package/React-Core.podspec +4 -20
  275. package/ReactAndroid/api/ReactAndroid.api +617 -1147
  276. package/ReactAndroid/build.gradle.kts +4 -2
  277. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +9 -15
  278. package/ReactAndroid/external-artifacts/build.gradle.kts +6 -4
  279. package/ReactAndroid/gradle.properties +4 -2
  280. package/ReactAndroid/hermes-engine/build.gradle.kts +7 -4
  281. package/ReactAndroid/proguard-rules.pro +0 -6
  282. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  283. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +3 -2
  284. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +11 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +56 -0
  286. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -5
  287. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +4 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +14 -3
  289. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +54 -0
  290. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +15 -4
  291. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +20 -8
  292. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +4 -12
  293. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +88 -0
  294. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +20 -56
  295. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +2 -2
  296. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  297. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -42
  298. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +9 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +9 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +2 -2
  301. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +0 -1
  302. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +3 -3
  304. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +12 -12
  305. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +10 -10
  306. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  308. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -6
  309. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +1072 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +774 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +1 -1
  312. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.kt +26 -0
  313. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +9 -7
  314. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +29 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +3 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +14 -3
  317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeSoLoader.kt +36 -0
  318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +35 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +2 -2
  320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +17 -13
  321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +214 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +10 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +56 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +3 -3
  326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +61 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.kt +80 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.kt +80 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +6 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +42 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.kt +26 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +78 -0
  333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +99 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +3 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +118 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +13 -5
  337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +142 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.kt +26 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.kt +30 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +2 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.kt +129 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/bridge/LifecycleEventListener.kt +2 -0
  343. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +8 -5
  344. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -0
  345. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +10 -0
  346. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArray.kt +1 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeMap.kt +1 -1
  348. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +2 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +18 -7
  350. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +3 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +9 -8
  352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +2 -0
  353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +5 -7
  354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +48 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactIgnorableMountingException.kt +6 -6
  356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +7 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +3 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMethod.kt +1 -0
  359. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -2
  360. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +31 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +10 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +1 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +61 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +61 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Systrace.kt +2 -2
  366. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +6 -5
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +3 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.kt +69 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +13 -7
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +4 -3
  371. package/ReactAndroid/src/main/java/com/facebook/react/common/ClassFinder.kt +3 -4
  372. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +2 -2
  373. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.kt +2 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +23 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +16 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +1 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +66 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  379. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +7 -7
  381. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +10 -12
  382. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +98 -0
  383. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +81 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +323 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +118 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +159 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +87 -0
  388. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +1 -1
  389. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +413 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +903 -0
  391. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +57 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +1 -1
  393. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -1
  394. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +4 -4
  395. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +167 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.kt +44 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +10 -16
  398. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +251 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +11 -13
  401. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +3 -3
  402. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +2 -2
  403. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +176 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.kt +4 -5
  405. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +177 -86
  406. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +6 -2
  407. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +6 -11
  408. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.kt +103 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +13 -11
  410. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +8 -12
  411. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +5 -9
  412. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +7 -15
  413. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlock.kt +2 -2
  414. package/ReactAndroid/src/main/java/com/facebook/react/fabric/interop/UIBlockViewResolver.kt +2 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +6 -6
  416. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +16 -39
  417. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -25
  418. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +12 -5
  419. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.kt +2 -2
  420. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchCommandMountItem.kt +3 -3
  421. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +335 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItem.kt +3 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +7 -7
  424. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +2 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/TaskInterface.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +16 -16
  427. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +3 -3
  428. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +75 -60
  429. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +120 -100
  430. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -21
  431. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -23
  432. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +135 -113
  433. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +1 -3
  434. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  435. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -21
  436. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +84 -0
  437. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -2
  438. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +14 -4
  439. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +12 -2
  440. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +293 -0
  441. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +405 -0
  442. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +63 -0
  443. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +2 -2
  444. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +5 -0
  445. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +7 -0
  446. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +1 -5
  447. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskEventListener.kt +3 -2
  448. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +13 -12
  449. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +2 -2
  450. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +336 -0
  451. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +113 -0
  452. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.kt +99 -0
  453. package/ReactAndroid/src/main/java/com/facebook/react/modules/common/ModuleDataCleaner.kt +4 -4
  454. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +4 -0
  455. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +1 -1
  456. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +4 -4
  457. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +2 -0
  458. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  460. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +5 -1
  461. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +4 -0
  462. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +1 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +14 -8
  464. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +4 -0
  465. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +12 -17
  466. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +209 -0
  467. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +205 -0
  468. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
  469. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +18 -18
  470. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +6 -5
  471. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +11 -22
  472. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +35 -29
  473. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +1 -1
  474. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +846 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +4 -1
  476. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +57 -0
  477. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  478. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +6 -6
  479. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +4 -4
  480. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +13 -12
  481. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +14 -3
  482. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.kt +6 -5
  483. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +20 -0
  484. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +7 -11
  485. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +161 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +130 -0
  487. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +10 -2
  488. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +156 -0
  489. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +1 -1
  490. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +112 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -4
  492. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +159 -0
  493. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactStateTracker.kt +1 -1
  494. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +113 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +1 -1
  496. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +97 -75
  497. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +11 -10
  498. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +599 -0
  500. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.kt +91 -0
  501. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +217 -0
  502. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +12 -11
  503. package/ReactAndroid/src/main/java/com/facebook/react/runtime/cxxreactpackage/CxxReactPackage.kt +4 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Continuation.kt +2 -2
  505. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +418 -0
  506. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +31 -25
  508. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  509. package/ReactAndroid/src/main/java/com/facebook/react/touch/JSResponderHandler.kt +9 -9
  510. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +4 -4
  511. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactHitSlopView.kt +2 -2
  512. package/ReactAndroid/src/main/java/com/facebook/react/touch/ReactInterceptingViewGroup.kt +5 -5
  513. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +2 -11
  514. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +3 -12
  515. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +7 -2
  516. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +7 -5
  518. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +1 -1
  519. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
  520. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +59 -7
  521. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -0
  522. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +8 -0
  523. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +1 -10
  524. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +3 -1
  525. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +13 -5
  526. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +11 -2
  527. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +12 -1
  528. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +93 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +1 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -1
  531. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +146 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +11 -9
  533. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +63 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
  535. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +3 -3
  536. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +2 -2
  537. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +2 -2
  538. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +3 -0
  539. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +10 -1
  540. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +68 -0
  541. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReferenceStateWrapper.kt +13 -0
  543. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +103 -0
  544. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +2 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +8 -11
  546. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +435 -0
  547. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +223 -0
  548. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +3 -3
  549. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +19 -13
  550. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +14 -3
  551. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +31 -15
  552. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +92 -0
  553. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +17 -13
  554. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +3 -0
  555. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +27 -22
  556. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +46 -0
  557. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +109 -0
  558. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +87 -0
  559. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +22 -3
  560. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +7 -5
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +9 -4
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +2 -0
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +6 -0
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +97 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +86 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.kt +15 -0
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +5 -1
  568. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +3 -3
  569. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +3 -0
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +3 -1
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +9 -1
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +8 -6
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +10 -10
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +3 -17
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlurEvent.kt +16 -5
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +206 -0
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +7 -7
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +1 -13
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +16 -43
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +2 -2
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{ReactEventEmitter.kt → EventEmitterImpl.kt} +39 -47
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +33 -43
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FocusEvent.kt +16 -5
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +27 -31
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -0
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +0 -3
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +11 -4
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +12 -8
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +52 -0
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +128 -0
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +3 -0
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +85 -0
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +225 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +3 -0
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +10 -0
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +12 -0
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +12 -0
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +12 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -1
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +69 -0
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +87 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +10 -2
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +30 -12
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +36 -22
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +206 -0
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +8 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -38
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +72 -246
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +375 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +30 -0
  611. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +6 -6
  612. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +3 -1
  613. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -1
  614. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +7 -7
  615. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +7 -7
  616. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +8 -8
  617. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +7 -10
  618. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +1 -1
  619. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +6 -5
  620. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +7 -10
  622. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +20 -17
  623. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +20 -28
  624. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +43 -41
  625. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +1 -1
  626. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +4 -0
  628. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +14 -12
  629. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +1 -1
  630. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +2 -1
  631. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +172 -0
  632. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +27 -7
  633. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +366 -0
  634. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +36 -7
  635. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +74 -1
  636. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +390 -0
  637. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +4 -2
  638. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -0
  639. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +1 -1
  640. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  641. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
  642. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +4 -0
  643. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -2
  644. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +18 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +418 -0
  646. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +212 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +25 -12
  648. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -6
  649. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +31 -0
  650. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +207 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +6 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +1 -4
  653. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +40 -54
  654. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +4 -10
  655. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +9 -14
  656. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +3 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +2 -0
  658. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +30 -8
  659. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +2 -0
  660. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +237 -121
  661. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +8 -4
  662. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +140 -0
  663. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +174 -0
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +2 -1
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +4 -3
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLineHeightSpan.kt +3 -3
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +8 -8
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactAbsoluteSizeSpan.kt +1 -1
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactBackgroundColorSpan.kt +1 -1
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +6 -5
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactForegroundColorSpan.kt +1 -1
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +1 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactSpan.kt +1 -1
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactStrikethroughSpan.kt +1 -1
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTagSpan.kt +2 -2
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactTextPaintHolderSpan.kt +1 -1
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactUnderlineSpan.kt +1 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +5 -5
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +3 -3
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +11 -11
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +4 -7
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +50 -0
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +1331 -0
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +151 -0
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +44 -0
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +51 -0
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +43 -0
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +35 -0
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.kt +33 -0
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +1139 -0
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +46 -0
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +210 -0
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +40 -0
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +66 -0
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +49 -0
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +45 -0
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +12 -9
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +6 -4
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/view/MeasureUtil.kt +2 -2
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +37 -8
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +51 -4
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +4 -4
  703. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +19 -23
  704. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +10 -11
  705. package/ReactAndroid/src/main/java/com/facebook/systrace/TraceListener.kt +3 -3
  706. package/ReactAndroid/src/main/jni/CMakeLists.txt +22 -9
  707. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +3 -0
  708. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +3 -1
  709. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +1 -2
  710. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +4 -7
  711. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +3 -2
  712. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +2 -9
  713. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.cpp +3 -8
  714. package/ReactAndroid/src/main/jni/react/fabric/EventBeatManager.h +1 -9
  715. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +12 -0
  716. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +4 -0
  717. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +130 -13
  718. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +9 -0
  719. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +186 -0
  720. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +38 -0
  721. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +10 -0
  722. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
  723. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +5 -2
  724. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.h +2 -1
  725. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +2 -10
  726. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +166 -138
  727. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +34 -28
  728. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +2 -5
  729. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +3 -7
  730. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +2 -0
  731. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +54 -6
  732. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +14 -18
  733. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +10 -17
  734. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +1 -0
  735. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +9 -14
  736. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +33 -0
  737. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -15
  738. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.cpp +30 -0
  739. package/ReactAndroid/src/main/jni/react/jni/SafeReleaseJniRef.h +12 -1
  740. package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +3 -3
  741. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +2 -0
  742. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +2 -0
  743. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +3 -2
  744. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +3 -6
  745. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +10 -0
  746. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +4 -0
  747. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  748. package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +3 -1
  749. package/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/CMakeLists.txt +4 -7
  750. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -8
  751. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +5 -7
  752. package/ReactAndroid/src/main/jni/react/runtime/jni/JBindingsInstaller.h +2 -4
  753. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +0 -4
  754. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +3 -1
  755. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +4 -7
  756. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.cpp +1 -7
  757. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CallInvokerHolder.h +4 -3
  758. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.cpp +1 -8
  759. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/NativeMethodCallInvokerHolder.h +4 -3
  760. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +3 -2
  761. package/ReactAndroid/src/main/jni/third-party/boost/CMakeLists.txt +1 -0
  762. package/ReactAndroid/src/main/jni/third-party/double-conversion/CMakeLists.txt +4 -1
  763. package/ReactAndroid/src/main/jni/third-party/fast_float/CMakeLists.txt +2 -1
  764. package/ReactAndroid/src/main/jni/third-party/fmt/CMakeLists.txt +2 -1
  765. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +14 -9
  766. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +5 -0
  767. package/ReactAndroid/src/main/res/devsupport/values-am/strings.xml +6 -0
  768. package/ReactAndroid/src/main/res/shell/values/styles.xml +4 -4
  769. package/ReactAndroid/src/main/res/systeminfo/values/strings.xml +4 -0
  770. package/ReactAndroid/src/main/res/systeminfo/values-af/strings.xml +6 -0
  771. package/ReactAndroid/src/main/res/systeminfo/values-ar/strings.xml +6 -0
  772. package/ReactAndroid/src/main/res/systeminfo/values-az/strings.xml +6 -0
  773. package/ReactAndroid/src/main/res/systeminfo/values-be/strings.xml +6 -0
  774. package/ReactAndroid/src/main/res/systeminfo/values-bg/strings.xml +6 -0
  775. package/ReactAndroid/src/main/res/systeminfo/values-bn/strings.xml +6 -0
  776. package/ReactAndroid/src/main/res/systeminfo/values-ca/strings.xml +6 -0
  777. package/ReactAndroid/src/main/res/systeminfo/values-cs/strings.xml +6 -0
  778. package/ReactAndroid/src/main/res/systeminfo/values-da/strings.xml +6 -0
  779. package/ReactAndroid/src/main/res/systeminfo/values-de/strings.xml +6 -0
  780. package/ReactAndroid/src/main/res/systeminfo/values-el/strings.xml +6 -0
  781. package/ReactAndroid/src/main/res/systeminfo/values-en-rGB/strings.xml +6 -0
  782. package/ReactAndroid/src/main/res/systeminfo/values-es/strings.xml +6 -0
  783. package/ReactAndroid/src/main/res/systeminfo/values-es-rES/strings.xml +6 -0
  784. package/ReactAndroid/src/main/res/systeminfo/values-et/strings.xml +6 -0
  785. package/ReactAndroid/src/main/res/systeminfo/values-fa/strings.xml +6 -0
  786. package/ReactAndroid/src/main/res/systeminfo/values-fi/strings.xml +6 -0
  787. package/ReactAndroid/src/main/res/systeminfo/values-fr/strings.xml +6 -0
  788. package/ReactAndroid/src/main/res/systeminfo/values-fr-rCA/strings.xml +6 -0
  789. package/ReactAndroid/src/main/res/systeminfo/values-gu/strings.xml +6 -0
  790. package/ReactAndroid/src/main/res/systeminfo/values-hi/strings.xml +6 -0
  791. package/ReactAndroid/src/main/res/systeminfo/values-hr/strings.xml +6 -0
  792. package/ReactAndroid/src/main/res/systeminfo/values-hu/strings.xml +6 -0
  793. package/ReactAndroid/src/main/res/systeminfo/values-hy/strings.xml +6 -0
  794. package/ReactAndroid/src/main/res/systeminfo/values-is/strings.xml +6 -0
  795. package/ReactAndroid/src/main/res/systeminfo/values-it/strings.xml +6 -0
  796. package/ReactAndroid/src/main/res/systeminfo/values-iw/strings.xml +6 -0
  797. package/ReactAndroid/src/main/res/systeminfo/values-ja/strings.xml +6 -0
  798. package/ReactAndroid/src/main/res/systeminfo/values-ka/strings.xml +6 -0
  799. package/ReactAndroid/src/main/res/systeminfo/values-kk/strings.xml +6 -0
  800. package/ReactAndroid/src/main/res/systeminfo/values-km/strings.xml +6 -0
  801. package/ReactAndroid/src/main/res/systeminfo/values-kn/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/systeminfo/values-ko/strings.xml +6 -0
  803. package/ReactAndroid/src/main/res/systeminfo/values-ky/strings.xml +6 -0
  804. package/ReactAndroid/src/main/res/systeminfo/values-lo/strings.xml +6 -0
  805. package/ReactAndroid/src/main/res/systeminfo/values-lt/strings.xml +6 -0
  806. package/ReactAndroid/src/main/res/systeminfo/values-lv/strings.xml +6 -0
  807. package/ReactAndroid/src/main/res/systeminfo/values-mk/strings.xml +6 -0
  808. package/ReactAndroid/src/main/res/systeminfo/values-ml/strings.xml +6 -0
  809. package/ReactAndroid/src/main/res/systeminfo/values-mn/strings.xml +6 -0
  810. package/ReactAndroid/src/main/res/systeminfo/values-mr/strings.xml +6 -0
  811. package/ReactAndroid/src/main/res/systeminfo/values-ms/strings.xml +6 -0
  812. package/ReactAndroid/src/main/res/systeminfo/values-my/strings.xml +6 -0
  813. package/ReactAndroid/src/main/res/systeminfo/values-ne/strings.xml +6 -0
  814. package/ReactAndroid/src/main/res/systeminfo/values-nl/strings.xml +6 -0
  815. package/ReactAndroid/src/main/res/systeminfo/values-pa/strings.xml +6 -0
  816. package/ReactAndroid/src/main/res/systeminfo/values-pl/strings.xml +6 -0
  817. package/ReactAndroid/src/main/res/systeminfo/values-pt/strings.xml +6 -0
  818. package/ReactAndroid/src/main/res/systeminfo/values-pt-rPT/strings.xml +6 -0
  819. package/ReactAndroid/src/main/res/systeminfo/values-ro/strings.xml +6 -0
  820. package/ReactAndroid/src/main/res/systeminfo/values-ru/strings.xml +6 -0
  821. package/ReactAndroid/src/main/res/systeminfo/values-si/strings.xml +6 -0
  822. package/ReactAndroid/src/main/res/systeminfo/values-sk/strings.xml +6 -0
  823. package/ReactAndroid/src/main/res/systeminfo/values-sl/strings.xml +6 -0
  824. package/ReactAndroid/src/main/res/systeminfo/values-sq/strings.xml +6 -0
  825. package/ReactAndroid/src/main/res/systeminfo/values-sr/strings.xml +6 -0
  826. package/ReactAndroid/src/main/res/systeminfo/values-sv/strings.xml +6 -0
  827. package/ReactAndroid/src/main/res/systeminfo/values-sw/strings.xml +6 -0
  828. package/ReactAndroid/src/main/res/systeminfo/values-ta/strings.xml +6 -0
  829. package/ReactAndroid/src/main/res/systeminfo/values-te/strings.xml +6 -0
  830. package/ReactAndroid/src/main/res/systeminfo/values-th/strings.xml +6 -0
  831. package/ReactAndroid/src/main/res/systeminfo/values-tr/strings.xml +6 -0
  832. package/ReactAndroid/src/main/res/systeminfo/values-uk/strings.xml +6 -0
  833. package/ReactAndroid/src/main/res/systeminfo/values-ur/strings.xml +6 -0
  834. package/ReactAndroid/src/main/res/systeminfo/values-vi/strings.xml +6 -0
  835. package/ReactAndroid/src/main/res/systeminfo/values-zh-rCN/strings.xml +6 -0
  836. package/ReactAndroid/src/main/res/systeminfo/values-zh-rHK/strings.xml +6 -0
  837. package/ReactAndroid/src/main/res/systeminfo/values-zh-rTW/strings.xml +6 -0
  838. package/ReactAndroid/src/main/res/systeminfo/values-zu/strings.xml +6 -0
  839. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +15 -0
  840. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +6 -0
  841. package/ReactCommon/React-Fabric.podspec +4 -59
  842. package/ReactCommon/React-FabricComponents.podspec +4 -40
  843. package/ReactCommon/React-FabricImage.podspec +2 -19
  844. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  845. package/ReactCommon/ReactCommon.podspec +4 -13
  846. package/ReactCommon/callinvoker/CMakeLists.txt +3 -6
  847. package/ReactCommon/cmake-utils/react-native-flags.cmake +39 -0
  848. package/ReactCommon/cxxreact/CMakeLists.txt +4 -6
  849. package/ReactCommon/cxxreact/CxxNativeModule.cpp +23 -33
  850. package/ReactCommon/cxxreact/JSExecutor.cpp +5 -2
  851. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +12 -10
  852. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -4
  853. package/ReactCommon/cxxreact/JsArgumentHelpers-inl.h +28 -21
  854. package/ReactCommon/cxxreact/JsArgumentHelpers.h +1 -2
  855. package/ReactCommon/cxxreact/MethodCall.cpp +17 -17
  856. package/ReactCommon/cxxreact/ModuleRegistry.cpp +15 -12
  857. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -8
  858. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +2 -1
  859. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -13
  860. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  861. package/ReactCommon/cxxreact/TraceSection.h +1 -1
  862. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +2 -2
  863. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +4 -9
  864. package/ReactCommon/hermes/React-hermes.podspec +4 -13
  865. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -1
  866. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +3 -6
  867. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +2 -8
  868. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -8
  869. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +100 -106
  870. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +1 -1
  871. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -8
  872. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -8
  873. package/ReactCommon/jsc/CMakeLists.txt +4 -7
  874. package/ReactCommon/jserrorhandler/CMakeLists.txt +2 -1
  875. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +12 -5
  876. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +2 -11
  877. package/ReactCommon/jsi/CMakeLists.txt +5 -6
  878. package/ReactCommon/jsi/React-jsi.podspec +2 -15
  879. package/ReactCommon/jsiexecutor/CMakeLists.txt +4 -5
  880. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -14
  881. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +7 -8
  882. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +1 -2
  883. package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -6
  884. package/ReactCommon/jsinspector-modern/HostAgent.cpp +304 -208
  885. package/ReactCommon/jsinspector-modern/HostAgent.h +8 -48
  886. package/ReactCommon/jsinspector-modern/HostTarget.cpp +1 -1
  887. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +1 -0
  888. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +4 -3
  889. package/ReactCommon/jsinspector-modern/InstanceAgent.h +1 -1
  890. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +22 -0
  891. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -4
  892. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -14
  893. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  894. package/ReactCommon/jsinspector-modern/RuntimeAgentDelegate.h +1 -1
  895. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +27 -12
  896. package/ReactCommon/jsinspector-modern/TracingAgent.h +2 -1
  897. package/ReactCommon/jsinspector-modern/cdp/CMakeLists.txt +26 -0
  898. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +50 -0
  899. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +27 -0
  900. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +143 -0
  901. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +110 -0
  902. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +157 -0
  903. package/ReactCommon/jsinspector-modern/network/HttpUtils.h +27 -0
  904. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +195 -0
  905. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +139 -0
  906. package/ReactCommon/jsinspector-modern/network/NetworkTypes.h +42 -0
  907. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +52 -0
  908. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +1 -2
  909. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +12 -0
  910. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +3 -6
  911. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.cpp → EventLoopReporter.cpp} +22 -9
  912. package/ReactCommon/jsinspector-modern/tracing/{EventLoopTaskReporter.h → EventLoopReporter.h} +13 -7
  913. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -5
  914. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +55 -42
  915. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +22 -13
  916. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +39 -30
  917. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +3 -8
  918. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +16 -0
  919. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +186 -162
  920. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +138 -5
  921. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +40 -92
  922. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +27 -35
  923. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +290 -0
  924. package/ReactCommon/jsitooling/CMakeLists.txt +4 -8
  925. package/ReactCommon/jsitooling/React-jsitooling.podspec +3 -21
  926. package/ReactCommon/logger/CMakeLists.txt +2 -1
  927. package/ReactCommon/logger/React-logger.podspec +1 -9
  928. package/ReactCommon/logger/react_native_log.cpp +2 -2
  929. package/ReactCommon/oscompat/CMakeLists.txt +2 -1
  930. package/ReactCommon/react/bridging/CMakeLists.txt +3 -7
  931. package/ReactCommon/react/debug/CMakeLists.txt +3 -8
  932. package/ReactCommon/react/featureflags/CMakeLists.txt +4 -9
  933. package/ReactCommon/react/featureflags/React-featureflags.podspec +2 -7
  934. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -41
  935. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +63 -53
  936. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +223 -187
  937. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -26
  938. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +46 -38
  939. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +100 -82
  940. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +51 -0
  941. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +33 -0
  942. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +33 -0
  943. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -13
  944. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +3 -8
  945. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +4 -6
  946. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -0
  947. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +23 -0
  948. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.h +29 -0
  949. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +12 -18
  950. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +6 -1
  951. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +3 -9
  952. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -0
  953. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +29 -2
  954. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +7 -39
  955. package/ReactCommon/react/nativemodule/cputime/CPUTime.h +30 -2
  956. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -7
  957. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -10
  958. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +3 -7
  959. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +3 -7
  960. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +2 -8
  961. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +84 -0
  962. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h +30 -0
  963. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +3 -7
  964. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +58 -48
  965. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -21
  966. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -10
  967. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +3 -8
  968. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +4 -11
  969. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +3 -7
  970. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -10
  971. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -17
  972. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +4 -8
  973. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +3 -0
  974. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +21 -1
  975. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +32 -5
  976. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +5 -10
  977. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +18 -15
  978. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +53 -9
  979. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +29 -6
  980. package/ReactCommon/react/performance/timeline/CMakeLists.txt +5 -9
  981. package/ReactCommon/react/performance/timeline/CircularBuffer.h +0 -1
  982. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +53 -15
  983. package/ReactCommon/react/performance/timeline/PerformanceEntryCircularBuffer.cpp +12 -3
  984. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +5 -2
  985. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.h +0 -1
  986. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +29 -33
  987. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
  988. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +8 -3
  989. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -11
  990. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +80 -165
  991. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +38 -71
  992. package/ReactCommon/react/renderer/animations/CMakeLists.txt +3 -7
  993. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +5 -9
  994. package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +2 -9
  995. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +3 -3
  996. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +3 -7
  997. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -1
  998. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  999. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -6
  1000. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -2
  1001. package/ReactCommon/react/renderer/attributedstring/conversions.h +38 -6
  1002. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +3 -7
  1003. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +25 -5
  1004. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +3 -7
  1005. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +3 -7
  1006. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +3 -7
  1007. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropShadowNode.h +1 -2
  1008. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
  1009. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h +0 -1
  1010. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +3 -7
  1011. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +3 -7
  1012. package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +48 -48
  1013. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -7
  1014. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +4 -10
  1015. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +3 -7
  1016. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +15 -0
  1017. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +3 -0
  1018. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +1 -0
  1019. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +4 -10
  1020. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +13 -9
  1021. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +6 -0
  1022. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +111 -25
  1023. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +22 -2
  1024. package/ReactCommon/react/renderer/components/text/{ParagraphState.cpp → platform/android/react/renderer/components/text/ParagraphState.cpp} +0 -2
  1025. package/ReactCommon/react/renderer/components/text/{ParagraphState.h → platform/android/react/renderer/components/text/ParagraphState.h} +9 -14
  1026. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/ParagraphState.h +42 -0
  1027. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +8 -1
  1028. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +2 -0
  1029. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +25 -11
  1030. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +3 -7
  1031. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +30 -19
  1032. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +12 -11
  1033. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/conversions.h +5 -5
  1034. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -7
  1035. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +1 -1
  1036. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +21 -1
  1037. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +8 -6
  1038. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +3 -7
  1039. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +16 -6
  1040. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +2 -1
  1041. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +2 -11
  1042. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +0 -2
  1043. package/ReactCommon/react/renderer/components/view/conversions.h +135 -79
  1044. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +18 -0
  1045. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  1046. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +6 -1
  1047. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +4 -0
  1048. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -7
  1049. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -7
  1050. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +2 -3
  1051. package/ReactCommon/react/renderer/core/ConcreteState.h +23 -2
  1052. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +44 -0
  1053. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +30 -0
  1054. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -9
  1055. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -3
  1056. package/ReactCommon/react/renderer/core/EventPayload.h +13 -0
  1057. package/ReactCommon/react/renderer/core/EventQueue.cpp +26 -26
  1058. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -0
  1059. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  1060. package/ReactCommon/react/renderer/core/RawEvent.h +10 -2
  1061. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -99
  1062. package/ReactCommon/react/renderer/core/RawProps.h +0 -11
  1063. package/ReactCommon/react/renderer/core/ReactEventPriority.h +5 -0
  1064. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -4
  1065. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  1066. package/ReactCommon/react/renderer/core/State.h +2 -0
  1067. package/ReactCommon/react/renderer/core/graphicsConversions.h +25 -17
  1068. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +0 -36
  1069. package/ReactCommon/react/renderer/core/tests/TestComponent.h +0 -4
  1070. package/ReactCommon/react/renderer/css/CMakeLists.txt +7 -7
  1071. package/ReactCommon/react/renderer/css/CSSTokenizer.h +12 -49
  1072. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
  1073. package/ReactCommon/react/renderer/debug/CMakeLists.txt +3 -7
  1074. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +27 -16
  1075. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +14 -5
  1076. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +2 -16
  1077. package/ReactCommon/react/renderer/dom/CMakeLists.txt +3 -7
  1078. package/ReactCommon/react/renderer/element/CMakeLists.txt +3 -7
  1079. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +2 -1
  1080. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +3 -7
  1081. package/ReactCommon/react/renderer/graphics/ColorStop.h +28 -0
  1082. package/ReactCommon/react/renderer/graphics/LinearGradient.h +1 -12
  1083. package/ReactCommon/react/renderer/graphics/RadialGradient.h +92 -0
  1084. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -19
  1085. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +2 -2
  1086. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -2
  1087. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +3 -7
  1088. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1089. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -13
  1090. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +3 -7
  1091. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +3 -8
  1092. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +3 -7
  1093. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +73 -55
  1094. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +5 -0
  1095. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -7
  1096. package/ReactCommon/react/renderer/mounting/ShadowTree.h +47 -36
  1097. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +3 -1
  1098. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +44 -12
  1099. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +39 -6
  1100. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +41 -12
  1101. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -1
  1102. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +3 -7
  1103. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +0 -25
  1104. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +5 -2
  1105. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +3 -1
  1106. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +3 -7
  1107. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -11
  1108. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -20
  1109. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +22 -10
  1110. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +3 -7
  1111. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +43 -20
  1112. package/ReactCommon/react/renderer/scheduler/Scheduler.h +15 -1
  1113. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +4 -0
  1114. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +84 -1
  1115. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +8 -0
  1116. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +3 -7
  1117. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +3 -7
  1118. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutContext.h +7 -11
  1119. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +124 -0
  1120. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +7 -0
  1121. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/JPreparedLayout.h +20 -0
  1122. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +126 -19
  1123. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +100 -0
  1124. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/{TextLayoutManager.cpp → react/renderer/textlayoutmanager/TextLayoutManager.cpp} +1 -18
  1125. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +57 -0
  1126. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +3 -0
  1127. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +47 -24
  1128. package/ReactCommon/react/renderer/textlayoutmanager/{TextLayoutManager.h → platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h} +2 -29
  1129. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +2 -0
  1130. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +4 -8
  1131. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +54 -23
  1132. package/ReactCommon/react/renderer/uimanager/UIManager.h +27 -7
  1133. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +11 -1
  1134. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +19 -1
  1135. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +30 -0
  1136. package/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +24 -0
  1137. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +223 -0
  1138. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +3 -7
  1139. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -1
  1140. package/ReactCommon/react/runtime/CMakeLists.txt +4 -7
  1141. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -13
  1142. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -11
  1143. package/ReactCommon/react/runtime/ReactInstance.cpp +10 -5
  1144. package/ReactCommon/react/runtime/ReactInstance.h +2 -1
  1145. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -1
  1146. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +1 -0
  1147. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +2 -1
  1148. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +2 -11
  1149. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +2 -0
  1150. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +17 -5
  1151. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +2 -0
  1152. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +64 -3
  1153. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
  1154. package/ReactCommon/react/timing/CMakeLists.txt +3 -6
  1155. package/ReactCommon/react/utils/CMakeLists.txt +9 -9
  1156. package/ReactCommon/react/utils/React-utils.podspec +13 -17
  1157. package/ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.cpp +95 -0
  1158. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressure.kt → ReactCommon/react/utils/platform/android/react/utils/LowPriorityExecutor.h} +6 -6
  1159. package/ReactCommon/react/utils/platform/cxx/react/utils/LowPriorityExecutor.h +18 -0
  1160. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.h +16 -0
  1161. package/ReactCommon/react/utils/platform/ios/react/utils/LowPriorityExecutor.mm +22 -0
  1162. package/ReactCommon/reactperflogger/CMakeLists.txt +3 -7
  1163. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -12
  1164. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +7 -3
  1165. package/ReactCommon/runtimeexecutor/CMakeLists.txt +3 -6
  1166. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +0 -6
  1167. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -12
  1168. package/ReactCommon/yoga/cmake/project-defaults.cmake +4 -4
  1169. package/ReactCommon/yoga/yoga/debug/AssertFatal.cpp +1 -0
  1170. package/ReactCommon/yoga/yoga/event/event.h +6 -6
  1171. package/flow/global.js +1 -0
  1172. package/gradle/libs.versions.toml +17 -6
  1173. package/index.js +54 -334
  1174. package/interface.js +0 -4
  1175. package/jest/resolver.js +31 -0
  1176. package/jest-preset.js +1 -0
  1177. package/package.json +105 -34
  1178. package/scripts/cocoapods/fabric.rb +0 -1
  1179. package/scripts/cocoapods/helpers.rb +12 -1
  1180. package/scripts/cocoapods/new_architecture.rb +46 -17
  1181. package/scripts/cocoapods/rndependencies.rb +211 -0
  1182. package/scripts/cocoapods/utils.rb +2 -0
  1183. package/scripts/codegen/generate-artifacts-executor/constants.js +80 -0
  1184. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +66 -0
  1185. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +116 -0
  1186. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +39 -0
  1187. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +114 -0
  1188. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +120 -0
  1189. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +223 -0
  1190. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +38 -0
  1191. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +93 -0
  1192. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +113 -0
  1193. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +92 -0
  1194. package/scripts/codegen/generate-artifacts-executor/index.js +232 -0
  1195. package/scripts/codegen/generate-artifacts-executor/utils.js +399 -0
  1196. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +5 -0
  1197. package/{React/Base/UIKitProxies/RCTInitializeUIKitProxies.h → scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderH.template} +5 -1
  1198. package/scripts/codegen/templates/RCTUnstableModulesRequiringMainQueueSetupProviderMM.template +19 -0
  1199. package/scripts/codegen/templates/ReactCodegen.podspec.template +2 -8
  1200. package/scripts/generate-codegen-artifacts.js +1 -1
  1201. package/scripts/react_native_pods.rb +18 -7
  1202. package/sdks/.hermesversion +1 -1
  1203. package/sdks/hermes-engine/hermes-utils.rb +7 -0
  1204. package/sdks/hermes-engine/utils/build-apple-framework.sh +4 -1
  1205. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +4 -3
  1206. package/sdks/hermesc/osx-bin/hermes +0 -0
  1207. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1208. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1209. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1210. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1211. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1212. package/src/private/animated/NativeAnimatedHelper.js +21 -8
  1213. package/src/private/animated/createAnimatedPropsHook.js +11 -16
  1214. package/src/private/animated/createAnimatedPropsMemoHook.js +1 -2
  1215. package/src/private/components/{SafeAreaView_INTERNAL_DO_NOT_USE.js → safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js} +6 -6
  1216. package/src/private/components/{HScrollViewNativeComponents.js → scrollview/HScrollViewNativeComponents.js} +8 -8
  1217. package/src/private/components/scrollview/VScrollViewNativeComponents.js +25 -0
  1218. package/src/private/{devmenu → devsupport/devmenu}/DevMenu.js +1 -1
  1219. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BorderBox.js +3 -3
  1220. package/src/private/{inspector → devsupport/devmenu/elementinspector}/BoxInspector.js +6 -5
  1221. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementBox.js +8 -6
  1222. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ElementProperties.js +11 -10
  1223. package/src/private/{inspector → devsupport/devmenu/elementinspector}/Inspector.js +14 -12
  1224. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorOverlay.js +5 -4
  1225. package/src/private/{inspector → devsupport/devmenu/elementinspector}/InspectorPanel.js +9 -8
  1226. package/src/private/{inspector → devsupport/devmenu/elementinspector}/NetworkOverlay.js +10 -9
  1227. package/src/private/{inspector → devsupport/devmenu/elementinspector}/ReactDevToolsOverlay.js +7 -7
  1228. package/src/private/{inspector → devsupport/devmenu/elementinspector}/StyleInspector.js +7 -6
  1229. package/src/private/{inspector → devsupport/devmenu/elementinspector}/XHRInterceptor.js +2 -2
  1230. package/src/private/{inspector → devsupport/devmenu/elementinspector}/getInspectorDataForViewAtPoint.js +4 -4
  1231. package/src/private/{inspector → devsupport/devmenu/elementinspector}/resolveBoxStyle.js +1 -1
  1232. package/src/private/{inspector → devsupport/devmenu/perfmonitor}/PerformanceOverlay.js +6 -5
  1233. package/src/private/{specs_DEPRECATED/modules → devsupport/devmenu/specs}/NativeDevMenu.js +2 -2
  1234. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.android.js +1 -1
  1235. package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.ios.js +1 -1
  1236. package/src/private/{debugging → devsupport/rndevtools}/setUpFuseboxReactDevToolsDispatcher.js +1 -1
  1237. package/src/private/{fusebox → devsupport/rndevtools}/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  1238. package/src/private/{specs_DEPRECATED/modules → devsupport/rndevtools/specs}/NativeReactDevToolsSettingsManager.js +2 -2
  1239. package/src/private/featureflags/ReactNativeFeatureFlags.js +72 -80
  1240. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +9 -1
  1241. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -13
  1242. package/src/private/renderer/errorhandling/ErrorHandlers.js +2 -2
  1243. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +1 -1
  1244. package/src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule.js +1 -1
  1245. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +3 -0
  1246. package/src/private/styles/composeStyles.js +12 -5
  1247. package/src/private/types/HostComponent.js +1 -1
  1248. package/src/private/types/HostInstance.js +67 -1
  1249. package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -5
  1250. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -18
  1251. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +6 -0
  1252. package/src/private/webapis/performance/Performance.js +1 -3
  1253. package/src/private/webapis/performance/PerformanceEntry.js +6 -1
  1254. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -0
  1255. package/src/private/webapis/performance/specs/NativePerformance.js +10 -1
  1256. package/src/types/bom.js.flow +96 -0
  1257. package/src/types/cssom.js.flow +576 -0
  1258. package/src/types/dom.js.flow +19 -0
  1259. package/src/types/globals.d.ts +42 -0
  1260. package/src/types/streams.js.flow +141 -0
  1261. package/third-party-podspecs/RCT-Folly.podspec +7 -6
  1262. package/third-party-podspecs/ReactNativeDependencies.podspec +86 -0
  1263. package/third-party-podspecs/fast_float.podspec +2 -2
  1264. package/third-party-podspecs/replace_dependencies_version.js +107 -0
  1265. package/types/index.d.ts +5 -2
  1266. package/types/public/ReactNativeTVTypes.d.ts +42 -42
  1267. package/types/public/ReactNativeTypes.d.ts +2 -2
  1268. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +0 -38
  1269. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +0 -22
  1270. package/Libraries/Blob/FileReader_new.js +0 -231
  1271. package/Libraries/Blob/FileReader_old.js +0 -186
  1272. package/Libraries/Blob/__mocks__/FileReaderModule.js +0 -20
  1273. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +0 -32
  1274. package/Libraries/Core/__mocks__/ErrorUtils.js +0 -33
  1275. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -19
  1276. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +0 -49
  1277. package/Libraries/Events/CustomEvent.js +0 -32
  1278. package/Libraries/Events/EventPolyfill.js +0 -239
  1279. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +0 -118
  1280. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +0 -134
  1281. package/Libraries/Network/XMLHttpRequest_new.js +0 -794
  1282. package/Libraries/Network/XMLHttpRequest_old.js +0 -701
  1283. package/Libraries/NewAppScreen/components/DebugInstructions.js +0 -48
  1284. package/Libraries/NewAppScreen/components/Header.js +0 -77
  1285. package/Libraries/NewAppScreen/components/HermesBadge.js +0 -72
  1286. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -148
  1287. package/Libraries/NewAppScreen/components/ReloadInstructions.js +0 -39
  1288. package/Libraries/NewAppScreen/components/logo.png +0 -0
  1289. package/Libraries/NewAppScreen/index.js +0 -25
  1290. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +0 -58
  1291. package/Libraries/Utilities/__mocks__/BackHandler.js +0 -45
  1292. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +0 -16
  1293. package/Libraries/Utilities/__mocks__/PixelRatio.js +0 -25
  1294. package/Libraries/WebSocket/WebSocketEvent.js +0 -30
  1295. package/Libraries/WebSocket/WebSocket_new.js +0 -325
  1296. package/Libraries/WebSocket/WebSocket_old.js +0 -297
  1297. package/Libraries/WebSocket/__mocks__/event-target-shim.js +0 -27
  1298. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -30
  1299. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -81
  1300. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +0 -30
  1301. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +0 -185
  1302. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +0 -23
  1303. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +0 -25
  1304. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +0 -129
  1305. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +0 -26
  1306. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +0 -80
  1307. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +0 -26
  1308. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +0 -70
  1309. package/React/Fabric/Utils/RCTViewFinder.mm +0 -34
  1310. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +0 -23
  1311. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/KeepGettersAndSetters.kt +0 -24
  1312. package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +0 -21
  1313. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +0 -84
  1314. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +0 -59
  1315. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +0 -1240
  1316. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +0 -900
  1317. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +0 -29
  1318. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.java +0 -29
  1319. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +0 -37
  1320. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +0 -234
  1321. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +0 -57
  1322. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.java +0 -103
  1323. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +0 -110
  1324. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +0 -89
  1325. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +0 -42
  1326. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +0 -36
  1327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.java +0 -110
  1328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +0 -18
  1329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -97
  1330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.java +0 -110
  1331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +0 -148
  1332. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptContextHolder.java +0 -33
  1333. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptExecutor.java +0 -31
  1334. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JsonWriterHelper.java +0 -155
  1335. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +0 -48
  1336. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +0 -39
  1337. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +0 -75
  1338. package/ReactAndroid/src/main/java/com/facebook/react/bridge/bridge.pro +0 -12
  1339. package/ReactAndroid/src/main/java/com/facebook/react/common/SingleThreadAsserter.kt +0 -23
  1340. package/ReactAndroid/src/main/java/com/facebook/react/common/StandardCharsets.kt +0 -31
  1341. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -128
  1342. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.java +0 -124
  1343. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.java +0 -313
  1344. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +0 -174
  1345. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.java +0 -117
  1346. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -495
  1347. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +0 -1121
  1348. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +0 -56
  1349. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +0 -24
  1350. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +0 -244
  1351. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.java +0 -166
  1352. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -47
  1353. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +0 -300
  1354. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSplitBundleCallback.kt +0 -17
  1355. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +0 -239
  1356. package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +0 -103
  1357. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +0 -329
  1358. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +0 -40
  1359. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/fabric/SurfaceHandler.kt +0 -40
  1360. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/NativeModuleSoLoader.kt +0 -25
  1361. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +0 -288
  1362. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +0 -474
  1363. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +0 -76
  1364. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +0 -253
  1365. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java +0 -383
  1366. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +0 -126
  1367. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +0 -103
  1368. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +0 -16
  1369. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +0 -204
  1370. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +0 -240
  1371. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +0 -785
  1372. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.java +0 -68
  1373. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +0 -22
  1374. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.java +0 -191
  1375. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.java +0 -143
  1376. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +0 -193
  1377. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +0 -48
  1378. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +0 -765
  1379. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.java +0 -131
  1380. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +0 -209
  1381. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +0 -138
  1382. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +0 -634
  1383. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactLifecycleStateManager.java +0 -90
  1384. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.java +0 -255
  1385. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.java +0 -555
  1386. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +0 -27
  1387. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedTaskException.kt +0 -11
  1388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +0 -80
  1389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +0 -65
  1390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactInvalidPropertyException.kt +0 -16
  1391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.java +0 -99
  1392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +0 -87
  1393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +0 -448
  1394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.java +0 -231
  1395. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -119
  1396. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.java +0 -46
  1397. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.java +0 -127
  1398. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.java +0 -116
  1399. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.java +0 -109
  1400. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.java +0 -97
  1401. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropertyHolder.java +0 -19
  1402. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +0 -220
  1403. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.java +0 -116
  1404. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.java +0 -86
  1405. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +0 -224
  1406. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.java +0 -72
  1407. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.java +0 -69
  1408. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +0 -63
  1409. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +0 -31
  1410. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +0 -213
  1411. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +0 -361
  1412. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +0 -409
  1413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.java +0 -47
  1414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -233
  1415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +0 -163
  1416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +0 -185
  1417. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +0 -54
  1418. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +0 -1493
  1419. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +0 -160
  1420. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +0 -52
  1421. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +0 -47
  1422. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +0 -54
  1423. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +0 -47
  1424. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +0 -51
  1425. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputLocalData.java +0 -44
  1426. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +0 -1390
  1427. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +0 -53
  1428. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +0 -236
  1429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +0 -52
  1430. package/ReactAndroid/src/main/jni/prebuilt/lib/DUMMY +0 -1
  1431. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.cpp +0 -18
  1432. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewEventEmitter.h +0 -31
  1433. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -26
  1434. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.cpp +0 -29
  1435. package/ReactCommon/react/renderer/uimanager/consistency/LatestShadowTreeRevisionProvider.h +0 -35
  1436. package/android/README.md +0 -21
  1437. package/flow/jest.js +0 -1287
  1438. package/jest/__tests__/setup-test.js +0 -18
  1439. package/scripts/codegen/generate-artifacts-executor.js +0 -1153
  1440. package/src/private/components/VScrollViewNativeComponents.js +0 -25
  1441. package/src/private/featureflags/README.md +0 -5
  1442. package/src/private/specs_DEPRECATED/README.md +0 -7
  1443. package/src/private/utilities/ensureInstance.js +0 -21
  1444. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +0 -267
  1445. package/types/modules/LaunchScreen.d.ts +0 -18
  1446. /package/ReactCommon/jsinspector-modern/{CdpJson.cpp → cdp/CdpJson.cpp} +0 -0
  1447. /package/ReactCommon/jsinspector-modern/{CdpJson.h → cdp/CdpJson.h} +0 -0
  1448. /package/src/private/{devmenu → devsupport/devmenu}/DevMenu.d.ts +0 -0
  1449. /package/src/private/{debugging → devsupport/rndevtools}/FuseboxSessionObserver.js +0 -0
  1450. /package/src/private/{debugging → devsupport/rndevtools}/ReactDevToolsSettingsManager.js.flow +0 -0
@@ -0,0 +1,846 @@
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
+ // Conflicting okhttp versions
9
+ @file:Suppress("DEPRECATION_ERROR")
10
+
11
+ package com.facebook.react.modules.network
12
+
13
+ import android.net.Uri
14
+ import android.os.Bundle
15
+ import android.util.Base64
16
+ import com.facebook.common.logging.FLog
17
+ import com.facebook.fbreact.specs.NativeNetworkingAndroidSpec
18
+ import com.facebook.react.bridge.Arguments
19
+ import com.facebook.react.bridge.ReactApplicationContext
20
+ import com.facebook.react.bridge.ReactMethod
21
+ import com.facebook.react.bridge.ReadableArray
22
+ import com.facebook.react.bridge.ReadableMap
23
+ import com.facebook.react.bridge.WritableMap
24
+ import com.facebook.react.common.network.OkHttpCallUtil
25
+ import com.facebook.react.module.annotations.ReactModule
26
+ import java.io.IOException
27
+ import java.nio.charset.StandardCharsets
28
+ import java.util.ArrayList
29
+ import java.util.HashSet
30
+ import java.util.concurrent.TimeUnit
31
+ import okhttp3.Call
32
+ import okhttp3.Callback
33
+ import okhttp3.CookieJar
34
+ import okhttp3.Headers
35
+ import okhttp3.JavaNetCookieJar
36
+ import okhttp3.MediaType
37
+ import okhttp3.MultipartBody
38
+ import okhttp3.OkHttpClient
39
+ import okhttp3.Request
40
+ import okhttp3.RequestBody
41
+ import okhttp3.Response
42
+ import okhttp3.ResponseBody
43
+ import okio.ByteString
44
+ import okio.GzipSource
45
+ import okio.Okio
46
+
47
+ /** Implements the XMLHttpRequest JavaScript interface. */
48
+ @ReactModule(name = NativeNetworkingAndroidSpec.NAME)
49
+ public class NetworkingModule(
50
+ reactContext: ReactApplicationContext,
51
+ defaultUserAgent: String?,
52
+ client: OkHttpClient,
53
+ networkInterceptorCreators: List<NetworkInterceptorCreator>?
54
+ ) : NativeNetworkingAndroidSpec(reactContext) {
55
+
56
+ /**
57
+ * Allows to implement a custom fetching process for specific URIs. It is the handler's job to
58
+ * fetch the URI and return the JS body payload.
59
+ */
60
+ public interface UriHandler {
61
+ /** Returns if the handler should be used for an URI. */
62
+ public fun supports(uri: Uri, responseType: String): Boolean
63
+
64
+ /** Fetch the URI and return the JS body payload. */
65
+ @Throws(IOException::class) public fun fetch(uri: Uri): WritableMap
66
+ }
67
+
68
+ /** Allows adding custom handling to build the [RequestBody] from the JS body payload. */
69
+ public interface RequestBodyHandler {
70
+ /** Returns if the handler should be used for a JS body payload. */
71
+ public fun supports(map: ReadableMap): Boolean
72
+
73
+ /** Returns the [RequestBody] for the JS body payload. */
74
+ public fun toRequestBody(map: ReadableMap, contentType: String?): RequestBody?
75
+ }
76
+
77
+ /** Allows adding custom handling to build the JS body payload from the [ResponseBody]. */
78
+ public interface ResponseHandler {
79
+ /** Returns if the handler should be used for a response type. */
80
+ public fun supports(responseType: String): Boolean
81
+
82
+ /** Returns the JS body payload for the [ResponseBody]. */
83
+ @Throws(IOException::class) public fun toResponseData(body: ResponseBody): WritableMap
84
+ }
85
+
86
+ private val client: OkHttpClient
87
+ private val cookieHandler = ForwardingCookieHandler()
88
+ private val defaultUserAgent: String?
89
+ private var cookieJarContainer: CookieJarContainer? = null
90
+ private val requestIds: MutableSet<Int> = HashSet()
91
+ private val requestBodyHandlers: MutableList<RequestBodyHandler> = ArrayList()
92
+ private val uriHandlers: MutableList<UriHandler> = ArrayList()
93
+ private val responseHandlers: MutableList<ResponseHandler> = ArrayList()
94
+ private var shuttingDown = false
95
+
96
+ init {
97
+ var resolvedClient: OkHttpClient = client
98
+ if (networkInterceptorCreators != null) {
99
+ val clientBuilder = client.newBuilder()
100
+ for (networkInterceptorCreator in networkInterceptorCreators) {
101
+ clientBuilder.addNetworkInterceptor(networkInterceptorCreator.create())
102
+ }
103
+ resolvedClient = clientBuilder.build()
104
+ }
105
+ this.client = resolvedClient
106
+
107
+ val cookieJar = resolvedClient.cookieJar()
108
+ cookieJarContainer =
109
+ if (cookieJar is CookieJarContainer) {
110
+ cookieJar
111
+ } else {
112
+ null
113
+ }
114
+ this.defaultUserAgent = defaultUserAgent
115
+ }
116
+
117
+ /**
118
+ * @param context the ReactContext of the application
119
+ * @param defaultUserAgent the User-Agent header that will be set for all requests where the
120
+ * caller does not provide one explicitly
121
+ * @param client the [OkHttpClient] to be used for networking
122
+ */
123
+ internal constructor(
124
+ context: ReactApplicationContext,
125
+ defaultUserAgent: String?,
126
+ client: OkHttpClient
127
+ ) : this(context, defaultUserAgent, client, null)
128
+
129
+ /** @param context the ReactContext of the application */
130
+ public constructor(
131
+ context: ReactApplicationContext
132
+ ) : this(context, null, OkHttpClientProvider.createClient(context.applicationContext), null)
133
+
134
+ /**
135
+ * @param context the ReactContext of the application
136
+ * @param networkInterceptorCreators list of [NetworkInterceptorCreator]'s whose create() methods
137
+ * would be called to attach the interceptors to the client.
138
+ */
139
+ public constructor(
140
+ context: ReactApplicationContext,
141
+ networkInterceptorCreators: List<NetworkInterceptorCreator>?
142
+ ) : this(
143
+ context,
144
+ null,
145
+ OkHttpClientProvider.createClient(context.applicationContext),
146
+ networkInterceptorCreators)
147
+
148
+ /**
149
+ * @param context the ReactContext of the application
150
+ * @param defaultUserAgent the User-Agent header that will be set for all requests where the
151
+ * caller does not provide one explicitly
152
+ */
153
+ public constructor(
154
+ context: ReactApplicationContext,
155
+ defaultUserAgent: String?
156
+ ) : this(
157
+ context,
158
+ defaultUserAgent,
159
+ OkHttpClientProvider.createClient(context.applicationContext),
160
+ null)
161
+
162
+ @Deprecated(
163
+ """To be removed in a future release. See
164
+ https://github.com/facebook/react-native/pull/37798#pullrequestreview-1518338914""")
165
+ public interface CustomClientBuilder : com.facebook.react.modules.network.CustomClientBuilder
166
+
167
+ override fun initialize() {
168
+ cookieJarContainer?.setCookieJar(JavaNetCookieJar(cookieHandler))
169
+ }
170
+
171
+ override fun invalidate() {
172
+ shuttingDown = true
173
+ cancelAllRequests()
174
+
175
+ cookieHandler.destroy()
176
+ cookieJarContainer?.removeCookieJar()
177
+
178
+ requestBodyHandlers.clear()
179
+ responseHandlers.clear()
180
+ uriHandlers.clear()
181
+ }
182
+
183
+ public fun addUriHandler(handler: UriHandler): Unit {
184
+ uriHandlers.add(handler)
185
+ }
186
+
187
+ public fun addRequestBodyHandler(handler: RequestBodyHandler): Unit {
188
+ requestBodyHandlers.add(handler)
189
+ }
190
+
191
+ public fun addResponseHandler(handler: ResponseHandler): Unit {
192
+ responseHandlers.add(handler)
193
+ }
194
+
195
+ public fun removeUriHandler(handler: UriHandler): Unit {
196
+ uriHandlers.remove(handler)
197
+ }
198
+
199
+ public fun removeRequestBodyHandler(handler: RequestBodyHandler): Unit {
200
+ requestBodyHandlers.remove(handler)
201
+ }
202
+
203
+ public fun removeResponseHandler(handler: ResponseHandler): Unit {
204
+ responseHandlers.remove(handler)
205
+ }
206
+
207
+ override fun sendRequest(
208
+ method: String,
209
+ url: String,
210
+ requestIdAsDouble: Double,
211
+ headers: ReadableArray?,
212
+ data: ReadableMap?,
213
+ responseType: String,
214
+ useIncrementalUpdates: Boolean,
215
+ timeoutAsDouble: Double,
216
+ withCredentials: Boolean
217
+ ) {
218
+ val requestId = requestIdAsDouble.toInt()
219
+ val timeout = timeoutAsDouble.toInt()
220
+ try {
221
+ sendRequestInternal(
222
+ method,
223
+ url,
224
+ requestId,
225
+ headers,
226
+ data,
227
+ responseType,
228
+ useIncrementalUpdates,
229
+ timeout,
230
+ withCredentials)
231
+ } catch (th: Throwable) {
232
+ FLog.e(TAG, "Failed to send url request: $url", th)
233
+
234
+ ResponseUtil.onRequestError(
235
+ getReactApplicationContextIfActiveOrWarn(), requestId, th.message, th)
236
+ }
237
+ }
238
+
239
+ /** @param timeout value of 0 results in no timeout */
240
+ public fun sendRequestInternal(
241
+ method: String,
242
+ url: String?,
243
+ requestId: Int,
244
+ headers: ReadableArray?,
245
+ data: ReadableMap?,
246
+ responseType: String,
247
+ useIncrementalUpdates: Boolean,
248
+ timeout: Int,
249
+ withCredentials: Boolean
250
+ ): Unit {
251
+ val reactApplicationContext = getReactApplicationContextIfActiveOrWarn()
252
+ try {
253
+ val uri = Uri.parse(url)
254
+
255
+ // Check if a handler is registered
256
+ for (handler in uriHandlers) {
257
+ if (handler.supports(uri, responseType)) {
258
+ val res = handler.fetch(uri)
259
+ // fix: UriHandlers which are not using file:// scheme fail in whatwg-fetch at this line
260
+ // https://github.com/JakeChampion/fetch/blob/main/fetch.js#L547
261
+ ResponseUtil.onResponseReceived(
262
+ reactApplicationContext, requestId, 200, Arguments.createMap(), url)
263
+ ResponseUtil.onDataReceived(reactApplicationContext, requestId, res)
264
+ ResponseUtil.onRequestSuccess(reactApplicationContext, requestId)
265
+ return
266
+ }
267
+ }
268
+ } catch (e: IOException) {
269
+ ResponseUtil.onRequestError(reactApplicationContext, requestId, e.message, e)
270
+ return
271
+ }
272
+
273
+ val requestBuilder: Request.Builder
274
+ try {
275
+ requestBuilder = Request.Builder().url(url.orEmpty())
276
+ } catch (e: Exception) {
277
+ ResponseUtil.onRequestError(reactApplicationContext, requestId, e.message, null)
278
+ return
279
+ }
280
+
281
+ if (requestId != 0) {
282
+ requestBuilder.tag(requestId)
283
+ }
284
+
285
+ val clientBuilder = client.newBuilder()
286
+
287
+ applyCustomBuilder(clientBuilder)
288
+
289
+ if (!withCredentials) {
290
+ clientBuilder.cookieJar(CookieJar.NO_COOKIES)
291
+ }
292
+
293
+ // If JS is listening for progress updates, install a ProgressResponseBody that intercepts the
294
+ // response and counts bytes received.
295
+ if (useIncrementalUpdates) {
296
+ clientBuilder.addNetworkInterceptor { chain ->
297
+ val originalResponse = chain.proceed(chain.request())
298
+ val originalResponseBody = checkNotNull(originalResponse.body())
299
+ val responseBody =
300
+ ProgressResponseBody(
301
+ originalResponseBody,
302
+ object : ProgressListener {
303
+ var last: Long = System.nanoTime()
304
+
305
+ override fun onProgress(bytesWritten: Long, contentLength: Long, done: Boolean) {
306
+ val now = System.nanoTime()
307
+ if (!done && !shouldDispatch(now, last)) {
308
+ return
309
+ }
310
+ if (responseType == "text") {
311
+ // For 'text' responses we continuously send response data with progress
312
+ // info to
313
+ // JS below, so no need to do anything here.
314
+ return
315
+ }
316
+ ResponseUtil.onDataReceivedProgress(
317
+ reactApplicationContext, requestId, bytesWritten, contentLength)
318
+ last = now
319
+ }
320
+ })
321
+ originalResponse.newBuilder().body(responseBody).build()
322
+ }
323
+ }
324
+
325
+ // If the current timeout does not equal the passed in timeout, we need to clone the existing
326
+ // client and set the timeout explicitly on the clone. This is cheap as everything else is
327
+ // shared under the hood.
328
+ // See https://github.com/square/okhttp/wiki/Recipes#per-call-configuration for more information
329
+ if (timeout != client.callTimeoutMillis()) {
330
+ clientBuilder.callTimeout(timeout.toLong(), TimeUnit.MILLISECONDS)
331
+ }
332
+ val client = clientBuilder.build()
333
+
334
+ val requestHeaders = extractHeaders(headers, data)
335
+ if (requestHeaders == null) {
336
+ ResponseUtil.onRequestError(
337
+ reactApplicationContext, requestId, "Unrecognized headers format", null)
338
+ return
339
+ }
340
+ var contentType = requestHeaders[CONTENT_TYPE_HEADER_NAME]
341
+ val contentEncoding = requestHeaders[CONTENT_ENCODING_HEADER_NAME]
342
+ requestBuilder.headers(requestHeaders)
343
+
344
+ // Check if a handler is registered
345
+ var handler: RequestBodyHandler? = null
346
+ if (data != null) {
347
+ for (curHandler in requestBodyHandlers) {
348
+ if (curHandler.supports(data)) {
349
+ handler = curHandler
350
+ break
351
+ }
352
+ }
353
+ }
354
+
355
+ var requestBody: RequestBody?
356
+ when {
357
+ data == null || method.lowercase() == "get" || method.lowercase() == "head" ->
358
+ requestBody = RequestBodyUtil.getEmptyBody(method)
359
+ handler != null -> requestBody = handler.toRequestBody(data, contentType)
360
+ data.hasKey(REQUEST_BODY_KEY_STRING) -> {
361
+ if (contentType == null) {
362
+ ResponseUtil.onRequestError(
363
+ reactApplicationContext,
364
+ requestId,
365
+ "Payload is set but no content-type header specified",
366
+ null)
367
+ return
368
+ }
369
+ val body = data.getString(REQUEST_BODY_KEY_STRING)
370
+ val contentMediaType = MediaType.parse(contentType)
371
+ if (RequestBodyUtil.isGzipEncoding(contentEncoding)) {
372
+ requestBody = null
373
+ if (contentMediaType != null && body != null) {
374
+ requestBody = RequestBodyUtil.createGzip(contentMediaType, body)
375
+ }
376
+ if (requestBody == null) {
377
+ ResponseUtil.onRequestError(
378
+ reactApplicationContext, requestId, "Failed to gzip request body", null)
379
+ return
380
+ }
381
+ } else {
382
+ // Use getBytes() to convert the body into a byte[], preventing okhttp from
383
+ // appending the character set to the Content-Type header when otherwise unspecified
384
+ // https://github.com/facebook/react-native/issues/8237
385
+ val charset =
386
+ if (contentMediaType == null) {
387
+ StandardCharsets.UTF_8
388
+ } else {
389
+ checkNotNull(contentMediaType.charset(StandardCharsets.UTF_8))
390
+ }
391
+ if (body == null) {
392
+ ResponseUtil.onRequestError(
393
+ reactApplicationContext, requestId, "Received request but body was empty", null)
394
+ return
395
+ }
396
+ @Suppress("DEPRECATION")
397
+ requestBody = RequestBody.create(contentMediaType, body.toByteArray(charset))
398
+ }
399
+ }
400
+ data.hasKey(REQUEST_BODY_KEY_BASE64) -> {
401
+ if (contentType == null) {
402
+ ResponseUtil.onRequestError(
403
+ reactApplicationContext,
404
+ requestId,
405
+ "Payload is set but no content-type header specified",
406
+ null)
407
+ return
408
+ }
409
+ val base64String = data.getString(REQUEST_BODY_KEY_BASE64)
410
+ checkNotNull(base64String)
411
+
412
+ val contentMediaType = MediaType.parse(contentType)
413
+ if (contentMediaType == null) {
414
+ ResponseUtil.onRequestError(
415
+ reactApplicationContext,
416
+ requestId,
417
+ "Invalid content type specified: $contentType",
418
+ null)
419
+ return
420
+ }
421
+ val base64DecodedString = ByteString.decodeBase64(base64String)
422
+ if (base64DecodedString == null) {
423
+ ResponseUtil.onRequestError(
424
+ reactApplicationContext, requestId, "Request body base64 string was invalid", null)
425
+ return
426
+ }
427
+ @Suppress("DEPRECATION")
428
+ requestBody = RequestBody.create(contentMediaType, base64DecodedString)
429
+ }
430
+ data.hasKey(REQUEST_BODY_KEY_URI) -> {
431
+ if (contentType == null) {
432
+ ResponseUtil.onRequestError(
433
+ reactApplicationContext,
434
+ requestId,
435
+ "Payload is set but no content-type header specified",
436
+ null)
437
+ return
438
+ }
439
+ val uri = data.getString(REQUEST_BODY_KEY_URI)
440
+ if (uri == null) {
441
+ ResponseUtil.onRequestError(
442
+ reactApplicationContext, requestId, "Request body URI field was set but null", null)
443
+ return
444
+ }
445
+ val fileInputStream = RequestBodyUtil.getFileInputStream(getReactApplicationContext(), uri)
446
+ if (fileInputStream == null) {
447
+ ResponseUtil.onRequestError(
448
+ reactApplicationContext, requestId, "Could not retrieve file for uri $uri", null)
449
+ return
450
+ }
451
+ requestBody = RequestBodyUtil.create(MediaType.parse(contentType), fileInputStream)
452
+ }
453
+ data.hasKey(REQUEST_BODY_KEY_FORMDATA) -> {
454
+ if (contentType == null) {
455
+ contentType = "multipart/form-data"
456
+ }
457
+ val parts = data.getArray(REQUEST_BODY_KEY_FORMDATA)
458
+ if (parts == null) {
459
+ ResponseUtil.onRequestError(
460
+ reactApplicationContext, requestId, "Received request but form data was empty", null)
461
+ return
462
+ }
463
+ val multipartBuilder = constructMultipartBody(parts, contentType, requestId) ?: return
464
+ requestBody = multipartBuilder.build()
465
+ }
466
+ else -> {
467
+ // Nothing in data payload, at least nothing we could understand anyway.
468
+ requestBody = RequestBodyUtil.getEmptyBody(method)
469
+ }
470
+ }
471
+
472
+ requestBuilder.method(method, wrapRequestBodyWithProgressEmitter(requestBody, requestId))
473
+
474
+ addRequest(requestId)
475
+ client
476
+ .newCall(requestBuilder.build())
477
+ .enqueue(
478
+ object : Callback {
479
+ override fun onFailure(call: Call, e: IOException) {
480
+ if (shuttingDown) {
481
+ return
482
+ }
483
+ removeRequest(requestId)
484
+ val errorMessage =
485
+ e.message ?: ("Error while executing request: ${e.javaClass.simpleName}")
486
+ ResponseUtil.onRequestError(reactApplicationContext, requestId, errorMessage, e)
487
+ }
488
+
489
+ @Throws(IOException::class)
490
+ override fun onResponse(call: Call, response: Response) {
491
+ if (shuttingDown) {
492
+ return
493
+ }
494
+ removeRequest(requestId)
495
+ // Before we touch the body send headers to JS
496
+ ResponseUtil.onResponseReceived(
497
+ reactApplicationContext,
498
+ requestId,
499
+ response.code(),
500
+ translateHeaders(response.headers()),
501
+ response.request().url().toString())
502
+
503
+ try {
504
+ // OkHttp implements something called transparent gzip, which mean that it will
505
+ // automatically add the Accept-Encoding gzip header and handle decoding
506
+ // internally.
507
+ // The issue is that it won't handle decoding if the user provides a
508
+ // Accept-Encoding
509
+ // header. This is also undesirable considering that iOS does handle the decoding
510
+ // even
511
+ // when the header is provided. To make sure this works in all cases, handle gzip
512
+ // body
513
+ // here also. This works fine since OKHttp will remove the Content-Encoding header
514
+ // if
515
+ // it used transparent gzip.
516
+ // See
517
+ // https://github.com/square/okhttp/blob/5b37cda9e00626f43acf354df145fd452c3031f1/okhttp/src/main/java/okhttp3/internal/http/BridgeInterceptor.java#L76-L111
518
+ var responseBody: ResponseBody? = response.body()
519
+ if (responseBody == null) {
520
+ ResponseUtil.onRequestError(
521
+ reactApplicationContext, requestId, "Response body is null", null)
522
+ return
523
+ }
524
+ if ("gzip".equals(response.header("Content-Encoding"), ignoreCase = true)) {
525
+ val gzipSource = GzipSource(responseBody.source())
526
+ val parsedContentType = response.header("Content-Type")?.let(MediaType::parse)
527
+ responseBody =
528
+ @Suppress("DEPRECATION")
529
+ ResponseBody.create(
530
+ parsedContentType,
531
+ -1L,
532
+ Okio.buffer(gzipSource),
533
+ )
534
+ }
535
+ // To satisfy the compiler, this is already checked above
536
+ checkNotNull(responseBody)
537
+ // Check if a handler is registered
538
+ for (responseHandler in responseHandlers) {
539
+ if (responseHandler.supports(responseType)) {
540
+ val res = responseHandler.toResponseData(responseBody)
541
+ ResponseUtil.onDataReceived(reactApplicationContext, requestId, res)
542
+ ResponseUtil.onRequestSuccess(reactApplicationContext, requestId)
543
+ return
544
+ }
545
+ }
546
+
547
+ // If JS wants progress updates during the download, and it requested a text
548
+ // response,
549
+ // periodically send response data updates to JS.
550
+ if (useIncrementalUpdates && responseType == "text") {
551
+ readWithProgress(requestId, responseBody)
552
+ ResponseUtil.onRequestSuccess(reactApplicationContext, requestId)
553
+ return
554
+ }
555
+
556
+ // Otherwise send the data in one big chunk, in the format that JS requested.
557
+ var responseString: String? = ""
558
+ if (responseType == "text") {
559
+ try {
560
+ responseString = responseBody.string()
561
+ } catch (e: IOException) {
562
+ if (response.request().method().equals("HEAD", ignoreCase = true)) {
563
+ // The request is an `HEAD` and the body is empty,
564
+ // the OkHttp will produce an exception.
565
+ // Ignore the exception to not invalidate the request in the
566
+ // Javascript layer.
567
+ // Introduced to fix issue #7463.
568
+ } else {
569
+ ResponseUtil.onRequestError(
570
+ reactApplicationContext, requestId, e.message, e)
571
+ }
572
+ }
573
+ } else if (responseType == "base64") {
574
+ responseString = Base64.encodeToString(responseBody.bytes(), Base64.NO_WRAP)
575
+ }
576
+ ResponseUtil.onDataReceived(reactApplicationContext, requestId, responseString)
577
+ ResponseUtil.onRequestSuccess(reactApplicationContext, requestId)
578
+ } catch (e: IOException) {
579
+ ResponseUtil.onRequestError(reactApplicationContext, requestId, e.message, e)
580
+ }
581
+ }
582
+ })
583
+ }
584
+
585
+ private fun wrapRequestBodyWithProgressEmitter(
586
+ requestBody: RequestBody?,
587
+ requestId: Int
588
+ ): RequestBody? {
589
+ if (requestBody == null) {
590
+ return null
591
+ }
592
+ val reactApplicationContext = getReactApplicationContextIfActiveOrWarn()
593
+ return RequestBodyUtil.createProgressRequest(
594
+ requestBody,
595
+ object : ProgressListener {
596
+ var last: Long = System.nanoTime()
597
+
598
+ override fun onProgress(bytesWritten: Long, contentLength: Long, done: Boolean) {
599
+ val now = System.nanoTime()
600
+ if (done || shouldDispatch(now, last)) {
601
+ ResponseUtil.onDataSend(
602
+ reactApplicationContext, requestId, bytesWritten, contentLength)
603
+ last = now
604
+ }
605
+ }
606
+ })
607
+ }
608
+
609
+ @Throws(IOException::class)
610
+ private fun readWithProgress(requestId: Int, responseBody: ResponseBody) {
611
+ var totalBytesRead: Long = -1
612
+ var contentLength: Long = -1
613
+ try {
614
+ val progressResponseBody = responseBody as ProgressResponseBody
615
+ totalBytesRead = progressResponseBody.totalBytesRead()
616
+ contentLength = progressResponseBody.contentLength()
617
+ } catch (e: ClassCastException) {
618
+ // Ignore
619
+ }
620
+
621
+ val charset =
622
+ if (responseBody.contentType() == null) {
623
+ StandardCharsets.UTF_8
624
+ } else {
625
+ checkNotNull(responseBody.contentType()?.charset(StandardCharsets.UTF_8)) {
626
+ "Null character set for Content-Type: ${responseBody.contentType()}"
627
+ }
628
+ }
629
+ val streamDecoder = ProgressiveStringDecoder(charset)
630
+ val inputStream = responseBody.byteStream()
631
+ try {
632
+ val buffer = ByteArray(MAX_CHUNK_SIZE_BETWEEN_FLUSHES)
633
+ var read: Int
634
+ val reactApplicationContext = getReactApplicationContextIfActiveOrWarn()
635
+ while ((inputStream.read(buffer).also { read = it }) != -1) {
636
+ ResponseUtil.onIncrementalDataReceived(
637
+ reactApplicationContext,
638
+ requestId,
639
+ streamDecoder.decodeNext(buffer, read),
640
+ totalBytesRead,
641
+ contentLength)
642
+ }
643
+ } finally {
644
+ inputStream.close()
645
+ }
646
+ }
647
+
648
+ @Synchronized
649
+ private fun addRequest(requestId: Int) {
650
+ requestIds.add(requestId)
651
+ }
652
+
653
+ @Synchronized
654
+ private fun removeRequest(requestId: Int) {
655
+ requestIds.remove(requestId)
656
+ }
657
+
658
+ @Synchronized
659
+ private fun cancelAllRequests() {
660
+ for (requestId in requestIds) {
661
+ cancelRequest(requestId)
662
+ }
663
+ requestIds.clear()
664
+ }
665
+
666
+ override fun abortRequest(requestIdAsDouble: Double) {
667
+ val requestId = requestIdAsDouble.toInt()
668
+ cancelRequest(requestId)
669
+ removeRequest(requestId)
670
+ }
671
+
672
+ private fun cancelRequest(requestId: Int) {
673
+ OkHttpCallUtil.cancelTag(client, requestId)
674
+ }
675
+
676
+ @ReactMethod
677
+ public override fun clearCookies(callback: com.facebook.react.bridge.Callback): Unit {
678
+ cookieHandler.clearCookies(callback)
679
+ }
680
+
681
+ public override fun addListener(eventName: String?): Unit = Unit
682
+
683
+ public override fun removeListeners(count: Double): Unit = Unit
684
+
685
+ private fun constructMultipartBody(
686
+ body: ReadableArray,
687
+ contentType: String,
688
+ requestId: Int
689
+ ): MultipartBody.Builder? {
690
+ val reactApplicationContext = getReactApplicationContextIfActiveOrWarn()
691
+ val multipartBuilder = MultipartBody.Builder()
692
+ val mediaType = MediaType.parse(contentType)
693
+ if (mediaType == null) {
694
+ ResponseUtil.onRequestError(reactApplicationContext, requestId, "Invalid media type.", null)
695
+ return null
696
+ }
697
+ multipartBuilder.setType(mediaType)
698
+
699
+ for (i in 0 until body.size()) {
700
+ val bodyPart = body.getMap(i)
701
+ if (bodyPart == null) {
702
+ ResponseUtil.onRequestError(
703
+ reactApplicationContext, requestId, "Unrecognized FormData part.", null)
704
+ return null
705
+ }
706
+
707
+ // Determine part's content type.
708
+ val headersArray = bodyPart.getArray("headers")
709
+ var headers = extractHeaders(headersArray, null)
710
+ if (headers == null) {
711
+ ResponseUtil.onRequestError(
712
+ reactApplicationContext,
713
+ requestId,
714
+ "Missing or invalid header format for FormData part.",
715
+ null)
716
+ return null
717
+ }
718
+ var partContentType: MediaType? = null
719
+ val partContentTypeStr = headers[CONTENT_TYPE_HEADER_NAME]
720
+ if (partContentTypeStr != null) {
721
+ partContentType = MediaType.parse(partContentTypeStr)
722
+ // Remove the content-type header because MultipartBuilder gets it explicitly as an
723
+ // argument and doesn't expect it in the headers array.
724
+ headers = headers.newBuilder().removeAll(CONTENT_TYPE_HEADER_NAME).build()
725
+ }
726
+
727
+ if (bodyPart.hasKey(REQUEST_BODY_KEY_STRING) &&
728
+ bodyPart.getString(REQUEST_BODY_KEY_STRING) != null) {
729
+ val bodyValue = bodyPart.getString(REQUEST_BODY_KEY_STRING).orEmpty()
730
+ @Suppress("DEPRECATION")
731
+ multipartBuilder.addPart(headers, RequestBody.create(partContentType, bodyValue))
732
+ } else if (bodyPart.hasKey(REQUEST_BODY_KEY_URI) &&
733
+ bodyPart.getString(REQUEST_BODY_KEY_URI) != null) {
734
+ if (partContentType == null) {
735
+ ResponseUtil.onRequestError(
736
+ reactApplicationContext,
737
+ requestId,
738
+ "Binary FormData part needs a content-type header.",
739
+ null)
740
+ return null
741
+ }
742
+ val fileContentUriStr = bodyPart.getString(REQUEST_BODY_KEY_URI)
743
+ if (fileContentUriStr == null) {
744
+ ResponseUtil.onRequestError(
745
+ reactApplicationContext, requestId, "Body must have a valid file uri", null)
746
+ return null
747
+ }
748
+ val fileInputStream =
749
+ RequestBodyUtil.getFileInputStream(getReactApplicationContext(), fileContentUriStr)
750
+ if (fileInputStream == null) {
751
+ ResponseUtil.onRequestError(
752
+ reactApplicationContext,
753
+ requestId,
754
+ "Could not retrieve file for uri $fileContentUriStr",
755
+ null)
756
+ return null
757
+ }
758
+ multipartBuilder.addPart(headers, RequestBodyUtil.create(partContentType, fileInputStream))
759
+ } else {
760
+ ResponseUtil.onRequestError(
761
+ reactApplicationContext, requestId, "Unrecognized FormData part.", null)
762
+ }
763
+ }
764
+ return multipartBuilder
765
+ }
766
+
767
+ /**
768
+ * Extracts the headers from the Array. If the format is invalid, this method will return null.
769
+ */
770
+ private fun extractHeaders(headersArray: ReadableArray?, requestData: ReadableMap?): Headers? {
771
+ if (headersArray == null) {
772
+ return null
773
+ }
774
+ val headersBuilder = Headers.Builder()
775
+ for (headersIdx in 0 until headersArray.size()) {
776
+ val header = headersArray.getArray(headersIdx)
777
+ if (header == null || header.size() != 2) {
778
+ return null
779
+ }
780
+ var headerName: String? = header.getString(0)
781
+ if (headerName != null) {
782
+ headerName = HeaderUtil.stripHeaderName(headerName)
783
+ }
784
+ val headerValue = header.getString(1)
785
+ if (headerName == null || headerValue == null) {
786
+ return null
787
+ }
788
+ headersBuilder.addUnsafeNonAscii(headerName, headerValue)
789
+ }
790
+ if (headersBuilder[USER_AGENT_HEADER_NAME] == null && defaultUserAgent != null) {
791
+ headersBuilder.add(USER_AGENT_HEADER_NAME, defaultUserAgent)
792
+ }
793
+
794
+ // Sanitize content encoding header, supported only when request specify payload as string
795
+ val isGzipSupported = requestData?.hasKey(REQUEST_BODY_KEY_STRING) == true
796
+ if (!isGzipSupported) {
797
+ headersBuilder.removeAll(CONTENT_ENCODING_HEADER_NAME)
798
+ }
799
+
800
+ return headersBuilder.build()
801
+ }
802
+
803
+ public companion object {
804
+ public const val NAME: String = NativeNetworkingAndroidSpec.NAME
805
+ private const val TAG: String = NativeNetworkingAndroidSpec.NAME
806
+ private const val CONTENT_ENCODING_HEADER_NAME = "content-encoding"
807
+ private const val CONTENT_TYPE_HEADER_NAME = "content-type"
808
+ private const val REQUEST_BODY_KEY_STRING = "string"
809
+ private const val REQUEST_BODY_KEY_URI = "uri"
810
+ private const val REQUEST_BODY_KEY_FORMDATA = "formData"
811
+ private const val REQUEST_BODY_KEY_BASE64 = "base64"
812
+ private const val USER_AGENT_HEADER_NAME = "user-agent"
813
+ private const val CHUNK_TIMEOUT_NS = 100 * 1_000_000 // 100ms
814
+ private const val MAX_CHUNK_SIZE_BETWEEN_FLUSHES = 8 * 1_024 // 8K
815
+
816
+ private var customClientBuilder: com.facebook.react.modules.network.CustomClientBuilder? = null
817
+
818
+ @JvmStatic
819
+ public fun setCustomClientBuilder(
820
+ ccb: com.facebook.react.modules.network.CustomClientBuilder?
821
+ ): Unit {
822
+ customClientBuilder = ccb
823
+ }
824
+
825
+ private fun applyCustomBuilder(builder: OkHttpClient.Builder) {
826
+ customClientBuilder?.apply(builder)
827
+ }
828
+
829
+ private fun shouldDispatch(now: Long, last: Long): Boolean = last + CHUNK_TIMEOUT_NS < now
830
+
831
+ private fun translateHeaders(headers: Headers): WritableMap {
832
+ val responseHeaders = Bundle()
833
+ for (i in 0..<headers.size()) {
834
+ val headerName = headers.name(i)
835
+ // multiple values for the same header
836
+ if (responseHeaders.containsKey(headerName)) {
837
+ responseHeaders.putString(
838
+ headerName, "${responseHeaders.getString(headerName)}, ${headers.value(i)}")
839
+ } else {
840
+ responseHeaders.putString(headerName, headers.value(i))
841
+ }
842
+ }
843
+ return Arguments.fromBundle(responseHeaders)
844
+ }
845
+ }
846
+ }