@depup/react-native 0.85.0-depup.0 → 0.86.0-depup.49

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 (767) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  2. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  3. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  4. package/Libraries/Animated/components/AnimatedText.js +3 -3
  5. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  6. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  10. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  11. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  13. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  14. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  17. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  18. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  19. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  20. package/Libraries/AppState/AppState.js +1 -1
  21. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  22. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  23. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  24. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  25. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  26. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  27. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  28. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  29. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  30. package/Libraries/Components/Pressable/Pressable.js +2 -2
  31. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  32. package/Libraries/Components/ScrollView/ScrollView.js +3 -3
  33. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  34. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  35. package/Libraries/Components/Switch/Switch.js +1 -1
  36. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  37. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  38. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  39. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  40. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  41. package/Libraries/Components/TextInput/TextInput.js +5 -5
  42. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  43. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  44. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  45. package/Libraries/Components/Touchable/Touchable.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  47. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  48. package/Libraries/Components/View/View.js +82 -77
  49. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  50. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  51. package/Libraries/Core/ExceptionsManager.js +2 -8
  52. package/Libraries/Core/InitializeCore.js +0 -13
  53. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  54. package/Libraries/Core/ReactNativeVersion.js +1 -1
  55. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  56. package/Libraries/Core/Timers/JSTimers.js +2 -2
  57. package/Libraries/Core/Timers/immediateShim.js +1 -1
  58. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  59. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  60. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  61. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  62. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  63. package/Libraries/Image/Image.android.js +15 -35
  64. package/Libraries/Image/RCTImageLoader.mm +4 -2
  65. package/Libraries/Image/RelativeImageStub.js +2 -2
  66. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  67. package/Libraries/Linking/Linking.js +1 -1
  68. package/Libraries/Lists/FlatList.js +1 -1
  69. package/Libraries/LogBox/LogBox.js +2 -2
  70. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  71. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  72. package/Libraries/LogBox/UI/LogBoxButton.js +47 -24
  73. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  74. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  75. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  76. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  77. package/Libraries/Modal/Modal.js +12 -7
  78. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  79. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  80. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  81. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  82. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  83. package/Libraries/Network/RCTNetworking.android.js +1 -1
  84. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  85. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  86. package/Libraries/Network/RCTNetworking.mm +1 -2
  87. package/Libraries/Network/XMLHttpRequest.js +29 -12
  88. package/Libraries/Pressability/Pressability.js +2 -2
  89. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  90. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  91. package/Libraries/ReactNative/AppContainer.js +0 -1
  92. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  93. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  94. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  95. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  96. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  97. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  98. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  99. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  100. package/Libraries/ReactNative/RendererImplementation.js +26 -142
  101. package/Libraries/ReactNative/RendererProxy.js +4 -15
  102. package/Libraries/ReactNative/renderApplication.js +33 -59
  103. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  104. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  105. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -31
  106. package/Libraries/Settings/Settings.ios.js +1 -1
  107. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  108. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  109. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  110. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  111. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  112. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  113. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  114. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  115. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  116. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  117. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  118. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  119. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  120. package/Libraries/StyleSheet/processFilter.js +16 -8
  121. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  122. package/Libraries/Text/Text.js +4 -4
  123. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  124. package/Libraries/Text/TextNativeComponent.js +4 -4
  125. package/Libraries/TurboModule/RCTExport.js +1 -1
  126. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  127. package/Libraries/Types/CodegenTypes.js +7 -4
  128. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  129. package/Libraries/Utilities/BackHandler.android.js +11 -3
  130. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  131. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  132. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  133. package/Libraries/Utilities/HMRClient.js +28 -1
  134. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  135. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  136. package/Libraries/Utilities/binaryToBase64.js +1 -1
  137. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  138. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  139. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  140. package/Libraries/Utilities/stringifySafe.js +1 -1
  141. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  142. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  143. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  144. package/README.md +11 -10
  145. package/React/Base/RCTBundleURLProvider.h +19 -1
  146. package/React/Base/RCTBundleURLProvider.mm +82 -0
  147. package/React/Base/RCTDefines.h +1 -1
  148. package/React/Base/RCTMultipartDataTask.h +1 -1
  149. package/React/Base/RCTMultipartDataTask.m +0 -3
  150. package/React/Base/RCTRootView.h +4 -0
  151. package/React/Base/RCTRootViewDelegate.h +5 -2
  152. package/React/Base/RCTVersion.m +1 -1
  153. package/React/Base/Surface/RCTSurface.h +3 -0
  154. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  155. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  156. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  157. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +5 -0
  158. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +26 -0
  159. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  160. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  161. package/React/CoreModules/RCTDevLoadingView.mm +17 -0
  162. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  163. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  164. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  165. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  166. package/React/CoreModules/RCTRedBox.mm +30 -454
  167. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  168. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  169. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  170. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  171. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  172. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  173. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  174. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  175. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  176. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  177. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  178. package/React/CoreModules/React-CoreModules.podspec +1 -0
  179. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  180. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  181. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  182. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  183. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  184. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
  185. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  186. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  187. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  188. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  189. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
  190. package/React/Fabric/RCTConversions.h +14 -0
  191. package/React/Fabric/RCTScheduler.mm +18 -0
  192. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  193. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  194. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  195. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  196. package/React/Modules/RCTUIManager.mm +1 -1
  197. package/React/Profiler/RCTProfile.h +5 -0
  198. package/React/Profiler/RCTProfile.m +2 -1
  199. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  200. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  201. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  202. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  203. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  204. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  205. package/React/Views/RCTLayout.m +4 -3
  206. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  207. package/ReactAndroid/api/ReactAndroid.api +37 -27
  208. package/ReactAndroid/build.gradle.kts +28 -21
  209. package/ReactAndroid/gradle.properties +1 -1
  210. package/ReactAndroid/hermes-engine/build.gradle.kts +12 -13
  211. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  213. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  215. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +33 -88
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  220. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  221. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  227. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  229. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  231. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
  232. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
  233. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  235. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  236. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  238. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  240. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  242. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  244. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
  247. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
  248. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
  249. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
  250. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
  251. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +7 -3
  252. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  253. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
  254. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  255. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
  258. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  260. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  264. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  266. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +8 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +2 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  270. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
  274. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  276. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  286. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  287. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  289. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  290. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  291. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  292. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  293. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  294. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  295. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  296. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  297. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  302. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  314. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  315. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  317. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  318. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  319. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  320. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  321. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  322. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  323. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  324. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  325. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  326. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  327. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  328. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  329. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  330. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  331. package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
  332. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  333. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  334. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  335. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  336. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  337. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  338. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  339. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  340. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  341. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  342. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  343. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  344. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  345. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  346. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  347. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
  348. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
  349. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  350. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  351. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  352. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  353. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  354. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  355. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  356. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
  357. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
  358. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  359. package/ReactCommon/React-Fabric.podspec +13 -0
  360. package/ReactCommon/React-FabricComponents.podspec +1 -1
  361. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  362. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  363. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  364. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  365. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  366. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  367. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  368. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  369. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  370. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  371. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  372. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  373. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  374. package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
  375. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
  376. package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
  377. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
  378. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
  379. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
  380. package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
  381. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  382. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  383. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  384. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
  385. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
  386. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
  387. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
  388. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  389. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
  390. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
  391. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  392. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
  393. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
  394. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  395. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  396. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  397. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
  398. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
  399. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
  400. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  401. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
  402. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
  403. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
  404. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
  405. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  406. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  407. package/ReactCommon/logger/react_native_log.cpp +0 -1
  408. package/ReactCommon/react/bridging/Array.h +1 -1
  409. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  410. package/ReactCommon/react/debug/React-debug.podspec +7 -1
  411. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  412. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  413. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  414. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  415. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  416. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  417. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  418. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  419. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  420. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
  421. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
  422. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
  423. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
  424. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
  425. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
  426. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +11 -3
  427. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
  428. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  429. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  430. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  431. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  432. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
  433. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
  434. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -0
  435. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  436. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
  437. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
  438. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  439. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  440. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  441. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  442. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  443. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  444. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  445. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  446. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  447. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  448. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  449. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  450. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  451. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  452. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +28 -13
  453. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  454. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  455. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  456. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  457. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +62 -25
  458. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +10 -1
  459. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  460. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +5 -0
  461. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  462. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  463. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  464. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  465. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  466. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  467. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  468. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  469. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  470. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  471. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  472. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  473. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  474. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  475. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  476. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  477. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  478. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  479. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  480. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  481. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  482. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  483. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  484. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +52 -5
  485. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  486. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  487. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  488. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  489. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  490. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  491. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  492. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  493. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  494. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  495. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  496. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  497. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  498. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  499. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  500. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  501. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  502. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  503. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  504. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  505. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  506. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  507. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  508. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  509. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  510. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  511. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  512. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  513. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  514. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  515. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  516. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  517. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  518. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  519. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  520. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  521. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  522. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  523. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  524. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  525. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  526. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  527. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  528. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  529. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  530. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  531. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  532. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  533. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  534. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  535. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  536. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  537. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  538. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  539. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  540. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  541. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  542. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  543. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  544. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  545. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +2 -0
  546. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  547. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  548. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  549. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  550. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  551. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  552. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  553. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  554. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
  555. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  556. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  557. package/ReactCommon/react/timing/primitives.h +33 -1
  558. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  559. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  560. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  561. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  562. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  563. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  564. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  565. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  566. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  567. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  568. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  569. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  570. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  571. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  572. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  573. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  574. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  575. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  576. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  577. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  578. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  579. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  580. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  581. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  582. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  583. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  584. package/changes.json +16 -12
  585. package/cli.js +1 -1
  586. package/flow/HermesInternalType.js +1 -1
  587. package/flow/bom.js.flow +95 -3
  588. package/flow/dom.js.flow +89 -89
  589. package/gradle/libs.versions.toml +3 -1
  590. package/index.js +30 -3
  591. package/index.js.flow +23 -1
  592. package/package.json +35 -31
  593. package/react-native.config.js +3 -3
  594. package/scripts/cocoapods/rncore.rb +65 -11
  595. package/scripts/cocoapods/rndependencies.rb +65 -11
  596. package/scripts/cocoapods/utils.rb +53 -0
  597. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +4 -4
  598. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +4 -4
  599. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +15 -7
  600. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +2 -2
  601. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +4 -3
  602. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +4 -3
  603. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +19 -8
  604. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  605. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -4
  606. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  607. package/scripts/codegen/generate-artifacts-executor/utils.js +49 -1
  608. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  609. package/scripts/generate-codegen-artifacts.js +20 -2
  610. package/scripts/generate-provider-cli.js +1 -1
  611. package/scripts/react_native_pods.rb +26 -2
  612. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  613. package/scripts/replace-rncore-version.js +91 -14
  614. package/scripts/xcode/with-environment.sh +7 -1
  615. package/sdks/.hermesv1version +1 -1
  616. package/sdks/.hermesversion +1 -1
  617. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  618. package/sdks/hermes-engine/version.properties +2 -2
  619. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  620. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  621. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  622. package/src/private/components/virtualcollection/Virtual.js +62 -0
  623. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  624. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  625. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  626. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  627. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  628. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  629. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  630. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  631. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  632. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  633. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  634. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  635. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  636. package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
  637. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  638. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
  639. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  640. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  641. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  642. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  643. package/src/private/renderer/events/ResponderEvent.js +40 -0
  644. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  645. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  646. package/src/private/setup/setUpDOM.js +20 -0
  647. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  648. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  649. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  650. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  651. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  652. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  653. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  654. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  655. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  656. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  657. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  658. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  659. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  660. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  661. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  662. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  663. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  664. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  665. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  666. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  667. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  668. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  669. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  670. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  671. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  672. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  673. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  674. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  675. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  676. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  677. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  678. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  679. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  680. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  681. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  682. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  683. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  684. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  685. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  686. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  687. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  688. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  689. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  690. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  691. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  692. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  693. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  694. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  695. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  696. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  697. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  698. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  699. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  700. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  701. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  702. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  703. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  704. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  705. package/src/private/styles/composeStyles.js +1 -1
  706. package/src/private/types/HostComponent.js +1 -1
  707. package/src/private/utilities/toExtendedError.js +1 -1
  708. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  709. package/src/private/webapis/dom/events/Event.js +10 -1
  710. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  711. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  712. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  713. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  714. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  715. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  716. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  717. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  718. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  719. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  720. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  721. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  722. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  723. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  724. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  725. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  726. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  727. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  728. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +3 -4
  729. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +5 -2
  730. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +14 -2
  731. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +8 -6
  732. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
  733. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +23 -4
  734. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +2 -3
  735. package/types_generated/Libraries/{Utilities/IPerformanceLogger.d.ts → ReactNative/IPerformanceLogger.flow.d.ts} +12 -6
  736. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +12 -25
  737. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +1 -16
  738. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +1 -16
  739. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +3 -3
  740. package/types_generated/Libraries/Utilities/BackHandler.d.ts +6 -2
  741. package/types_generated/index.d.ts +11 -2
  742. package/types_generated/src/private/components/virtualcollection/FlingConstants.d.ts +20 -0
  743. package/types_generated/src/private/components/virtualcollection/Virtual.d.ts +46 -0
  744. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +81 -0
  745. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +23 -0
  746. package/types_generated/src/private/components/virtualcollection/column/VirtualColumnGenerator.d.ts +17 -0
  747. package/types_generated/src/private/components/virtualcollection/dom/getScrollParent.d.ts +21 -0
  748. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +23 -0
  749. package/types_generated/src/private/webapis/dom/events/Event.d.ts +1 -9
  750. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +1 -13
  751. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +5 -2
  752. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +8 -1
  753. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19668
  754. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  755. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  756. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  757. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  758. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  759. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  760. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  761. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  762. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  763. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  764. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  765. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
  766. package/types_generated/Libraries/Renderer/shims/ReactNative.d.ts +0 -16
  767. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
