@depup/react-native 0.84.1-depup.2 → 0.85.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  2. package/Libraries/Animated/Animated.d.ts +8 -1
  3. package/Libraries/Animated/AnimatedEvent.js +4 -4
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/animations/Animation.js +3 -3
  6. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  7. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  8. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  9. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  11. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  12. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  13. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  14. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  17. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  19. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  20. package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
  21. package/Libraries/Animated/useAnimatedColor.js +25 -0
  22. package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
  23. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  24. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  25. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
  26. package/Libraries/AppDelegate/RCTRootViewFactory.mm +8 -0
  27. package/Libraries/AppState/AppState.js +1 -1
  28. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  29. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  30. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  31. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  32. package/Libraries/Components/Button.js +2 -2
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  34. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  35. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  36. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  37. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  38. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  39. package/Libraries/Components/Pressable/Pressable.js +3 -3
  40. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  41. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  42. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  43. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  44. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  45. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  46. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  47. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  49. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  50. package/Libraries/Components/StaticRenderer.js +1 -1
  51. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  52. package/Libraries/Components/Switch/Switch.js +3 -3
  53. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  54. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  55. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  56. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  57. package/Libraries/Components/TextInput/TextInput.js +8 -4
  58. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  59. package/Libraries/Components/Touchable/Touchable.js +2 -2
  60. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  61. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  62. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  63. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  64. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  65. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  66. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  67. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  68. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  69. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  70. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  71. package/Libraries/Core/ExceptionsManager.js +2 -2
  72. package/Libraries/Core/ExtendedError.js +3 -3
  73. package/Libraries/Core/RawEventEmitter.js +1 -1
  74. package/Libraries/Core/ReactNativeVersion.js +2 -2
  75. package/Libraries/Core/Timers/JSTimers.js +3 -2
  76. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  77. package/Libraries/Core/setUpErrorHandling.js +4 -2
  78. package/Libraries/Core/setUpReactDevTools.js +23 -6
  79. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  80. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  81. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  82. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  83. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
  84. package/Libraries/Image/AssetSourceResolver.js +1 -1
  85. package/Libraries/Image/Image.android.js +172 -306
  86. package/Libraries/Image/ImageProps.js +9 -11
  87. package/Libraries/Image/ImageSource.js +2 -2
  88. package/Libraries/Image/ImageSourceUtils.js +8 -4
  89. package/Libraries/Image/ImageTypes.flow.js +2 -2
  90. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  91. package/Libraries/Image/RCTImageUtils.mm +37 -1
  92. package/Libraries/Image/nativeImageSource.js +1 -1
  93. package/Libraries/Interaction/InteractionManager.js +5 -4
  94. package/Libraries/Interaction/PanResponder.js +1 -1
  95. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  96. package/Libraries/Linking/Linking.js +1 -1
  97. package/Libraries/Lists/FlatList.js +3 -3
  98. package/Libraries/Lists/SectionList.js +1 -1
  99. package/Libraries/Lists/SectionListModern.js +2 -2
  100. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  101. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  102. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  103. package/Libraries/LogBox/LogBox.js +42 -19
  104. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  105. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  106. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  107. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  108. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  109. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  110. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  111. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  112. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  113. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  114. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  115. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  116. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  117. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  118. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  119. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  120. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  121. package/Libraries/Modal/Modal.js +3 -3
  122. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  123. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  124. package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
  125. package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
  126. package/Libraries/Network/RCTNetworking.android.js +1 -1
  127. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  128. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  129. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  130. package/Libraries/Network/XMLHttpRequest.js +1 -1
  131. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  132. package/Libraries/Pressability/Pressability.js +5 -5
  133. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  134. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  135. package/Libraries/Pressability/usePressability.js +3 -14
  136. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  137. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +25 -4
  138. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  139. package/Libraries/ReactNative/AppContainer.js +1 -1
  140. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  141. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  142. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  143. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  144. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  145. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  146. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  147. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  148. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  149. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  150. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  151. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  152. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  153. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  154. package/Libraries/StyleSheet/PointPropType.js +1 -1
  155. package/Libraries/StyleSheet/Rect.js +1 -1
  156. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  157. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  158. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  159. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  160. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  161. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  162. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  163. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  164. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  165. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  166. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  167. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  168. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  169. package/Libraries/StyleSheet/processColorArray.js +2 -2
  170. package/Libraries/StyleSheet/processFilter.js +2 -2
  171. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +6 -3
  172. package/Libraries/Text/Text.js +295 -627
  173. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +10 -2
  174. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +26 -2
  175. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +2 -2
  176. package/Libraries/Text/TextNativeComponent.js +14 -7
  177. package/Libraries/Text/TextProps.js +4 -4
  178. package/Libraries/Types/CodegenTypes.js +1 -1
  179. package/Libraries/Types/CoreEventTypes.js +21 -21
  180. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  181. package/Libraries/Utilities/Appearance.js +6 -1
  182. package/Libraries/Utilities/Dimensions.js +1 -1
  183. package/Libraries/Utilities/HMRClient.js +4 -4
  184. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  185. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  186. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  187. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  188. package/Libraries/Utilities/logError.js +1 -1
  189. package/Libraries/Utilities/stringifySafe.js +3 -3
  190. package/Libraries/Utilities/useMergeRefs.js +2 -2
  191. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
  192. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  193. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  194. package/README.md +6 -9
  195. package/React/Base/RCTBridge.mm +1 -1
  196. package/React/Base/RCTBundleURLProvider.mm +29 -8
  197. package/React/Base/RCTConvert.mm +6 -0
  198. package/React/Base/RCTDefines.h +0 -8
  199. package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
  200. package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
  201. package/React/Base/RCTJavaScriptLoader.h +1 -0
  202. package/React/Base/RCTJavaScriptLoader.mm +6 -2
  203. package/React/Base/RCTMultipartDataTask.h +9 -0
  204. package/React/Base/RCTMultipartDataTask.m +19 -1
  205. package/React/Base/RCTUtils.mm +20 -1
  206. package/React/Base/RCTVersion.m +2 -2
  207. package/React/CoreModules/RCTActionSheetManager.mm +28 -3
  208. package/React/CoreModules/RCTClipboard.mm +6 -0
  209. package/React/CoreModules/RCTDevLoadingView.mm +1 -1
  210. package/React/CoreModules/RCTDevSettings.mm +8 -0
  211. package/React/CoreModules/RCTDeviceInfo.mm +6 -3
  212. package/React/CoreModules/RCTKeyboardObserver.mm +11 -0
  213. package/React/CoreModules/RCTLogBoxView.mm +4 -0
  214. package/React/CoreModules/RCTPerfMonitor.mm +4 -0
  215. package/React/CoreModules/RCTRedBox.mm +4 -0
  216. package/React/CoreModules/RCTStatusBarManager.h +2 -0
  217. package/React/CoreModules/RCTWebSocketModule.h +6 -0
  218. package/React/CoreModules/RCTWebSocketModule.mm +14 -1
  219. package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
  220. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
  221. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
  222. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
  223. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
  224. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
  225. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
  226. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +13 -5
  227. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +14 -0
  228. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +18 -0
  229. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -0
  230. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +15 -0
  231. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +15 -0
  232. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +10 -2
  233. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
  234. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +4 -2
  235. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +24 -2
  236. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
  237. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
  238. package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
  239. package/React/Fabric/RCTScheduler.h +2 -0
  240. package/React/Fabric/RCTScheduler.mm +57 -0
  241. package/React/Fabric/RCTSurfacePointerHandler.mm +15 -7
  242. package/React/Fabric/RCTSurfacePresenter.mm +9 -0
  243. package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -0
  244. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
  245. package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
  246. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
  247. package/React/Modules/RCTLayoutAnimation.m +10 -0
  248. package/React/Modules/RCTRedBoxExtraDataViewController.m +2 -0
  249. package/React/Modules/RCTUIManager.mm +2 -2
  250. package/React/Profiler/RCTProfile.m +4 -0
  251. package/React/React-RCTFabric.podspec +3 -0
  252. package/React/Views/RCTComponentData.mm +2 -0
  253. package/React/Views/RCTView.m +6 -1
  254. package/React/Views/RCTViewManager.m +4 -0
  255. package/React-Core-prebuilt.podspec +1 -1
  256. package/ReactAndroid/api/ReactAndroid.api +120 -298
  257. package/ReactAndroid/build.gradle.kts +9 -0
  258. package/ReactAndroid/gradle.properties +1 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
  260. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
  262. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
  263. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
  264. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
  265. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
  266. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
  268. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
  269. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
  270. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
  271. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
  272. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
  273. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
  274. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
  275. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
  276. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
  280. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
  281. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
  282. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
  283. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
  284. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
  285. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
  286. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
  296. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  308. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
  309. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
  310. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
  311. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +14 -20
  312. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
  313. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
  316. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
  317. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
  318. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
  319. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
  321. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
  322. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -4
  326. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
  328. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
  330. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
  331. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
  332. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
  333. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
  334. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
  335. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
  336. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
  337. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
  338. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
  339. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
  340. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
  341. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
  342. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
  343. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
  344. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
  345. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
  346. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
  348. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
  380. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
  381. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
  383. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +28 -4
  384. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +5 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +28 -4
  388. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +2 -9
  389. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +5 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
  391. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +58 -108
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +17 -59
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +3 -4
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
  423. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
  424. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
  425. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
  426. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
  427. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
  428. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
  429. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
  431. package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
  432. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
  433. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
  434. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
  435. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
  436. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
  437. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
  438. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
  439. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
  440. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
  441. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
  442. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
  443. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  444. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  445. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
  446. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
  447. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
  448. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
  449. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
  450. package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
  451. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  452. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
  453. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
  454. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  455. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
  456. package/ReactCommon/React-Fabric.podspec +5 -6
  457. package/ReactCommon/React-FabricComponents.podspec +6 -8
  458. package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -6
  459. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
  460. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
  461. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
  462. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
  463. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
  464. package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
  465. package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
  466. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
  467. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  468. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
  469. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
  470. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
  471. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
  472. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
  473. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
  474. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
  475. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
  476. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
  477. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
  478. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
  479. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
  480. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
  481. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
  482. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
  483. package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
  484. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
  485. package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
  486. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
  487. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
  488. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
  489. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
  490. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
  491. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
  492. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
  493. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
  494. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
  495. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
  496. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
  497. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
  498. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
  499. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
  500. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
  501. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
  502. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
  503. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
  504. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
  505. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
  506. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +25 -37
  507. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
  508. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
  509. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
  510. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  511. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
  512. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  513. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
  514. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
  515. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
  516. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
  517. package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
  518. package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
  519. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
  520. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
  521. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
  522. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
  523. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
  524. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
  525. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
  526. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
  527. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
  528. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
  529. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
  530. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
  531. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
  532. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
  533. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
  534. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
  535. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
  536. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
  537. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
  538. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  539. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
  540. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
  541. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
  542. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
  543. package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
  544. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
  545. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  546. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
  547. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
  548. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  549. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  550. package/ReactCommon/react/renderer/components/scrollview/primitives.h +1 -10
  551. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
  552. package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
  553. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
  554. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
  555. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  556. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
  557. package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
  558. package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
  559. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
  560. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  561. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
  562. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
  563. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
  564. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  565. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
  566. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
  567. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
  568. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
  569. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  570. package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
  571. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +1 -63
  572. package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
  573. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
  574. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  575. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
  576. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  577. package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
  578. package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
  579. package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
  580. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
  581. package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
  582. package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
  583. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
  584. package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
  585. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
  586. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
  587. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
  588. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
  589. package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
  590. package/ReactCommon/react/renderer/core/RawValue.h +1 -2
  591. package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
  592. package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
  593. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
  594. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
  595. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
  596. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
  597. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
  598. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
  599. package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
  600. package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
  601. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
  602. package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
  603. package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
  604. package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
  605. package/ReactCommon/react/renderer/css/CSSList.h +11 -11
  606. package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
  607. package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
  608. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
  609. package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
  610. package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
  611. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
  612. package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
  613. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
  614. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
  615. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
  616. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
  617. package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
  618. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
  619. package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
  620. package/ReactCommon/react/renderer/graphics/Point.h +0 -2
  621. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
  622. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  623. package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
  624. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
  625. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
  626. package/ReactCommon/react/renderer/graphics/Size.h +0 -5
  627. package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
  628. package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
  629. package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
  630. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
  631. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
  632. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
  633. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
  634. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
  635. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
  636. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  637. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  638. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  639. package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
  640. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
  641. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  642. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
  643. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
  644. package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
  645. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  646. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
  647. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
  648. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
  649. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
  650. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
  651. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
  652. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
  653. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
  654. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
  655. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
  656. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
  657. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
  658. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
  659. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
  660. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  661. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  662. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
  663. package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
  664. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
  665. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  666. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
  667. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
  668. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
  669. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
  670. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
  671. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +5 -0
  672. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
  673. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
  674. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
  675. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
  676. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
  677. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
  678. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
  679. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
  680. package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
  681. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
  682. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  683. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
  684. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
  685. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
  686. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
  687. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
  688. package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
  689. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
  690. package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
  691. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
  692. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
  693. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
  694. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
  695. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
  696. package/ReactCommon/react/utils/ContextContainer.h +0 -2
  697. package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
  698. package/ReactCommon/yoga/yoga/YGValue.h +0 -4
  699. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
  700. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
  701. package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
  702. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
  703. package/ReactCommon/yoga/yoga/style/Style.h +0 -4
  704. package/changes.json +5 -17
  705. package/flow/bom.js.flow +18 -17
  706. package/flow/dom.js.flow +12 -5
  707. package/flow/global.js +1 -1
  708. package/gradle/libs.versions.toml +1 -1
  709. package/index.js +9 -0
  710. package/index.js.flow +8 -1
  711. package/jest-preset.js +14 -18
  712. package/package.json +20 -32
  713. package/scripts/cocoapods/rncore.rb +111 -2
  714. package/scripts/cocoapods/utils.rb +2 -0
  715. package/scripts/codegen/templates/Package.swift.template +7 -0
  716. package/scripts/react_native_pods.rb +13 -6
  717. package/scripts/replace-rncore-version.js +12 -3
  718. package/sdks/.hermesv1version +1 -1
  719. package/sdks/.hermesversion +1 -1
  720. package/sdks/hermes-engine/version.properties +2 -2
  721. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  722. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  723. package/src/private/components/virtualview/VirtualView.js +14 -21
  724. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  725. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  726. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  727. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  728. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  729. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  730. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  731. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  732. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  733. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  734. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  735. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  736. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  737. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  738. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  739. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  740. package/src/private/featureflags/ReactNativeFeatureFlags.js +48 -81
  741. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  742. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
  743. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  744. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  745. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  746. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  747. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  748. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  749. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  750. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  751. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  752. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  753. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  754. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  755. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  756. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  757. package/src/private/styles/composeStyles.js +1 -1
  758. package/src/private/utilities/toError.js +27 -0
  759. package/src/private/utilities/toExtendedError.js +30 -0
  760. package/src/private/webapis/dom/events/Event.js +1 -1
  761. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  762. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  763. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  764. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  765. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  766. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  767. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  768. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  769. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  770. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  771. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  772. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  773. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  774. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  775. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  776. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  777. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  778. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  779. package/src/private/webapis/performance/LongTasks.js +3 -3
  780. package/src/private/webapis/performance/Performance.js +4 -4
  781. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  782. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  783. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  784. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  785. package/src/types/globals.d.ts +4 -4
  786. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  787. package/third-party-podspecs/fmt.podspec +2 -2
  788. package/types/index.d.ts +2 -0
  789. package/types_generated/Libraries/Animated/useAnimatedColor.d.ts +16 -0
  790. package/types_generated/Libraries/Animated/useAnimatedValueXY.d.ts +18 -0
  791. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +4 -2
  792. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +9 -1
  793. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +3 -1
  794. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +2 -1
  795. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +4 -4
  796. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +25 -42
  797. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +4 -8
  798. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +1 -6
  799. package/types_generated/Libraries/Text/Text.d.ts +8 -3
  800. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +3 -1
  801. package/types_generated/index.d.ts +6 -2
  802. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +3 -3
  803. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +107 -0
  804. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  805. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  806. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
  807. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
  808. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
  809. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
  810. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
  811. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
  812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
  813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
  814. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
  815. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
  816. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
  817. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
  818. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
  819. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
  820. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
  821. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
  827. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
  828. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
  829. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
  830. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
  831. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
  832. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
  833. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
  834. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
  835. package/jest/MockNativeMethods.js +0 -27
  836. package/jest/RefreshControlMock.js +0 -32
  837. package/jest/assetFileTransformer.js +0 -33
  838. package/jest/local-setup.js +0 -29
  839. package/jest/mock.js +0 -39
  840. package/jest/mockComponent.js +0 -104
  841. package/jest/mockNativeComponent.js +0 -52
  842. package/jest/mocks/AccessibilityInfo.js +0 -62
  843. package/jest/mocks/ActivityIndicator.js +0 -23
  844. package/jest/mocks/AppState.js +0 -19
  845. package/jest/mocks/Image.js +0 -23
  846. package/jest/mocks/InitializeCore.js +0 -9
  847. package/jest/mocks/Linking.js +0 -28
  848. package/jest/mocks/Modal.js +0 -33
  849. package/jest/mocks/NativeComponentRegistry.js +0 -30
  850. package/jest/mocks/NativeModules.js +0 -239
  851. package/jest/mocks/RefreshControl.js +0 -31
  852. package/jest/mocks/RendererProxy.js +0 -45
  853. package/jest/mocks/ScrollView.js +0 -58
  854. package/jest/mocks/Text.js +0 -27
  855. package/jest/mocks/TextInput.js +0 -32
  856. package/jest/mocks/UIManager.js +0 -60
  857. package/jest/mocks/View.js +0 -27
  858. package/jest/mocks/ViewNativeComponent.js +0 -23
  859. package/jest/mocks/requireNativeComponent.js +0 -22
  860. package/jest/mocks/useColorScheme.js +0 -18
  861. package/jest/react-native-env.js +0 -17
  862. package/jest/renderer.js +0 -40
  863. package/jest/resolver.js +0 -32
  864. package/jest/setup.js +0 -140
  865. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
  866. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
  867. /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
  868. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
  869. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
  870. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
  871. /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
