react-native-tvos 0.84.1-0 → 0.85.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  2. package/Libraries/Animated/Animated.d.ts +8 -1
  3. package/Libraries/Animated/AnimatedEvent.js +4 -4
  4. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  5. package/Libraries/Animated/animations/Animation.js +3 -3
  6. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  7. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  8. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  9. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  10. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  11. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  12. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  13. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  14. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  15. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  16. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  17. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  19. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  20. package/{jest/mocks/Vibration.js → Libraries/Animated/useAnimatedColor.d.ts} +5 -6
  21. package/Libraries/Animated/useAnimatedColor.js +25 -0
  22. package/{jest/mocks/Clipboard.js → Libraries/Animated/useAnimatedValueXY.d.ts} +5 -6
  23. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  24. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -8
  25. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +1 -3
  26. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +1 -0
  27. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -6
  28. package/Libraries/AppState/AppState.js +1 -1
  29. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  30. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  31. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  32. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  33. package/Libraries/Components/Button.js +2 -2
  34. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  35. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  36. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  37. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  38. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  39. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  40. package/Libraries/Components/Pressable/Pressable.js +3 -3
  41. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  42. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  43. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  44. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  45. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +10 -12
  46. package/Libraries/Components/ScrollView/ScrollView.d.ts +18 -1
  47. package/Libraries/Components/ScrollView/ScrollView.js +33 -10
  48. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +12 -18
  49. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +7 -4
  50. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  51. package/Libraries/Components/StaticRenderer.js +1 -1
  52. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  53. package/Libraries/Components/Switch/Switch.js +3 -3
  54. package/Libraries/Components/TV/TVViewPropTypes.js +7 -0
  55. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  56. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  57. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  58. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  59. package/Libraries/Components/TextInput/TextInput.js +8 -4
  60. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  61. package/Libraries/Components/Touchable/Touchable.js +2 -2
  62. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  63. package/Libraries/Components/Touchable/TouchableHighlight.js +6 -6
  64. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  65. package/Libraries/Components/Touchable/TouchableOpacity.js +3 -3
  66. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  67. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  68. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  69. package/Libraries/Components/View/View.js +6 -0
  70. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  71. package/Libraries/Components/View/ViewPropTypes.js +15 -15
  72. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  73. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  74. package/Libraries/Core/ExceptionsManager.js +2 -2
  75. package/Libraries/Core/ExtendedError.js +3 -3
  76. package/Libraries/Core/RawEventEmitter.js +1 -1
  77. package/Libraries/Core/ReactNativeVersion.js +2 -2
  78. package/Libraries/Core/Timers/JSTimers.js +3 -2
  79. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  80. package/Libraries/Core/setUpErrorHandling.js +4 -2
  81. package/Libraries/Core/setUpReactDevTools.js +23 -6
  82. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  83. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  84. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  85. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  86. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -6
  87. package/Libraries/Image/AssetSourceResolver.js +1 -1
  88. package/Libraries/Image/Image.android.js +172 -306
  89. package/Libraries/Image/ImageProps.js +9 -11
  90. package/Libraries/Image/ImageSource.js +2 -2
  91. package/Libraries/Image/ImageSourceUtils.js +8 -4
  92. package/Libraries/Image/ImageTypes.flow.js +2 -2
  93. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  94. package/Libraries/Image/RCTImageUtils.mm +37 -1
  95. package/Libraries/Image/nativeImageSource.js +1 -1
  96. package/Libraries/Interaction/InteractionManager.js +5 -4
  97. package/Libraries/Interaction/PanResponder.js +1 -1
  98. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  99. package/Libraries/Linking/Linking.js +1 -1
  100. package/Libraries/Lists/FlatList.js +3 -3
  101. package/Libraries/Lists/SectionList.js +1 -1
  102. package/Libraries/Lists/SectionListModern.js +2 -2
  103. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  104. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  105. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  106. package/Libraries/LogBox/LogBox.js +42 -19
  107. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  108. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  109. package/Libraries/LogBox/UI/LogBoxButton.js +28 -30
  110. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  111. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  112. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  113. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  114. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  115. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  116. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  117. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  118. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  119. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  120. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  121. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  122. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  123. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  124. package/Libraries/Modal/Modal.js +3 -3
  125. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  126. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  127. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  128. package/Libraries/Network/RCTHTTPRequestHandler.h +9 -0
  129. package/Libraries/Network/RCTHTTPRequestHandler.mm +15 -1
  130. package/Libraries/Network/RCTNetworking.android.js +1 -1
  131. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  132. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  133. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  136. package/Libraries/Pressability/Pressability.js +12 -5
  137. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  138. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  139. package/Libraries/Pressability/usePressability.js +3 -14
  140. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  141. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +11 -21
  142. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  143. package/Libraries/ReactNative/AppContainer.js +1 -1
  144. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  145. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  146. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  147. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  148. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  149. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  150. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  151. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  152. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  153. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  154. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  155. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  156. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  157. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  158. package/Libraries/StyleSheet/PointPropType.js +1 -1
  159. package/Libraries/StyleSheet/Rect.js +1 -1
  160. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  161. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  162. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  163. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  164. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  165. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -36
  166. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  167. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  168. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  169. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  170. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  171. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  172. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  173. package/Libraries/StyleSheet/processColorArray.js +2 -2
  174. package/Libraries/StyleSheet/processFilter.js +2 -2
  175. package/Libraries/Text/Text/RCTDynamicTypeRamp.mm +5 -4
  176. package/Libraries/Text/Text.js +295 -627
  177. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +7 -1
  178. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +14 -12
  179. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +1 -1
  180. package/Libraries/Text/TextNativeComponent.js +14 -7
  181. package/Libraries/Text/TextProps.js +4 -4
  182. package/Libraries/Types/CodegenTypes.js +1 -1
  183. package/Libraries/Types/CoreEventTypes.js +21 -21
  184. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  185. package/Libraries/Utilities/Appearance.js +6 -1
  186. package/Libraries/Utilities/Dimensions.js +1 -1
  187. package/Libraries/Utilities/HMRClient.js +4 -4
  188. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  189. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  190. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  191. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  192. package/Libraries/Utilities/logError.js +1 -1
  193. package/Libraries/Utilities/stringifySafe.js +3 -3
  194. package/Libraries/Utilities/useMergeRefs.js +2 -2
  195. package/Libraries/WebSocket/RCTReconnectingWebSocket.m +4 -1
  196. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  197. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  198. package/README.md +52 -0
  199. package/React/Base/RCTBridge.mm +1 -1
  200. package/React/Base/RCTBundleURLProvider.mm +29 -8
  201. package/React/Base/RCTConvert.mm +3 -18
  202. package/React/Base/RCTDefines.h +7 -8
  203. package/React/Base/RCTDevSupportHttpHeaders.h +24 -0
  204. package/React/Base/RCTDevSupportHttpHeaders.m +65 -0
  205. package/React/Base/RCTJavaScriptLoader.h +1 -0
  206. package/React/Base/RCTJavaScriptLoader.mm +6 -2
  207. package/React/Base/RCTMultipartDataTask.h +9 -0
  208. package/React/Base/RCTMultipartDataTask.m +19 -1
  209. package/React/Base/RCTTVColorSupport.h +17 -0
  210. package/React/Base/RCTTVColorSupport.mm +23 -0
  211. package/React/Base/RCTUtils.mm +15 -6
  212. package/React/Base/RCTVersion.m +2 -2
  213. package/React/CoreModules/RCTActionSheetManager.mm +28 -3
  214. package/React/CoreModules/RCTClipboard.mm +5 -5
  215. package/React/CoreModules/RCTDevLoadingView.mm +1 -1
  216. package/React/CoreModules/RCTDevSettings.mm +8 -0
  217. package/React/CoreModules/RCTDeviceInfo.mm +4 -3
  218. package/React/CoreModules/RCTKeyboardObserver.mm +9 -2
  219. package/React/CoreModules/RCTLogBoxView.mm +4 -8
  220. package/React/CoreModules/RCTPerfMonitor.mm +5 -0
  221. package/React/CoreModules/RCTStatusBarManager.h +2 -0
  222. package/React/CoreModules/RCTWebSocketModule.h +6 -0
  223. package/React/CoreModules/RCTWebSocketModule.mm +14 -1
  224. package/React/DevSupport/RCTInspectorDevServerHelper.mm +33 -22
  225. package/React/DevSupport/RCTInspectorNetworkHelper.mm +2 -0
  226. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +66 -79
  227. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +8 -8
  228. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +1 -1
  229. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +2 -2
  230. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +4 -0
  231. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +6 -0
  232. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +8 -4
  233. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.h +2 -0
  234. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +81 -0
  235. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +16 -4
  236. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +145 -8
  237. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +10 -5
  238. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +13 -0
  239. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +9 -13
  240. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
  241. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +2 -0
  242. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +2 -0
  243. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +42 -4
  244. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +2 -1
  245. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +92 -163
  246. package/React/Fabric/Mounting/RCTMountingManager.mm +8 -3
  247. package/React/Fabric/RCTScheduler.h +2 -0
  248. package/React/Fabric/RCTScheduler.mm +57 -0
  249. package/React/Fabric/RCTSurfacePointerHandler.mm +15 -9
  250. package/React/Fabric/RCTSurfacePresenter.mm +9 -0
  251. package/React/Fabric/RCTSurfaceTouchHandler.mm +4 -2
  252. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -0
  253. package/React/Fabric/Utils/RCTLinearGradient.mm +4 -9
  254. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +5 -1
  255. package/React/Modules/RCTLayoutAnimation.m +10 -0
  256. package/React/Modules/RCTUIManager.mm +2 -4
  257. package/React/Profiler/RCTProfile.m +2 -0
  258. package/React/React-RCTFabric.podspec +3 -0
  259. package/React/Views/RCTView.m +6 -1
  260. package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
  261. package/React-Core-prebuilt.podspec +1 -1
  262. package/ReactAndroid/api/ReactAndroid.api +120 -298
  263. package/ReactAndroid/build.gradle.kts +9 -0
  264. package/ReactAndroid/gradle.properties +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -101
  266. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +2 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +10 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +1 -3
  269. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +11 -11
  270. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +11 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +0 -26
  272. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +12 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +11 -1
  274. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +5 -5
  275. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +5 -5
  276. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +19 -19
  277. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +5 -1
  278. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromArray.kt +9 -4
  279. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +15 -15
  280. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +8 -6
  281. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +3 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +10 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ScrollEndedListener.kt +70 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +4 -4
  286. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +36 -34
  287. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +14 -9
  288. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +2 -8
  289. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +3 -2
  290. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +17 -13
  291. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +5 -5
  292. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +10 -19
  293. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +2 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +74 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +2 -3
  296. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +110 -80
  297. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -12
  298. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevBundleDownloadListener.kt +1 -1
  299. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +1 -1
  300. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +87 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +36 -7
  302. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +16 -2
  303. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +3 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +2 -2
  305. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +6 -6
  306. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +2 -2
  307. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +0 -29
  308. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +2 -8
  309. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +1258 -0
  310. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/FabricNameComponentMapping.kt +1 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +2 -2
  312. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  314. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +37 -55
  315. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +66 -96
  316. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +14 -20
  317. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +15 -21
  318. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +74 -107
  319. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +5 -1
  320. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +14 -20
  321. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +1 -15
  322. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +2 -2
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +4 -10
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +4 -2
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -1
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +45 -74
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +17 -13
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +2 -5
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +1 -1
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +3 -4
  333. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +2 -1
  334. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +2 -8
  335. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +2 -0
  336. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +9 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +8 -8
  338. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +12 -12
  339. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +13 -7
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +14 -14
  342. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +14 -6
  343. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +42 -28
  344. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +8 -49
  345. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +11 -8
  346. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +17 -0
  347. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +13 -8
  348. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.kt +751 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +104 -781
  350. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.kt +18 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +7 -9
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -31
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactZIndexedViewGroup.kt +11 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +4 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +1 -4
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +103 -759
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +14 -38
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +41 -170
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -962
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +2 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +22 -0
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +15 -0
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -6
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +2 -9
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +12 -1
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -16
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +0 -33
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +27 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundPosition.kt +20 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundRepeat.kt +27 -0
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundSize.kt +50 -0
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +33 -0
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +25 -1
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +46 -2
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +14 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +23 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +45 -7
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +40 -2
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +21 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +16 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +34 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +33 -1
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/OutlineStyle.kt +17 -0
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +15 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +42 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +20 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +1 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +9 -10
  389. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +1 -1
  390. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +6 -5
  391. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +132 -16
  392. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +17 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +1647 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +466 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +104 -10
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +71 -9
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +17 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +2 -35
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateClassic.kt +7 -30
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +20 -41
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/generate-nested-scroll-view.js +270 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +1 -1
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +7 -7
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +39 -17
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +4 -3
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +4 -65
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +86 -111
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +6 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +243 -20
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -2
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/text/SelectableTextViewManager.kt +29 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +1 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +54 -77
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +27 -0
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +1 -1
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +10 -3
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -75
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +8 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +1 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +5 -38
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +3 -2
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ImportantForInteractionHelper.kt +55 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +19 -60
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +7 -4
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +150 -296
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualViewManager.kt +11 -13
  431. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +2 -2
  432. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.kt +64 -0
  433. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +4 -4
  434. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.kt +29 -0
  435. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.kt +244 -0
  437. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +1 -1
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.kt +183 -0
  439. package/ReactAndroid/src/main/jni/CMakeLists.txt +6 -0
  440. package/ReactAndroid/src/main/jni/react/fabric/AndroidAnimationChoreographer.h +38 -0
  441. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -4
  442. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +7 -0
  443. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +2 -0
  444. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +50 -2
  445. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +11 -0
  446. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.cpp +23 -0
  447. package/ReactAndroid/src/main/jni/react/fabric/JAnimationBackendChoreographer.h +37 -0
  448. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +2 -1
  449. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +89 -131
  450. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +19 -28
  451. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  452. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -1
  453. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -7
  454. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -60
  455. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +12 -28
  456. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +13 -6
  457. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +2 -1
  458. package/{ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.cpp → ReactAndroid/src/main/jni/react/uimanager/StateWrapper.h} +7 -2
  459. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  460. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +2 -0
  461. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +8 -1
  462. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  463. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -2
  464. package/ReactCommon/React-Fabric.podspec +5 -6
  465. package/ReactCommon/React-FabricComponents.podspec +6 -8
  466. package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -6
  467. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +1 -1
  468. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +25 -16
  469. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +1 -1
  470. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -30
  471. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -11
  472. package/ReactCommon/jsinspector-modern/HostTarget.cpp +33 -33
  473. package/ReactCommon/jsinspector-modern/HostTarget.h +23 -24
  474. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +1 -2
  475. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
  476. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +4 -9
  477. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +0 -1
  478. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +164 -54
  479. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +39 -4
  480. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +12 -3
  481. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +13 -0
  482. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +6 -0
  483. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +34 -18
  484. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -0
  485. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +6 -95
  486. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.cpp +122 -0
  487. package/ReactCommon/jsinspector-modern/RuntimeTargetGlobalStateObserver.h +42 -0
  488. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.cpp +27 -0
  489. package/ReactCommon/jsinspector-modern/RuntimeTargetTracingStateObserver.h +27 -0
  490. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +7 -45
  491. package/ReactCommon/jsinspector-modern/TracingAgent.h +0 -11
  492. package/ReactCommon/jsinspector-modern/UniqueMonostate.h +0 -4
  493. package/ReactCommon/jsinspector-modern/WeakList.h +60 -1
  494. package/ReactCommon/jsinspector-modern/network/NetworkHandler.cpp +25 -21
  495. package/ReactCommon/jsinspector-modern/network/NetworkHandler.h +21 -15
  496. package/ReactCommon/jsinspector-modern/tests/GmockHelpers.h +1 -1
  497. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +3 -3
  498. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionMultiSessionTest.cpp +692 -0
  499. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +10 -123
  500. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.h +140 -0
  501. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +158 -6
  502. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +34 -0
  503. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +223 -4
  504. package/ReactCommon/jsinspector-modern/tests/WeakListTest.cpp +31 -1
  505. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -1
  506. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +6 -9
  507. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +4 -6
  508. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +6 -17
  509. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +4 -5
  510. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +27 -39
  511. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +32 -47
  512. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +153 -207
  513. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -24
  514. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +26 -38
  515. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +56 -83
  516. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +9 -1
  517. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -12
  518. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +3 -1
  519. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  520. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +10 -4
  521. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  522. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +32 -0
  523. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.h +2 -0
  524. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +32 -47
  525. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +14 -20
  526. package/ReactCommon/react/renderer/animated/AnimatedModule.h +1 -1
  527. package/ReactCommon/react/renderer/animated/CMakeLists.txt +0 -1
  528. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +108 -151
  529. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +16 -11
  530. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +80 -86
  531. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +0 -1
  532. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +0 -1
  533. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +0 -2
  534. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +2 -2
  535. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +32 -4
  536. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +6 -0
  537. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +14 -21
  538. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +3 -1
  539. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +6 -3
  540. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +125 -63
  541. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +33 -33
  542. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +18 -8
  543. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +1 -1
  544. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +39 -0
  545. package/ReactCommon/react/renderer/animationbackend/CMakeLists.txt +0 -1
  546. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -2
  547. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  548. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +0 -6
  549. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +0 -1
  550. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +0 -4
  551. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +0 -1
  552. package/ReactCommon/react/renderer/attributedstring/conversions.h +60 -0
  553. package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +3 -5
  554. package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
  555. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm} +1 -1
  556. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropState.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropState.mm} +1 -1
  557. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -1
  558. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +20 -0
  559. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +2 -0
  560. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +1 -1
  561. package/ReactCommon/react/renderer/components/scrollview/conversions.h +6 -0
  562. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +18 -1
  563. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +2 -0
  564. package/ReactCommon/react/renderer/components/scrollview/primitives.h +2 -11
  565. package/ReactCommon/react/renderer/components/scrollview/tests/ScrollViewTest.cpp +83 -3
  566. package/ReactCommon/react/renderer/components/text/BaseParagraphComponentDescriptor.h +49 -0
  567. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +14 -14
  568. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +3 -28
  569. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
  570. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +4 -4
  571. package/ReactCommon/react/renderer/components/text/SelectableParagraphComponentDescriptor.h +24 -0
  572. package/ReactCommon/react/renderer/components/text/SelectableParagraphShadowNode.h +32 -0
  573. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +1 -1
  574. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  575. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +2 -2
  576. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +13 -1
  577. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -1
  578. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
  579. package/ReactCommon/react/renderer/components/view/BackgroundImagePropsConversions.cpp +15 -24
  580. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -7
  581. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +11 -1
  582. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +4 -0
  583. package/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +0 -3
  584. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +57 -53
  585. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  586. package/ReactCommon/react/renderer/components/view/conversions.h +250 -2
  587. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +19 -63
  588. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  589. package/ReactCommon/react/renderer/components/view/primitives.h +3 -86
  590. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +215 -0
  591. package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +1 -1
  592. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +1 -1
  593. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +1 -1
  594. package/ReactCommon/react/renderer/core/EventEmitter.cpp +2 -2
  595. package/ReactCommon/react/renderer/core/EventEmitter.h +8 -8
  596. package/ReactCommon/react/renderer/core/EventPipe.h +1 -1
  597. package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -3
  598. package/ReactCommon/react/renderer/core/EventTarget.h +7 -7
  599. package/ReactCommon/react/renderer/core/LayoutConstraints.h +0 -5
  600. package/ReactCommon/react/renderer/core/LayoutContext.h +0 -5
  601. package/ReactCommon/react/renderer/core/LayoutMetrics.h +0 -2
  602. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +11 -21
  603. package/ReactCommon/react/renderer/core/RawPropsKey.h +0 -1
  604. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +4 -1
  605. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -7
  606. package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -6
  607. package/ReactCommon/react/renderer/core/RawValue.h +1 -2
  608. package/ReactCommon/react/renderer/core/ShadowNode.cpp +33 -31
  609. package/ReactCommon/react/renderer/core/ShadowNode.h +19 -29
  610. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +6 -6
  611. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +14 -14
  612. package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +4 -2
  613. package/ReactCommon/react/renderer/core/ShadowNodeFragment.h +2 -2
  614. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +57 -2
  615. package/ReactCommon/react/renderer/css/CSSBackgroundImage.h +112 -140
  616. package/ReactCommon/react/renderer/css/CSSColor.h +7 -8
  617. package/ReactCommon/react/renderer/css/CSSColorFunction.h +38 -39
  618. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +23 -17
  619. package/ReactCommon/react/renderer/css/CSSDataType.h +15 -10
  620. package/ReactCommon/react/renderer/css/CSSFilter.h +12 -17
  621. package/ReactCommon/react/renderer/css/CSSKeyword.h +8 -0
  622. package/ReactCommon/react/renderer/css/CSSList.h +11 -11
  623. package/ReactCommon/react/renderer/css/CSSRatio.h +4 -4
  624. package/ReactCommon/react/renderer/css/CSSShadow.h +7 -7
  625. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +10 -6
  626. package/ReactCommon/react/renderer/css/CSSTokenizer.h +2 -0
  627. package/ReactCommon/react/renderer/css/CSSTransform.h +20 -20
  628. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +4 -5
  629. package/ReactCommon/react/renderer/css/CSSValueParser.h +71 -67
  630. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +11 -10
  631. package/ReactCommon/react/renderer/graphics/BackgroundPosition.h +0 -1
  632. package/ReactCommon/react/renderer/graphics/BackgroundRepeat.h +0 -1
  633. package/ReactCommon/react/renderer/graphics/BackgroundSize.h +0 -1
  634. package/ReactCommon/react/renderer/graphics/Filter.h +3 -2
  635. package/ReactCommon/react/renderer/graphics/LinearGradient.cpp +9 -15
  636. package/ReactCommon/react/renderer/graphics/LinearGradient.h +7 -19
  637. package/ReactCommon/react/renderer/graphics/Point.h +0 -2
  638. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -35
  639. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  640. package/ReactCommon/react/renderer/graphics/Rect.h +1 -9
  641. package/ReactCommon/react/renderer/graphics/RectangleCorners.h +1 -10
  642. package/ReactCommon/react/renderer/graphics/RectangleEdges.h +1 -10
  643. package/ReactCommon/react/renderer/graphics/Size.h +0 -5
  644. package/ReactCommon/react/renderer/graphics/Transform.cpp +0 -4
  645. package/ReactCommon/react/renderer/graphics/Transform.h +1 -13
  646. package/ReactCommon/react/renderer/graphics/TransformUtils.h +95 -0
  647. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -11
  648. package/ReactCommon/react/renderer/graphics/fromRawValueShared.h +13 -1
  649. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +0 -4
  650. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +11 -12
  651. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +4 -3
  652. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +1 -36
  653. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  654. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +1 -9
  655. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  656. package/ReactCommon/react/renderer/imagemanager/primitives.h +0 -5
  657. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +51 -30
  658. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
  659. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +21 -38
  660. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +153 -18
  661. package/ReactCommon/react/renderer/mounting/ShadowTree.h +30 -6
  662. package/ReactCommon/react/renderer/mounting/ShadowTreeDelegate.h +11 -0
  663. package/ReactCommon/react/renderer/mounting/ShadowView.cpp +0 -4
  664. package/ReactCommon/react/renderer/mounting/ShadowView.h +0 -1
  665. package/ReactCommon/react/renderer/mounting/internal/DiffMap.h +170 -0
  666. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +0 -5
  667. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +3 -3
  668. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +0 -4
  669. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +0 -1
  670. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -4
  671. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +0 -2
  672. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -0
  673. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +12 -4
  674. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +2 -1
  675. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp +0 -5
  676. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.h +0 -1
  677. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +1 -1
  678. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  679. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +28 -1
  680. package/ReactCommon/react/renderer/scheduler/Scheduler.h +2 -2
  681. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +6 -0
  682. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
  683. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +2 -2
  684. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +18 -18
  685. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -7
  686. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -5
  687. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +3 -3
  688. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +4 -3
  689. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.h +1 -1
  690. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +15 -5
  691. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
  692. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +10 -1
  693. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +1 -1
  694. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +1 -3
  695. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +1 -1
  696. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +68 -38
  697. package/ReactCommon/react/renderer/uimanager/UIManager.h +17 -8
  698. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +17 -5
  699. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  700. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +2 -2
  701. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +10 -0
  702. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.cpp +19 -23
  703. package/ReactCommon/react/renderer/uimanager/consistency/LazyShadowTreeRevisionConsistencyManager.h +2 -3
  704. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +13 -5
  705. package/ReactCommon/react/renderer/uimanager/primitives.h +16 -7
  706. package/ReactCommon/react/renderer/uimanager/tests/FindShadowNodeByTagTest.cpp +287 -0
  707. package/ReactCommon/react/runtime/TimerManager.cpp +16 -2
  708. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +11 -6
  709. package/ReactCommon/react/runtime/iostests/RCTHostTests.mm +11 -0
  710. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +17 -3
  711. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +8 -1
  712. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +8 -5
  713. package/ReactCommon/react/utils/ContextContainer.h +0 -2
  714. package/ReactCommon/yoga/yoga/YGNode.cpp +14 -0
  715. package/ReactCommon/yoga/yoga/YGValue.h +0 -4
  716. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +7 -7
  717. package/ReactCommon/yoga/yoga/enums/YogaEnums.h +0 -1
  718. package/ReactCommon/yoga/yoga/node/LayoutResults.h +0 -3
  719. package/ReactCommon/yoga/yoga/numeric/FloatOptional.h +0 -9
  720. package/ReactCommon/yoga/yoga/style/Style.h +0 -4
  721. package/flow/bom.js.flow +18 -17
  722. package/flow/dom.js.flow +12 -5
  723. package/flow/global.js +1 -1
  724. package/gradle/libs.versions.toml +1 -1
  725. package/index.js +9 -0
  726. package/index.js.flow +8 -1
  727. package/jest-preset.js +14 -18
  728. package/package.json +17 -17
  729. package/scripts/cocoapods/rncore.rb +111 -2
  730. package/scripts/cocoapods/utils.rb +2 -0
  731. package/scripts/codegen/templates/Package.swift.template +7 -0
  732. package/scripts/react_native_pods.rb +13 -6
  733. package/scripts/replace-rncore-version.js +12 -3
  734. package/sdks/.hermesv1version +1 -1
  735. package/sdks/.hermesversion +1 -1
  736. package/sdks/hermes-engine/version.properties +2 -2
  737. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  738. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  739. package/src/private/components/virtualview/VirtualView.js +14 -21
  740. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  741. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  742. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  743. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  744. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  745. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  746. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  747. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  748. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  749. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  750. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  751. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  752. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  753. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  754. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  755. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  756. package/src/private/featureflags/ReactNativeFeatureFlags.js +49 -82
  757. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  758. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -12
  759. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  760. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  761. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  762. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  763. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  764. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  765. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  766. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  767. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  768. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  769. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  770. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  771. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  772. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  773. package/src/private/styles/composeStyles.js +1 -1
  774. package/src/private/utilities/toError.js +27 -0
  775. package/src/private/utilities/toExtendedError.js +30 -0
  776. package/src/private/webapis/dom/events/Event.js +1 -1
  777. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  778. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  779. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  780. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  781. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  782. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  783. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  784. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  785. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  786. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  787. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  788. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  789. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  790. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  791. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  792. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  793. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  794. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  795. package/src/private/webapis/performance/LongTasks.js +3 -3
  796. package/src/private/webapis/performance/Performance.js +4 -4
  797. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  798. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  799. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  800. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  801. package/src/types/globals.d.ts +4 -4
  802. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  803. package/third-party-podspecs/fmt.podspec +2 -2
  804. package/types/index.d.ts +2 -0
  805. package/types/public/ReactNativeTVTypes.d.ts +27 -2
  806. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  807. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
  808. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +0 -25
  809. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +0 -321
  810. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +0 -620
  811. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +0 -1411
  812. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -985
  813. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +0 -403
  814. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +0 -336
  815. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +0 -135
  816. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +0 -81
  817. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +0 -72
  818. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +0 -677
  819. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +0 -218
  820. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +0 -369
  821. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +0 -156
  822. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +0 -174
  823. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +0 -54
  824. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +0 -30
  825. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineImageSpan.kt +0 -58
  826. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +0 -228
  827. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +0 -305
  828. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +0 -110
  829. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIBase.java +0 -62
  830. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +0 -35
  831. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +0 -279
  832. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +0 -197
  833. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -410
  834. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +0 -113
  835. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +0 -19
  836. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +0 -38
  837. package/jest/MockNativeMethods.js +0 -27
  838. package/jest/RefreshControlMock.js +0 -32
  839. package/jest/assetFileTransformer.js +0 -33
  840. package/jest/local-setup.js +0 -29
  841. package/jest/mock.js +0 -39
  842. package/jest/mockComponent.js +0 -104
  843. package/jest/mockNativeComponent.js +0 -52
  844. package/jest/mocks/AccessibilityInfo.js +0 -62
  845. package/jest/mocks/ActivityIndicator.js +0 -23
  846. package/jest/mocks/AppState.js +0 -19
  847. package/jest/mocks/Image.js +0 -23
  848. package/jest/mocks/InitializeCore.js +0 -9
  849. package/jest/mocks/Linking.js +0 -28
  850. package/jest/mocks/Modal.js +0 -33
  851. package/jest/mocks/NativeComponentRegistry.js +0 -30
  852. package/jest/mocks/NativeModules.js +0 -239
  853. package/jest/mocks/RefreshControl.js +0 -31
  854. package/jest/mocks/RendererProxy.js +0 -45
  855. package/jest/mocks/ScrollView.js +0 -58
  856. package/jest/mocks/Text.js +0 -27
  857. package/jest/mocks/TextInput.js +0 -32
  858. package/jest/mocks/UIManager.js +0 -60
  859. package/jest/mocks/View.js +0 -27
  860. package/jest/mocks/ViewNativeComponent.js +0 -23
  861. package/jest/mocks/requireNativeComponent.js +0 -22
  862. package/jest/mocks/useColorScheme.js +0 -18
  863. package/jest/react-native-env.js +0 -17
  864. package/jest/renderer.js +0 -40
  865. package/jest/resolver.js +0 -32
  866. package/jest/setup.js +0 -140
  867. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewMode.h +0 -0
  868. /package/React/Fabric/Mounting/ComponentViews/{VirtualViewExperimental → VirtualView}/RCTVirtualViewRenderState.h +0 -0
  869. /package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/{InteropUiBlockListener.kt → InteropUIBlockListener.kt} +0 -0
  870. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{LegacyViewManagerInteropComponentDescriptor.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h} +0 -0
  871. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.h → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h} +0 -0
  872. /package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/{RCTLegacyViewManagerInteropCoordinator.mm → platform/ios/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm} +0 -0
  873. /package/ReactCommon/react/renderer/components/scrollview/{RCTComponentViewHelpers.h → platform/ios/react/renderer/components/scrollview/RCTComponentViewHelpers.h} +0 -0