@@ -21,4 +21,32 @@ internal interface SynchronousEventReceiver {
21
21
  @EventCategoryDef eventCategory: Int,
22
22
  experimentalIsSynchronous: Boolean,
23
23
  )
24
+
25
+ /**
26
+ * Receives an event with a specific timestamp. The default implementation delegates to the
27
+ * non-timestamped version for backward compatibility with existing implementations.
28
+ *
29
+ * @param eventTimestamp timestamp when the event was triggered (in milliseconds since boot, from
30
+ * SystemClock.uptimeMillis())
31
+ */
32
+ fun receiveEvent(
33
+ surfaceId: Int,
34
+ reactTag: Int,
35
+ eventName: String,
36
+ canCoalesceEvent: Boolean,
37
+ params: WritableMap?,
38
+ @EventCategoryDef eventCategory: Int,
39
+ experimentalIsSynchronous: Boolean,
40
+ eventTimestamp: Long,
41
+ ) {
42
+ receiveEvent(
43
+ surfaceId,
44
+ reactTag,
45
+ eventName,
46
+ canCoalesceEvent,
47
+ params,
48
+ eventCategory,
49
+ experimentalIsSynchronous,
50
+ )
51
+ }
24
52
  }
@@ -132,15 +132,14 @@ internal object TouchesHelper {
132
132
  }