@@ -0,0 +1,466 @@
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
+ * @generated SignedSource<<585a90a2f11c5bba8b3e2d011912d302>>
8
+ */
9
+
10
+ /**
11
+ * THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
12
+ * Source: ReactScrollViewManager.kt
13
+ * Run: node generate-nested-scroll-view.js
14
+ */
15
+
16
+ package com.facebook.react.views.scroll
17
+
18
+ import android.graphics.Color
19
+ import android.view.View
20
+ import androidx.core.view.ViewCompat
21
+ import com.facebook.react.bridge.Dynamic
22
+ import com.facebook.react.bridge.ReadableArray
23
+ import com.facebook.react.bridge.ReadableMap
24
+ import com.facebook.react.bridge.ReadableType
25
+ import com.facebook.react.bridge.RetryableMountingLayerException
26
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
27
+ import com.facebook.react.module.annotations.ReactModule
28
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderColor
29
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderRadius
30
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderStyle
31
+ import com.facebook.react.uimanager.BackgroundStyleApplicator.setBorderWidth
32
+ import com.facebook.react.uimanager.LengthPercentage
33
+ import com.facebook.react.uimanager.LengthPercentageType
34
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
35
+ import com.facebook.react.uimanager.PixelUtil.getDisplayMetricDensity
36
+ import com.facebook.react.uimanager.PointerEvents.Companion.parsePointerEvents
37
+ import com.facebook.react.uimanager.ReactClippingViewGroupHelper
38
+ import com.facebook.react.uimanager.ReactStylesDiffMap
39
+ import com.facebook.react.uimanager.StateWrapper
40
+ import com.facebook.react.uimanager.ThemedReactContext
41
+ import com.facebook.react.uimanager.ViewGroupManager
42
+ import com.facebook.react.uimanager.ViewProps
43
+ import com.facebook.react.uimanager.annotations.ReactProp
44
+ import com.facebook.react.uimanager.annotations.ReactPropGroup
45
+ import com.facebook.react.uimanager.style.BorderRadiusProp
46
+ import com.facebook.react.uimanager.style.BorderStyle.Companion.fromString
47
+ import com.facebook.react.uimanager.style.LogicalEdge
48
+ import com.facebook.react.views.scroll.ReactScrollViewCommandHelper.Companion.receiveCommand
49
+ import com.facebook.react.views.scroll.ReactScrollViewCommandHelper.ScrollCommandHandler
50
+ import com.facebook.react.views.scroll.ReactScrollViewCommandHelper.ScrollToCommandData
51
+ import com.facebook.react.views.scroll.ReactScrollViewCommandHelper.ScrollToEndCommandData
52
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.parseOverScrollMode
53
+ import com.facebook.react.views.scroll.ReactScrollViewHelper.parseSnapToAlignment
54
+ import com.facebook.react.views.scroll.ScrollEventType.Companion.getJSEventName
55
+
56
+ /**
57
+ * View manager for [ReactNestedScrollView] components.
58
+ *
59
+ * Note that [ReactNestedScrollView] and [ReactHorizontalScrollView] are exposed to JS as a single
60
+ * ScrollView component, configured via the `horizontal` boolean property.
61
+ */
62
+ @ReactModule(name = ReactNestedScrollViewManager.REACT_CLASS)
63
+ internal open class ReactNestedScrollViewManager
64
+ @JvmOverloads
65
+ constructor(private val fpsListener: FpsListener? = null) :
66
+ ViewGroupManager<ReactNestedScrollView>(), ScrollCommandHandler<ReactNestedScrollView> {
67
+
68
+ init {
69
+ if (ReactNativeFeatureFlags.enableViewRecyclingForScrollView()) {
70
+ setupViewRecycling()
71
+ }
72
+ }
73
+
74
+ override fun prepareToRecycleView(
75
+ reactContext: ThemedReactContext,
76
+ view: ReactNestedScrollView,
77
+ ): ReactNestedScrollView? {
78
+ // BaseViewManager
79
+ val preparedView = super.prepareToRecycleView(reactContext, view)
80
+ if (preparedView != null) {
81
+ preparedView.recycleView()
82
+ }
83
+ return preparedView
84
+ }
85
+
86
+ override fun getName(): String = REACT_CLASS
87
+
88
+ public override fun createViewInstance(context: ThemedReactContext): ReactNestedScrollView =
89
+ ReactNestedScrollView(context, fpsListener)
90
+
91
+ @ReactProp(name = "scrollEnabled", defaultBoolean = true)
92
+ public fun setScrollEnabled(view: ReactNestedScrollView, value: Boolean) {
93
+ view.setScrollEnabled(value)
94
+
95
+ // Set focusable to match whether scroll is enabled. This improves keyboarding
96
+ // experience by not making scrollview a tab stop when you cannot interact with it.
97
+ view.isFocusable = value
98
+ }
99
+
100
+ @ReactProp(name = "showsVerticalScrollIndicator", defaultBoolean = true)
101
+ public fun setShowsVerticalScrollIndicator(view: ReactNestedScrollView, value: Boolean) {
102
+ view.isVerticalScrollBarEnabled = value
103
+ }
104
+
105
+ @ReactProp(name = "decelerationRate")
106
+ public fun setDecelerationRate(view: ReactNestedScrollView, decelerationRate: Float) {
107
+ view.setDecelerationRate(decelerationRate)
108
+ }
109
+
110
+ @ReactProp(name = "disableIntervalMomentum")
111
+ public fun setDisableIntervalMomentum(view: ReactNestedScrollView, disableIntervalMomentum: Boolean) {
112
+ view.setDisableIntervalMomentum(disableIntervalMomentum)
113
+ }
114
+
115
+ @ReactProp(name = "scrollsChildToFocus", defaultBoolean = true)
116
+ public fun setScrollsChildToFocus(view: ReactNestedScrollView, scrollsChildToFocus: Boolean) {
117
+ view.setScrollsChildToFocus(scrollsChildToFocus)
118
+ }
119
+
120
+ @ReactProp(name = "snapToInterval")
121
+ public fun setSnapToInterval(view: ReactNestedScrollView, snapToInterval: Float) {
122
+ // snapToInterval needs to be exposed as a float because of the Javascript interface.
123
+ val density = getDisplayMetricDensity()
124
+ view.setSnapInterval((snapToInterval * density).toInt())
125
+ }
126
+
127
+ @ReactProp(name = "snapToOffsets")
128
+ public fun setSnapToOffsets(view: ReactNestedScrollView, snapToOffsets: ReadableArray?) {
129
+ if (snapToOffsets == null || snapToOffsets.size() == 0) {
130
+ view.setSnapOffsets(null)
131
+ return
132
+ }
133
+
134
+ val density = getDisplayMetricDensity()
135
+ val offsets: MutableList<Int> = ArrayList()
136
+ for (i in 0 until snapToOffsets.size()) {
137
+ offsets.add((snapToOffsets.getDouble(i) * density).toInt())
138
+ }
139
+ view.setSnapOffsets(offsets)
140
+ }
141
+
142
+ @ReactProp(name = "snapToAlignment")
143
+ public fun setSnapToAlignment(view: ReactNestedScrollView, alignment: String?) {
144
+ view.setSnapToAlignment(parseSnapToAlignment(alignment))
145
+ }
146
+
147
+ @ReactProp(name = "snapToStart")
148
+ public fun setSnapToStart(view: ReactNestedScrollView, snapToStart: Boolean) {
149
+ view.setSnapToStart(snapToStart)
150
+ }
151
+
152
+ @ReactProp(name = "snapToEnd")
153
+ public fun setSnapToEnd(view: ReactNestedScrollView, snapToEnd: Boolean) {
154
+ view.setSnapToEnd(snapToEnd)
155
+ }
156
+
157
+ @ReactProp(name = ReactClippingViewGroupHelper.PROP_REMOVE_CLIPPED_SUBVIEWS)
158
+ public fun setRemoveClippedSubviews(view: ReactNestedScrollView, removeClippedSubviews: Boolean) {
159
+ view.removeClippedSubviews = removeClippedSubviews
160
+ }
161
+
162
+ /**
163
+ * Computing momentum events is potentially expensive since we post a runnable on the UI thread to
164
+ * see when it is done. We only do that if {@param sendMomentumEvents} is set to true. This is
165
+ * handled automatically in js by checking if there is a listener on the momentum events.
166
+ *
167
+ * @param view
168
+ * @param sendMomentumEvents
169
+ */
170
+ @ReactProp(name = "sendMomentumEvents")
171
+ public fun setSendMomentumEvents(view: ReactNestedScrollView, sendMomentumEvents: Boolean) {
172
+ view.setSendMomentumEvents(sendMomentumEvents)
173
+ }
174
+
175
+ /**
176
+ * Tag used for logging scroll performance on this scroll view. Will force momentum events to be
177
+ * turned on (see setSendMomentumEvents).
178
+ *
179
+ * @param view
180
+ * @param scrollPerfTag
181
+ */
182
+ @ReactProp(name = "scrollPerfTag")
183
+ public fun setScrollPerfTag(view: ReactNestedScrollView, scrollPerfTag: String?) {
184
+ view.setScrollPerfTag(scrollPerfTag)
185
+ }
186
+
187
+ @ReactProp(name = "pagingEnabled")
188
+ public fun setPagingEnabled(view: ReactNestedScrollView, pagingEnabled: Boolean) {
189
+ view.setPagingEnabled(pagingEnabled)
190
+ }
191
+
192
+ /**
193
+ * When set, fills the rest of the scrollview with a color to avoid setting a background and
194
+ * creating unnecessary overdraw.
195
+ *
196
+ * @param view
197
+ * @param color
198
+ */
199
+ @ReactProp(name = "endFillColor", defaultInt = Color.TRANSPARENT, customType = "Color")
200
+ public fun setBottomFillColor(view: ReactNestedScrollView, color: Int) {
201
+ view.setEndFillColor(color)
202
+ }
203
+
204
+ /** Controls overScroll behaviour */
205
+ @ReactProp(name = "overScrollMode")
206
+ public open fun setOverScrollMode(view: ReactNestedScrollView, value: String?) {
207
+ view.overScrollMode = parseOverScrollMode(value)
208
+ }
209
+
210
+ @ReactProp(name = "nestedScrollEnabled")
211
+ public fun setNestedScrollEnabled(view: ReactNestedScrollView?, value: Boolean) {
212
+ if (view != null) {
213
+ ViewCompat.setNestedScrollingEnabled(view, value)
214
+ }
215
+ }
216
+
217
+ override fun getCommandsMap(): Map<String, Int>? = ReactScrollViewCommandHelper.getCommandsMap()
218
+
219
+ @Deprecated(
220
+ message =
221
+ "ReceiveCommand with an int commandId param is deprecated. Use the overload where commandId is a string.",
222
+ ReplaceWith("receiveCommand(scrollView, commandId, args)"),
223
+ )
224
+ override fun receiveCommand(scrollView: ReactNestedScrollView, commandId: Int, args: ReadableArray?) {
225
+ receiveCommand(this, scrollView, commandId, args)
226
+ }
227
+
228
+ override fun receiveCommand(
229
+ scrollView: ReactNestedScrollView,
230
+ commandId: String,
231
+ args: ReadableArray?,
232
+ ) {
233
+ receiveCommand<ReactNestedScrollView>(this, scrollView, commandId, args)
234
+ }
235
+
236
+ override fun flashScrollIndicators(scrollView: ReactNestedScrollView) {
237
+ scrollView.flashScrollIndicators()
238
+ }
239
+
240
+ override fun scrollTo(scrollView: ReactNestedScrollView, data: ScrollToCommandData) {
241
+ scrollView.abortAnimation()
242
+ if (data.mAnimated) {
243
+ scrollView.reactSmoothScrollTo(data.mDestX, data.mDestY)
244
+ } else {
245
+ scrollView.scrollTo(data.mDestX, data.mDestY)
246
+ }
247
+ }
248
+
249
+ @ReactPropGroup(
250
+ names =
251
+ [
252
+ ViewProps.BORDER_RADIUS,
253
+ ViewProps.BORDER_TOP_LEFT_RADIUS,
254
+ ViewProps.BORDER_TOP_RIGHT_RADIUS,
255
+ ViewProps.BORDER_BOTTOM_RIGHT_RADIUS,
256
+ ViewProps.BORDER_BOTTOM_LEFT_RADIUS,
257
+ ],
258
+ defaultFloat = Float.NaN,
259
+ )
260
+ public fun setBorderRadius(view: ReactNestedScrollView?, index: Int, borderRadius: Float) {
261
+ if (view != null) {
262
+ val radius =
263
+ if (borderRadius.isNaN()) null
264
+ else LengthPercentage(borderRadius, LengthPercentageType.POINT)
265
+ setBorderRadius(view, BorderRadiusProp.entries[index], radius)
266
+ }
267
+ }
268
+
269
+ @ReactProp(name = "borderStyle")
270
+ public fun setBorderStyle(view: ReactNestedScrollView?, borderStyle: String?) {
271
+ if (view != null) {
272
+ val parsedBorderStyle = if (borderStyle == null) null else fromString(borderStyle)
273
+ setBorderStyle(view, parsedBorderStyle)
274
+ }
275
+ }
276
+
277
+ @ReactPropGroup(
278
+ names =
279
+ [
280
+ ViewProps.BORDER_WIDTH,
281
+ ViewProps.BORDER_LEFT_WIDTH,
282
+ ViewProps.BORDER_RIGHT_WIDTH,
283
+ ViewProps.BORDER_TOP_WIDTH,
284
+ ViewProps.BORDER_BOTTOM_WIDTH,
285
+ ],
286
+ defaultFloat = Float.NaN,
287
+ )
288
+ public fun setBorderWidth(view: ReactNestedScrollView?, index: Int, width: Float) {
289
+ if (view != null) {
290
+ setBorderWidth(view, LogicalEdge.entries[index], width)
291
+ }
292
+ }
293
+
294
+ @ReactPropGroup(
295
+ names =
296
+ [
297
+ "borderColor",
298
+ "borderLeftColor",
299
+ "borderRightColor",
300
+ "borderTopColor",
301
+ "borderBottomColor",
302
+ ],
303
+ customType = "Color",
304
+ )
305
+ @Suppress("UNUSED_PARAMETER")
306
+ public fun setBorderColor(view: ReactNestedScrollView?, index: Int, color: Int?) {
307
+ if (view != null) {
308
+ setBorderColor(view, LogicalEdge.ALL, color)
309
+ }
310
+ }
311
+
312
+ @ReactProp(name = "overflow")
313
+ public fun setOverflow(view: ReactNestedScrollView, overflow: String?) {
314
+ view.setOverflow(overflow)
315
+ }
316
+
317
+ override fun scrollToEnd(scrollView: ReactNestedScrollView, data: ScrollToEndCommandData) {
318
+ // ScrollView always has one child - the scrollable area. However, it's possible today that we
319
+ // execute this method as view command before the child view is mounted. Here we will retry the
320
+ // view commands as a workaround.
321
+ val child =
322
+ scrollView.getChildAt(0)
323
+ ?: throw RetryableMountingLayerException(
324
+ "scrollToEnd called on ScrollView without child"
325
+ )
326
+
327
+ // ScrollView always has one child - the scrollable area
328
+ val bottom = child.height + scrollView.paddingBottom
329
+ scrollView.abortAnimation()
330
+ if (data.mAnimated) {
331
+ scrollView.reactSmoothScrollTo(scrollView.scrollX, bottom)
332
+ } else {
333
+ scrollView.scrollTo(scrollView.scrollX, bottom)
334
+ }
335
+ }
336
+
337
+ @ReactProp(name = "persistentScrollbar")
338
+ public fun setPersistentScrollbar(view: ReactNestedScrollView, value: Boolean) {
339
+ view.isScrollbarFadingEnabled = !value
340
+ }
341
+
342
+ @ReactProp(name = "fadingEdgeLength")
343
+ public fun setFadingEdgeLength(view: ReactNestedScrollView, value: Dynamic) {
344
+ when (value.type) {
345
+ ReadableType.Number -> {
346
+ view.setFadingEdgeLengthStart(value.asInt())
347
+ view.setFadingEdgeLengthEnd(value.asInt())
348
+ }
349
+ ReadableType.Map -> {
350
+ value.asMap()?.let { map ->
351
+ var start = 0
352
+ var end = 0
353
+ if (map.hasKey("start") && map.getInt("start") > 0) {
354
+ start = map.getInt("start")
355
+ }
356
+ if (map.hasKey("end") && map.getInt("end") > 0) {
357
+ end = map.getInt("end")
358
+ }
359
+ view.setFadingEdgeLengthStart(start)
360
+ view.setFadingEdgeLengthEnd(end)
361
+ }
362
+ }
363
+ else -> {
364
+ // no-op
365
+ }
366
+ }
367
+ if (view.fadingEdgeLengthStart > 0 || view.fadingEdgeLengthEnd > 0) {
368
+ view.isVerticalFadingEdgeEnabled = true
369
+ view.setFadingEdgeLength(
370
+ Math.round(Math.max(view.fadingEdgeLengthStart, view.fadingEdgeLengthEnd).dpToPx())
371
+ )
372
+ } else {
373
+ view.isVerticalFadingEdgeEnabled = false
374
+ view.setFadingEdgeLength(0)
375
+ }
376
+ }
377
+
378
+ @ReactProp(name = "contentOffset", customType = "Point")
379
+ public fun setContentOffset(view: ReactNestedScrollView, value: ReadableMap?) {
380
+ view.setContentOffset(value)
381
+ }
382
+
383
+ @ReactProp(name = "maintainVisibleContentPosition")
384
+ public fun setMaintainVisibleContentPosition(view: ReactNestedScrollView, value: ReadableMap?) {
385
+ if (value != null) {
386
+ view.setMaintainVisibleContentPosition(
387
+ MaintainVisibleScrollPositionHelper.Config.fromReadableMap(value)
388
+ )
389
+ } else {
390
+ view.setMaintainVisibleContentPosition(null)
391
+ }
392
+ }
393
+
394
+ override fun updateState(
395
+ view: ReactNestedScrollView,
396
+ props: ReactStylesDiffMap,
397
+ stateWrapper: StateWrapper,
398
+ ): Any? {
399
+ view.setStateWrapper(stateWrapper)
400
+ if (
401
+ ReactNativeFeatureFlags.enableViewCulling() ||
402
+ ReactNativeFeatureFlags.useTraitHiddenOnAndroid()
403
+ ) {
404
+ ReactScrollViewHelper.loadFabricScrollState(view, stateWrapper)
405
+ }
406
+ return null
407
+ }
408
+
409
+ override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any>? {
410
+ val baseEventTypeConstants = super.getExportedCustomDirectEventTypeConstants()
411
+ val eventTypeConstants = baseEventTypeConstants ?: HashMap()
412
+ eventTypeConstants.putAll(createExportedCustomDirectEventTypeConstants())
413
+ return eventTypeConstants
414
+ }
415
+
416
+ @ReactProp(name = ViewProps.POINTER_EVENTS)
417
+ public fun setPointerEvents(view: ReactNestedScrollView, pointerEventsStr: String?) {
418
+ view.pointerEvents = parsePointerEvents(pointerEventsStr)
419
+ }
420
+
421
+ @ReactProp(name = "scrollEventThrottle")
422
+ public fun setScrollEventThrottle(view: ReactNestedScrollView, scrollEventThrottle: Int) {
423
+ view.scrollEventThrottle = scrollEventThrottle
424
+ }
425
+
426
+ @ReactProp(name = "horizontal")
427
+ @Suppress("UNUSED_PARAMETER")
428
+ public fun setHorizontal(view: ReactNestedScrollView?, horizontal: Boolean) {
429
+ // Do Nothing: Align with static ViewConfigs
430
+ }
431
+
432
+ @ReactProp(name = "isInvertedVirtualizedList")
433
+ public fun setIsInvertedVirtualizedList(view: ReactNestedScrollView, applyFix: Boolean) {
434
+ // Usually when inverting the scroll view we are using scaleY: -1 on the list
435
+ // and on the parent container. HOWEVER, starting from android API 33 there is
436
+ // a bug that can cause an ANR due to that. Thus we are using different transform
437
+ // commands to circumvent the ANR. This however causes the vertical scrollbar to
438
+ // be on the wrong side. Thus we are moving it to the other side, when the list
439
+ // is inverted.
440
+ // See also:
441
+ // - https://github.com/facebook/react-native/issues/35350
442
+ // - https://issuetracker.google.com/issues/287304310
443
+ if (applyFix) {
444
+ view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_LEFT
445
+ } else {
446
+ view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_DEFAULT
447
+ }
448
+ }
449
+
450
+ public companion object {
451
+ public const val REACT_CLASS: String = "RCTScrollView"
452
+
453
+ public fun createExportedCustomDirectEventTypeConstants(): Map<String, Any> =
454
+ mapOf(
455
+ getJSEventName(ScrollEventType.SCROLL) to mapOf("registrationName" to "onScroll"),
456
+ getJSEventName(ScrollEventType.BEGIN_DRAG) to
457
+ mapOf("registrationName" to "onScrollBeginDrag"),
458
+ getJSEventName(ScrollEventType.END_DRAG) to
459
+ mapOf("registrationName" to "onScrollEndDrag"),
460
+ getJSEventName(ScrollEventType.MOMENTUM_BEGIN) to
461
+ mapOf("registrationName" to "onMomentumScrollBegin"),
462
+ getJSEventName(ScrollEventType.MOMENTUM_END) to
463
+ mapOf("registrationName" to "onMomentumScrollEnd"),
464
+ )
465
+ }
466
+ }
@@ -133,6 +133,7 @@ public class ReactScrollView extends ScrollView
133
133
  private int mFadingEdgeLengthStart;