@@ -9,7 +9,6 @@ package com.facebook.react.views.text
9
9
 
10
10
  import android.content.res.AssetManager
11
11
  import android.graphics.Typeface
12
- import android.text.TextUtils
13
12
  import com.facebook.react.bridge.ReadableArray
14
13
  import com.facebook.react.common.ReactConstants
15
14
  import com.facebook.react.common.assets.ReactFontManager
@@ -93,7 +92,7 @@ public object ReactTypefaceUtils {
93
92
  "stylistic-twenty" -> features.add("'ss20'")
94
93
  }
95
94
  }
96
- return TextUtils.join(", ", features)
95
+ return features.joinToString(", ")
97
96
  }
98
97
 
99
98
  @JvmStatic
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.views.text
9
+
10
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI
11
+
12
+ /**
13
+ * A [ReactTextViewManager] registered under the name "RCTSelectableText". Used to route selectable
14
+ * text through [ReactTextView] (a real [android.widget.TextView]) instead of
15
+ * [PreparedLayoutTextView] when enablePreparedTextLayout is on, since [PreparedLayoutTextView] does
16
+ * not support native text selection.
17
+ */
18
+ @UnstableReactNativeAPI
19
+ public class SelectableTextViewManager
20
+ @JvmOverloads
21
+ public constructor(reactTextViewManagerCallback: ReactTextViewManagerCallback? = null) :
22
+ ReactTextViewManager(reactTextViewManagerCallback) {
23
+
24
+ override fun getName(): String = REACT_CLASS
25
+
26
+ public companion object {
27
+ public const val REACT_CLASS: String = "RCTSelectableText"
28
+ }
29
+ }
@@ -9,7 +9,6 @@ package com.facebook.react.views.text
9
9
 