133
133
 
134
134
  for (touchData in changedTouches) {
135
- val eventData =
136
- touchData?.let { td ->
137
- val ed = td.copy()
138
- val changedTouchesArray = getWritableArray(/* copyObjects */ true, changedTouches)
139
- val touchesArray = getWritableArray(/* copyObjects */ true, touches)
140
- ed.putArray(CHANGED_TOUCHES_KEY, changedTouchesArray)
141
- ed.putArray(TOUCHES_KEY, touchesArray)
142
- ed
143
- }
135
+ val eventData = touchData?.let { td ->
136
+ val ed = td.copy()
137
+ val changedTouchesArray = getWritableArray(/* copyObjects */ true, changedTouches)
138
+ val touchesArray = getWritableArray(/* copyObjects */ true, touches)
139
+ ed.putArray(CHANGED_TOUCHES_KEY, changedTouchesArray)
140
+ ed.putArray(TOUCHES_KEY, touchesArray)
141
+ ed
142
+ }
144
143
 
145
144
  eventEmitter.receiveEvent(
146
145
  event.surfaceId,
@@ -150,6 +149,7 @@ internal object TouchesHelper {
150
149
  0,
151
150
  eventData,
152
151
  event.getEventCategory(),
152
+ event.timestampMs,
153
153
  )
154
154
  }
155
155
  } finally {
@@ -14,10 +14,34 @@ import android.os.Build
14
14
  internal object AndroidVersion {
15
15
 
16
16
  /**
17
- * This is the version code for Android 16 (SDK Level 36). Delete it once we bump up the default
18
- * compile SDK version to 36.
17
+ * This is the version code for Android 15 (SDK Level 35). Internally at Meta this code is also
18
+ * compiled against SDK 34, so we need to retain this constant instead of using
19
+ * [Build.VERSION_CODES.VANILLA_ICE_CREAM] directly.
19
20
  */
20
- private const val VERSION_CODE_BAKLAVA: Int = 36
21
+ internal const val VERSION_CODE_VANILLA_ICE_CREAM: Int = 35
22
+
23
+ /**
24
+ * This is the version code for Android 16 (SDK Level 36). Internally at Meta this code is also
25
+ * compiled against SDK 34, so we need to retain this constant instead of using
26
+ * [Build.VERSION_CODES.BAKLAVA] directly.
27
+ */
28
+ internal const val VERSION_CODE_BAKLAVA: Int = 36
29
+
30
+ /**
31
+ * android.R.attr.windowOptOutEdgeToEdgeEnforcement added in API 35. Internally at Meta this code
32
+ * is compiled against an SDK that may not have this attribute defined.
33
+ * https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/res/res/values/public-final.xml;l=3848
34
+ */
35
+ internal const val ATTR_WINDOW_OPT_OUT_EDGE_TO_EDGE_ENFORCEMENT: Int = 0x0101069a
36
+
37
+ /**
38
+ * This method is used to check if the current device is running Android 15 (SDK Level 35) or
39
+ * higher and the app is targeting Android 15 (SDK Level 35) or higher.
40
+ */
41
+ @JvmStatic
42
+ internal fun isAtLeastTargetSdk35(context: Context): Boolean =
43
+ Build.VERSION.SDK_INT >= VERSION_CODE_VANILLA_ICE_CREAM &&
44
+ context.applicationInfo.targetSdkVersion >= VERSION_CODE_VANILLA_ICE_CREAM
21
45
 
22
46
  /**
23
47
  * This method is used to check if the current device is running Android 16 (SDK Level 36) or
@@ -197,6 +197,9 @@ public class ReactModalHostView(context: ThemedReactContext) :
197
197
 
198
198
  dialog?.let { nonNullDialog ->
199
199
  if (nonNullDialog.isShowing) {
200
+ nonNullDialog.window?.let { window ->
201
+ (context as ThemedReactContext).onExtraWindowDestroy(window)
202
+ }
200
203
  val dialogContext =
201
204
  ContextUtils.findContextOfType(nonNullDialog.context, Activity::class.java)
202
205
  if (dialogContext == null || !dialogContext.isFinishing) {
@@ -341,6 +344,7 @@ public class ReactModalHostView(context: ThemedReactContext) :
341
344
  newDialog.show()
342
345
  updateSystemAppearance()
343
346
  window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
347
+ (context as ThemedReactContext).onExtraWindowCreate(window)
344
348
  }
345
349
  }
346
350
 
@@ -18,7 +18,6 @@ import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
18
18
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
19
19
  import com.facebook.react.uimanager.UIManagerHelper
20
20
  import com.facebook.react.uimanager.common.UIManagerType
21
- import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
22
21
  import com.facebook.react.views.scroll.ReactScrollViewHelper.HasSmoothScroll
23
22
  import com.facebook.react.views.view.ReactViewGroup
24
23
  import java.lang.ref.WeakReference
@@ -47,7 +46,7 @@ internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
47
46
  checkNotNull(
48
47
  UIManagerHelper.getUIManager(
49
48
  checkNotNull(scrollView?.context as ReactContext?),
50
- getUIManagerType(scrollView?.id ?: 0),
49
+ UIManagerType.FABRIC,
51
50
  )
52
51
  )
53
52
 
@@ -83,18 +82,6 @@ internal class MaintainVisibleScrollPositionHelper<ScrollViewT>(
83
82
  uIManager.removeUIManagerEventListener(this)
84
83
  }
85
84
 
86
- /**
87
- * Update the scroll position of the managed ScrollView. This should be called after layout has
88
- * been updated.
89
- */
90
- fun updateScrollPosition() {
91
- // On Fabric this will be called internally in `didMountItems`.
92
- if (scrollView == null || getUIManagerType(scrollView.id) == UIManagerType.FABRIC) {
93
- return
94
- }
95
- updateScrollPositionInternal()
96
- }
97
-
98
85
  private fun updateScrollPositionInternal() {
99
86
  val config = config ?: return
100
87
  val firstVisibleViewRef = firstVisibleViewRef ?: return
@@ -8,11 +8,7 @@
8
8
  package com.facebook.react.views.scroll
9
9
 
10
10
  import com.facebook.react.module.annotations.ReactModule
11
- import com.facebook.react.uimanager.ReactStylesDiffMap
12
- import com.facebook.react.uimanager.StateWrapper
13
11
  import com.facebook.react.uimanager.ThemedReactContext
14
- import com.facebook.react.uimanager.common.UIManagerType
15
- import com.facebook.react.uimanager.common.ViewUtil
16
12
  import com.facebook.react.views.view.ReactViewGroup
17
13
  import com.facebook.react.views.view.ReactViewManager
18
14
 
@@ -21,28 +17,11 @@ import com.facebook.react.views.view.ReactViewManager
21
17
  public class ReactHorizontalScrollContainerViewManager : ReactViewManager() {
22
18
  public override fun getName(): String = REACT_CLASS
23
19
 
24
- protected override fun createViewInstance(
25
- reactTag: Int,
26
- context: ThemedReactContext,
27
- initialProps: ReactStylesDiffMap?,
28
- stateWrapper: StateWrapper?,
29
- ): ReactViewGroup {
30
- check(uiManagerType == null)
31
- uiManagerType = ViewUtil.getUIManagerType(reactTag)
32
- val view = super.createViewInstance(reactTag, context, initialProps, stateWrapper)
33
- uiManagerType = null
34
- return view
35
- }
36
-
37
20
  public override fun createViewInstance(context: ThemedReactContext): ReactViewGroup {
38
- return when (checkNotNull(uiManagerType)) {
39
- UIManagerType.FABRIC -> ReactViewGroup(context)
40
- else -> ReactHorizontalScrollContainerLegacyView(context)
41
- }
21
+ return ReactViewGroup(context)
42
22
  }
43
23
 
44
24
  public companion object {
45
25
  public const val REACT_CLASS: String = "AndroidHorizontalScrollContentView"
46
- @UIManagerType private var uiManagerType: Int? = null
47
26
  }
48
27
  }
@@ -101,6 +101,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
101
101
  private final VelocityHelper mVelocityHelper = new VelocityHelper();
102
102
  private final Rect mTempRect = new Rect();
103
103
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollX", 0, 0);
104
+ private final @Nullable FpsListener mFpsListener;
104
105
 
105
106
  private Rect mOverflowInset = new Rect();
106
107
  private @Nullable VirtualViewContainerState mVirtualViewContainerState;
@@ -113,7 +114,6 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
113
114
  private boolean mRemoveClippedSubviews;
114
115
  private boolean mScrollEnabled = true;
115
116
  private boolean mSendMomentumEvents;
116
- private @Nullable FpsListener mFpsListener = null;
117
117
  private @Nullable String mScrollPerfTag;
118
118
  private @Nullable Drawable mEndBackground;
119
119
  private int mEndFillColor = Color.TRANSPARENT;
@@ -158,7 +158,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
158
158
  /**
159
159
  * Set all default values here as opposed to in the constructor or field defaults. It is important
160
160
  * that these properties are set during the constructor, but also on-demand whenever an existing
161
- * ReactTextView is recycled.
161
+ * ReactHorizontalScrollView is recycled.
162
162
  */
163
163
  private void initView() {
164
164
  mOverflowInset = new Rect();
@@ -177,7 +177,6 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
177
177
  mRemoveClippedSubviews = false;
178
178
  mScrollEnabled = true;
179
179
  mSendMomentumEvents = false;
180
- mFpsListener = null;
181
180
  mScrollPerfTag = null;
182
181
  mEndBackground = null;
183
182
  mEndFillColor = Color.TRANSPARENT;
@@ -240,6 +239,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
240
239
  }
241
240
  }
242
241
 
242
+ @Override
243
243
  public boolean getScrollEnabled() {
244
244
  return mScrollEnabled;
245
245
  }
@@ -460,14 +460,6 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
460
460
  return mOverflowInset;
461
461
  }
462
462
 
463
- @Override
464
- public boolean getClipToPadding() {
465
- if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
466
- return mOverflow != Overflow.VISIBLE;
467
- }
468
- return super.getClipToPadding();
469
- }
470
-
471
463
  @Override
