@depup/react-native 0.84.1-depup.3 → 0.85.0-depup.1

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 +7 -16
  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 +10 -46
  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 +27 -63
  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
@@ -33,52 +33,29 @@ internal class VirtualViewContainerStateClassic(scrollView: ViewGroup) :
33
33
  (-prerenderRect.height() * prerenderRatio).toInt(),
34
34
  )
35
35
 
36
- if (hysteresisRatio > 0.0) {
37
- hysteresisRect.set(prerenderRect)
38
- hysteresisRect.inset(
39
- (-visibleRect.width() * hysteresisRatio).toInt(),
40
- (-visibleRect.height() * hysteresisRatio).toInt(),
41
- )
42
- }
43
-
44
36
  val virtualViewsIt =
45
37
  if (virtualView != null) listOf(virtualView) else virtualViews.toMutableSet()
46
38
  virtualViewsIt.forEach { vv ->
47
39
  val rect = vv.containerRelativeRect
48
40
 
49
- var mode: VirtualViewMode? = VirtualViewMode.Hidden
41
+ var mode: VirtualViewMode = VirtualViewMode.Hidden
50
42
  var thresholdRect = emptyRect
51
43
  when {
52
44
  rectsOverlap(rect, visibleRect) -> {
53
45
  thresholdRect = visibleRect
54
- if (onWindowFocusChangeListener != null) {
55
- if (scrollView.hasWindowFocus()) {
56
- mode = VirtualViewMode.Visible
57
- } else {
58
- mode = VirtualViewMode.Prerender
59
- }
60
- } else {
61
- mode = VirtualViewMode.Visible
62
- }
46
+ mode = VirtualViewMode.Visible
63
47
  }
64
48
  rectsOverlap(rect, prerenderRect) -> {
65
49
  mode = VirtualViewMode.Prerender
66
50
  thresholdRect = prerenderRect
67
51
  }
68
- (hysteresisRatio > 0.0 && rectsOverlap(rect, hysteresisRect)) -> {
69
- mode = null
70
- }
71
52
  }
72
53
 
73
- if (mode != null) {
74
- vv.onModeChange(mode, thresholdRect)
75
- debugLog(
76
- "updateModes",
77
- {
78
- "virtualView=${vv.virtualViewID} mode=$mode rect=$rect thresholdRect=$thresholdRect"
79
- },
80
- )
81
- }
54
+ vv.onModeChange(mode, thresholdRect)
55
+ debugLog(
56
+ "updateModes",
57
+ { "virtualView=${vv.virtualViewID} mode=$mode rect=$rect thresholdRect=$thresholdRect" },
58
+ )
82
59
  }
83
60
  }
84
61
  }
@@ -24,8 +24,8 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
24
24
  }
25
25
  override val virtualViews = IntervalTree(horizontal)
26
26
 
27
- // set of all VirtualViews that are in hysteresis, prerender, or visible range
28
- var HPV: MutableSet<String> = mutableSetOf()
27
+ // set of all VirtualViews that are in prerender or visible ranges
28
+ var PV: MutableSet<String> = mutableSetOf()
29
29
  // set of all VirtualViews that are in prerender (not in viewport)
30
30
  var P: MutableSet<String> = mutableSetOf()
31
31
  // set of all VirtualViews that are in viewport
@@ -51,7 +51,7 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
51
51
 
52
52
  override fun remove(virtualView: VirtualView) {
53
53
  super.remove(virtualView)
54
- HPV.remove(virtualView.virtualViewID)
54
+ PV.remove(virtualView.virtualViewID)
55
55
  P.remove(virtualView.virtualViewID)
56
56
  V.remove(virtualView.virtualViewID)
57
57
  }