134
134
  private int mFadingEdgeLengthEnd;
135
135
  private boolean mEmittedOverScrollSinceScrollBegin;
136
+ private boolean mScrollsChildToFocus = true;
136
137
 
137
138
  public ReactScrollView(Context context) {
138
139
  this(context, null);
@@ -196,6 +197,7 @@ public class ReactScrollView extends ScrollView
196
197
  mFadingEdgeLengthStart = 0;
197
198
  mFadingEdgeLengthEnd = 0;
198
199
  mEmittedOverScrollSinceScrollBegin = false;
200
+ mScrollsChildToFocus = true;
199
201
  }
200
202
 
201
203
  /* package */ void recycleView() {
@@ -298,6 +300,10 @@ public class ReactScrollView extends ScrollView
298
300
  mPagingEnabled = pagingEnabled;
299
301
  }
300
302
 
303
+ public void setScrollsChildToFocus(boolean scrollsChildToFocus) {
304
+ mScrollsChildToFocus = scrollsChildToFocus;
305
+ }
306
+
301
307
  public void setDecelerationRate(float decelerationRate) {
302
308
  getReactScrollViewScrollState().setDecelerationRate(decelerationRate);
303
309
 
@@ -475,9 +481,6 @@ public class ReactScrollView extends ScrollView
475
481
  if (mMaintainVisibleContentPositionHelper != null) {
476
482
  mMaintainVisibleContentPositionHelper.stop();
477
483
  }
478
- if (mVirtualViewContainerState != null) {
479
- mVirtualViewContainerState.cleanup();
480
- }
481
484
  }