10
10
  import android.os.Build
11
11
  import android.text.Layout
12
- import android.text.TextUtils
13
12
  import android.text.TextUtils.TruncateAt
14
13
  import android.util.LayoutDirection
15
14
  import android.view.Gravity
@@ -238,7 +237,7 @@ public class TextAttributeProps private constructor() {
238
237
  }
239
238
  }
240
239
  }
241
- fontFeatureSettings = TextUtils.join(", ", features)
240
+ fontFeatureSettings = features.joinToString(", ")
242
241
  }
243
242
 
244
243
  private fun setFontWeight(fontWeightString: String?) {
@@ -821,15 +821,16 @@ internal object TextLayoutManager {
821
821
  }
822
822
 
823
823
  return createLayout(
824
- text,
825
- paint,
826
- attributedString,
827
- paragraphAttributes,
828
- width,
829
- widthYogaMeasureMode,
830
- height,
831
- heightYogaMeasureMode,
832
- )
824
+ text,
825
+ paint,
826
+ attributedString,
827
+ paragraphAttributes,
828
+ width,
829
+ widthYogaMeasureMode,
830
+ height,
831
+ heightYogaMeasureMode,
832
+ )
833
+ .layout
833
834
  }
834
835
 
835
836
  private fun createLayout(
@@ -841,7 +842,7 @@ internal object TextLayoutManager {
841
842
  widthYogaMeasureMode: YogaMeasureMode,
842
843
  height: Float,
843
844
  heightYogaMeasureMode: YogaMeasureMode,
844
- ): Layout {
845
+ ): CreateLayoutResult {
845
846
  val boring = isBoring(text, paint)
846
847
 
847
848
  val textBreakStrategy =
@@ -899,19 +900,23 @@ internal object TextLayoutManager {
899
900
  )
900
901
  }
901
902
 
902
- return createLayout(
903
- text,
904
- boring,
905
- width,
906
- widthYogaMeasureMode,
907
- includeFontPadding,
903
+ return CreateLayoutResult(
904
+ createLayout(
905
+ text,
906
+ boring,
907
+ width,
908
+ widthYogaMeasureMode,
909
+ includeFontPadding,
910
+ textBreakStrategy,
911
+ hyphenationFrequency,
912
+ alignment,
913
+ justificationMode,
914
+ ellipsizeMode,
915
+ maximumNumberOfLines,
916
+ paint,
917
+ ),
908
918
  textBreakStrategy,
909
- hyphenationFrequency,
910
- alignment,
911
919
  justificationMode,
912
- ellipsizeMode,
913
- maximumNumberOfLines,
914
- paint,
915
920
  )
916
921
  }
917
922
 
@@ -937,7 +942,7 @@ internal object TextLayoutManager {
937
942
  )
938
943
  val baseTextAttributes =
939
944
  TextAttributeProps.fromMapBuffer(attributedString.getMapBuffer(AS_KEY_BASE_ATTRIBUTES))
940
- val layout =
945
+ val result =
941
946
  createLayout(
942
947
  text,
943
948
  newPaintWithAttributes(baseTextAttributes, context),
@@ -956,14 +961,21 @@ internal object TextLayoutManager {
956
961
 
957
962
  val verticalOffset =
958
963
  getVerticalOffset(
959
- layout,
964
+ result.layout,
960
965
  paragraphAttributes,
961
966
  height,
962
967
  heightYogaMeasureMode,
963
968
  maximumNumberOfLines,
964
969
  )
965
970
 
966
- return PreparedLayout(layout, maximumNumberOfLines, verticalOffset, reactTags)
971
+ return PreparedLayout(
972
+ result.layout,
973
+ maximumNumberOfLines,
974
+ verticalOffset,
975
+ reactTags,
976
+ result.textBreakStrategy,
977
+ result.justificationMode,
978
+ )
967
979
  }
968
980
 
969
981
  @JvmStatic
@@ -1307,63 +1319,22 @@ internal object TextLayoutManager {
1307
1319
  } else {
1308
1320
  val placeholderWidth = placeholder.width.toFloat()
1309
1321
  val placeholderHeight = placeholder.height.toFloat()
1322
+
1310
1323
  // Calculate if the direction of the placeholder character is Right-To-Left.
1311
1324
  val isRtlChar = layout.isRtlCharAt(start)
1312
1325
  val isRtlParagraph = layout.getParagraphDirection(line) == Layout.DIR_RIGHT_TO_LEFT
1313
- var placeholderLeftPosition: Float
1314
- // There's a bug on Samsung devices where calling getPrimaryHorizontal on
1315
- // the last offset in the layout will result in an endless loop. Work around
1316
- // this bug by avoiding getPrimaryHorizontal in that case.
1317
- if (
1318
- !ReactNativeFeatureFlags.disableOldAndroidAttachmentMetricsWorkarounds() &&
1319
- start == text.length - 1
1320
- ) {
1321
- val endsWithNewLine = text.length > 0 && text[layout.getLineEnd(line) - 1] == '\n'
1322
- val lineWidth = if (endsWithNewLine) layout.getLineMax(line) else layout.getLineWidth(line)
1323
- placeholderLeftPosition =
1324
- if (
1325
- isRtlParagraph // Equivalent to `layout.getLineLeft(line)` but `getLineLeft` returns
1326
- // incorrect
1327
- // values when the paragraph is RTL and `setSingleLine(true)`.
1328
- )
1329
- ( // Equivalent to `layout.getLineLeft(line)` but `getLineLeft` returns
1330
- // incorrect
1331
- // values when the paragraph is RTL and `setSingleLine(true)`.
1332
- calculatedWidth - lineWidth)
1333
- else (layout.getLineRight(line) - placeholderWidth)
1334
- } else {
1335
- // The direction of the paragraph may not be exactly the direction the string is
1336
- // heading
1337
- // in at the
1338
- // position of the placeholder. So, if the direction of the character is the same
1339
- // as the
1340
- // paragraph
1341
- // use primary, secondary otherwise.
1342
- val characterAndParagraphDirectionMatch = isRtlParagraph == isRtlChar
1343
- placeholderLeftPosition =
1344
- if (characterAndParagraphDirectionMatch) layout.getPrimaryHorizontal(start)
1345
- else layout.getSecondaryHorizontal(start)
1346
- if (
1347
- !ReactNativeFeatureFlags.disableOldAndroidAttachmentMetricsWorkarounds() &&
1348
- isRtlParagraph &&
1349
- !isRtlChar
1350
- ) {
1351
- // Adjust `placeholderLeftPosition` to work around an Android bug.
1352
- // The bug is when the paragraph is RTL and `setSingleLine(true)`, some layout
1353
- // methods such as `getPrimaryHorizontal`, `getSecondaryHorizontal`, and
1354
- // `getLineRight` return incorrect values. Their return values seem to be off
1355
- // by the same number of pixels so subtracting these values cancels out the
1356
- // error.
1357
- //
1358
- // The result is equivalent to bugless versions of
1359
- // `getPrimaryHorizontal`/`getSecondaryHorizontal`.
1360
- placeholderLeftPosition =
1361
- calculatedWidth - (layout.getLineRight(line) - placeholderLeftPosition)
1362
- }
1363
- if (isRtlChar) {
1364
- placeholderLeftPosition -= placeholderWidth
1365
- }
1326
+
1327
+ // The direction of the paragraph may not be exactly the direction the string is heading in at
1328
+ // the position of the placeholder. So, if the direction of the character is the same as the
1329
+ // paragraph use primary, secondary otherwise.
1330
+ val characterAndParagraphDirectionMatch = isRtlParagraph == isRtlChar
1331
+ var placeholderLeftPosition =
1332
+ if (characterAndParagraphDirectionMatch) layout.getPrimaryHorizontal(start)
1333
+ else layout.getSecondaryHorizontal(start)
1334
+ if (isRtlChar) {
1335
+ placeholderLeftPosition -= placeholderWidth
1366
1336
  }
1337
+
1367
1338
  // Vertically align the inline view to the baseline of the line of text.
1368
1339
  val placeholderTopPosition = layout.getLineBaseline(line) - placeholderHeight
1369
1340
 
@@ -1414,6 +1385,12 @@ internal object TextLayoutManager {
1414
1385
  BoringLayout.isBoring(text, paint, TextDirectionHeuristics.FIRSTSTRONG_LTR, true, null)
1415
1386
  }
1416
1387
 
1388
+ private class CreateLayoutResult(
1389
+ val layout: Layout,
1390
+ val textBreakStrategy: Int,
1391
+ val justificationMode: Int,
1392
+ )
1393
+
1417
1394
  private class AttachmentMetrics {
1418
1395
  var wasFound: Boolean = false
1419
1396
  var top: Float = 0f
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.views.text.internal.span
9
+
10
+ import android.graphics.Canvas
11
+ import android.text.Layout
12
+ import android.text.style.UpdateAppearance
13
+
14
+ /**
15
+ * May be overriden to implement charater styles which are applied by [PreparedLayoutTextView]
16
+ * during the drawing of text, against the underlying Android canvas
17
+ */
18
+ public abstract class DrawCommandSpan : UpdateAppearance, ReactSpan {
19
+ /**
20
+ * Called before the text is drawn. This happens after the Paragraph component has drawn its
21
+ * background, but may be called before text spans with their own background color are drawn.
22
+ */
23
+ public open fun onPreDraw(start: Int, end: Int, canvas: Canvas, layout: Layout): Unit = Unit
24
+
25
+ /** Called after the text is drawn, including some effects like text shadows */
26
+ public open fun onDraw(start: Int, end: Int, canvas: Canvas, layout: Layout): Unit = Unit
27
+ }
@@ -42,7 +42,7 @@ internal class ReactClickableSpan(val reactTag: Int) : ClickableSpan(), ReactSpa
42
42
 
43
43
  override fun onClick(view: View) {
44
44
  val context = view.context as ReactContext
45
- val eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, reactTag)
45
+ val eventDispatcher = UIManagerHelper.getEventDispatcher(context)
46
46
  eventDispatcher?.dispatchEvent(
47
47
  ViewGroupClickEvent(UIManagerHelper.getSurfaceId(context), reactTag)
48
48
  )
@@ -11,8 +11,10 @@ import android.text.TextPaint
11
11
  import android.text.style.ClickableSpan
12
12
  import android.view.View
13
13
  import com.facebook.react.bridge.ReactContext
14
+ import com.facebook.react.common.annotations.UnstableReactNativeAPI
14
15
  import com.facebook.react.uimanager.UIManagerHelper
15
16
  import com.facebook.react.views.text.PreparedLayoutTextView
17
+ import com.facebook.react.views.text.ReactTextView
16
18
  import com.facebook.react.views.text.TextLayoutManager
17
19
  import com.facebook.react.views.view.ViewGroupClickEvent
18
20
 
@@ -29,13 +31,18 @@ import com.facebook.react.views.view.ViewGroupClickEvent
29
31
  * </Text>
30
32
  * ```
31
33
  */
34
+ @OptIn(UnstableReactNativeAPI::class)
32
35
  internal class ReactLinkSpan(val fragmentIndex: Int) : ClickableSpan(), ReactSpan {
33
36
  override fun onClick(view: View) {
34
37
  val context = view.context as ReactContext
35
- val textView = view as? PreparedLayoutTextView ?: return
36
- val preparedLayout = textView.preparedLayout ?: return
38
+ val preparedLayout =
39
+ when (view) {
40
+ is PreparedLayoutTextView -> view.preparedLayout
41
+ is ReactTextView -> view.preparedLayout
42
+ else -> null
43
+ } ?: return
37
44
  val reactTag = preparedLayout.reactTags[fragmentIndex]
38
- val eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, reactTag)
45
+ val eventDispatcher = UIManagerHelper.getEventDispatcher(context)
39
46
  eventDispatcher?.dispatchEvent(
40
47
  ViewGroupClickEvent(UIManagerHelper.getSurfaceId(context), reactTag)
41
48
  )
@@ -14,7 +14,6 @@ import android.graphics.Canvas
14
14
  import android.graphics.Color
15
15
  import android.graphics.Paint
16
16
  import android.graphics.Rect
17
- import android.graphics.drawable.Drawable
18
17
  import android.os.Build
19
18
  import android.os.Bundle
20
19
  import android.text.Editable
@@ -86,7 +85,6 @@ import com.facebook.react.views.text.internal.span.ReactSpan
86
85
  import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan
87
86
  import com.facebook.react.views.text.internal.span.ReactTextPaintHolderSpan
88
87
  import com.facebook.react.views.text.internal.span.ReactUnderlineSpan
89
- import com.facebook.react.views.text.internal.span.TextInlineImageSpan
90
88
  import java.util.concurrent.CopyOnWriteArrayList
91
89
  import kotlin.math.max
92
90
  import kotlin.math.min
@@ -119,7 +117,6 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
119
117
  private var listeners: CopyOnWriteArrayList<TextWatcher>?
120
118
 
121
119
  public var stagedInputType: Int
122
- protected var containsImages: Boolean = false
123
120
  public var submitBehavior: String? = null
124
121
  public var dragAndDropFilter: List<String>? = null
125
122
 
@@ -674,13 +671,13 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
674
671
 
675
672
  public fun incrementAndGetEventCounter(): Int = ++nativeEventCount
676
673
 
677
- public fun maybeSetTextFromJS(reactTextUpdate: ReactTextUpdate) {
674
+ internal fun maybeSetTextFromJS(reactTextUpdate: ReactTextUpdate) {
678
675
  isSettingTextFromJS = true
679
676
  maybeSetText(reactTextUpdate)
680
677
  isSettingTextFromJS = false
681
678
  }
682
679
 
683
- public fun maybeSetTextFromState(reactTextUpdate: ReactTextUpdate) {
680
+ internal fun maybeSetTextFromState(reactTextUpdate: ReactTextUpdate) {
684
681
  isSettingTextFromState = true
685
682
  maybeSetText(reactTextUpdate)
686
683
  isSettingTextFromState = false
@@ -714,9 +711,6 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
714
711
  manageSpans(spannableStringBuilder)
715
712
  stripStyleEquivalentSpans(spannableStringBuilder)
716
713
 
717
- @Suppress("DEPRECATION")
718
- containsImages = reactTextUpdate.containsImages()
719
-
720
714
  // When we update text, we trigger onChangeText code that will
721
715
  // try to update state if the wrapper is available. Temporarily disable
722
716
  // to prevent an (asynchronous) infinite loop.
@@ -981,54 +975,6 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
981
975
  }
982
976
  }
983
977
 
984
- override fun verifyDrawable(drawable: Drawable): Boolean {
985
- if (containsImages) {
986
- val text: Spanned? = text
987
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
988
- for (span in spans) {
989
- if (span.drawable === drawable) {
990
- return true
991
- }
992
- }
993
- }
994
- return super.verifyDrawable(drawable)
995
- }
996
-
997
- override fun invalidateDrawable(drawable: Drawable) {
998
- if (containsImages) {
999
- val text: Spanned? = text
1000
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
1001
- for (span in spans) {
1002
- if (span.drawable === drawable) {
1003
- invalidate()
1004
- }
1005
- }
1006
- }
1007
- super.invalidateDrawable(drawable)
1008
- }
1009
-
1010
- public override fun onDetachedFromWindow() {
1011
- super.onDetachedFromWindow()
1012
- if (containsImages) {
1013
- val text: Spanned? = text
1014
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
1015
- for (span in spans) {
1016
- span.onDetachedFromWindow()
1017
- }
1018
- }
1019
- }
1020
-
1021
- override fun onStartTemporaryDetach() {
1022
- super.onStartTemporaryDetach()
1023
- if (containsImages) {
1024
- val text: Spanned? = text
1025
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
1026
- for (span in spans) {
1027
- span.onStartTemporaryDetach()
1028
- }
1029
- }
1030
- }
1031
-
1032
978
  public override fun onConfigurationChanged(newConfig: Configuration) {
1033
979
  super.onConfigurationChanged(newConfig)
1034
980
 
@@ -1054,14 +1000,6 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
1054
1000
  // Restore the selection since `setTextIsSelectable` changed it.
1055
1001
  maybeSetSelection(selectionStart, selectionEnd)
1056
1002
 
1057
- if (containsImages) {
1058
- val text: Spanned? = text
1059
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
1060
- for (span in spans) {
1061
- span.onAttachedToWindow()
1062
- }
1063
- }
1064
-
1065
1003
  if (autoFocus && !didAttachToWindow) {
1066
1004
  requestFocusProgrammatically()
1067
1005
  }
@@ -1069,17 +1007,6 @@ public open class ReactEditText public constructor(context: Context) : AppCompat
1069
1007
  didAttachToWindow = true
1070
1008
  }
1071
1009
 
1072
- override fun onFinishTemporaryDetach() {
1073
- super.onFinishTemporaryDetach()
1074
- if (containsImages) {
1075
- val text: Spanned? = text
1076
- val spans = checkNotNull(text).getSpans(0, text.length, TextInlineImageSpan::class.java)
1077
- for (span in spans) {
1078
- span.onFinishTemporaryDetach()
1079
- }
1080
- }
1081
- }
1082
-
1083
1010
  override fun setBackgroundColor(color: Int) {
1084
1011
  setBackgroundColor(this, color)
1085
1012
  }
@@ -17,6 +17,8 @@ internal class ReactTextChangedEvent(
17
17
  viewId: Int,
18
18
  private val text: String,
19
19
  private val eventCount: Int,
20
+ private val selectionStart: Int,
21
+ private val selectionEnd: Int,
20
22
  ) : Event<ReactTextChangedEvent>(surfaceId, viewId) {
21
23
  override fun getEventName(): String = EVENT_NAME
22
24
 
@@ -25,6 +27,12 @@ internal class ReactTextChangedEvent(
25
27
  putString("text", text)
26
28
  putInt("eventCount", eventCount)
27
29
  putInt("target", viewTag)
30
+ val selectionData =
31
+ Arguments.createMap().apply {
32
+ putInt("start", selectionStart)
33
+ putInt("end", selectionEnd)
34
+ }
35
+ putMap("selection", selectionData)
28
36
  }
29
37
  }
30
38
 
@@ -20,7 +20,7 @@ internal class ReactTextContentSizeWatcher(private val editText: ReactEditText)
20
20
 
21
21
  init {
22
22
  val reactContext = UIManagerHelper.getReactContext(editText)
23
- eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
23
+ eventDispatcher = UIManagerHelper.getEventDispatcher(reactContext)
24
24
  surfaceId = UIManagerHelper.getSurfaceId(reactContext)
25
25
  }
26
26
 
@@ -66,14 +66,12 @@ import com.facebook.react.views.scroll.ScrollEventType.Companion.getJSEventName
66
66
  import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColor
67
67
  import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorHighlight
68
68
  import com.facebook.react.views.text.DefaultStyleValuesUtil.getDefaultTextColorHint
69
- import com.facebook.react.views.text.ReactBaseTextShadowNode
70
69
  import com.facebook.react.views.text.ReactTextUpdate
71
70
  import com.facebook.react.views.text.ReactTextUpdate.Companion.buildReactTextUpdateFromState
72
71
  import com.facebook.react.views.text.ReactTextViewManagerCallback
73
72
  import com.facebook.react.views.text.ReactTypefaceUtils.parseFontVariant
74
73
  import com.facebook.react.views.text.TextAttributeProps
75
74
  import com.facebook.react.views.text.TextLayoutManager
76
- import com.facebook.react.views.text.internal.span.TextInlineImageSpan.Companion.possiblyUpdateInlineImageSpans
77
75
  import java.util.LinkedList
78
76
 
79
77
  /** Manages instances of TextInput. */
@@ -101,14 +99,13 @@ public open class ReactTextInputManager public constructor() :
101
99
  return editText
102
100
  }
103
101
 
104
- override fun createShadowNodeInstance(): ReactBaseTextShadowNode = ReactTextInputShadowNode()
102
+ override fun createShadowNodeInstance(): LayoutShadowNode = LayoutShadowNode()
105
103
 
106
104
  public fun createShadowNodeInstance(
107
105
  reactTextViewManagerCallback: ReactTextViewManagerCallback?
108
- ): ReactBaseTextShadowNode = ReactTextInputShadowNode(reactTextViewManagerCallback)
106
+ ): LayoutShadowNode = LayoutShadowNode()
109
107
 
110
- override fun getShadowNodeClass(): Class<out LayoutShadowNode> =
111
- ReactTextInputShadowNode::class.java
108
+ override fun getShadowNodeClass(): Class<out LayoutShadowNode> = LayoutShadowNode::class.java
112
109
 
113
110
  override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
114
111
  val baseEventTypeConstants = super.getExportedCustomBubblingEventTypeConstants()
@@ -195,11 +192,6 @@ public open class ReactTextInputManager public constructor() :
195
192
  return ReactTextUpdate(
196
193
  sb,
197
194
  mostRecentEventCount,
198
- false,
199
- 0f,
200
- 0f,
201
- 0f,
202
- 0f,
203
195
  Gravity.NO_GRAVITY,
204
196
  0,
205
197
  0,
@@ -208,31 +200,6 @@ public open class ReactTextInputManager public constructor() :
208
200
 
209
201
  override fun updateExtraData(view: ReactEditText, extraData: Any) {
210
202
  if (extraData is ReactTextUpdate) {
211
- // TODO T58784068: delete this block of code, these are always unset in Fabric
212
- val paddingLeft = extraData.paddingLeft.toInt()
213
- val paddingTop = extraData.paddingTop.toInt()
214
- val paddingRight = extraData.paddingRight.toInt()
215
- val paddingBottom = extraData.paddingBottom.toInt()
216
- if (
217
- paddingLeft != UNSET ||
218
- paddingTop != UNSET ||
219
- paddingRight != UNSET ||
220
- paddingBottom != UNSET
221
- ) {
222
- view.setPadding(
223
- if (paddingLeft != UNSET) paddingLeft else view.paddingLeft,
224
- if (paddingTop != UNSET) paddingTop else view.paddingTop,
225
- if (paddingRight != UNSET) paddingRight else view.paddingRight,
226
- if (paddingBottom != UNSET) paddingBottom else view.paddingBottom,
227
- )
228
- }
229
-
230
- @Suppress("DEPRECATION")
231
- if (extraData.containsImages()) {
232
- val spannable = extraData.text
233
- possiblyUpdateInlineImageSpans(spannable, view)
234
- }
235
-
236
203
  // Ensure that selection is handled correctly on text update
237
204
  val isCurrentSelectionEmpty = view.selectionStart == view.selectionEnd
238
205
  var selectionStart = UNSET
@@ -357,7 +324,7 @@ public open class ReactTextInputManager public constructor() :
357
324
  }
358
325
 
359
326
  // Sets the letter spacing as an absolute point size.
360
- // This extra handling, on top of what ReactBaseTextShadowNode already does, is required for the
327
+ // This extra handling is required for the
361
328
  // correct display of spacing in placeholder (hint) text.
362
329
  @ReactProp(name = ViewProps.LETTER_SPACING, defaultFloat = 0f)
363
330
  public fun setLetterSpacing(view: ReactEditText, letterSpacing: Float) {
@@ -1184,6 +1151,6 @@ public open class ReactTextInputManager public constructor() :
1184
1151
  private fun getEventDispatcher(
1185
1152
  reactContext: ReactContext,
1186
1153
  editText: ReactEditText,
1187
- ): EventDispatcher? = UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
1154
+ ): EventDispatcher? = UIManagerHelper.getEventDispatcher(reactContext)
1188
1155
  }
1189
1156
  }
@@ -19,8 +19,7 @@ internal class ReactTextInputTextWatcher(
19
19
  reactContext: ReactContext,
20
20
  private val editText: ReactEditText,
21
21
  ) : TextWatcher {
22
- private val eventDispatcher: EventDispatcher? =
23
- UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
22
+ private val eventDispatcher: EventDispatcher? = UIManagerHelper.getEventDispatcher(reactContext)
24
23
  private val surfaceId = UIManagerHelper.getSurfaceId(reactContext)
25
24
  private var previousText: String? = null
26
25
 
@@ -63,6 +62,8 @@ internal class ReactTextInputTextWatcher(
63
62
  editText.id,
64
63
  s.toString(),
65
64
  editText.incrementAndGetEventCounter(),
65
+ editText.selectionStart,
66
+ editText.selectionEnd,
66
67
  )
67
68
  )
68
69
  }
@@ -20,7 +20,7 @@ internal class ReactTextScrollWatcher(private val editText: ReactEditText) : Scr
20
20
 
21
21
  init {
22
22
  val reactContext = UIManagerHelper.getReactContext(editText)
23
- eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
23
+ eventDispatcher = UIManagerHelper.getEventDispatcher(reactContext)
24
24
  surfaceId = UIManagerHelper.getSurfaceId(reactContext)
25
25
  }
26
26
 
@@ -20,7 +20,7 @@ internal class ReactTextSelectionWatcher(private val editText: ReactEditText) :
20
20
 
21
21
  init {
22
22
  val reactContext = UIManagerHelper.getReactContext(editText)
23
- eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, editText.id)
23
+ eventDispatcher = UIManagerHelper.getEventDispatcher(reactContext)
24
24
  surfaceId = UIManagerHelper.getSurfaceId(reactContext)
25
25
  }
26
26