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
@@ -16,22 +16,22 @@ export interface EventSubscription {
16
16
  }
17
17
 
18
18
  export interface IEventEmitter<
19
- TEventToArgsMap: $ReadOnly<Record<string, $ReadOnlyArray<UnsafeEventObject>>>,
19
+ TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
20
20
  > {
21
- addListener<TEvent: $Keys<TEventToArgsMap>>(
21
+ addListener<TEvent: keyof TEventToArgsMap>(
22
22
  eventType: TEvent,
23
23
  listener: (...args: TEventToArgsMap[TEvent]) => unknown,
24
24
  context?: unknown,
25
25
  ): EventSubscription;
26
26
 
27
- emit<TEvent: $Keys<TEventToArgsMap>>(
27
+ emit<TEvent: keyof TEventToArgsMap>(
28
28
  eventType: TEvent,
29
29
  ...args: TEventToArgsMap[TEvent]
30
30
  ): void;
31
31
 
32
- removeAllListeners<TEvent: $Keys<TEventToArgsMap>>(eventType?: ?TEvent): void;
32
+ removeAllListeners<TEvent: keyof TEventToArgsMap>(eventType?: ?TEvent): void;
33
33
 
34
- listenerCount<TEvent: $Keys<TEventToArgsMap>>(eventType: TEvent): number;
34
+ listenerCount<TEvent: keyof TEventToArgsMap>(eventType: TEvent): number;
35
35
  }
36
36
 
37
37
  interface Registration<TArgs> {
@@ -41,7 +41,7 @@ interface Registration<TArgs> {
41
41
  }
42
42
 
43
43
  type Registry<
44
- TEventToArgsMap: $ReadOnly<Record<string, $ReadOnlyArray<UnsafeEventObject>>>,
44
+ TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
45
45
  > = {
46
46
  [K in keyof TEventToArgsMap]: Set<Registration<TEventToArgsMap[K]>>,
47
47
  };
@@ -67,9 +67,9 @@ type Registry<
67
67
  *
68
68
  */
69
69
  export default class EventEmitter<
70
- TEventToArgsMap: $ReadOnly<
71
- Record<string, $ReadOnlyArray<UnsafeEventObject>>,
72
- > = $ReadOnly<Record<string, $ReadOnlyArray<UnsafeEventObject>>>,
70
+ TEventToArgsMap: Readonly<
71
+ Record<string, ReadonlyArray<UnsafeEventObject>>,
72
+ > = Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
73
73
  > implements IEventEmitter<TEventToArgsMap>
74
74
  {
75
75
  #registry: Registry<TEventToArgsMap>;
@@ -83,7 +83,7 @@ export default class EventEmitter<
83
83
  * Registers a listener that is called when the supplied event is emitted.
84
84
  * Returns a subscription that has a `remove` method to undo registration.
85
85
  */
86
- addListener<TEvent: $Keys<TEventToArgsMap>>(
86
+ addListener<TEvent: keyof TEventToArgsMap>(
87
87
  eventType: TEvent,
88
88
  listener: (...args: TEventToArgsMap[TEvent]) => unknown,
89
89
  context: unknown,
@@ -95,7 +95,7 @@ export default class EventEmitter<
95
95
  }
96
96
  const registrations = allocate<
97
97
  TEventToArgsMap,
98
- $Keys<TEventToArgsMap>,
98
+ keyof TEventToArgsMap,
99
99
  TEventToArgsMap[TEvent],
100
100
  >(this.#registry, eventType);
101
101
  const registration: Registration<TEventToArgsMap[TEvent]> = {
@@ -116,7 +116,7 @@ export default class EventEmitter<
116
116
  * If a listener modifies the listeners registered for the same event, those
117
117
  * changes will not be reflected in the current invocation of `emit`.
118
118
  */
119
- emit<TEvent: $Keys<TEventToArgsMap>>(
119
+ emit<TEvent: keyof TEventToArgsMap>(
120
120
  eventType: TEvent,
121
121
  ...args: TEventToArgsMap[TEvent]
122
122
  ): void {
@@ -126,7 +126,6 @@ export default class EventEmitter<
126
126
  // Copy `registrations` to take a snapshot when we invoke `emit`, in case
127
127
  // registrations are added or removed when listeners are invoked.
128
128
  for (const registration of Array.from(registrations)) {
129
- // $FlowFixMe[incompatible-type]
130
129
  registration.listener.apply(registration.context, args);
131
130
  }
132
131
  }
@@ -135,9 +134,7 @@ export default class EventEmitter<
135
134
  /**
136
135
  * Removes all registered listeners.
137
136
  */
138
- removeAllListeners<TEvent: $Keys<TEventToArgsMap>>(
139
- eventType?: ?TEvent,
140
- ): void {
137
+ removeAllListeners<TEvent: keyof TEventToArgsMap>(eventType?: ?TEvent): void {
141
138
  if (eventType == null) {
142
139
  // $FlowFixMe[incompatible-type]
143
140
  this.#registry = {};
@@ -149,7 +146,7 @@ export default class EventEmitter<
149
146
  /**
150
147
  * Returns the number of registered listeners for the supplied event.
151
148
  */
152
- listenerCount<TEvent: $Keys<TEventToArgsMap>>(eventType: TEvent): number {
149
+ listenerCount<TEvent: keyof TEventToArgsMap>(eventType: TEvent): number {
153
150
  const registrations: ?Set<Registration<TEventToArgsMap[TEvent]>> =
154
151
  this.#registry[eventType];
155
152
  return registrations == null ? 0 : registrations.size;
@@ -157,9 +154,8 @@ export default class EventEmitter<
157
154
  }
158
155
 
159
156
  function allocate<
160
- TEventToArgsMap: $ReadOnly<Record<string, $ReadOnlyArray<UnsafeEventObject>>>,
161
- TEvent: $Keys<TEventToArgsMap>,
162
- TEventArgs: TEventToArgsMap[TEvent],
157
+ TEventToArgsMap: Readonly<Record<string, ReadonlyArray<UnsafeEventObject>>>,
158
+ TEvent: keyof TEventToArgsMap,
163
159
  >(
164
160
  registry: Registry<TEventToArgsMap>,
165
161
  eventType: TEvent,
package/README.md CHANGED
@@ -262,6 +262,58 @@ class Game2048 extends React.Component {
262
262
 
263
263
  - _TVTextScrollView_: On Apple TV, a ScrollView will not scroll unless there are focusable items inside it or above/below it. This component works on both Apple TV and Android TV, using native code to allow scrolling using swipe gestures from the remote control.
264
264
 
265
+ - _ScrollView snap alignment_: The existing `snapToAlignment` prop has been extended with a new `'item'` value that enables per-item snap alignment on TV. Instead of snapping all items uniformly to `'start'`, `'center'`, or `'end'`, each child can specify its own alignment via the `scrollSnapAlign` View prop. Optional padding can be applied with `snapToItemPadding` on the ScrollView.
266
+
267
+ | Prop (ScrollView) | Value | Description |
268
+ |---|---|---|
269
+ | snapToAlignment | `'item'` | Enables per-item snap alignment (TV only). Requires `snapToInterval` to be set. |
270
+ | snapToItemPadding | number? | Extra padding (in dp/pt) applied around items when snapping. Only used with `snapToAlignment="item"`. |
271
+
272
+ | Prop (View) | Value | Description |
273
+ |---|---|---|
274
+ | scrollSnapAlign | `'start'` \| `'center'` \| `'end'` | Controls where this item snaps inside its parent ScrollView. Only used when the parent has `snapToAlignment="item"`. |
275
+
276
+ ```jsx
277
+ <ScrollView
278
+ horizontal
279
+ snapToInterval={300}
280
+ snapToAlignment="item"
281
+ snapToItemPadding={20}>
282
+ <Pressable scrollSnapAlign="start" style={{width: 300}}>
283
+ <Text>Snaps to start</Text>
284
+ </Pressable>
285
+ <Pressable scrollSnapAlign="center" style={{width: 200}}>
286
+ <Text>Snaps to center</Text>
287
+ </Pressable>
288
+ <Pressable scrollSnapAlign="end" style={{width: 300}}>
289
+ <Text>Snaps to end</Text>
290
+ </Pressable>
291
+ </ScrollView>
292
+ ```
293
+
294
+ - _ScrollView animation control_: The `scrollAnimationEnabled` prop allows disabling scroll animations when focus changes on TV. When set to `false`, the scroll view jumps instantly to the focused item instead of animating. This only affects TV platforms and has no effect on mobile.
295
+
296
+ | Prop (ScrollView) | Value | Description |
297
+ |---|---|---|
298
+ | scrollAnimationEnabled | boolean? | When `false`, disables animated scrolling on focus change. Defaults to `true`. TV only. |
299
+
300
+ ```jsx
301
+ <ScrollView horizontal scrollAnimationEnabled={false}>
302
+ <Pressable style={{width: 300}}><Text>Item 1</Text></Pressable>
303
+ <Pressable style={{width: 300}}><Text>Item 2</Text></Pressable>
304
+ <Pressable style={{width: 300}}><Text>Item 3</Text></Pressable>
305
+ </ScrollView>
306
+ ```
307
+
308
+ - _Interaction with existing ScrollView props_: The TV scroll props build on top of existing React Native ScrollView behavior. Here is how they interact:
309
+
310
+ - `snapToAlignment="item"` does not require `snapToInterval` to be set. It works as a standalone snapping mode where each child's `scrollSnapAlign` determines the snap position. If `snapToInterval` is also set, the interval is applied as an additional constraint after the item offset is computed.
311
+ - `snapToAlignment="item"` should not be combined with `pagingEnabled`. Both attempt to control scroll positioning independently, which leads to unpredictable behavior. Use one or the other.
312
+ - `snapToStart` and `snapToEnd` work independently of `snapToAlignment="item"`. They control edge behavior during swipe/drag momentum (whether the scroll view snaps to the first or last position), but do not affect focus driven item snapping.
313
+ - `scrollAnimationEnabled={false}` disables all scroll animations, including programmatic `scrollTo({animated: true})` calls. When disabled, all scrolling is instant.
314
+ - `decelerationRate` has no effect when `scrollAnimationEnabled={false}`, since there is no animation to decelerate.
315
+ - `scrollAnimationEnabled` and `snapToAlignment="item"` work well together. Snapping still occurs, but instantly instead of animated.
316
+
265
317
  - _VirtualizedList_: We extend `VirtualizedList` to make virtualization work well with focus management in mind. All of the improvements that we made are automatically available to all the VirtualizedList based components such as `FlatList`.
266
318
  - Defaults: VirtualizeList contents are automatically wrapped with a `TVFocusGuideView` with `trapFocus*` properties enabled depending on the orientation of the list. This default makes sure that focus doesn't leave the list accidentally due to a virtualization issue etc. until reaching the beginning or the end of the list.
267
319
  - New Props:
@@ -583,7 +583,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init)
583
583
  }
584
584
  return strongSelf->_inspectorTarget->connect(std::move(remote));
585
585
  },
586
- {.nativePageReloads = true, .prefersFuseboxFrontend = true});
586
+ {.nativePageReloads = true});
587
587
  }
588
588
 
589
589
  Class bridgeClass = self.bridgeClass;
@@ -10,6 +10,7 @@
10
10
  #import "RCTConstants.h"
11
11
  #import "RCTConvert.h"
12
12
  #import "RCTDefines.h"
13
+ #import "RCTDevSupportHttpHeaders.h"
13
14
  #import "RCTLog.h"
14
15
 
15
16
  #import <jsinspector-modern/InspectorFlags.h>
@@ -30,6 +31,8 @@ static NSString *const kRCTJsLocationKey = @"RCT_jsLocation";
30
31
  static NSString *const kRCTEnableDevKey = @"RCT_enableDev";
31
32
  static NSString *const kRCTEnableMinificationKey = @"RCT_enableMinification";
32
33
  static NSString *const kRCTInlineSourceMapKey = @"RCT_inlineSourceMap";
34
+ static const NSTimeInterval kRCTPackagerStatusRequestTimeout = 6;
35
+ static const NSTimeInterval kRCTPackagerStatusRequestTimeoutGraceTime = 2;
33
36
 
34
37
  @implementation RCTBundleURLProvider
35
38
 
@@ -93,23 +96,41 @@ static NSURL *serverRootWithHostPort(NSString *hostPort, NSString *scheme)
93
96
  NSURL *url = [serverRootWithHostPort(hostPort, scheme) URLByAppendingPathComponent:@"status"];
94
97
 
95
98
  NSURLSession *session = [NSURLSession sharedSession];
96
- NSURLRequest *request = [NSURLRequest requestWithURL:url
97
- cachePolicy:NSURLRequestUseProtocolCachePolicy
98
- timeoutInterval:10];
99
+ NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
100
+ cachePolicy:NSURLRequestUseProtocolCachePolicy
101
+ timeoutInterval:kRCTPackagerStatusRequestTimeout];
102
+ [[RCTDevSupportHttpHeaders sharedInstance] applyHeadersToRequest:request];
99
103
  __block NSURLResponse *response;
100
104
  __block NSData *data;
101
105
 
106
+ __block BOOL isRunning = NO;
102
107
  dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
103
108
  [[session dataTaskWithRequest:request
104
- completionHandler:^(NSData *d, NSURLResponse *res, __unused NSError *err) {
109
+ completionHandler:^(NSData *d, NSURLResponse *res, NSError *err) {
105
110
  data = d;
106
111
  response = res;
112
+ NSString *status = [[NSString alloc] initWithData:d encoding:NSUTF8StringEncoding];
113
+ isRunning = [status isEqualToString:@"packager-status:running"];
114
+ if (!isRunning) {
115
+ RCTLogWarn(
116
+ @"Packager status check returned unexpected result for %@: %@, error: %@", url, status, err);
117
+ }
107
118
  dispatch_semaphore_signal(semaphore);
108
119
  }] resume];
109
- dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
110
-
111
- NSString *status = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
112
- return [status isEqualToString:@"packager-status:running"];
120
+ long result = dispatch_semaphore_wait(
121
+ semaphore,
122
+ dispatch_time(
123
+ DISPATCH_TIME_NOW,
124
+ (int64_t)((kRCTPackagerStatusRequestTimeout +
125
+ // The request timeout does not cover all phases of the request (e.g. DNS resolution),
126
+ // so the actual request might take slightly longer than the configured timeout.
127
+ kRCTPackagerStatusRequestTimeoutGraceTime) *
128
+ NSEC_PER_SEC)));
129
+ if (result != 0) {
130
+ RCTLogWarn(@"Packager status check timed out for %@", url);
131
+ return NO;
132
+ }
133
+ return isRunning;
113
134
  }
114
135
 
115
136
  - (NSString *)guessPackagerHost
@@ -461,24 +461,7 @@ RCT_MULTI_ENUM_CONVERTER(
461
461
  }),
462
462
  UIDataDetectorTypePhoneNumber,
463
463
  unsignedLongLongValue)
464
-
465
- RCT_MULTI_ENUM_CONVERTER(
466
- WKDataDetectorTypes,
467
- (@{
468
- @"phoneNumber" : @(WKDataDetectorTypePhoneNumber),
469
- @"link" : @(WKDataDetectorTypeLink),
470
- @"address" : @(WKDataDetectorTypeAddress),
471
- @"calendarEvent" : @(WKDataDetectorTypeCalendarEvent),
472
- @"trackingNumber" : @(WKDataDetectorTypeTrackingNumber),
473
- @"flightNumber" : @(WKDataDetectorTypeFlightNumber),
474
- @"lookupSuggestion" : @(WKDataDetectorTypeLookupSuggestion),
475
- @"none" : @(WKDataDetectorTypeNone),
476
- @"all" : @(WKDataDetectorTypeAll),
477
- }),
478
- WKDataDetectorTypePhoneNumber,
479
- unsignedLongLongValue)
480
-
481
- #endif // !TARGET_OS_TV
464
+ #endif
482
465
 
483
466
  RCT_ENUM_CONVERTER(
484
467
  UIKeyboardAppearance,
@@ -538,6 +521,8 @@ RCT_ENUM_CONVERTER(
538
521
  @"fullScreen" : @(UIModalPresentationFullScreen),
539
522
  #if !TARGET_OS_TV
540
523
  @"pageSheet" : @(UIModalPresentationPageSheet),
524
+ #endif
525
+ #if !TARGET_OS_TV || __TV_OS_VERSION_MIN_REQUIRED >= 260000
541
526
  @"formSheet" : @(UIModalPresentationFormSheet),
542
527
  #endif
543
528
  @"overFullScreen" : @(UIModalPresentationOverFullScreen),
@@ -95,14 +95,6 @@
95
95
  #define RCT_DEV_MENU RCT_DEV
96
96
  #endif
97
97
 
98
- #ifndef RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION
99
- #if RCT_DEV && (__has_include("RCTPackagerConnection.h") || __has_include(<React/RCTPackagerConnection.h>))
100
- #define RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION 1
101
- #else
102
- #define RCT_DEV_SETTINGS_ENABLE_PACKAGER_CONNECTION 0
103
- #endif
104
- #endif
105
-
106
98
  #if RCT_DEV
107
99
  #define RCT_IF_DEV(...) __VA_ARGS__
108
100
  #else
@@ -175,3 +167,10 @@
175
167
  @throw _RCTNotImplementedException(_cmd, [self class]); \
176
168
  } \
177
169
  _Pragma("clang diagnostic pop")
170
+
171
+ /**
172
+ * Import system color support for all platforms
173
+ */
174
+ #if __OBJC__
175
+ #import "RCTTVColorSupport.h"
176
+ #endif
@@ -0,0 +1,24 @@
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
+ #import <Foundation/Foundation.h>
9
+
10
+ /**
11
+ * Thread-safe singleton that holds custom HTTP headers to be applied
12
+ * to all devsupport network requests (bundle fetches, packager status
13
+ * checks, inspector and HMR WebSocket connections).
14
+ */
15
+ @interface RCTDevSupportHttpHeaders : NSObject
16
+
17
+ + (instancetype)sharedInstance;
18
+
19
+ - (void)addRequestHeader:(NSString *)name value:(NSString *)value;
20
+ - (void)removeRequestHeader:(NSString *)name;
21
+ - (NSDictionary<NSString *, NSString *> *)allHeaders;
22
+ - (void)applyHeadersToRequest:(NSMutableURLRequest *)request;
23
+
24
+ @end
@@ -0,0 +1,65 @@
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
+ #import "RCTDevSupportHttpHeaders.h"
9
+
10
+ @implementation RCTDevSupportHttpHeaders {
11
+ NSMutableDictionary<NSString *, NSString *> *_headers;
12
+ dispatch_queue_t _queue;
13
+ }
14
+
15
+ + (instancetype)sharedInstance
16
+ {
17
+ static RCTDevSupportHttpHeaders *sharedInstance;
18
+ static dispatch_once_t onceToken;
19
+ dispatch_once(&onceToken, ^{
20
+ sharedInstance = [[RCTDevSupportHttpHeaders alloc] init];
21
+ });
22
+ return sharedInstance;
23
+ }
24
+
25
+ - (instancetype)init
26
+ {
27
+ if (self = [super init]) {
28
+ _headers = [NSMutableDictionary new];
29
+ _queue = dispatch_queue_create("com.facebook.react.RCTDevSupportHttpHeaders", DISPATCH_QUEUE_SERIAL);
30
+ }
31
+ return self;
32
+ }
33
+
34
+ - (void)addRequestHeader:(NSString *)name value:(NSString *)value
35
+ {
36
+ dispatch_sync(_queue, ^{
37
+ self->_headers[name] = value;
38
+ });
39
+ }
40
+
41
+ - (void)removeRequestHeader:(NSString *)name
42
+ {
43
+ dispatch_sync(_queue, ^{
44
+ [self->_headers removeObjectForKey:name];
45
+ });
46
+ }
47
+
48
+ - (NSDictionary<NSString *, NSString *> *)allHeaders
49
+ {
50
+ __block NSDictionary<NSString *, NSString *> *snapshot;
51
+ dispatch_sync(_queue, ^{
52
+ snapshot = [self->_headers copy];
53
+ });
54
+ return snapshot;
55
+ }
56
+
57
+ - (void)applyHeadersToRequest:(NSMutableURLRequest *)request
58
+ {
59
+ NSDictionary<NSString *, NSString *> *headers = [self allHeaders];
60
+ [headers enumerateKeysAndObjectsUsingBlock:^(NSString *headerName, NSString *headerValue, BOOL *stop) {
61
+ [request setValue:headerValue forHTTPHeaderField:headerName];
62
+ }];
63
+ }
64
+
65
+ @end
@@ -33,6 +33,7 @@ NS_ENUM(NSInteger){
33
33
  @property (nonatomic, copy) NSString *status;
34
34
  @property (strong, nonatomic) NSNumber *done;
35
35
  @property (strong, nonatomic) NSNumber *total;
36
+ @property (strong, nonatomic) NSNumber *percent;
36
37
 
37
38
  @end
38
39
 
@@ -53,8 +53,9 @@ static RCTSource *RCTSourceCreate(NSURL *url, NSData *data, int64_t length) NS_R
53
53
  {
54
54
  NSMutableString *desc = [NSMutableString new];
55
55
  [desc appendString:_status ?: @"Bundling"];
56
-
57
- if ([_total integerValue] > 0 && [_done integerValue] > [_total integerValue]) {
56
+ if (_percent != nil) {
57
+ [desc appendFormat:@" %ld%%", (long)[_percent integerValue]];
58
+ } else if ([_total integerValue] > 0 && [_done integerValue] > [_total integerValue]) {
58
59
  [desc appendFormat:@" %ld%%", (long)100];
59
60
  } else if ([_total integerValue] > 0) {
60
61
  [desc appendFormat:@" %ld%%", (long)(100 * [_done integerValue] / [_total integerValue])];
@@ -348,6 +349,9 @@ static RCTLoadingProgress *progressEventFromData(NSData *rawData)
348
349
  progress.status = info[@"status"];
349
350
  progress.done = info[@"done"];
350
351
  progress.total = info[@"total"];
352
+ if (info[@"percent"] != nil) {
353
+ progress.percent = info[@"percent"];
354
+ }
351
355
  return progress;
352
356
  }
353
357
 
@@ -7,6 +7,7 @@
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
9
 
10
+ #import <React/RCTDefines.h>
10
11
  #import <React/RCTMultipartStreamReader.h>
11
12
 
12
13
  typedef void (^RCTMultipartDataTaskCallback)(
@@ -16,6 +17,14 @@ typedef void (^RCTMultipartDataTaskCallback)(
16
17
  NSError *error,
17
18
  BOOL done);
18
19
 
20
+ typedef NSURLRequest * _Nullable (^RCTMultipartDataTaskRequestInterceptor)(NSURLRequest *request);
21
+ /**
22
+ * The block provided via this function can inspect/modify multipart data task
23
+ * requests before they are sent. Return a modified request to override, or nil
24
+ * to use the original request unchanged.
25
+ */
26
+ RCT_EXTERN void RCTSetCustomMultipartDataTaskRequestInterceptor(RCTMultipartDataTaskRequestInterceptor /*interceptor*/);
27
+
19
28
  @interface RCTMultipartDataTask : NSObject
20
29
 
21
30
  - (instancetype)initWithURL:(NSURL *)url
@@ -7,6 +7,15 @@
7
7
 
8
8
  #import "RCTMultipartDataTask.h"
9
9
 
10
+ static RCTMultipartDataTaskRequestInterceptor multipartRequestInterceptor;
11
+
12
+ void RCTSetCustomMultipartDataTaskRequestInterceptor(RCTMultipartDataTaskRequestInterceptor interceptor)
13
+ {
14
+ multipartRequestInterceptor = interceptor;
15
+ }
16
+
17
+ #import "RCTDevSupportHttpHeaders.h"
18
+
10
19
  @interface RCTMultipartDataTask () <NSURLSessionDataDelegate, NSURLSessionDataDelegate>
11
20
 
12
21
  @end
@@ -40,7 +49,16 @@
40
49
  delegateQueue:nil];
41
50
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_url];
42
51
  [request addValue:@"multipart/mixed" forHTTPHeaderField:@"Accept"];
43
- NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request];
52
+ [[RCTDevSupportHttpHeaders sharedInstance] applyHeadersToRequest:request];
53
+ NSURLRequest *finalRequest = request;
54
+ if (multipartRequestInterceptor != nil) {
55
+ NSURLRequest *intercepted = multipartRequestInterceptor(request);
56
+ if (intercepted != nil) {
57
+ finalRequest = intercepted;
58
+ }
59
+ }
60
+ NSLog(@"[RCTMultipartDataTask] %@ %@", finalRequest.HTTPMethod ?: @"GET", finalRequest.URL.absoluteString);
61
+ NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:finalRequest];
44
62
  [dataTask resume];
45
63
  [session finishTasksAndInvalidate];
46
64
  }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * This source code is licensed under the MIT license found in the
3
+ * LICENSE file in the root directory of this source tree.
4
+ */
5
+
6
+ #import <UIKit/UIKit.h>
7
+
8
+ /**
9
+ * Category on UIColor providing systemBackgroundColor for all platforms.
10
+ * On tvOS, provides a custom implementation since systemBackgroundColor is not available.
11
+ * On other platforms, returns the system's systemBackgroundColor.
12
+ */
13
+ @interface UIColor (RNTVSystemColors)
14
+
15
+ + (UIColor *)rntv_systemBackgroundColor;
16
+
17
+ @end
@@ -0,0 +1,23 @@
1
+ /*
2
+ * This source code is licensed under the MIT license found in the
3
+ * LICENSE file in the root directory of this source tree.
4
+ */
5
+
6
+ #import <UIKit/UIKit.h>
7
+
8
+ @implementation UIColor (RNTVSystemColors)
9
+
10
+ + (UIColor *)rntv_systemBackgroundColor {
11
+ #if TARGET_OS_TV
12
+ UIColor *lightColor = [UIColor whiteColor];
13
+ UIColor *darkColor = [UIColor blackColor];
14
+
15
+ return [UIColor colorWithDynamicProvider:^UIColor *(UITraitCollection *traitCollection) {
16
+ return (traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) ? darkColor : lightColor;
17
+ }];
18
+ #else
19
+ return [UIColor systemBackgroundColor];
20
+ #endif
21
+ }
22
+
23
+ @end
@@ -311,10 +311,12 @@ void RCTUnsafeExecuteOnMainQueueSync(dispatch_block_t block)
311
311
  return;
312
312
  }
313
313
 
314
+ #if !TARGET_OS_TV
314
315
  if (ReactNativeFeatureFlags::enableMainQueueCoordinatorOnIOS()) {
315
316
  unsafeExecuteOnMainThreadSync(block);
316
317
  return;
317
318
  }
319
+ #endif
318
320
 
319
321
  dispatch_sync(dispatch_get_main_queue(), ^{
320
322
  block();
@@ -339,10 +341,12 @@ static void RCTUnsafeExecuteOnMainQueueOnceSync(dispatch_once_t *onceToken, disp
339
341
  return;
340
342
  }
341
343
 
344
+ #if !TARGET_OS_TV
342
345
  if (ReactNativeFeatureFlags::enableMainQueueCoordinatorOnIOS()) {
343
346
  unsafeExecuteOnMainThreadSync(block);
344
347
  return;
345
348
  }
349
+ #endif
346
350
 
347
351
  dispatch_sync(dispatch_get_main_queue(), executeOnce);
348
352
  }
@@ -384,12 +388,10 @@ CGFloat RCTFontSizeMultiplier(void)
384
388
  }
385
389
 
386
390
  #if !TARGET_OS_TV
387
-
388
391
  UIDeviceOrientation RCTDeviceOrientation(void)
389
392
  {
390
393
  return [[UIDevice currentDevice] orientation];
391
394
  }
392
-
393
395
  #endif
394
396
 
395
397
  CGSize RCTScreenSize(void)
@@ -403,14 +405,15 @@ CGSize RCTScreenSize(void)
403
405
  });
404
406
  });