472
464
  public void onDraw(Canvas canvas) {
473
465
  if (mOverflow != Overflow.VISIBLE) {
@@ -552,7 +544,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
552
544
 
553
545
  /**
554
546
  * Since ReactHorizontalScrollView handles layout changes on JS side, it does not call
555
- * super.onlayout due to which mIsLayoutDirty flag in HorizontalScrollView remains true and
547
+ * super.onLayout due to which mIsLayoutDirty flag in HorizontalScrollView remains true and
556
548
  * prevents scrolling to child when requestChildFocus is called. Overriding this method and
557
549
  * scrolling to child without checking any layout dirty flag. This will fix focus navigation issue
558
550
  * for KeyEvents which are not handled in HorizontalScrollView, for example: KEYCODE_TAB.
@@ -568,7 +560,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
568
560
  /**
569
561
  * In rare cases where an app overrides the built-in ReactScrollView by overriding it, and also
570
562
  * needs to customize scroll into view on focus behaviors, this protected method can be used to
571
- * unblocks such customization.
563
+ * unblock such customization.
572
564
  */
573
565
  protected void requestChildFocusWithoutScroll(View child, View focused) {
574
566
  super.requestChildFocus(child, focused);
@@ -866,6 +858,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
866
858
  float hScroll = ev.getAxisValue(MotionEvent.AXIS_HSCROLL);
867
859
  if (hScroll != 0) {
868
860
  // Perform the scroll
861
+ enableFpsListener();
869
862
  boolean result = super.dispatchGenericMotionEvent(ev);
870
863
  // Schedule snap alignment to run after scrolling stops
871
864
  if (result
@@ -873,9 +866,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
873
866
  || mSnapInterval != 0
874
867
  || mSnapOffsets != null
875
868
  || mSnapToAlignment != SNAP_ALIGNMENT_DISABLED)) {
876
- // Cancel any pending runnable and reschedule
869
+ // Cancel any pending post-touch runnable and reschedule
877
870
  if (mPostTouchRunnable != null) {
878
871
  removeCallbacks(mPostTouchRunnable);
872
+ mPostTouchRunnable = null;
879
873
  }
880
874
  mPostTouchRunnable =
881
875
  new Runnable() {
@@ -889,9 +883,12 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
889
883
  velocityX = 0;
890
884
  }
891
885
  flingAndSnap(velocityX);
886
+ handlePostTouchScrolling(velocityX, 0);
892
887
  }
893
888
  };
894
889
  postOnAnimationDelayed(mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
890
+ } else {
891
+ handlePostTouchScrolling(0, 0);
895
892
  }
896
893
  return result;
897
894
  }
@@ -1008,10 +1005,10 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1008
1005
  return nextFocus;
1009
1006
  }
