@depup/react-native 0.85.0-depup.1 → 0.86.2-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  2. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  3. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  4. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  5. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  6. package/Libraries/Animated/components/AnimatedText.js +3 -3
  7. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  11. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  13. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  16. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  19. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  20. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  21. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  22. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  23. package/Libraries/AppState/AppState.js +1 -1
  24. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  25. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  26. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  27. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  28. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  29. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  30. package/Libraries/Components/Button.js +2 -2
  31. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  32. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  33. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  34. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  35. package/Libraries/Components/Pressable/Pressable.js +2 -2
  36. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  37. package/Libraries/Components/ScrollView/ScrollView.js +3 -3
  38. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  39. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  40. package/Libraries/Components/Switch/Switch.js +1 -1
  41. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +26 -2
  42. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  43. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  44. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  45. package/Libraries/Components/TextInput/TextInput.flow.js +25 -1
  46. package/Libraries/Components/TextInput/TextInput.js +5 -5
  47. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  48. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  49. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  50. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  51. package/Libraries/Components/Touchable/Touchable.js +1 -1
  52. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  53. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  54. package/Libraries/Components/View/View.js +82 -77
  55. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
  56. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  57. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  58. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  59. package/Libraries/Core/ExceptionsManager.js +2 -8
  60. package/Libraries/Core/InitializeCore.js +0 -13
  61. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  62. package/Libraries/Core/ReactNativeVersion.js +2 -2
  63. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  64. package/Libraries/Core/Timers/JSTimers.js +3 -3
  65. package/Libraries/Core/Timers/immediateShim.js +1 -1
  66. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  67. package/Libraries/Core/setUpNavigator.js +1 -1
  68. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  70. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  71. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  72. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  73. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  74. package/Libraries/Image/Image.android.js +15 -35
  75. package/Libraries/Image/ImageSource.d.ts +1 -1
  76. package/Libraries/Image/RCTImageLoader.mm +5 -3
  77. package/Libraries/Image/React-RCTImage.podspec +1 -1
  78. package/Libraries/Image/RelativeImageStub.js +2 -2
  79. package/Libraries/Interaction/PanResponder.js +1 -1
  80. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  81. package/Libraries/Linking/Linking.js +1 -1
  82. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  83. package/Libraries/Lists/FlatList.js +1 -1
  84. package/Libraries/LogBox/LogBox.js +2 -2
  85. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  86. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  87. package/Libraries/LogBox/UI/LogBoxButton.js +47 -24
  88. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  89. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  90. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  91. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  92. package/Libraries/Modal/Modal.js +12 -7
  93. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  94. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  95. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  96. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  97. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  98. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  99. package/Libraries/Network/RCTNetworking.android.js +1 -1
  100. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  101. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  102. package/Libraries/Network/RCTNetworking.mm +1 -2
  103. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  104. package/Libraries/Network/XMLHttpRequest.js +29 -12
  105. package/Libraries/Pressability/Pressability.js +2 -2
  106. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  107. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  108. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  109. package/Libraries/ReactNative/AppContainer.js +0 -1
  110. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  111. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  112. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  113. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  114. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  115. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  116. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  117. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  118. package/Libraries/ReactNative/RendererImplementation.js +26 -142
  119. package/Libraries/ReactNative/RendererProxy.js +4 -15
  120. package/Libraries/ReactNative/renderApplication.js +33 -59
  121. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  122. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  123. package/Libraries/Renderer/README.md +2 -2
  124. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -31
  125. package/Libraries/Required/RCTRequired.podspec +1 -1
  126. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  127. package/Libraries/Settings/Settings.ios.js +1 -1
  128. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  129. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  130. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  131. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  132. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  133. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  134. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  135. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  136. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  137. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  138. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  139. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  140. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  141. package/Libraries/StyleSheet/processFilter.js +16 -8
  142. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  143. package/Libraries/Text/React-RCTText.podspec +1 -1
  144. package/Libraries/Text/Text.js +4 -4
  145. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  146. package/Libraries/Text/TextNativeComponent.js +4 -4
  147. package/Libraries/TurboModule/RCTExport.js +1 -1
  148. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  149. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  150. package/Libraries/Types/CodegenTypes.js +7 -4
  151. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  152. package/Libraries/Utilities/BackHandler.android.js +11 -3
  153. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  154. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  155. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  156. package/Libraries/Utilities/HMRClient.js +28 -1
  157. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  158. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  159. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  160. package/Libraries/Utilities/binaryToBase64.js +1 -1
  161. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  162. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  163. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  164. package/Libraries/Utilities/stringifySafe.js +1 -1
  165. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  166. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  167. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  168. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  169. package/README.md +11 -11
  170. package/React/Base/RCTBundleURLProvider.h +19 -1
  171. package/React/Base/RCTBundleURLProvider.mm +82 -0
  172. package/React/Base/RCTDefines.h +1 -1
  173. package/React/Base/RCTMultipartDataTask.h +1 -1
  174. package/React/Base/RCTMultipartDataTask.m +0 -3
  175. package/React/Base/RCTRootView.h +4 -0
  176. package/React/Base/RCTRootViewDelegate.h +5 -2
  177. package/React/Base/RCTVersion.m +2 -2
  178. package/React/Base/Surface/RCTSurface.h +3 -0
  179. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  180. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  181. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  182. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +5 -0
  183. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +26 -0
  184. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  185. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  186. package/React/CoreModules/RCTDevLoadingView.mm +17 -0
  187. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  188. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  189. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  190. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  191. package/React/CoreModules/RCTRedBox.mm +30 -454
  192. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  193. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  194. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  195. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  196. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  197. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  198. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  199. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  200. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  201. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  202. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  203. package/React/CoreModules/React-CoreModules.podspec +2 -1
  204. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  205. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  206. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  207. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  208. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  209. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
  210. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  211. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  212. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  213. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
  214. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +3 -3
  215. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
  216. package/React/Fabric/RCTConversions.h +14 -0
  217. package/React/Fabric/RCTScheduler.mm +18 -0
  218. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  219. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  220. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  221. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  222. package/React/Modules/RCTUIManager.mm +1 -1
  223. package/React/Profiler/RCTProfile.h +5 -0
  224. package/React/Profiler/RCTProfile.m +2 -1
  225. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  226. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  227. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  228. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  229. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  230. package/React/React-RCTFabric.podspec +1 -1
  231. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  232. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  233. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  234. package/React/Views/RCTLayout.m +4 -3
  235. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  236. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  237. package/React-Core.podspec +1 -1
  238. package/React.podspec +1 -1
  239. package/ReactAndroid/api/ReactAndroid.api +37 -27
  240. package/ReactAndroid/build.gradle.kts +29 -22
  241. package/ReactAndroid/gradle.properties +1 -1
  242. package/ReactAndroid/hermes-engine/build.gradle.kts +12 -13
  243. package/ReactAndroid/publish.gradle +5 -5
  244. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  246. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  247. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +45 -114
  248. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +33 -88
  249. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  251. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  252. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  253. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  254. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  255. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  260. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  263. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  265. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  269. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  270. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  272. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  274. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  276. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  277. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +211 -47
  278. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  279. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
  281. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
  282. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
  283. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
  284. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
  285. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +7 -3
  286. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  287. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
  288. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  289. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  290. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  291. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
  292. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  293. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  295. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  298. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  299. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  300. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  301. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
  302. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +8 -0
  303. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +10 -2
  304. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +2 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  306. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  308. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  309. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
  310. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  311. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
  312. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  313. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  316. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -17
  317. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  318. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  321. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  322. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  324. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  326. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  327. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  330. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  331. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  332. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  333. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  334. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  338. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  339. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  340. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  342. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  343. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  344. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  345. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +1 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  347. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  350. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +6 -163
  351. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  352. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  353. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  354. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  355. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +9 -15
  356. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +42 -4
  357. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  359. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  360. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  361. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  362. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  363. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  364. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  365. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  366. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  367. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  368. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  369. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  370. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  371. package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
  372. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  373. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  374. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  375. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  376. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  377. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  378. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  379. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  380. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  381. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  382. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  383. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  384. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  385. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  386. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  387. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
  388. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
  389. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  390. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  391. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  392. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  393. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  394. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  395. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  396. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
  397. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
  398. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  399. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  400. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  401. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  402. package/ReactCommon/React-Fabric.podspec +14 -1
  403. package/ReactCommon/React-FabricComponents.podspec +2 -2
  404. package/ReactCommon/React-FabricImage.podspec +1 -1
  405. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  406. package/ReactCommon/ReactCommon.podspec +1 -1
  407. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  408. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  409. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  410. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  411. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  412. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  413. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  414. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  415. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  416. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  417. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  418. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  419. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  420. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  421. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  422. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  423. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  424. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  425. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  426. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  427. package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
  428. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
  429. package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
  430. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
  431. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
  432. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
  433. package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
  434. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  435. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  436. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  437. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  438. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
  439. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
  440. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
  441. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
  442. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  443. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  444. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  445. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
  446. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
  447. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  448. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
  449. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
  450. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  451. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  452. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  453. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
  454. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
  455. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
  456. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  457. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +2 -1
  458. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
  459. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
  460. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
  461. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  462. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  463. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  464. package/ReactCommon/logger/React-logger.podspec +1 -1
  465. package/ReactCommon/logger/react_native_log.cpp +0 -1
  466. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  467. package/ReactCommon/react/bridging/Array.h +1 -1
  468. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  469. package/ReactCommon/react/debug/React-debug.podspec +8 -2
  470. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  471. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  472. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  473. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  474. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  475. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  476. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  477. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  478. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  479. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  480. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
  481. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
  482. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
  483. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
  484. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
  485. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
  486. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +11 -3
  487. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
  488. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  489. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  490. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  491. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  492. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  493. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  494. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -2
  495. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
  496. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
  497. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +3 -1
  498. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  499. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  500. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
  501. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
  502. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  503. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  504. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
  505. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  506. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  507. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  508. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  509. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  510. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  511. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  512. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  513. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  514. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  515. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
  516. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  517. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  518. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  519. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  520. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  521. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  522. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  523. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  524. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  525. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +28 -13
  526. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  527. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  528. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  529. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  530. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  531. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +62 -25
  532. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +10 -1
  533. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  534. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +5 -0
  535. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  536. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  537. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  538. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  539. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  540. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  541. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  542. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  543. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  544. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  545. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  546. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  547. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  548. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  549. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  550. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  551. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  552. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  553. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  554. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  555. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  556. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  557. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  558. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +52 -5
  559. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  560. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  561. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  562. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  563. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  564. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  565. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  566. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  567. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  568. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  569. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  570. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  571. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  572. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  573. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  574. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  575. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  576. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  577. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  578. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  579. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  580. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  581. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -19
  582. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  583. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -0
  584. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  585. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  586. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  587. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  588. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  589. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  590. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  591. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  592. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  593. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  594. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  595. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  596. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  597. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  598. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  599. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  600. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -1
  601. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  602. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  603. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  604. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  605. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  606. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  607. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  608. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  609. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  610. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  611. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  612. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  613. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  614. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  615. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  616. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  617. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  618. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  619. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  620. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  621. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  622. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  623. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  624. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  625. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +74 -54
  626. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  627. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +2 -0
  628. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  629. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  630. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  631. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  632. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  633. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  634. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  635. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  636. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  637. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  638. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  639. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  640. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
  641. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  642. package/ReactCommon/react/timing/React-timing.podspec +3 -1
  643. package/ReactCommon/react/timing/primitives.h +33 -1
  644. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  645. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  646. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  647. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  648. package/ReactCommon/yoga/Yoga.podspec +1 -1
  649. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  650. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  651. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  652. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  653. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  654. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  655. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +41 -9
  656. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  657. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +116 -20
  658. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  659. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  660. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  661. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  662. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  663. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  664. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  665. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  666. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  667. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  668. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  669. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  670. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  671. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  672. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  673. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  674. package/changes.json +13 -13
  675. package/cli.js +1 -1
  676. package/flow/HermesInternalType.js +1 -1
  677. package/flow/bom.js.flow +95 -3
  678. package/flow/dom.js.flow +89 -89
  679. package/gradle/libs.versions.toml +3 -1
  680. package/index.js +30 -3
  681. package/index.js.flow +23 -1
  682. package/package.json +35 -35
  683. package/react-native.config.js +3 -3
  684. package/scripts/cocoapods/rncore.rb +65 -11
  685. package/scripts/cocoapods/rndependencies.rb +65 -11
  686. package/scripts/cocoapods/spm.rb +1 -1
  687. package/scripts/cocoapods/utils.rb +55 -2
  688. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +4 -4
  689. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +4 -4
  690. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +15 -7
  691. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +2 -2
  692. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +4 -3
  693. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +4 -3
  694. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +19 -8
  695. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  696. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -4
  697. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  698. package/scripts/codegen/generate-artifacts-executor/utils.js +49 -1
  699. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  700. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  701. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  702. package/scripts/generate-codegen-artifacts.js +20 -2
  703. package/scripts/generate-provider-cli.js +1 -1
  704. package/scripts/ios-configure-glog.sh +1 -1
  705. package/scripts/react_native_pods.rb +26 -2
  706. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  707. package/scripts/replace-rncore-version.js +91 -14
  708. package/scripts/xcode/with-environment.sh +7 -1
  709. package/sdks/.hermesv1version +1 -1
  710. package/sdks/.hermesversion +1 -1
  711. package/sdks/hermes-engine/hermes-engine.podspec +1 -1
  712. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  713. package/sdks/hermes-engine/version.properties +2 -2
  714. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  715. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  716. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  717. package/src/private/components/virtualcollection/Virtual.js +62 -0
  718. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  719. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  720. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  721. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  722. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  723. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  724. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  725. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  726. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  727. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  728. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  729. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  730. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  731. package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
  732. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  733. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
  734. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  735. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  736. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  737. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  738. package/src/private/renderer/events/ResponderEvent.js +40 -0
  739. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  740. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  741. package/src/private/setup/setUpDOM.js +20 -0
  742. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  743. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  744. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  745. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  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 +2 -2
  749. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  750. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  751. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  752. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  753. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  754. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  755. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  756. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  757. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  758. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  759. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  760. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  761. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  762. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  763. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  764. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  765. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  766. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  767. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  768. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  769. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  770. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  771. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  772. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  773. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  774. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  775. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  776. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  777. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  778. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  779. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  780. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  781. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  782. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  783. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  784. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  785. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  786. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  787. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  788. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  789. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  790. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  791. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  792. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  793. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  794. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  795. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  796. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  797. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  798. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  799. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  800. package/src/private/styles/composeStyles.js +1 -1
  801. package/src/private/types/HostComponent.js +1 -1
  802. package/src/private/types/HostInstance.js +1 -1
  803. package/src/private/utilities/toExtendedError.js +1 -1
  804. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  805. package/src/private/webapis/dom/events/Event.js +10 -1
  806. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  807. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  808. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  809. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  810. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  811. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  812. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  813. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  814. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  815. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  816. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  817. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  818. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  819. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  820. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  821. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  822. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  823. package/src/types/globals.d.ts +2 -2
  824. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  825. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  826. package/third-party-podspecs/glog.podspec +1 -1
  827. package/types/public/ReactNativeTypes.d.ts +2 -2
  828. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
  829. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  830. package/types_generated/Libraries/Components/Button.d.ts +3 -3
  831. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +3 -4
  832. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +5 -2
  833. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +15 -3
  834. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +8 -6
  835. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +4 -4
  836. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
  837. package/types_generated/Libraries/Interaction/PanResponder.d.ts +2 -2
  838. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +23 -4
  839. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +2 -3
  840. package/types_generated/Libraries/{Utilities/IPerformanceLogger.d.ts → ReactNative/IPerformanceLogger.flow.d.ts} +12 -6
  841. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +12 -25
  842. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +1 -16
  843. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +1 -16
  844. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +3 -3
  845. package/types_generated/Libraries/Utilities/BackHandler.d.ts +6 -2
  846. package/types_generated/index.d.ts +11 -2
  847. package/types_generated/src/private/components/virtualcollection/FlingConstants.d.ts +20 -0
  848. package/types_generated/src/private/components/virtualcollection/Virtual.d.ts +46 -0
  849. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +81 -0
  850. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +23 -0
  851. package/types_generated/src/private/components/virtualcollection/column/VirtualColumnGenerator.d.ts +17 -0
  852. package/types_generated/src/private/components/virtualcollection/dom/getScrollParent.d.ts +21 -0
  853. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +23 -0
  854. package/types_generated/src/private/types/HostInstance.d.ts +2 -2
  855. package/types_generated/src/private/webapis/dom/events/Event.d.ts +1 -9
  856. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +1 -13
  857. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +5 -2
  858. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +8 -1
  859. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19668
  860. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  861. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  862. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  863. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  864. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  865. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  866. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  867. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  868. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  869. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  870. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  871. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
  872. package/types_generated/Libraries/Renderer/shims/ReactNative.d.ts +0 -16
  873. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