@@ -63,57 +63,38 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
63
63
  private fun updateMode(virtualView: VirtualView) {
64
64
  val rect = virtualView.containerRelativeRect
65
65
 
66
- var mode: VirtualViewMode? = VirtualViewMode.Hidden
66
+ var mode: VirtualViewMode = VirtualViewMode.Hidden
67
67
  var thresholdRect = emptyRect
68
68
  when {
69
69
  rectsOverlap(rect, visibleRect) -> {
70
70
  thresholdRect = visibleRect
71
- if (onWindowFocusChangeListener != null) {
72
- if (scrollView.hasWindowFocus()) {
73
- mode = VirtualViewMode.Visible
74
- } else {
75
- mode = VirtualViewMode.Prerender
76
- }
77
- } else {
78
- mode = VirtualViewMode.Visible
79
- }
71
+ mode = VirtualViewMode.Visible
80
72
  }
81
73
  rectsOverlap(rect, prerenderRect) -> {
82
74
  mode = VirtualViewMode.Prerender
83
75
  thresholdRect = prerenderRect
84
76
  }
85
- (hysteresisRatio > 0.0 && rectsOverlap(rect, hysteresisRect)) -> {
86
- mode = null
87
- }
88
77
  }
89
78
 
90
- if (mode != null) {
91
- virtualView.onModeChange(mode, thresholdRect)
92
- }
79
+ virtualView.onModeChange(mode, thresholdRect)
93
80
 
94
81
  // move the virtualView into the correct set(s)
95
- when {
96
- mode == VirtualViewMode.Visible -> {
97
- HPV.add(virtualView.virtualViewID)
82
+ when (mode) {
83
+ VirtualViewMode.Visible -> {
84
+ PV.add(virtualView.virtualViewID)
98
85
  P.remove(virtualView.virtualViewID)
99
86
  V.add(virtualView.virtualViewID)
100
87
  }
101
88
 
102
- mode == VirtualViewMode.Prerender -> {
103
- HPV.add(virtualView.virtualViewID)
89
+ VirtualViewMode.Prerender -> {
90
+ PV.add(virtualView.virtualViewID)
104
91
  P.add(virtualView.virtualViewID)
105
92
  V.remove(virtualView.virtualViewID)
106
93
  }
107
94
 
108
- mode == VirtualViewMode.Hidden -> {
95
+ VirtualViewMode.Hidden -> {
109
96
  // remove from all sets
110
- HPV.remove(virtualView.virtualViewID)
111
- P.remove(virtualView.virtualViewID)
112
- V.remove(virtualView.virtualViewID)
113
- }
114
-
115
- else -> { // hysteresis
116
- HPV.add(virtualView.virtualViewID)
97
+ PV.remove(virtualView.virtualViewID)
117
98
  P.remove(virtualView.virtualViewID)
118
99
  V.remove(virtualView.virtualViewID)
119
100
  }
@@ -125,27 +106,25 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
125
106
  * n), where m = size of the prerender window in terms of index
126
107
  */
127
108
  private fun updateModesAll() {
128
- // collect V', PV', HPV' sets
109
+ // collect V' and PV' sets
129
110
  val VPrime = virtualViews.query(visibleRect)
130
111
  val PVPrime = virtualViews.query(prerenderRect)
131
- val HPVPrime = virtualViews.query(hysteresisRect)
132
112
 
133
- debugLog("updateModes", { "V: ${V}, P: ${P}, HPV: ${HPV}" })
113
+ debugLog("updateModes", { "V: ${V}, P: ${P}, PV: ${PV}" })
134
114
 
135
115
  /** Perform utility set differences: */
136
116
  // P'=PV'-V'
137
117
  val PPrime = PVPrime.minus(VPrime)
138
118
 
139
- debugLog("updateModes", { "V': ${VPrime}, P': ${PPrime}, HPV': ${HPVPrime}" })
119
+ debugLog("updateModes", { "V': ${VPrime}, P': ${PPrime}, PV': ${PVPrime}" })
140
120
 
141
121
  /** Get useful set differences */
142
122
  // V'-V - update to visible
143
123
  val toVisible = VPrime.minus(V)
144
124
  // P'-P - update to prerender
145
125
  val toPrerender = PPrime.minus(P)
146
- // ignore H' - we don't care about VVs in hysteresis
147
- // HPV-HPV' - update to hidden
148
- val toHidden = HPV.minus(HPVPrime)
126
+ // PV-PV' - update to hidden
127
+ val toHidden = PV.minus(PVPrime)
149
128
 
150
129
  debugLog("updateModes", { "toV: ${toVisible}, toP: ${toPrerender}, toH: ${toHidden}" })
151
130
 
@@ -160,10 +139,10 @@ internal class VirtualViewContainerStateExperimental(scrollView: ViewGroup) :
160
139
  virtualViews.getVirtualView(vvID)?.onModeChange(VirtualViewMode.Hidden, emptyRect)
161
140
  }
162
141
 
163
- /** update old sets - V, P, and HPV */
142
+ /** update old sets - V, P, and PV */
164
143
  V = VPrime
165
144
  P = PPrime.toMutableSet()
166
- HPV = HPVPrime.toMutableSet()
145
+ PV = PVPrime.toMutableSet()
167
146
  }
168
147
  }
169
148
 
@@ -0,0 +1,270 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * @format
9
+ * @noflow
10
+ * @oncall react_native
11
+ */
12
+
13
+ /**
14
+ * Generates ReactNestedScrollView.java and ReactNestedScrollViewManager.kt from
15
+ * ReactScrollView.java and ReactScrollViewManager.kt respectively.
16
+ *
17
+ * This script creates variants that use NestedScrollView instead of ScrollView
18
+ * for experimentation purposes.
19
+ *
20
+ * Usage:
21
+ * node generate-nested-scroll-view.js [--verify]
22
+ *
23
+ * Options:
24
+ * --verify Check if generated files are up-to-date (exit 1 if not)
25
+ */
26
+
27
+ 'use strict';
28
+
29
+ const crypto = require('crypto');
30
+ const fs = require('fs');
31
+ const path = require('path');
32
+
33
+ // SignedSource token - this placeholder gets replaced with the actual hash
34
+ // Use string concatenation to avoid marking THIS script as generated
35
+ const SIGNING_TOKEN = '<<SignedSource::*O*zOeWoEQle#+L!plEphiEmie@IsG>>';
36
+ const GENERATED_ANNOTATION = '@' + 'generated';
37
+
38
+ /**
39
+ * Sign the file content by replacing the signing token with a SignedSource hash.
40
+ */
41
+ function signFileContent(content) {
42
+ // Compute MD5 hash with the token in place
43
+ const md5Hash = crypto
44
+ .createHash('md5')
45
+ .update(content, 'utf8')
46
+ .digest('hex');
47
+
48
+ // Replace the token with the actual signature
49
+ return content.replace(SIGNING_TOKEN, `SignedSource<<${md5Hash}>>`);
50
+ }
51
+
52
+ /**
53
+ * Get the signing token placeholder to embed in the file.
54
+ */
55
+ function getSigningToken() {
56
+ return SIGNING_TOKEN;
57
+ }
58
+
59
+ /**
60
+ * Generate the header comment for a generated file.
61
+ */
62
+ function generatedHeader(sourceFile) {
63
+ return `/*
64
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
65
+ *
66
+ * This source code is licensed under the MIT license found in the
67
+ * LICENSE file in the root directory of this source tree.
68
+ *
69
+ * ${GENERATED_ANNOTATION} ${getSigningToken()}
70
+ */
71
+
72
+ /**
73
+ * THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
74
+ * Source: ${sourceFile}
75
+ * Run: node generate-nested-scroll-view.js
76
+ */
77
+
78
+ `;
79
+ }
80
+
81
+ // Regex pattern for replacing ReactScrollView with ReactNestedScrollView
82
+ // Excludes: Helper, CommandHelper, Accessible, Accessibility, ScrollState
83
+ const REACT_SCROLL_VIEW_PATTERN =
84
+ /ReactScrollView(?!Helper|CommandHelper|Accessible|Accessibility|ScrollState)/g;
85
+
86
+ // Regex pattern for matching the original copyright header
87
+ const COPYRIGHT_HEADER_PATTERN = /\/\*\s*\n\s*\* Copyright.*?\*\/\s*\n/s;
88
+
89
+ /**
90
+ * Replace ReactScrollView with ReactNestedScrollView in content.
91
+ */
92
+ function replaceClassNames(content) {
93
+ return content.replace(REACT_SCROLL_VIEW_PATTERN, 'ReactNestedScrollView');
94
+ }
95
+
96
+ /**
97
+ * Replace the original copyright header with the generated header.
98
+ */
99
+ function replaceCopyrightHeader(content, sourceFile) {
100
+ return content.replace(COPYRIGHT_HEADER_PATTERN, generatedHeader(sourceFile));
101
+ }
102
+
103
+ /**
104
+ * Transform ReactScrollView.java to ReactNestedScrollView.java
105
+ */
106
+ function transformScrollView(content) {
107
+ // Replace import
108
+ content = content.replace(
109
+ 'import android.widget.ScrollView;',
110
+ 'import androidx.core.widget.NestedScrollView;',
111
+ );
112
+
113
+ // Replace standalone ScrollView with NestedScrollView (not when part of another word)
114
+ // This handles: "extends ScrollView", "ScrollView.class", etc.
115
+ // But NOT: ReactScrollView, NestedScrollView, ScrollViewHelper, etc.
116
+ content = content.replace(
117
+ /(?<![A-Za-z])ScrollView(?!Helper|Manager|CommandHelper|Interface|Accessible|Accessibility)/g,
118
+ 'NestedScrollView',
119
+ );
120
+
121
+ // Replace ReactScrollView with ReactNestedScrollView
122
+ content = replaceClassNames(content);
123
+
124
+ // Fix visibility differences between ScrollView and NestedScrollView:
125
+ // NestedScrollView.onAttachedToWindow() is public, not protected
126
+ content = content.replace(
127
+ 'protected void onAttachedToWindow()',
128
+ 'public void onAttachedToWindow()',
129
+ );
130
+
131
+ // Make the class package-private (remove public) to keep it internal
132
+ content = content.replace(
133
+ 'public class ReactNestedScrollView',
134
+ 'class ReactNestedScrollView',
135
+ );
136
+
137
+ // Remove original copyright header and add generated header
138
+ content = replaceCopyrightHeader(content, 'ReactScrollView.java');
139
+
140
+ return content;
141
+ }
142
+
143
+ /**
144
+ * Transform ReactScrollViewManager.kt to ReactNestedScrollViewManager.kt
145
+ */
146
+ function transformViewManager(content) {
147
+ // Replace ReactScrollView with ReactNestedScrollView
148
+ content = replaceClassNames(content);
149
+
150
+ // Keep the same REACT_CLASS name so this is a drop-in replacement for A/B testing
151
+ // (no JS changes needed - both managers register as "RCTScrollView")
152
+
153
+ // Make the class internal to keep it out of the public API
154
+ content = content.replace(
155
+ 'public open class ReactNestedScrollViewManager',
156
+ 'internal open class ReactNestedScrollViewManager',
157
+ );
158
+
159
+ // Remove original copyright header and add generated header
160
+ content = replaceCopyrightHeader(content, 'ReactScrollViewManager.kt');
161
+
162
+ return content;
163
+ }
164
+
165
+ /**
166
+ * Generate a file from source using the given transform function.
167
+ * Returns true if successful (or if verify mode and files match).
168
+ */
169
+ function generateFile(sourcePath, outputPath, transformFn, verify) {
170
+ if (!fs.existsSync(sourcePath)) {
171
+ console.error(`Error: Source file not found: ${sourcePath}`);
172
+ return false;
173
+ }
174
+
175
+ const content = fs.readFileSync(sourcePath, 'utf8');
176
+ const transformed = transformFn(content);
177
+
178
+ // Sign the file content (replaces token with MD5 hash)
179
+ const signed = signFileContent(transformed);
180
+
181
+ if (verify) {
182
+ if (!fs.existsSync(outputPath)) {
183
+ console.error(`FAIL: Generated file does not exist: ${outputPath}`);
184
+ return false;
185
+ }
186
+
187
+ const existing = fs.readFileSync(outputPath, 'utf8');
188
+
189
+ if (existing !== signed) {
190
+ const sourceDir =
191
+ '~/fbsource/xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll';
192
+ console.error(
193
+ `FAIL: ${path.basename(outputPath)} is out of date. ` +
194
+ `Run 'cd ${sourceDir} && node generate-nested-scroll-view.js' to update.`,
195
+ );
196
+ return false;
197
+ }
198
+
199
+ console.log(`OK: ${path.basename(outputPath)} is up-to-date`);
200
+ return true;
201
+ }
202
+
203
+ fs.writeFileSync(outputPath, signed, 'utf8');
204
+ console.log(`Generated: ${outputPath}`);
205
+ return true;
206
+ }
207
+
208
+ /**
209
+ * Parse command line arguments.
210
+ */
211
+ function parseArgs(args) {
212
+ const result = {
213
+ verify: false,
214
+ sourceDir: null,
215
+ };
216
+
217
+ for (let i = 0; i < args.length; i++) {
218
+ const arg = args[i];
219
+ if (arg === '--verify') {
220
+ result.verify = true;
221
+ } else if (arg === '--source-dir') {
222
+ if (i + 1 < args.length) {
223
+ result.sourceDir = args[++i];
224
+ } else {
225
+ console.error('Error: --source-dir requires a path argument');
226
+ process.exit(1);
227
+ }
228
+ } else if (arg === '--help' || arg === '-h') {
229
+ console.log(`Usage: node generate-nested-scroll-view.js [--verify] [--source-dir DIR]
230
+
231
+ Options:
232
+ --verify Check if generated files are up-to-date (exit 1 if not)
233
+ --source-dir Directory containing source files (defaults to script directory)`);
234
+ process.exit(0);
235
+ }
236
+ }
237
+
238
+ return result;
239
+ }
240
+
241
+ function main() {
242
+ const args = parseArgs(process.argv.slice(2));
243
+
244
+ // Use provided source dir or fall back to script's directory
245
+ const sourceDir = args.sourceDir || path.dirname(process.argv[1]);
246
+
247
+ const filesToGenerate = [
248
+ {
249
+ source: path.join(sourceDir, 'ReactScrollView.java'),
250
+ output: path.join(sourceDir, 'ReactNestedScrollView.java'),
251
+ transform: transformScrollView,
252
+ },
253
+ {
254
+ source: path.join(sourceDir, 'ReactScrollViewManager.kt'),
255
+ output: path.join(sourceDir, 'ReactNestedScrollViewManager.kt'),
256
+ transform: transformViewManager,
257
+ },
258
+ ];
259
+
260
+ let success = true;
261
+ for (const {source, output, transform} of filesToGenerate) {
262
+ if (!generateFile(source, output, transform, args.verify)) {
263
+ success = false;
264
+ }
265
+ }
266
+
267
+ process.exit(success ? 0 : 1);
268
+ }
269
+
270
+ main();
@@ -17,7 +17,7 @@ import com.facebook.react.uimanager.events.NativeGestureUtil
17
17
  import kotlin.math.abs
18
18
 
19
19
  /** Basic extension of [SwipeRefreshLayout] with ReactNative-specific functionality. */
20
- public class ReactSwipeRefreshLayout(reactContext: ReactContext) :
20
+ public open class ReactSwipeRefreshLayout(reactContext: ReactContext) :
21
21
  SwipeRefreshLayout(reactContext) {
22
22
 
23
23
  private var didLayout: Boolean = false
@@ -112,7 +112,7 @@ internal open class SwipeRefreshLayoutManager :
112
112
 
113
113
  override fun addEventEmitters(reactContext: ThemedReactContext, view: ReactSwipeRefreshLayout) {
114
114
  view.setOnRefreshListener {
115
- val eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, view.id)
115
+ val eventDispatcher = UIManagerHelper.getEventDispatcher(reactContext)
116
116
  eventDispatcher?.dispatchEvent(RefreshEvent(UIManagerHelper.getSurfaceId(view), view.id))
117
117
  }
118
118
  }
@@ -5,6 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ @file:Suppress("DEPRECATION")
9
+
8
10
  package com.facebook.react.views.switchview
9
11
 
10
12
  import android.content.Context
@@ -14,6 +16,7 @@ import androidx.annotation.ColorInt
14
16
  import com.facebook.react.bridge.ReactContext
15
17
  import com.facebook.react.bridge.ReadableMap
16
18
  import com.facebook.react.uimanager.BaseViewManager
19
+ import com.facebook.react.uimanager.LayoutShadowNode
17
20
  import com.facebook.react.uimanager.PixelUtil
18
21
  import com.facebook.react.uimanager.ThemedReactContext
19
22
  import com.facebook.react.uimanager.UIManagerHelper
@@ -25,19 +28,16 @@ import com.facebook.react.viewmanagers.AndroidSwitchManagerInterface
25
28
  import com.facebook.yoga.YogaMeasureMode
26
29
  import com.facebook.yoga.YogaMeasureOutput
27
30
 
28
- @Suppress("DEPRECATION")
29
31
  internal class ReactSwitchManager :
30
- BaseViewManager<ReactSwitch, ReactSwitchShadowNode>(),
31
- AndroidSwitchManagerInterface<ReactSwitch> {
32
+ BaseViewManager<ReactSwitch, LayoutShadowNode>(), AndroidSwitchManagerInterface<ReactSwitch> {
32
33
 
33
34
  private val delegate: ViewManagerDelegate<ReactSwitch> = AndroidSwitchManagerDelegate(this)
34
35
 
35
36
  override fun getName(): String = REACT_CLASS
36
37
 
37
- override fun createShadowNodeInstance(): ReactSwitchShadowNode = ReactSwitchShadowNode()
38
+ override fun createShadowNodeInstance(): LayoutShadowNode = LayoutShadowNode()
38
39
 
39
- override fun getShadowNodeClass(): Class<ReactSwitchShadowNode> =
40
- ReactSwitchShadowNode::class.java
40
+ override fun getShadowNodeClass(): Class<LayoutShadowNode> = LayoutShadowNode::class.java
41
41
 
42
42
  override fun createViewInstance(context: ThemedReactContext): ReactSwitch =
43
43
  ReactSwitch(context).apply { showText = false }
@@ -139,7 +139,7 @@ internal class ReactSwitchManager :
139
139
  CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->
140
140
  val reactContext = buttonView.context as ReactContext
141
141
  val reactTag = buttonView.id
142
- UIManagerHelper.getEventDispatcherForReactTag(reactContext, reactTag)
142
+ UIManagerHelper.getEventDispatcher(reactContext)
143
143
  ?.dispatchEvent(
144
144
  ReactSwitchEvent(UIManagerHelper.getSurfaceId(reactContext), reactTag, isChecked)
145
145
  )
@@ -20,4 +20,6 @@ internal class PreparedLayout(
20
20
  val maximumNumberOfLines: Int,
21
21
  val verticalOffset: Float,
22
22
  val reactTags: IntArray,
23
+ val textBreakStrategy: Int,
24
+ val justificationMode: Int,
23
25
  )
@@ -27,7 +27,9 @@ import com.facebook.proguard.annotations.DoNotStrip
27
27
  import com.facebook.react.uimanager.BackgroundStyleApplicator
28
28
  import com.facebook.react.uimanager.ReactCompoundView
29
29
  import com.facebook.react.uimanager.style.Overflow
30
+ import com.facebook.react.views.text.internal.span.DrawCommandSpan
30
31
  import com.facebook.react.views.text.internal.span.ReactFragmentIndexSpan
32
+ import com.facebook.react.views.text.internal.span.ReactLinkSpan
31
33
  import kotlin.collections.ArrayList
32
34
  import kotlin.math.roundToInt
33
35
 
@@ -66,9 +68,7 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
66
68
  }
67
69
  }
68
70
 
69
- // T221698007: This is closest to existing behavior, but does not align with web. We may want to
70
- // change in the future if not too breaking.
71
- var overflow: Overflow = Overflow.HIDDEN
71
+ var overflow: Overflow = Overflow.VISIBLE
72
72
  set(value) {
73
73
  if (field != value) {
74
74
  field = value
@@ -84,23 +84,19 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
84
84
  @DoNotStrip get() = preparedLayout?.layout?.text
85
85
 
86
86
  init {
87
- initView()
88
87
  // ViewGroup by default says only its children will draw
89
88
  setWillNotDraw(false)
90
89
  }
91
90
 
92
- private fun initView() {
91
+ fun recycleView(): Unit {
92
+ BackgroundStyleApplicator.reset(this)
93
+ overflow = Overflow.VISIBLE
93
94
  clickableSpans = emptyList()
94
95
  selection = null
96
+ selectionColor = null
95
97
  preparedLayout = null
96
98
  }
97
99
 
98
- fun recycleView(): Unit {
99
- initView()
100
- BackgroundStyleApplicator.reset(this)
101
- overflow = Overflow.HIDDEN
102
- }
103
-
104
100
  override fun onDraw(canvas: Canvas) {
105
101
  if (overflow != Overflow.VISIBLE) {
106
102
  BackgroundStyleApplicator.clipToPaddingBox(this, canvas)
@@ -119,11 +115,37 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
119
115
  selectionColor ?: DefaultStyleValuesUtil.getDefaultTextColorHighlight(context)
120
116
  }
121
117
 
118
+ val spanned = text as? Spanned
119
+ val drawCommandSpans =
120
+ spanned?.getSpans(0, spanned.length, DrawCommandSpan::class.java) ?: emptyArray()
121
+
122
+ if (spanned != null) {
123
+ for (span in drawCommandSpans) {
124
+ span.onPreDraw(
125
+ spanned.getSpanStart(span),
126
+ spanned.getSpanEnd(span),
127
+ canvas,
128
+ layout,
129
+ )
130
+ }
131
+ }
132
+
122
133
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
123
134
  Api34Utils.draw(layout, canvas, selection?.path, selectionPaint)
124
135
  } else {
125
136
  layout.draw(canvas, selection?.path, selectionPaint, 0)
126
137
  }
138
+
139
+ if (spanned != null) {
140
+ for (span in drawCommandSpans) {
141
+ span.onDraw(
142
+ spanned.getSpanStart(span),
143
+ spanned.getSpanEnd(span),
144
+ canvas,
145
+ layout,
146
+ )
147
+ }
148
+ }
127
149
  }
128
150
  }
129
151
 
@@ -181,12 +203,12 @@ internal class PreparedLayoutTextView(context: Context) : ViewGroup(context), Re
181
203
 
182
204
  if (action == MotionEvent.ACTION_UP) {
183
205
  clearSelection()
184
- clickableSpan.onClick(this)
185
- } else if (action == MotionEvent.ACTION_DOWN) {
186
- val layout = checkNotNull(preparedLayout).layout
187
- val start = (layout.text as Spanned).getSpanStart(clickableSpan)
188
- val end = (layout.text as Spanned).getSpanEnd(clickableSpan)
189
- setSelection(start, end)
206
+
207
+ // This will already get triggered by reactTagForTouch() based hit testing if it is React
208
+ // managed clickable text. We still want to click any native ClickableSpan (e.g. for URIs).
209
+ if (clickableSpan !is ReactLinkSpan) {
210
+ clickableSpan.onClick(this)
211
+ }
190
212
  }
191
213
 
192
214
  return true
@@ -108,7 +108,7 @@ internal class PreparedLayoutTextViewManager :
108
108
 
109
109
  @ReactProp(name = "overflow")
110
110
  fun setOverflow(view: PreparedLayoutTextView, overflow: String?): Unit {
111
- view.overflow = overflow?.let { Overflow.fromString(it) } ?: Overflow.HIDDEN
111
+ view.overflow = overflow?.let { Overflow.fromString(it) } ?: Overflow.VISIBLE
112
112
  }
113
113
 
114
114
  @ReactProp(name = "accessible")
@@ -118,8 +118,9 @@ internal class PreparedLayoutTextViewManager :
118
118
 
119
119
  @ReactProp(name = "selectable", defaultBoolean = false)
120
120
  fun setSelectable(view: PreparedLayoutTextView, isSelectable: Boolean): Unit {
121
- // T222052152: Implement fine-grained text selection for PreparedLayoutTextView
122
- // view.setTextIsSelectable(isSelectable);
121
+ check(!isSelectable) {
122
+ "selectable Text should use SelectableTextViewManager instead of PreparedLayoutViewManager"
123
+ }
123
124
  }
124
125
 
125
126
  @ReactProp(name = "selectionColor", customType = "Color")