1010
1007
 
1011
- @Nullable View nextfocusableView = findNextFocusableView(this, focused, direction);
1008
+ @Nullable View nextFocusableView = findNextFocusableView(this, focused, direction);
1012
1009
 
1013
- if (nextfocusableView != null) {
1014
- return nextfocusableView;
1010
+ if (nextFocusableView != null) {
1011
+ return nextFocusableView;
1015
1012
  }
1016
1013
  }
1017
1014
 
@@ -1219,6 +1216,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1219
1216
  }
1220
1217
  ReactScrollViewHelper.notifyUserDrivenScrollEnded_internal(
1221
1218
  ReactHorizontalScrollView.this);
1219
+ disableFpsListener();
1222
1220
  } else {
1223
1221
  if (mPagingEnabled && !mSnappingToPage) {
1224
1222
  // If we have pagingEnabled and we have not snapped to the page
@@ -1599,6 +1597,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1599
1597
  * <p>`smoothScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1600
1598
  * scroll view and state. Calling raw `smoothScrollTo` doesn't update state.
1601
1599
  */
1600
+ @Override
1602
1601
  public void reactSmoothScrollTo(int x, int y) {
1603
1602
  ReactScrollViewHelper.smoothScrollTo(this, x, y);
1604
1603
  setPendingContentOffsets(x, y);
@@ -1679,8 +1678,6 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1679
1678
  // does not work in RTL.
1680
1679
  if (v.getLayoutDirection() == LAYOUT_DIRECTION_RTL) {
1681
1680
  adjustPositionForContentChangeRTL(left, right, oldLeft, oldRight);
1682
- } else if (mMaintainVisibleContentPositionHelper != null) {
1683
- mMaintainVisibleContentPositionHelper.updateScrollPosition();
1684
1681
  }
1685
1682
  ReactScrollViewHelper.emitLayoutChangeEvent(this);
1686
1683
  }
@@ -1700,7 +1697,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1700
1697
 
1701
1698
  if (mScroller != null && !mScroller.isFinished()) {
1702
1699
  // Calculate the velocity and position of the fling animation at the time of this layout
1703
- // event, which may be later than the last ScrollView tick. These values are not commited to
1700
+ // event, which may be later than the last ScrollView tick. These values are not committed to
1704
1701
  // the underlying ScrollView, which will recalculate positions on its next tick.
1705
1702
  int scrollerXBeforeTick = mScroller.getCurrX();
1706
1703
  boolean hasMoreTicks = mScroller.computeScrollOffset();
@@ -1742,6 +1739,7 @@ public class ReactHorizontalScrollView extends HorizontalScrollView
1742
1739
  }
1743
1740
 
1744
1741
  @Nullable
1742
+ @Override
1745
1743
  public StateWrapper getStateWrapper() {
1746
1744
  return mStateWrapper;
1747
1745
  }
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<fefaf14f0291216b635ea0c356e9929c>>
7
+ * @generated SignedSource<<2aa191314924bd0f969fba0e64b86142>>
8
8
  */
9
9
 
10
10
  /**
@@ -106,6 +106,7 @@ class ReactNestedScrollView extends NestedScrollView
106
106
  private final VelocityHelper mVelocityHelper = new VelocityHelper();
107
107
  private final Rect mTempRect = new Rect();
108
108
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollY", 0, 0);
109
+ private final @Nullable FpsListener mFpsListener;
109
110
 
110
111
  private Rect mOverflowInset;
111
112
  private @Nullable VirtualViewContainerState mVirtualViewContainerState;
@@ -118,7 +119,6 @@ class ReactNestedScrollView extends NestedScrollView
118
119
  private boolean mRemoveClippedSubviews;
119
120
  private boolean mScrollEnabled;
120
121
  private boolean mSendMomentumEvents;
121
- private @Nullable FpsListener mFpsListener;
122
122
  private @Nullable String mScrollPerfTag;
123
123
  private @Nullable Drawable mEndBackground;
124
124
  private int mEndFillColor;
@@ -300,6 +300,7 @@ class ReactNestedScrollView extends NestedScrollView
300
300
  mScrollEnabled = scrollEnabled;
301
301
  }
302
302
 
303
+ @Override
303
304
  public boolean getScrollEnabled() {
304
305
  return mScrollEnabled;
305
306
  }
@@ -699,6 +700,7 @@ class ReactNestedScrollView extends NestedScrollView
699
700
  float vScroll = ev.getAxisValue(MotionEvent.AXIS_VSCROLL);
700
701
  if (vScroll != 0) {
701
702
  // Perform the scroll
703
+ enableFpsListener();
702
704
  boolean result = super.dispatchGenericMotionEvent(ev);
703
705
  // Schedule snap alignment to run after scrolling stops
704
706
  if (result
@@ -709,6 +711,7 @@ class ReactNestedScrollView extends NestedScrollView
709
711
  // Cancel any pending post-touch runnable and reschedule
710
712
  if (mPostTouchRunnable != null) {
711
713
  removeCallbacks(mPostTouchRunnable);
714
+ mPostTouchRunnable = null;
712
715
  }
713
716
  mPostTouchRunnable =
714
717
  new Runnable() {
@@ -722,9 +725,12 @@ class ReactNestedScrollView extends NestedScrollView
722
725
  velocityY = 0;
723
726
  }
724
727
  flingAndSnap(velocityY);
728
+ handlePostTouchScrolling(0, velocityY);
725
729
  }
726
730
  };
727
731
  postOnAnimationDelayed(mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
732
+ } else {
733
+ handlePostTouchScrolling(0, 0);
728
734
  }
729
735
  return result;
730
736
  }
@@ -787,14 +793,6 @@ class ReactNestedScrollView extends NestedScrollView
787
793
  }
788
794
  }
789
795
 
790
- @Override
791
- public boolean getClipToPadding() {
792
- if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
793
- return mOverflow != Overflow.VISIBLE;
794
- }
795
- return super.getClipToPadding();
796
- }
797
-
798
796
  @Override
799
797
  public void getClippingRect(Rect outClippingRect) {
800
798
  outClippingRect.set(Assertions.assertNotNull(mClippingRect));
@@ -888,6 +886,7 @@ class ReactNestedScrollView extends NestedScrollView
888
886
  }
889
887
 
890
888
  @Nullable
889
+ @Override
891
890
  public StateWrapper getStateWrapper() {
892
891
  return mStateWrapper;
893
892
  }
@@ -1353,6 +1352,7 @@ class ReactNestedScrollView extends NestedScrollView
1353
1352
  * <p>`smoothScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1354
1353
  * scroll view and state. Calling raw `smoothScrollTo` doesn't update state.
1355
1354
  */
1355
+ @Override
1356
1356
  public void reactSmoothScrollTo(int x, int y) {
1357
1357
  ReactScrollViewHelper.smoothScrollTo(this, x, y);
1358
1358
  setPendingContentOffsets(x, y);
@@ -1463,10 +1463,6 @@ class ReactNestedScrollView extends NestedScrollView
1463
1463
  return;
1464
1464
  }
1465
1465
 
1466
- if (mMaintainVisibleContentPositionHelper != null) {
1467
- mMaintainVisibleContentPositionHelper.updateScrollPosition();
1468
- }
1469
-
1470
1466
  if (isShown() && isContentReady()) {
1471
1467
  int currentScrollY = getScrollY();
1472
1468
  int maxScrollY = getMaxScrollY();
@@ -1524,11 +1520,12 @@ class ReactNestedScrollView extends NestedScrollView
1524
1520
  * and that you are **not** overriding the NestedScrollView content view to pass in a `translateY`
1525
1521
  * style. `translateY` must never be set from ReactJS while using this feature!
1526
1522
  */
1527
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding) {
1528
- setScrollAwayTopPaddingEnabledUnstable(topPadding, true);
1523
+ public void setScrollAwayPaddingEnabledUnstable(int topPadding, int bottomPadding) {
1524
+ setScrollAwayPaddingEnabledUnstable(topPadding, bottomPadding, true);
1529
1525
  }
1530
1526
 
1531
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding, boolean updateState) {
1527
+ public void setScrollAwayPaddingEnabledUnstable(
1528
+ int topPadding, int bottomPadding, boolean updateState) {
1532
1529
  int count = getChildCount();
1533
1530
 
1534
1531
  Assertions.assertCondition(
@@ -1545,17 +1542,18 @@ class ReactNestedScrollView extends NestedScrollView
1545
1542
  // Add the topPadding value as the bottom padding for the NestedScrollView.
1546
1543
  // Otherwise, we'll push down the contents of the scroll view down too
1547
1544
  // far off screen.
1548
- setPadding(0, 0, 0, topPadding);
1545
+ setPadding(0, 0, 0, topPadding + bottomPadding);
1549
1546
  }
1550
1547
 
1551
1548
  if (updateState) {
1552
- updateScrollAwayState(topPadding);
1549
+ updateScrollAwayState(topPadding, bottomPadding);
1553
1550
  }
1554
1551
  setRemoveClippedSubviews(mRemoveClippedSubviews);
1555
1552
  }
1556
1553
 
1557
- private void updateScrollAwayState(int scrollAwayPaddingTop) {
1554
+ private void updateScrollAwayState(int scrollAwayPaddingTop, int scrollAwayPaddingBottom) {
1558
1555
  getReactScrollViewScrollState().setScrollAwayPaddingTop(scrollAwayPaddingTop);
1556
+ getReactScrollViewScrollState().setScrollAwayPaddingBottom(scrollAwayPaddingBottom);
1559
1557
  ReactScrollViewHelper.forceUpdateState(this);
1560
1558
  }
1561
1559
 
@@ -1564,7 +1562,8 @@ class ReactNestedScrollView extends NestedScrollView
1564
1562
  mReactScrollViewScrollState = scrollState;
1565
1563
  if (ReactNativeFeatureFlags.enableViewCulling()
1566
1564
  || ReactNativeFeatureFlags.useTraitHiddenOnAndroid()) {
1567
- setScrollAwayTopPaddingEnabledUnstable(scrollState.getScrollAwayPaddingTop(), false);
1565
+ setScrollAwayPaddingEnabledUnstable(
1566
+ scrollState.getScrollAwayPaddingTop(), scrollState.getScrollAwayPaddingBottom(), false);
1568
1567
 
1569
1568
  Point scrollPosition = scrollState.getLastStateUpdateScroll();
1570
1569
  scrollTo(scrollPosition.x, scrollPosition.y);
@@ -98,6 +98,7 @@ public class ReactScrollView extends ScrollView
98
98
  private final VelocityHelper mVelocityHelper = new VelocityHelper();
99
99
  private final Rect mTempRect = new Rect();
100
100
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollY", 0, 0);
101
+ private final @Nullable FpsListener mFpsListener;
101
102
 
102
103
  private Rect mOverflowInset;
103
104
  private @Nullable VirtualViewContainerState mVirtualViewContainerState;
@@ -110,7 +111,6 @@ public class ReactScrollView extends ScrollView
110
111
  private boolean mRemoveClippedSubviews;
111
112
  private boolean mScrollEnabled;
112
113
  private boolean mSendMomentumEvents;
113
- private @Nullable FpsListener mFpsListener;
114
114
  private @Nullable String mScrollPerfTag;
115
115
  private @Nullable Drawable mEndBackground;
116
116
  private int mEndFillColor;
@@ -292,6 +292,7 @@ public class ReactScrollView extends ScrollView
292
292
  mScrollEnabled = scrollEnabled;
293
293
  }
294
294
 
295
+ @Override
295
296
  public boolean getScrollEnabled() {
296
297
  return mScrollEnabled;
297
298
  }
@@ -691,6 +692,7 @@ public class ReactScrollView extends ScrollView
691
692
  float vScroll = ev.getAxisValue(MotionEvent.AXIS_VSCROLL);
692
693
  if (vScroll != 0) {
693
694
  // Perform the scroll
695
+ enableFpsListener();
694
696
  boolean result = super.dispatchGenericMotionEvent(ev);
695
697
  // Schedule snap alignment to run after scrolling stops
696
698
  if (result
@@ -701,6 +703,7 @@ public class ReactScrollView extends ScrollView
701
703
  // Cancel any pending post-touch runnable and reschedule
702
704
  if (mPostTouchRunnable != null) {
703
705
  removeCallbacks(mPostTouchRunnable);
706
+ mPostTouchRunnable = null;
704
707
  }
705
708
  mPostTouchRunnable =
706
709
  new Runnable() {
@@ -714,9 +717,12 @@ public class ReactScrollView extends ScrollView
714
717
  velocityY = 0;
715
718
  }
716
719
  flingAndSnap(velocityY);
720
+ handlePostTouchScrolling(0, velocityY);
717
721
  }
718
722
  };
719
723
  postOnAnimationDelayed(mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
724
+ } else {
725
+ handlePostTouchScrolling(0, 0);
720
726
  }
721
727
  return result;
722
728
  }
@@ -779,14 +785,6 @@ public class ReactScrollView extends ScrollView
779
785
  }
780
786
  }
781
787
 
782
- @Override
783
- public boolean getClipToPadding() {
784
- if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
785
- return mOverflow != Overflow.VISIBLE;
786
- }
787
- return super.getClipToPadding();
788
- }
789
-
790
788
  @Override