@@ -98,6 +98,7 @@ public class ReactScrollView extends ScrollView
98
98
  private final VelocityHelper mVelocityHelper = new VelocityHelper();
99
99
  private final Rect mTempRect = new Rect();
100
100
  private final ValueAnimator DEFAULT_FLING_ANIMATOR = ObjectAnimator.ofInt(this, "scrollY", 0, 0);
101
+ private final @Nullable FpsListener mFpsListener;
101
102
 
102
103
  private Rect mOverflowInset;
103
104
  private @Nullable VirtualViewContainerState mVirtualViewContainerState;
@@ -110,7 +111,6 @@ public class ReactScrollView extends ScrollView
110
111
  private boolean mRemoveClippedSubviews;
111
112
  private boolean mScrollEnabled;
112
113
  private boolean mSendMomentumEvents;
113
- private @Nullable FpsListener mFpsListener;
114
114
  private @Nullable String mScrollPerfTag;
115
115
  private @Nullable Drawable mEndBackground;
116
116
  private int mEndFillColor;
@@ -292,6 +292,7 @@ public class ReactScrollView extends ScrollView
292
292
  mScrollEnabled = scrollEnabled;
293
293
  }
294
294
 
295
+ @Override
295
296
  public boolean getScrollEnabled() {
296
297
  return mScrollEnabled;
297
298
  }