405
407
 
406
- #if TARGET_OS_TV
407
- return CGSizeMake(portraitSize.height, portraitSize.width); // landscape
408
- #else
408
+ #if !TARGET_OS_TV
409
409
  if (UIDeviceOrientationIsLandscape(RCTDeviceOrientation())) {
410
410
  return CGSizeMake(portraitSize.height, portraitSize.width);
411
411
  } else {
412
412
  return CGSizeMake(portraitSize.width, portraitSize.height);
413
413
  }
414
+ #else
415
+ // tvOS doesn't have device orientation, always return landscape size
416
+ return CGSizeMake(portraitSize.height, portraitSize.width);
414
417
  #endif
415
418
  }
416
419
 
@@ -422,6 +425,9 @@ CGSize RCTViewportSize(void)
422
425
 
423
426
  CGSize RCTSwitchSize(void)
424
427
  {
428
+ #if TARGET_OS_TV
429
+ return CGSizeMake(0, 0);
430
+ #else
425
431
  static CGSize rctSwitchSize;
426
432
  static dispatch_once_t onceToken;
427
433
  dispatch_once(&onceToken, ^{
@@ -434,6 +440,7 @@ CGSize RCTSwitchSize(void)
434
440
  });
435
441
  });
436
442
  return rctSwitchSize;
443
+ #endif
437
444
  }
438
445
 
439
446
  CGFloat RCTRoundPixelValue(CGFloat value)
@@ -643,7 +650,9 @@ UIWindow *__nullable RCTKeyWindow(void)
643
650
  // We have apps internally that might use UIScenes which are not window scenes.
644
651
  // Calling keyWindow on a UIScene which is not a UIWindowScene can cause a crash
645
652
  UIWindowScene *windowScene = (UIWindowScene *)sceneToUse;
646
- return windowScene.keyWindow;
653
+ if (@available(iOS 15.0, tvOS 15.0, *)) {
654
+ return windowScene.keyWindow;
655
+ }
647
656
  }
648
657
 
649
658
  return nil;
@@ -22,8 +22,8 @@ NSDictionary* RCTGetReactNativeVersion(void)
22
22
  dispatch_once(&onceToken, ^(void){
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
- RCTVersionMinor: @(84),
26
- RCTVersionPatch: @(1),
25
+ RCTVersionMinor: @(85),
26
+ RCTVersionPatch: @(0),
27
27
  RCTVersionPrerelease: @"0",
28
28
  };
29
29
  });