482
485
 
483
486
  @Override
@@ -510,7 +513,7 @@ public class ReactScrollView extends ScrollView
510
513
  */
511
514
  @Override
512
515
  public void requestChildFocus(View child, View focused) {
513
- if (focused != null) {
516
+ if (focused != null && mScrollsChildToFocus) {
514
517
  scrollToChild(focused);
515
518
  }
516
519
  requestChildFocusWithoutScroll(child, focused);
@@ -525,6 +528,14 @@ public class ReactScrollView extends ScrollView
525
528
  super.requestChildFocus(child, focused);
526
529
  }
527
530
 
531
+ @Override
532
+ public boolean requestChildRectangleOnScreen(View child, Rect rectangle, boolean immediate) {
533
+ if (!mScrollsChildToFocus) {
534
+ return false;
535
+ }
536
+ return super.requestChildRectangleOnScreen(child, rectangle, immediate);
537
+ }
538
+
528
539
  private int getScrollDelta(View descendent) {
529
540
  descendent.getDrawingRect(mTempRect);
530
541
  offsetDescendantRectToMyCoords(descendent, mTempRect);
@@ -665,6 +676,11 @@ public class ReactScrollView extends ScrollView
665
676
 
666
677
  @Override
667
678
  public boolean dispatchGenericMotionEvent(MotionEvent ev) {
679
+ // Ignore generic motion events (joystick, mouse wheel, trackpad) if scrolling is disabled
680
+ if (!mScrollEnabled) {
681
+ return false;
682
+ }
683
+
668
684
  // We do not dispatch the motion event if its children are not supposed to receive it
669
685
  if (!PointerEvents.canChildrenBeTouchTarget(mPointerEvents)) {
670
686
  return false;
@@ -763,6 +779,14 @@ public class ReactScrollView extends ScrollView
763
779
  }
764
780
  }
765
781
 
782
+ @Override
783
+ public boolean getClipToPadding() {
784
+ if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
785
+ return mOverflow != Overflow.VISIBLE;
786
+ }
787
+ return super.getClipToPadding();
788
+ }
789
+
766
790
  @Override
767
791
  public void getClippingRect(Rect outClippingRect) {
768
792
  outClippingRect.set(Assertions.assertNotNull(mClippingRect));
@@ -19,7 +19,6 @@ import androidx.annotation.RequiresApi
19
19
  import androidx.core.view.ViewCompat.FocusDirection
20
20
  import androidx.core.view.ViewCompat.FocusRealDirection
21
21
  import com.facebook.common.logging.FLog
22
- import com.facebook.react.animated.NativeAnimatedModule
23
22
  import com.facebook.react.bridge.ReactContext
24
23
  import com.facebook.react.bridge.WritableMap
25
24
  import com.facebook.react.bridge.WritableNativeMap
@@ -134,7 +133,7 @@ public object ReactScrollViewHelper {
134
133
  // if there's a crash initiated from JS and we tap on a ScrollView
135
134
  // around teardown of RN, this will cause a NPE. We can safely ignore
136
135
  // this since the crash is usually a red herring.
137
- val eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, scrollView.id)
136
+ val eventDispatcher = UIManagerHelper.getEventDispatcher(reactContext)
138
137
  if (eventDispatcher != null) {
139
138
  eventDispatcher.dispatchEvent(
140
139
  ScrollEvent.obtain(
@@ -157,17 +156,11 @@ public object ReactScrollViewHelper {
157
156
  }
158
157
  }
159
158
 
160
- // TODO: Remove this once C++ animation driver is complete
161
159
  @JvmStatic
162
160
  @JvmName("notifyUserDrivenScrollEnded_internal")
163
161
  internal fun notifyUserDrivenScrollEnded(scrollView: ViewGroup) {
164
162
  val reactContext = scrollView.context as? ReactContext
165
- if (reactContext != null) {
166
- val nativeAnimated = reactContext.getNativeModule(NativeAnimatedModule::class.java)
167
- if (nativeAnimated != null) {
168
- nativeAnimated.userDrivenScrollEnded(scrollView.id)
169
- }
170
- }
163
+ reactContext?.scrollEndedListeners?.notifyScrollEnded(scrollView)
171
164
  }
172
165
 
173
166
  /** This is only for Java listeners. onLayout events emitted to JS are handled elsewhere. */
@@ -104,6 +104,11 @@ constructor(private val fpsListener: FpsListener? = null) :
104
104
  view.setDisableIntervalMomentum(disableIntervalMomentum)
105
105
  }
106
106
 
107
+ @ReactProp(name = "scrollsChildToFocus", defaultBoolean = true)
108
+ public fun setScrollsChildToFocus(view: ReactScrollView, scrollsChildToFocus: Boolean) {
109
+ view.setScrollsChildToFocus(scrollsChildToFocus)
110
+ }
111
+
107
112
  @ReactProp(name = "snapToInterval")
108
113
  public fun setSnapToInterval(view: ReactScrollView, snapToInterval: Float) {
109
114
  // snapToInterval needs to be exposed as a float because of the Javascript interface.
@@ -9,7 +9,6 @@ package com.facebook.react.views.scroll
9
9
 
10
10
  import android.graphics.Rect
11
11
  import android.view.ViewGroup
12
- import android.view.ViewTreeObserver
13
12
  import com.facebook.common.logging.FLog
14
13
  import com.facebook.react.common.build.ReactBuildConfig
15
14
  import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
@@ -48,21 +47,10 @@ internal fun rectsOverlap(rect1: Rect, rect2: Rect): Boolean {
48
47
 
49
48
  internal abstract class VirtualViewContainerState {
50
49
  protected val prerenderRatio: Double = ReactNativeFeatureFlags.virtualViewPrerenderRatio()
51
- protected val hysteresisRatio: Double = ReactNativeFeatureFlags.virtualViewHysteresisRatio()
52
50
  protected abstract val virtualViews: MutableCollection<VirtualView>
53
51
  protected val emptyRect: Rect = Rect()
54
52
  protected val visibleRect: Rect = Rect()
55
53
  protected val prerenderRect: Rect = Rect()
56
- protected val hysteresisRect: Rect = Rect()
57
- protected val onWindowFocusChangeListener =
58
- if (ReactNativeFeatureFlags.enableVirtualViewWindowFocusDetection()) {
59
- ViewTreeObserver.OnWindowFocusChangeListener {
60
- debugLog("onWindowFocusChanged")
61
- updateModes()
62
- }
63
- } else {
64
- null
65
- }
66
54
  protected val scrollView: ViewGroup
67
55
 
68
56
  companion object {
@@ -78,15 +66,6 @@ internal abstract class VirtualViewContainerState {
78
66
 
79
67
  constructor(scrollView: ViewGroup) {
80
68
  this.scrollView = scrollView
81
- if (onWindowFocusChangeListener != null) {
82
- scrollView.viewTreeObserver.addOnWindowFocusChangeListener(onWindowFocusChangeListener)
83
- }
84
- }
85
-
86
- fun cleanup() {
87
- if (onWindowFocusChangeListener != null) {
88
- scrollView.viewTreeObserver.removeOnWindowFocusChangeListener(onWindowFocusChangeListener)
89
- }
90
69
  }
91
70
 
92
71
  open fun onChange(virtualView: VirtualView) {
@@ -111,10 +90,7 @@ internal abstract class VirtualViewContainerState {
111
90
  updateModes()
112
91
  }
113
92
 
114
- /**
115
- * Refreshes the coordinates for the Rects this class cares about (visibleRect, prerenderRect,
116
- * hysteresisRect)
117
- */
93
+ /** Refreshes the coordinates for the Rects this class cares about (visibleRect, prerenderRect) */
118
94
  protected fun updateRects() {
119
95
  scrollView.getDrawingRect(visibleRect)
120
96
 
@@ -126,7 +102,6 @@ internal abstract class VirtualViewContainerState {
126
102
  // should set the other rects here in case scrollview is suddenly empty after the other rects
127
103
  // are non-empty
128
104
  prerenderRect.set(visibleRect)
129
- hysteresisRect.set(prerenderRect)
130
105
  return
131
106
  }
132
107
 
@@ -136,17 +111,9 @@ internal abstract class VirtualViewContainerState {
136
111
  (-prerenderRect.height() * prerenderRatio).toInt(),
137
112
  )
138
113
 
139
- hysteresisRect.set(prerenderRect)
140
- hysteresisRect.inset(
141
- (-visibleRect.width() * hysteresisRatio).toInt(),
142
- (-visibleRect.height() * hysteresisRatio).toInt(),
143
- )
144
-
145
114
  debugLog(
146
115
  "updateRects",
147
- {
148
- "visibleRect ${visibleRect.toString()} prerenderRect ${prerenderRect.toString()} hysteresisRect ${hysteresisRect.toString()}"
149
- },
116
+ { "visibleRect ${visibleRect.toString()} prerenderRect ${prerenderRect.toString()}" },
150
117
  )
151
118
  }
152
119