@@ -691,6 +692,7 @@ public class ReactScrollView extends ScrollView
691
692
  float vScroll = ev.getAxisValue(MotionEvent.AXIS_VSCROLL);
692
693
  if (vScroll != 0) {
693
694
  // Perform the scroll
695
+ enableFpsListener();
694
696
  boolean result = super.dispatchGenericMotionEvent(ev);
695
697
  // Schedule snap alignment to run after scrolling stops
696
698
  if (result
@@ -701,6 +703,7 @@ public class ReactScrollView extends ScrollView
701
703
  // Cancel any pending post-touch runnable and reschedule
702
704
  if (mPostTouchRunnable != null) {
703
705
  removeCallbacks(mPostTouchRunnable);
706
+ mPostTouchRunnable = null;
704
707
  }
705
708
  mPostTouchRunnable =
706
709
  new Runnable() {
@@ -714,9 +717,12 @@ public class ReactScrollView extends ScrollView
714
717
  velocityY = 0;
715
718
  }
716
719
  flingAndSnap(velocityY);
720
+ handlePostTouchScrolling(0, velocityY);
717
721
  }
718
722
  };
719
723
  postOnAnimationDelayed(mPostTouchRunnable, ReactScrollViewHelper.MOMENTUM_DELAY);
724
+ } else {
725
+ handlePostTouchScrolling(0, 0);
720
726
  }