791
789
  public void getClippingRect(Rect outClippingRect) {
792
790
  outClippingRect.set(Assertions.assertNotNull(mClippingRect));
@@ -880,6 +878,7 @@ public class ReactScrollView extends ScrollView
880
878
  }
881
879
 
882
880
  @Nullable
881
+ @Override
883
882
  public StateWrapper getStateWrapper() {
884
883
  return mStateWrapper;
885
884
  }
@@ -1345,6 +1344,7 @@ public class ReactScrollView extends ScrollView
1345
1344
  * <p>`smoothScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1346
1345
  * scroll view and state. Calling raw `smoothScrollTo` doesn't update state.
1347
1346
  */
1347
+ @Override
1348
1348
  public void reactSmoothScrollTo(int x, int y) {
1349
1349
  ReactScrollViewHelper.smoothScrollTo(this, x, y);
1350
1350
  setPendingContentOffsets(x, y);
@@ -1455,10 +1455,6 @@ public class ReactScrollView extends ScrollView
1455
1455
  return;
1456
1456
  }
1457
1457
 
1458
- if (mMaintainVisibleContentPositionHelper != null) {
1459
- mMaintainVisibleContentPositionHelper.updateScrollPosition();
1460
- }
1461
-
1462
1458
  if (isShown() && isContentReady()) {
1463
1459
  int currentScrollY = getScrollY();
1464
1460
  int maxScrollY = getMaxScrollY();
@@ -1516,11 +1512,12 @@ public class ReactScrollView extends ScrollView
1516
1512
  * and that you are **not** overriding the ScrollView content view to pass in a `translateY`
1517
1513
  * style. `translateY` must never be set from ReactJS while using this feature!
1518
1514
  */
1519
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding) {
1520
- setScrollAwayTopPaddingEnabledUnstable(topPadding, true);
1515
+ public void setScrollAwayPaddingEnabledUnstable(int topPadding, int bottomPadding) {
1516
+ setScrollAwayPaddingEnabledUnstable(topPadding, bottomPadding, true);
1521
1517
  }
1522
1518
 
1523
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding, boolean updateState) {
1519
+ public void setScrollAwayPaddingEnabledUnstable(
1520
+ int topPadding, int bottomPadding, boolean updateState) {
1524
1521
  int count = getChildCount();
1525
1522
 
1526
1523
  Assertions.assertCondition(
@@ -1537,17 +1534,18 @@ public class ReactScrollView extends ScrollView
1537
1534
  // Add the topPadding value as the bottom padding for the ScrollView.
1538
1535
  // Otherwise, we'll push down the contents of the scroll view down too
1539
1536
  // far off screen.
1540
- setPadding(0, 0, 0, topPadding);
1537
+ setPadding(0, 0, 0, topPadding + bottomPadding);
1541
1538
  }
1542
1539
 
1543
1540
  if (updateState) {
1544
- updateScrollAwayState(topPadding);
1541
+ updateScrollAwayState(topPadding, bottomPadding);
1545
1542
  }
1546
1543
  setRemoveClippedSubviews(mRemoveClippedSubviews);
1547
1544
  }
1548
1545
 
1549
- private void updateScrollAwayState(int scrollAwayPaddingTop) {
1546
+ private void updateScrollAwayState(int scrollAwayPaddingTop, int scrollAwayPaddingBottom) {
1550
1547
  getReactScrollViewScrollState().setScrollAwayPaddingTop(scrollAwayPaddingTop);
1548
+ getReactScrollViewScrollState().setScrollAwayPaddingBottom(scrollAwayPaddingBottom);
1551
1549
  ReactScrollViewHelper.forceUpdateState(this);
1552
1550
  }
1553
1551
 
@@ -1556,7 +1554,8 @@ public class ReactScrollView extends ScrollView
1556
1554
  mReactScrollViewScrollState = scrollState;
1557
1555
  if (ReactNativeFeatureFlags.enableViewCulling()
1558
1556
  || ReactNativeFeatureFlags.useTraitHiddenOnAndroid()) {
1559
- setScrollAwayTopPaddingEnabledUnstable(scrollState.getScrollAwayPaddingTop(), false);
1557
+ setScrollAwayPaddingEnabledUnstable(
1558
+ scrollState.getScrollAwayPaddingTop(), scrollState.getScrollAwayPaddingBottom(), false);
1560
1559
 
1561
1560
  Point scrollPosition = scrollState.getLastStateUpdateScroll();
1562
1561
  scrollTo(scrollPosition.x, scrollPosition.y);