721
727
  return result;
722
728
  }
@@ -779,14 +785,6 @@ public class ReactScrollView extends ScrollView
779
785
  }
780
786
  }
781
787
 
782
- @Override
783
- public boolean getClipToPadding() {
784
- if (ReactNativeFeatureFlags.syncAndroidClipToPaddingWithOverflow()) {
785
- return mOverflow != Overflow.VISIBLE;
786
- }
787
- return super.getClipToPadding();
788
- }
789
-
790
788
  @Override
791
789
  public void getClippingRect(Rect outClippingRect) {
792
790
  outClippingRect.set(Assertions.assertNotNull(mClippingRect));
@@ -880,6 +878,7 @@ public class ReactScrollView extends ScrollView
880
878
  }
881
879
 
882
880
  @Nullable
881
+ @Override
883
882
  public StateWrapper getStateWrapper() {
884
883
  return mStateWrapper;
885
884
  }
@@ -1345,6 +1344,7 @@ public class ReactScrollView extends ScrollView
1345
1344
  * <p>`smoothScrollTo` changes `contentOffset` and we need to keep `contentOffset` in sync between
1346
1345
  * scroll view and state. Calling raw `smoothScrollTo` doesn't update state.
1347
1346
  */
1347
+ @Override
1348
1348
  public void reactSmoothScrollTo(int x, int y) {
1349
1349
  ReactScrollViewHelper.smoothScrollTo(this, x, y);
1350
1350
  setPendingContentOffsets(x, y);
@@ -1455,10 +1455,6 @@ public class ReactScrollView extends ScrollView
1455
1455
  return;
1456
1456
  }
1457
1457
 
1458
- if (mMaintainVisibleContentPositionHelper != null) {
1459
- mMaintainVisibleContentPositionHelper.updateScrollPosition();
1460
- }
1461
-
1462
1458
  if (isShown() && isContentReady()) {
1463
1459
  int currentScrollY = getScrollY();
1464
1460
  int maxScrollY = getMaxScrollY();
@@ -1516,11 +1512,12 @@ public class ReactScrollView extends ScrollView
1516
1512
  * and that you are **not** overriding the ScrollView content view to pass in a `translateY`
1517
1513
  * style. `translateY` must never be set from ReactJS while using this feature!
1518
1514
  */
1519
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding) {
1520
- setScrollAwayTopPaddingEnabledUnstable(topPadding, true);
1515
+ public void setScrollAwayPaddingEnabledUnstable(int topPadding, int bottomPadding) {
1516
+ setScrollAwayPaddingEnabledUnstable(topPadding, bottomPadding, true);
1521
1517
  }
1522
1518
 
1523
- public void setScrollAwayTopPaddingEnabledUnstable(int topPadding, boolean updateState) {
1519
+ public void setScrollAwayPaddingEnabledUnstable(
1520
+ int topPadding, int bottomPadding, boolean updateState) {
1524
1521
  int count = getChildCount();
1525
1522
 
1526
1523
  Assertions.assertCondition(
@@ -1537,17 +1534,18 @@ public class ReactScrollView extends ScrollView
1537
1534
  // Add the topPadding value as the bottom padding for the ScrollView.
1538
1535
  // Otherwise, we'll push down the contents of the scroll view down too
1539
1536
  // far off screen.
1540
- setPadding(0, 0, 0, topPadding);
1537
+ setPadding(0, 0, 0, topPadding + bottomPadding);
1541
1538
  }
1542
1539
 
1543
1540
  if (updateState) {
1544
- updateScrollAwayState(topPadding);
1541
+ updateScrollAwayState(topPadding, bottomPadding);
1545
1542
  }
1546
1543
  setRemoveClippedSubviews(mRemoveClippedSubviews);
1547
1544
  }
1548
1545
 
1549
- private void updateScrollAwayState(int scrollAwayPaddingTop) {
1546
+ private void updateScrollAwayState(int scrollAwayPaddingTop, int scrollAwayPaddingBottom) {
1550
1547
  getReactScrollViewScrollState().setScrollAwayPaddingTop(scrollAwayPaddingTop);
1548
+ getReactScrollViewScrollState().setScrollAwayPaddingBottom(scrollAwayPaddingBottom);
1551
1549
  ReactScrollViewHelper.forceUpdateState(this);
1552
1550
  }
1553
1551
 
@@ -1556,7 +1554,8 @@ public class ReactScrollView extends ScrollView
1556
1554
  mReactScrollViewScrollState = scrollState;
1557
1555
  if (ReactNativeFeatureFlags.enableViewCulling()
1558
1556
  || ReactNativeFeatureFlags.useTraitHiddenOnAndroid()) {
1559
- setScrollAwayTopPaddingEnabledUnstable(scrollState.getScrollAwayPaddingTop(), false);
1557
+ setScrollAwayPaddingEnabledUnstable(
1558
+ scrollState.getScrollAwayPaddingTop(), scrollState.getScrollAwayPaddingBottom(), false);
1560
1559
 
1561
1560
  Point scrollPosition = scrollState.getLastStateUpdateScroll();
1562
1561
  scrollTo(scrollPosition.x, scrollPosition.y);
@@ -30,7 +30,6 @@ import com.facebook.react.uimanager.ReactClippingViewGroup
30
30
  import com.facebook.react.uimanager.StateWrapper
31
31
  import com.facebook.react.uimanager.UIManagerHelper
32
32
  import com.facebook.react.uimanager.common.UIManagerType
33
- import com.facebook.react.uimanager.common.ViewUtil
34
33
  import java.lang.ref.WeakReference
35
34
  import java.util.concurrent.CopyOnWriteArrayList
36
35
  import kotlin.math.abs
@@ -44,6 +43,7 @@ public object ReactScrollViewHelper {
44
43
  private const val CONTENT_OFFSET_LEFT = "contentOffsetLeft"
45
44
  private const val CONTENT_OFFSET_TOP = "contentOffsetTop"
46
45
  private const val SCROLL_AWAY_PADDING_TOP = "scrollAwayPaddingTop"
46
+ private const val SCROLL_AWAY_PADDING_BOTTOM = "scrollAwayPaddingBottom"
47
47
 
48
48
  public const val MOMENTUM_DELAY: Long = 20
49
49
  public const val OVER_SCROLL_ALWAYS: String = "always"
@@ -346,9 +346,6 @@ public object ReactScrollViewHelper {
346
346
  scrollY,
347
347
  )
348
348
  }
349
- if (ViewUtil.getUIManagerType(scrollView.id) == UIManagerType.LEGACY) {
350
- return
351
- }
352
349
  // NOTE: if the state wrapper is null, we shouldn't even update
353
350
  // the scroll state because there is a chance of going out of sync!
354
351
  if (scrollView.stateWrapper == null) {
@@ -372,6 +369,7 @@ public object ReactScrollViewHelper {
372
369
  where T : HasScrollState?, T : HasStateWrapper?, T : ViewGroup {
373
370
  val scrollState = scrollView.reactScrollViewScrollState
374
371
  val scrollAwayPaddingTop = scrollState.scrollAwayPaddingTop
372
+ val scrollAwayPaddingBottom = scrollState.scrollAwayPaddingBottom
375
373
  val scrollPos = scrollState.lastStateUpdateScroll
376
374
  val scrollX = scrollPos.x
377
375
  val scrollY = scrollPos.y
@@ -393,6 +391,10 @@ public object ReactScrollViewHelper {
393
391
  SCROLL_AWAY_PADDING_TOP,
394
392
  toDIPFromPixel(scrollAwayPaddingTop.toFloat()).toDouble(),
395
393
  )
394
+ newStateData.putDouble(
395
+ SCROLL_AWAY_PADDING_BOTTOM,
396
+ toDIPFromPixel(scrollAwayPaddingBottom.toFloat()).toDouble(),
397
+ )
396
398
  stateWrapper.updateState(newStateData)
397
399
  }
398
400
  }
@@ -413,9 +415,14 @@ public object ReactScrollViewHelper {
413
415
  val scrollX = toPixelFromDIP(stateData.getDouble(CONTENT_OFFSET_LEFT)).toInt()
414
416
  val scrollY = toPixelFromDIP(stateData.getDouble(CONTENT_OFFSET_TOP)).toInt()
415
417
  val scrollAwayPaddingTop = toPixelFromDIP(stateData.getDouble(SCROLL_AWAY_PADDING_TOP)).toInt()
418
+ val scrollAwayPaddingBottom =
419
+ toPixelFromDIP(stateData.getDouble(SCROLL_AWAY_PADDING_BOTTOM)).toInt()
416
420
 
417
421
  val scrollState =
418
- scrollView.reactScrollViewScrollState.copy(scrollAwayPaddingTop = scrollAwayPaddingTop)
422
+ scrollView.reactScrollViewScrollState.copy(
423
+ scrollAwayPaddingTop = scrollAwayPaddingTop,
424
+ scrollAwayPaddingBottom = scrollAwayPaddingBottom,
425
+ )
419
426
  scrollState.setLastStateUpdateScroll(scrollX, scrollY)
420
427
  scrollView.reactScrollViewScrollState = scrollState
421
428
  }
@@ -622,6 +629,8 @@ public object ReactScrollViewHelper {
622
629
  val finalAnimatedPositionScroll: Point = Point(),
623
630
  /** Get the padding on the top for nav bar */
624
631
  var scrollAwayPaddingTop: Int = 0,
632
+ /** Get the padding on the bottom for tab bar */
633
+ var scrollAwayPaddingBottom: Int = 0,
625
634
  /** Get the Fabric state of last scroll position */
626
635
  val lastStateUpdateScroll: Point = Point(-1, -1),
627
636
  /** Get true if the previous animation was canceled */
@@ -430,7 +430,7 @@ constructor(private val fpsListener: FpsListener? = null) :
430
430
  // be on the wrong side. Thus we are moving it to the other side, when the list
431
431
  // is inverted.
432
432
  // See also:
433
- // - https://github.com/facebook/react-native/issues/35350
433
+ // - https://github.com/react/react-native/issues/35350
434
434
  // - https://issuetracker.google.com/issues/287304310
435
435
  if (applyFix) {
436
436
  view.verticalScrollbarPosition = View.SCROLLBAR_POSITION_LEFT
@@ -7,10 +7,10 @@
7
7
 
8
8
  package com.facebook.react.views.text
9
9
 
10
- import android.content.Context
11
10
  import android.graphics.Rect
12
11
  import android.text.Layout
13
12
  import android.text.TextPaint
13
+ import android.util.DisplayMetrics
14
14
  import com.facebook.react.bridge.Arguments
15
15
  import com.facebook.react.bridge.WritableArray
16
16
  import com.facebook.react.bridge.buildReadableMap
@@ -22,8 +22,7 @@ internal object FontMetricsUtil {
22
22
  private const val AMPLIFICATION_FACTOR = 100f
23
23
 
24
24
  @JvmStatic
25
- fun getFontMetrics(text: CharSequence, layout: Layout, context: Context): WritableArray {
26
- val dm = context.resources.displayMetrics
25
+ fun getFontMetrics(text: CharSequence, layout: Layout, dm: DisplayMetrics): WritableArray {
27
26
  val lines = Arguments.createArray()
28
27
 
29
28
  // To calculate xHeight and capHeight we have to render an "x" and "T" and manually measure
@@ -26,36 +26,28 @@ import android.view.View;
26
26
  import android.view.ViewGroup;
27
27
  import androidx.annotation.Nullable;
28
28
  import androidx.appcompat.widget.AppCompatTextView;
29
- import androidx.appcompat.widget.TintContextWrapper;
30
29
  import androidx.core.view.AccessibilityDelegateCompat;
31
30
  import androidx.core.view.ViewCompat;
32
31
  import androidx.customview.widget.ExploreByTouchHelper;
33
32
  import com.facebook.common.logging.FLog;
34
- import com.facebook.infer.annotation.Assertions;
35
33
  import com.facebook.infer.annotation.Nullsafe;
36
34
  import com.facebook.react.bridge.Arguments;
37
- import com.facebook.react.bridge.ReactContext;
38
35
  import com.facebook.react.bridge.WritableMap;
39
36
  import com.facebook.react.common.ReactConstants;
40
37
  import com.facebook.react.common.annotations.UnstableReactNativeAPI;
41
- import com.facebook.react.common.build.ReactBuildConfig;
42
38
  import com.facebook.react.internal.SystraceSection;
43
39
  import com.facebook.react.uimanager.BackgroundStyleApplicator;
44
40
  import com.facebook.react.uimanager.LengthPercentage;
45
41
  import com.facebook.react.uimanager.LengthPercentageType;
46
42
  import com.facebook.react.uimanager.PixelUtil;
47
43
  import com.facebook.react.uimanager.ReactCompoundView;
48
- import com.facebook.react.uimanager.UIManagerModule;
49
44
  import com.facebook.react.uimanager.ViewDefaults;
50
- import com.facebook.react.uimanager.common.UIManagerType;
51
- import com.facebook.react.uimanager.common.ViewUtil;
52
45
  import com.facebook.react.uimanager.style.BorderRadiusProp;
53
46
  import com.facebook.react.uimanager.style.BorderStyle;
54
47
  import com.facebook.react.uimanager.style.LogicalEdge;
55
48
  import com.facebook.react.uimanager.style.Overflow;
56
49
  import com.facebook.react.views.text.internal.span.ReactFragmentIndexSpan;
57
50
  import com.facebook.react.views.text.internal.span.ReactTagSpan;
58
- import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan;
59
51
  import com.facebook.yoga.YogaMeasureMode;
60
52
 
61
53
  @Nullsafe(Nullsafe.Mode.LOCAL)
@@ -181,164 +173,14 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
181
173
  return json;
182
174
  }
183
175
 
184
- private ReactContext getReactContext() {
185
- Context context = getContext();
186
- return (context instanceof TintContextWrapper)
187
- ? (ReactContext) ((TintContextWrapper) context).getBaseContext()
188
- : (ReactContext) context;
189
- }
190
-
191
176
  @Override
192
177
  protected void onLayout(
193
178
  boolean changed, int textViewLeft, int textViewTop, int textViewRight, int textViewBottom) {
194
179
  // TODO T62882314: Delete this method when Fabric is fully released in OSS
195
- int reactTag = getId();
196
- if (!(getText() instanceof Spanned)
197
- || ViewUtil.getUIManagerType(reactTag) == UIManagerType.FABRIC
198
- || ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE) {
199
- /**
200
- * In general, {@link #setText} is called via {@link ReactTextViewManager#updateExtraData}
201
- * before we are laid out. This ordering is a requirement because we utilize the data from
202
- * setText in onLayout.
203
- *
204
- * <p>However, it's possible for us to get an extra layout before we've received our setText
205
- * call. If this happens before the initial setText call, then getText() will have its default
206
- * value which isn't a Spanned and we need to bail out. That's fine because we'll get a
207
- * setText followed by a layout later.
208
- *
209
- * <p>The cause for the extra early layout is that an ancestor gets transitioned from a
210
- * layout-only node to a non layout-only node.
211
- */
212
- return;
213
- }
214
-
215
- ReactContext reactContext = getReactContext();
216
- UIManagerModule uiManager =
217
- Assertions.assertNotNull(reactContext.getNativeModule(UIManagerModule.class));
218
-
219
- Spanned text = (Spanned) getText();
220
- Layout layout = getLayout();
221
- if (layout == null) {
222
- // Text layout is calculated during pre-draw phase, so in some cases it can be empty during
223
- // layout phase, which usually happens before drawing.
224
- // The text layout is created by private {@link assumeLayout} method, which we can try to
225
- // invoke directly through reflection or indirectly through some methods that compute it
226
- // (e.g. {@link getExtendedPaddingTop}).
227
- // It is safer, however, to just early return here, as next measure/layout passes are way more
228
- // likely to have the text layout computed.
229
- return;
230
- }
231
-
232
- TextInlineViewPlaceholderSpan[] placeholders =
233
- text.getSpans(0, text.length(), TextInlineViewPlaceholderSpan.class);
234
- int textViewWidth = textViewRight - textViewLeft;
235
- int textViewHeight = textViewBottom - textViewTop;
236
-
237
- for (TextInlineViewPlaceholderSpan placeholder : placeholders) {
238
- View child = uiManager.resolveView(placeholder.getReactTag());
239
-
240
- if (child == null) {
241
- continue;
242
- }
243
-
244
- int start = text.getSpanStart(placeholder);
245
- int line = layout.getLineForOffset(start);
246
- boolean isLineTruncated = layout.getEllipsisCount(line) > 0;
247
-
248
- if ( // This truncation check works well on recent versions of Android (tested on 5.1.1 and
249
- // 6.0.1) but not on Android 4.4.4. The reason is that getEllipsisCount is buggy on
250
- // Android 4.4.4. Specifically, it incorrectly returns 0 if an inline view is the first
251
- // thing to be truncated.
252
- (isLineTruncated && start >= layout.getLineStart(line) + layout.getEllipsisStart(line))
253
- ||
254
-
255
- // This truncation check works well on Android 4.4.4 but not on others (e.g. 6.0.1).
256
- // On Android 4.4.4, getLineEnd returns the first truncated character whereas on 6.0.1,
257
- // it appears to return the position after the last character on the line even if that
258
- // character is truncated.
259
- line >= mNumberOfLines
260
- || start >= layout.getLineEnd(line)) {
261
- // On some versions of Android (e.g. 4.4.4, 5.1.1), getPrimaryHorizontal can infinite
262
- // loop when called on a character that appears after the ellipsis. Avoid this bug by
263
- // special casing the character truncation case.
264
- child.setVisibility(View.GONE);
265
- } else {
266
- int width = placeholder.getWidth();
267
- int height = placeholder.getHeight();
268
-
269
- // Calculate if the direction of the placeholder character is Right-To-Left.
270
- boolean isRtlChar = layout.isRtlCharAt(start);
271
-
272
- boolean isRtlParagraph = layout.getParagraphDirection(line) == Layout.DIR_RIGHT_TO_LEFT;
273
-
274
- int placeholderHorizontalPosition;
275
- // There's a bug on Samsung devices where calling getPrimaryHorizontal on
276
- // the last offset in the layout will result in an endless loop. Work around
277
- // this bug by avoiding getPrimaryHorizontal in that case.
278
- if (start == text.length() - 1) {
279
- boolean endsWithNewLine =
280
- text.length() > 0 && text.charAt(layout.getLineEnd(line) - 1) == '\n';
281
- float lineWidth = endsWithNewLine ? layout.getLineMax(line) : layout.getLineWidth(line);
282
- placeholderHorizontalPosition =
283
- isRtlParagraph
284
- // Equivalent to `layout.getLineLeft(line)` but `getLineLeft` returns incorrect
285
- // values when the paragraph is RTL and `setSingleLine(true)`.
286
- ? textViewWidth - (int) lineWidth
287
- : (int) layout.getLineRight(line) - width;
288
- } else {
289
- // The direction of the paragraph may not be exactly the direction the string is heading
290
- // in at the
291
- // position of the placeholder. So, if the direction of the character is the same as the
292
- // paragraph
293
- // use primary, secondary otherwise.
294
- boolean characterAndParagraphDirectionMatch = isRtlParagraph == isRtlChar;
295
-
296
- placeholderHorizontalPosition =
297
- characterAndParagraphDirectionMatch
298
- ? (int) layout.getPrimaryHorizontal(start)
299
- : (int) layout.getSecondaryHorizontal(start);
300
-
301
- if (isRtlParagraph) {
302
- // Adjust `placeholderHorizontalPosition` to work around an Android bug.
303
- // The bug is when the paragraph is RTL and `setSingleLine(true)`, some layout
304
- // methods such as `getPrimaryHorizontal`, `getSecondaryHorizontal`, and
305
- // `getLineRight` return incorrect values. Their return values seem to be off
306
- // by the same number of pixels so subtracting these values cancels out the error.
307
- //
308
- // The result is equivalent to bugless versions of
309
- // `getPrimaryHorizontal`/`getSecondaryHorizontal`.
310
- placeholderHorizontalPosition =
311
- textViewWidth - ((int) layout.getLineRight(line) - placeholderHorizontalPosition);
312
- }
313
-
314
- if (isRtlChar) {
315
- placeholderHorizontalPosition -= width;
316
- }
317
- }
318
-
319
- int leftRelativeToTextView =
320
- isRtlChar
321
- ? placeholderHorizontalPosition + getTotalPaddingRight()
322
- : placeholderHorizontalPosition + getTotalPaddingLeft();
323
-
324
- int left = textViewLeft + leftRelativeToTextView;
325
-
326
- // Vertically align the inline view to the baseline of the line of text.
327
- int topRelativeToTextView = getTotalPaddingTop() + layout.getLineBaseline(line) - height;
328
- int top = textViewTop + topRelativeToTextView;
329
-
330
- boolean isFullyClipped =
331
- textViewWidth <= leftRelativeToTextView || textViewHeight <= topRelativeToTextView;
332
- int layoutVisibility = isFullyClipped ? View.GONE : View.VISIBLE;
333
- int layoutLeft = left;
334
- int layoutTop = top;
335
- int layoutRight = left + width;
336
- int layoutBottom = top + height;
337
-
338
- child.setVisibility(layoutVisibility);
339
- child.layout(layoutLeft, layoutTop, layoutRight, layoutBottom);
340
- }
341
- }
180
+ // In Fabric, setText is called via ReactTextViewManager#updateExtraData
181
+ // before we are laid out. This ordering is a requirement because we utilize the data from
182
+ // setText in onLayout. The early return here is safe because the text layout is handled
183
+ // correctly in Fabric.
342
184
  }
343
185
 
344
186
  @Override
@@ -385,7 +227,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
385
227
  try (SystraceSection s = new SystraceSection("ReactTextView.setText(ReactTextUpdate)")) {
386
228
  // Android's TextView crashes when it tries to relayout if LayoutParams are
387
229
  // null; explicitly set the LayoutParams to prevent this crash. See:
388
- // https://github.com/facebook/react-native/pull/7011
230
+ // https://github.com/react/react-native/pull/7011
389
231
  if (getLayoutParams() == null) {
390
232
  setLayoutParams(EMPTY_LAYOUT_PARAMS);
391
233
  }
@@ -579,6 +421,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
579
421
  mShouldAdjustSpannableFontSize = true;
580
422
  }
581
423
 
424
+ @Override
582
425
  public void setLetterSpacing(float letterSpacing) {
583
426
  if (Float.isNaN(letterSpacing)) {
584
427
  return;
@@ -157,7 +157,7 @@ public constructor(
157
157
  state.getMapBuffer(TX_STATE_KEY_PARAGRAPH_ATTRIBUTES.toInt())
158
158
  val spanned: Spannable =
159
159
  TextLayoutManager.getOrCreateSpannableForText(
160
- view.context,
160
+ view.context.assets,
161
161
  attributedString,
162
162
  reactTextViewManagerCallback,
163
163
  )