react-native-tvos 0.86.0-2 → 0.86.3-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 (394) hide show
  1. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  2. package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
  3. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
  4. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  5. package/Libraries/Components/Button.js +2 -2
  6. package/Libraries/Components/TV/TVFocusGuideView.js +31 -0
  7. package/Libraries/Components/TV/useFocusEnterLeave.js +112 -0
  8. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
  9. package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
  10. package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
  11. package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
  12. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  13. package/Libraries/Core/ReactNativeVersion.js +2 -2
  14. package/Libraries/Core/Timers/JSTimers.js +1 -1
  15. package/Libraries/Core/setUpNavigator.js +1 -1
  16. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
  17. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  18. package/Libraries/Image/ImageSource.d.ts +1 -1
  19. package/Libraries/Image/RCTImageLoader.mm +1 -1
  20. package/Libraries/Image/React-RCTImage.podspec +1 -1
  21. package/Libraries/Interaction/PanResponder.js +1 -1
  22. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  23. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  24. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  25. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  26. package/Libraries/Renderer/README.md +2 -2
  27. package/Libraries/Required/RCTRequired.podspec +1 -1
  28. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  29. package/Libraries/Text/React-RCTText.podspec +1 -1
  30. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  31. package/Libraries/Utilities/PolyfillFunctions.js +1 -1
  32. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  33. package/README-core.md +6 -6
  34. package/README.md +2 -0
  35. package/React/Base/RCTVersion.m +2 -2
  36. package/React/CoreModules/React-CoreModules.podspec +1 -1
  37. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
  38. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
  39. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +43 -17
  40. package/React/React-RCTFBReactNativeSpec.podspec +1 -1
  41. package/React/React-RCTFabric.podspec +1 -1
  42. package/React/Runtime/React-RCTRuntime.podspec +1 -1
  43. package/React/Views/ScrollView/RCTScrollView.m +1 -1
  44. package/React-Core.podspec +1 -1
  45. package/React.podspec +1 -1
  46. package/ReactAndroid/build.gradle.kts +1 -1
  47. package/ReactAndroid/gradle.properties +1 -1
  48. package/ReactAndroid/publish.gradle +5 -5
  49. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +5 -4
  50. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +1 -1
  51. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +49 -12
  52. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +2 -2
  53. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +8 -4
  54. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +2 -2
  55. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  56. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
  57. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
  58. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollViewManager.kt +1 -1
  59. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
  60. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
  61. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
  62. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
  63. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
  64. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +4 -4
  65. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +1 -1
  66. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  67. package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
  68. package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
  69. package/ReactCommon/React-Fabric.podspec +1 -1
  70. package/ReactCommon/React-FabricComponents.podspec +1 -1
  71. package/ReactCommon/React-FabricImage.podspec +1 -1
  72. package/ReactCommon/React-Mapbuffer.podspec +1 -1
  73. package/ReactCommon/ReactCommon.podspec +1 -1
  74. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  75. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
  76. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  77. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  78. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  79. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
  80. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  81. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
  82. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
  83. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
  84. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
  85. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
  86. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
  87. package/ReactCommon/logger/React-logger.podspec +1 -1
  88. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  89. package/ReactCommon/react/debug/React-debug.podspec +1 -1
  90. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
  91. package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
  92. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
  93. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
  94. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
  95. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
  96. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
  97. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +10 -4
  98. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
  99. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
  100. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
  101. package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
  102. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
  103. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -1
  104. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
  105. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +1 -1
  106. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
  107. package/ReactCommon/react/networking/React-networking.podspec +1 -1
  108. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
  109. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
  110. package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
  111. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  112. package/ReactCommon/react/renderer/core/EventEmitter.cpp +20 -4
  113. package/ReactCommon/react/renderer/core/ShadowNode.cpp +27 -19
  114. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -0
  115. package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
  116. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  117. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
  118. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
  119. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +1 -1
  120. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
  121. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +1 -1
  122. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +58 -53
  123. package/ReactCommon/react/renderer/uimanager/tests/FabricUIManagerTest.cpp +144 -3
  124. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
  125. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
  126. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
  127. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  128. package/ReactCommon/react/utils/React-utils.podspec +1 -1
  129. package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
  130. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
  131. package/ReactCommon/yoga/Yoga.podspec +2 -2
  132. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -1
  133. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
  134. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +1 -1
  135. package/package.json +11 -11
  136. package/scripts/cocoapods/spm.rb +1 -1
  137. package/scripts/cocoapods/utils.rb +2 -2
  138. package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
  139. package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
  140. package/scripts/ios-configure-glog.sh +1 -1
  141. package/sdks/.hermesv1version +1 -1
  142. package/sdks/hermes-engine/hermes-engine.podspec +7 -2
  143. package/sdks/hermes-engine/version.properties +1 -1
  144. package/src/private/types/HostInstance.js +1 -1
  145. package/src/types/globals.d.ts +2 -2
  146. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  147. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  148. package/third-party-podspecs/glog.podspec +1 -1
  149. package/types/public/ReactNativeTVTypes.d.ts +12 -1
  150. package/types/public/ReactNativeTypes.d.ts +2 -2
  151. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +101 -0
  152. package/types_generated/Libraries/Alert/Alert.d.ts +55 -0
  153. package/types_generated/Libraries/Animated/Animated.d.ts +14 -0
  154. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +30 -0
  155. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +191 -0
  156. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +128 -0
  157. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +13 -0
  158. package/types_generated/Libraries/Animated/Easing.d.ts +171 -0
  159. package/types_generated/Libraries/Animated/animations/Animation.d.ts +35 -0
  160. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +42 -0
  161. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +130 -0
  162. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +54 -0
  163. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +22 -0
  164. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +18 -0
  165. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +23 -0
  166. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +22 -0
  167. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +18 -0
  168. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +19 -0
  169. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +44 -0
  170. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +22 -0
  171. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +80 -0
  172. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +22 -0
  173. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +22 -0
  174. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +38 -0
  175. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +22 -0
  176. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +22 -0
  177. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +47 -0
  178. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +30 -0
  179. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +32 -0
  180. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +22 -0
  181. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +21 -0
  182. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +126 -0
  183. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +135 -0
  184. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +15 -0
  185. package/types_generated/Libraries/Animated/useAnimatedColor.d.ts +16 -0
  186. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  187. package/types_generated/Libraries/Animated/useAnimatedValueXY.d.ts +18 -0
  188. package/types_generated/Libraries/AppState/AppState.d.ts +63 -0
  189. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +17 -0
  190. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +39 -0
  191. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +20 -0
  192. package/types_generated/Libraries/Blob/Blob.d.ts +80 -0
  193. package/types_generated/Libraries/Blob/BlobTypes.d.ts +27 -0
  194. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +232 -0
  195. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +20 -0
  196. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +84 -0
  197. package/types_generated/Libraries/Components/Button.d.ts +247 -0
  198. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +38 -0
  199. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +17 -0
  200. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +27 -0
  201. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +176 -0
  202. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +146 -0
  203. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +73 -0
  204. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +23 -0
  205. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +146 -0
  206. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +48 -0
  207. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +32 -0
  208. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +14 -0
  209. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +50 -0
  210. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +113 -0
  211. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +33 -0
  212. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +581 -0
  213. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +24 -0
  214. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +21 -0
  215. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +140 -0
  216. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +36 -0
  217. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +222 -0
  218. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +14 -0
  219. package/types_generated/Libraries/Components/Switch/Switch.d.ts +138 -0
  220. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +14 -0
  221. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +23 -0
  222. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +21 -0
  223. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +96 -0
  224. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +97 -0
  225. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +123 -0
  226. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +24 -0
  227. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +20 -0
  228. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +86 -0
  229. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +47 -0
  230. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +1005 -0
  231. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +54 -0
  232. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +99 -0
  233. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +257 -0
  234. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +51 -0
  235. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +192 -0
  236. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +35 -0
  237. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +121 -0
  238. package/types_generated/Libraries/Components/View/View.d.ts +30 -0
  239. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +415 -0
  240. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +39 -0
  241. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +367 -0
  242. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +27 -0
  243. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +43 -0
  244. package/types_generated/Libraries/Core/ExtendedError.d.ts +26 -0
  245. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +17 -0
  246. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +26 -0
  247. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +27 -0
  248. package/types_generated/Libraries/Core/ReactNativeVersion.d.ts +48 -0
  249. package/types_generated/Libraries/Core/registerCallableModule.d.ts +18 -0
  250. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +42 -0
  251. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +19 -0
  252. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +18 -0
  253. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +21 -0
  254. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +71 -0
  255. package/types_generated/Libraries/Image/Image.d.ts +18 -0
  256. package/types_generated/Libraries/Image/ImageBackground.d.ts +44 -0
  257. package/types_generated/Libraries/Image/ImageProps.d.ts +512 -0
  258. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +17 -0
  259. package/types_generated/Libraries/Image/ImageSource.d.ts +94 -0
  260. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +61 -0
  261. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +117 -0
  262. package/types_generated/Libraries/Interaction/PanResponder.d.ts +228 -0
  263. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +76 -0
  264. package/types_generated/Libraries/Linking/Linking.d.ts +68 -0
  265. package/types_generated/Libraries/Lists/FlatList.d.ts +317 -0
  266. package/types_generated/Libraries/Lists/SectionList.d.ts +172 -0
  267. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +19 -0
  268. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +19 -0
  269. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +78 -0
  270. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +71 -0
  271. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +17 -0
  272. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +49 -0
  273. package/types_generated/Libraries/LogBox/LogBox.d.ts +29 -0
  274. package/types_generated/Libraries/Modal/Modal.d.ts +110 -0
  275. package/types_generated/Libraries/NativeComponent/NativeComponentRegistry.d.ts +50 -0
  276. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +17 -0
  277. package/types_generated/Libraries/Network/FormData.d.ts +56 -0
  278. package/types_generated/Libraries/Network/RCTNetworking.d.ts +25 -0
  279. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +22 -0
  280. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +114 -0
  281. package/types_generated/Libraries/Network/convertRequestBody.d.ts +21 -0
  282. package/types_generated/Libraries/Performance/Systrace.d.ts +61 -0
  283. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +129 -0
  284. package/types_generated/Libraries/Pressability/Pressability.d.ts +241 -0
  285. package/types_generated/Libraries/Pressability/usePressability.d.ts +27 -0
  286. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +323 -0
  287. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +14 -0
  288. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +43 -0
  289. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +73 -0
  290. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +24 -0
  291. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +23 -0
  292. package/types_generated/Libraries/ReactNative/IPerformanceLogger.flow.d.ts +57 -0
  293. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +17 -0
  294. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +17 -0
  295. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +31 -0
  296. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +15 -0
  297. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +36 -0
  298. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +13 -0
  299. package/types_generated/Libraries/ReactNative/RootTag.d.ts +22 -0
  300. package/types_generated/Libraries/ReactNative/UIManager.d.ts +17 -0
  301. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +25 -0
  302. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +33 -0
  303. package/types_generated/Libraries/Renderer/shims/ReactFabric.d.ts +17 -0
  304. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +155 -0
  305. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +41 -0
  306. package/types_generated/Libraries/Settings/Settings.d.ts +21 -0
  307. package/types_generated/Libraries/Share/Share.d.ts +85 -0
  308. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +15 -0
  309. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +17 -0
  310. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +27 -0
  311. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +16 -0
  312. package/types_generated/Libraries/StyleSheet/Rect.d.ts +22 -0
  313. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +153 -0
  314. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +94 -0
  315. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +851 -0
  316. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +19 -0
  317. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +17 -0
  318. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +76 -0
  319. package/types_generated/Libraries/StyleSheet/processColor.d.ts +18 -0
  320. package/types_generated/Libraries/Text/Text.d.ts +30 -0
  321. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +20 -0
  322. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +41 -0
  323. package/types_generated/Libraries/Text/TextProps.d.ts +220 -0
  324. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +35 -0
  325. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  326. package/types_generated/Libraries/Types/CodegenTypes.d.ts +24 -0
  327. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +14 -0
  328. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +355 -0
  329. package/types_generated/Libraries/Types/RootTagTypes.d.ts +13 -0
  330. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +17 -0
  331. package/types_generated/Libraries/UTFSequence.d.ts +39 -0
  332. package/types_generated/Libraries/Utilities/Appearance.d.ts +31 -0
  333. package/types_generated/Libraries/Utilities/BackHandler.d.ts +27 -0
  334. package/types_generated/Libraries/Utilities/DevSettings.d.ts +34 -0
  335. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +17 -0
  336. package/types_generated/Libraries/Utilities/Dimensions.d.ts +54 -0
  337. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +17 -0
  338. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +14 -0
  339. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +110 -0
  340. package/types_generated/Libraries/Utilities/Platform.d.ts +16 -0
  341. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +134 -0
  342. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +19 -0
  343. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +24 -0
  344. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +33 -0
  345. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +19 -0
  346. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +15 -0
  347. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +15 -0
  348. package/types_generated/Libraries/Vibration/Vibration.d.ts +29 -0
  349. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +39 -0
  350. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +67 -0
  351. package/types_generated/index.d.ts +184 -0
  352. package/types_generated/src/private/components/virtualcollection/FlingConstants.d.ts +20 -0
  353. package/types_generated/src/private/components/virtualcollection/Virtual.d.ts +46 -0
  354. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +81 -0
  355. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +23 -0
  356. package/types_generated/src/private/components/virtualcollection/column/VirtualColumnGenerator.d.ts +17 -0
  357. package/types_generated/src/private/components/virtualcollection/dom/getScrollParent.d.ts +21 -0
  358. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +23 -0
  359. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +75 -0
  360. package/types_generated/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.d.ts +107 -0
  361. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +107 -0
  362. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +28 -0
  363. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +53 -0
  364. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +36 -0
  365. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +51 -0
  366. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +26 -0
  367. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +46 -0
  368. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +37 -0
  369. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +45 -0
  370. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +27 -0
  371. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +109 -0
  372. package/types_generated/src/private/styles/composeStyles.d.ts +19 -0
  373. package/types_generated/src/private/types/HostComponent.d.ts +19 -0
  374. package/types_generated/src/private/types/HostInstance.d.ts +92 -0
  375. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +27 -0
  376. package/types_generated/src/private/webapis/dom/events/Event.d.ts +50 -0
  377. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +36 -0
  378. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +33 -0
  379. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +36 -0
  380. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +30 -0
  381. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +54 -0
  382. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +129 -0
  383. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +24 -0
  384. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +36 -0
  385. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +23 -0
  386. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +22 -0
  387. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +229 -0
  388. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +22 -0
  389. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +25 -0
  390. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +46 -0
  391. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +73 -0
  392. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +27 -0
  393. package/types_generated/tsconfig.json +3 -0
  394. package/types_generated/tsconfig.test.json +16 -0
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -52,7 +52,7 @@ CullingContext CullingContext::adjustCullingContextIfNeeded(
52
52
  // In RTL, content offset is flipped horizontally.
53
53
  // We need to flip the culling context frame to match.
54
54
  // See:
55
- // https://github.com/facebook/react-native/blob/c2f39cfdd87c32b9a59efe8a788b8a03f02b0ea0/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm#L579
55
+ // https://github.com/react/react-native/blob/c2f39cfdd87c32b9a59efe8a788b8a03f02b0ea0/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm#L579
56
56
  auto stateData = scrollViewShadowNode->getStateData();
57
57
  cullingContext.frame.origin.x =
58
58
  stateData.contentBoundingRect.size.width -
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -361,7 +361,7 @@ UIFont *RCTFontWithFontProperties(RCTFontProperties fontProperties)
361
361
  font = [UIFont fontWithName:fontProperties.family size:effectiveFontSize];
362
362
  if (font != nullptr) {
363
363
  fontNames = [UIFont fontNamesForFamilyName:font.familyName];
364
- fontWeight = (fontWeight != 0.0) ?: RCTGetFontWeight(font);
364
+ fontWeight = (fontWeight != 0.0) ? fontWeight : RCTGetFontWeight(font);
365
365
  } else {
366
366
  // Failback to system font.
367
367
  font = RCTDefaultFontWithFontProperties(fontProperties);
@@ -118,49 +118,51 @@ std::shared_ptr<ShadowNode> UIManager::cloneNode(
118
118
 
119
119
  auto& componentDescriptor = shadowNode.getComponentDescriptor();
120
120
  auto& family = shadowNode.getFamily();
121
- auto props = ShadowNodeFragment::propsPlaceholder();
122
121
 
122
+ auto props = ShadowNodeFragment::propsPlaceholder();
123
123
  if (!rawProps.isEmpty()) {
124
- if (family.nativeProps_DEPRECATED != nullptr) {
125
- // 1. update the nativeProps_DEPRECATED props.
126
- //
127
- // In this step, we want the most recent value for the props
128
- // managed by setNativeProps.
129
- // Values in `rawProps` patch (take precedence over)
130
- // `nativeProps_DEPRECATED`. For example, if both
131
- // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'.
132
- // Value from `rawProps` overrides what was previously in
133
- // `nativeProps_DEPRECATED`. Notice that the `nativeProps_DEPRECATED`
134
- // patch will not get more props from `rawProps`: if the key is not
135
- // present in `nativeProps_DEPRECATED`, it will not be added.
136
- //
137
- // The result of this operation is the new `nativeProps_DEPRECATED`.
138
- family.nativeProps_DEPRECATED =
139
- std::make_unique<folly::dynamic>(mergeDynamicProps(
140
- *family.nativeProps_DEPRECATED, // source
141
- (folly::dynamic)rawProps, // patch
142
- NullValueStrategy::Ignore));
143
-
144
- // 2. Compute the final set of props.
145
- //
146
- // This step takes the new props handled by `setNativeProps` and
147
- // merges them in the `rawProps` managed by React.
148
- // The new props handled by `nativeProps` now takes precedence
149
- // on the props handled by React, as we want to make sure that
150
- // all the props are applied to the component.
151
- // We use these finalProps as source of truth for the component.
152
- auto finalProps = mergeDynamicProps(
153
- (folly::dynamic)rawProps, // source
154
- *family.nativeProps_DEPRECATED, // patch
155
- NullValueStrategy::Override);
156
-
157
- // 3. Clone the props by using finalProps.
158
- props = componentDescriptor.cloneProps(
159
- propsParserContext, shadowNode.getProps(), RawProps(finalProps));
160
- } else {
161
- props = componentDescriptor.cloneProps(
162
- propsParserContext, shadowNode.getProps(), std::move(rawProps));
124
+ std::optional<folly::dynamic> finalProps;
125
+ {
126
+ std::lock_guard<std::mutex> lock(family.nativePropsMutex);
127
+ if (family.nativeProps_DEPRECATED != nullptr) {
128
+ // 1. update the nativeProps_DEPRECATED props.
129
+ //
130
+ // In this step, we want the most recent value for the props
131
+ // managed by setNativeProps.
132
+ // Values in `rawProps` patch (take precedence over)
133
+ // `nativeProps_DEPRECATED`. For example, if both
134
+ // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'.
135
+ // Value from `rawProps` overrides what was previously in
136
+ // `nativeProps_DEPRECATED`. Notice that the `nativeProps_DEPRECATED`
137
+ // patch will not get more props from `rawProps`: if the key is not
138
+ // present in `nativeProps_DEPRECATED`, it will not be added.
139
+ //
140
+ // The result of this operation is the new `nativeProps_DEPRECATED`.
141
+ family.nativeProps_DEPRECATED =
142
+ std::make_unique<folly::dynamic>(mergeDynamicProps(
143
+ *family.nativeProps_DEPRECATED, // source
144
+ (folly::dynamic)rawProps, // patch
145
+ NullValueStrategy::Ignore));
146
+
147
+ // 2. Compute the final set of props.
148
+ //
149
+ // This step takes the new props handled by `setNativeProps` and
150
+ // merges them in the `rawProps` managed by React.
151
+ // The new props handled by `nativeProps` now takes precedence
152
+ // on the props handled by React, as we want to make sure that
153
+ // all the props are applied to the component.
154
+ // We use these finalProps as source of truth for the component.
155
+ finalProps = mergeDynamicProps(
156
+ (folly::dynamic)rawProps, // source
157
+ *family.nativeProps_DEPRECATED, // patch
158
+ NullValueStrategy::Override);
159
+ }
163
160
  }
161
+
162
+ props = componentDescriptor.cloneProps(
163
+ propsParserContext,
164
+ shadowNode.getProps(),
165
+ finalProps ? RawProps(std::move(*finalProps)) : std::move(rawProps));
164
166
  }
165
167
 
166
168
  auto clonedShadowNode = componentDescriptor.cloneShadowNode(
@@ -439,19 +441,22 @@ void UIManager::setNativeProps_DEPRECATED(
439
441
  const std::shared_ptr<const ShadowNode>& shadowNode,
440
442
  RawProps rawProps) const {
441
443
  auto& family = shadowNode->getFamily();
442
- if (family.nativeProps_DEPRECATED) {
443
- // Values in `rawProps` patch (take precedence over)
444
- // `nativeProps_DEPRECATED`. For example, if both `nativeProps_DEPRECATED`
445
- // and `rawProps` contain key 'A'. Value from `rawProps` overrides what
446
- // was previously in `nativeProps_DEPRECATED`.
447
- family.nativeProps_DEPRECATED =
448
- std::make_unique<folly::dynamic>(mergeDynamicProps(
449
- *family.nativeProps_DEPRECATED,
450
- (folly::dynamic)rawProps,
451
- NullValueStrategy::Override));
452
- } else {
453
- family.nativeProps_DEPRECATED =
454
- std::make_unique<folly::dynamic>((folly::dynamic)rawProps);
444
+ {
445
+ std::lock_guard<std::mutex> lock(family.nativePropsMutex);
446
+ if (family.nativeProps_DEPRECATED) {
447
+ // Values in `rawProps` patch (take precedence over)
448
+ // `nativeProps_DEPRECATED`. For example, if both
449
+ // `nativeProps_DEPRECATED` and `rawProps` contain key 'A'. Value from
450
+ // `rawProps` overrides what was previously in `nativeProps_DEPRECATED`.
451
+ family.nativeProps_DEPRECATED =
452
+ std::make_unique<folly::dynamic>(mergeDynamicProps(
453
+ *family.nativeProps_DEPRECATED,
454
+ (folly::dynamic)rawProps,
455
+ NullValueStrategy::Override));
456
+ } else {
457
+ family.nativeProps_DEPRECATED =
458
+ std::make_unique<folly::dynamic>((folly::dynamic)rawProps);
459
+ }
455
460
  }
456
461
 
457
462
  shadowTreeRegistry_.visit(
@@ -8,10 +8,151 @@
8
8
  #include <memory>
9
9
 
10
10
  #include <gtest/gtest.h>
11
+ #include <react/renderer/components/view/ViewShadowNode.h>
12
+ #include <react/renderer/core/ShadowNodeFragment.h>
13
+ #include <react/renderer/element/Element.h>
14
+ #include <react/renderer/element/testUtils.h>
11
15
  #include <react/renderer/uimanager/UIManager.h>
12
16
 
13
- using namespace facebook::react;
17
+ namespace facebook::react {
14
18
 
15
- TEST(UIManagerTest, testSomething) {
16
- // TODO
19
+ class FabricUIManagerTest : public ::testing::Test {
20
+ public:
21
+ FabricUIManagerTest() {
22
+ contextContainer_ = std::make_shared<ContextContainer>();
23
+
24
+ ComponentDescriptorProviderRegistry componentDescriptorProviderRegistry{};
25
+ auto componentDescriptorRegistry =
26
+ componentDescriptorProviderRegistry.createComponentDescriptorRegistry(
27
+ ComponentDescriptorParameters{
28
+ .eventDispatcher = EventDispatcher::Shared{},
29
+ .contextContainer = contextContainer_,
30
+ .flavor = nullptr});
31
+
32
+ componentDescriptorProviderRegistry.add(
33
+ concreteComponentDescriptorProvider<RootComponentDescriptor>());
34
+ componentDescriptorProviderRegistry.add(
35
+ concreteComponentDescriptorProvider<ViewComponentDescriptor>());
36
+
37
+ builder_ = std::make_unique<ComponentBuilder>(componentDescriptorRegistry);
38
+
39
+ RuntimeExecutor runtimeExecutor =
40
+ [](std::function<void(
41
+ facebook::jsi::Runtime & runtime)>&& /*callback*/) {};
42
+ uiManager_ =
43
+ std::make_unique<UIManager>(runtimeExecutor, contextContainer_);
44
+ uiManager_->setComponentDescriptorRegistry(componentDescriptorRegistry);
45
+
46
+ buildAndCommitTree();
47
+ }
48
+
49
+ void TearDown() override {
50
+ uiManager_->stopSurface(surfaceId_);
51
+ }
52
+
53
+ protected:
54
+ std::shared_ptr<RootShadowNode> buildTree() {
55
+ std::shared_ptr<RootShadowNode> rootNode;
56
+
57
+ // clang-format off
58
+ auto element =
59
+ Element<RootShadowNode>()
60
+ .tag(1)
61
+ .surfaceId(surfaceId_)
62
+ .reference(rootNode)
63
+ .props([] {
64
+ auto sharedProps = std::make_shared<RootProps>();
65
+ sharedProps->layoutConstraints = LayoutConstraints{
66
+ .minimumSize = {.width = 0, .height = 0},
67
+ .maximumSize = {.width = 500, .height = 500}};
68
+ return sharedProps;
69
+ })
70
+ .children({
71
+ Element<ViewShadowNode>()
72
+ .tag(viewTag_)
73
+ .surfaceId(surfaceId_)
74
+ .props([] {
75
+ auto sharedProps = std::make_shared<ViewShadowNodeProps>();
76
+ sharedProps->nativeId = "initial";
77
+ sharedProps->opacity = 1.0;
78
+ return sharedProps;
79
+ })
80
+ });
81
+ // clang-format on
82
+
83
+ builder_->build(element);
84
+ return rootNode;
85
+ }
86
+
87
+ void buildAndCommitTree() {
88
+ auto rootNode = buildTree();
89
+
90
+ auto shadowTree = std::make_unique<ShadowTree>(
91
+ surfaceId_,
92
+ LayoutConstraints{},
93
+ LayoutContext{},
94
+ *uiManager_,
95
+ *contextContainer_);
96
+
97
+ shadowTreePtr_ = shadowTree.get();
98
+
99
+ shadowTree->commit(
100
+ [&rootNode](const RootShadowNode& /*oldRootShadowNode*/) {
101
+ return std::static_pointer_cast<RootShadowNode>(rootNode);
102
+ },
103
+ {true});
104
+
105
+ uiManager_->startSurface(
106
+ std::move(shadowTree),
107
+ "test",
108
+ folly::dynamic::object,
109
+ DisplayMode::Visible);
110
+ }
111
+
112
+ std::shared_ptr<const ShadowNode> currentViewNode() const {
113
+ auto root = shadowTreePtr_->getCurrentRevision().rootShadowNode;
114
+ return root->getChildren().front();
115
+ }
116
+
117
+ const ViewProps& viewPropsInTree() const {
118
+ return static_cast<const ViewProps&>(*currentViewNode()->getProps());
119
+ }
120
+
121
+ SurfaceId surfaceId_{0};
122
+ Tag viewTag_{42};
123
+ std::shared_ptr<ContextContainer> contextContainer_;
124
+ std::unique_ptr<ComponentBuilder> builder_;
125
+ std::unique_ptr<UIManager> uiManager_;
126
+ ShadowTree* shadowTreePtr_{nullptr};
127
+ };
128
+
129
+ // Demonstrates the merge between props set by `setNativeProps_DEPRECATED`
130
+ // (the legacy native-side prop override path) and props supplied by a
131
+ // regular React re-render via `cloneNode`. The native override must
132
+ // survive a React render that does not touch the overridden key, and
133
+ // other React-supplied keys must still apply.
134
+ TEST_F(FabricUIManagerTest, SetNativePropsMergesWithReactRender) {
135
+ ASSERT_EQ(viewPropsInTree().nativeId, "initial");
136
+ ASSERT_FLOAT_EQ(viewPropsInTree().opacity, 1.0);
137
+
138
+ // Native override on `opacity` only. The committed tree picks up the new
139
+ // opacity and leaves the unrelated `nativeId` untouched.
140
+ uiManager_->setNativeProps_DEPRECATED(
141
+ currentViewNode(), RawProps(folly::dynamic::object("opacity", 0.5)));
142
+ EXPECT_EQ(viewPropsInTree().nativeId, "initial");
143
+ EXPECT_FLOAT_EQ(viewPropsInTree().opacity, 0.5);
144
+
145
+ // Simulate a React re-render that updates `nativeID` only. The native
146
+ // `opacity` override must survive (it is not present in rawProps and
147
+ // therefore not refreshed away by React), and the new `nativeID` must
148
+ // apply on top.
149
+ auto rerendered = uiManager_->cloneNode(
150
+ *currentViewNode(),
151
+ /*children=*/nullptr,
152
+ RawProps(folly::dynamic::object("nativeID", "from-react")));
153
+ auto& merged = static_cast<const ViewProps&>(*rerendered->getProps());
154
+ EXPECT_EQ(merged.nativeId, "from-react");
155
+ EXPECT_FLOAT_EQ(merged.opacity, 0.5);
17
156
  }
157
+
158
+ } // namespace facebook::react
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "../../..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "../../../../..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -8,7 +8,7 @@ require "json"
8
8
  package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json")))
9
9
  version = package['version']
10
10
 
11
- source = { :git => 'https://github.com/facebook/react-native.git' }
11
+ source = { :git => 'https://github.com/react/react-native.git' }
12
12
  if version == '1000.0.0'
13
13
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
14
14
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -6,7 +6,7 @@
6
6
  package = JSON.parse(File.read(File.expand_path('../../package.json', __dir__)))
7
7
  version = package['version']
8
8
 
9
- source = { :git => ENV['INSTALL_YOGA_FROM_LOCATION'] || 'https://github.com/facebook/react-native.git' }
9
+ source = { :git => ENV['INSTALL_YOGA_FROM_LOCATION'] || 'https://github.com/react/react-native.git' }
10
10
  if version == '1000.0.0'
11
11
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
12
12
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -61,6 +61,6 @@ Pod::Spec.new do |spec|
61
61
  # Fabric must be able to access private headers (which should not be included in the umbrella header)
62
62
  all_header_files = 'yoga/**/*.h'
63
63
  all_header_files = File.join('ReactCommon/yoga', all_header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION']
64
- spec.private_header_files = Dir.glob(all_header_files) - Dir.glob(public_header_files)
64
+ spec.private_header_files = Dir.glob(all_header_files).sort - Dir.glob(public_header_files).sort
65
65
  spec.preserve_paths = [all_header_files]
66
66
  end
@@ -558,7 +558,6 @@ bool layoutAbsoluteDescendants(
558
558
  // we need to mutate these descendents. Make sure the path of
559
559
  // nodes to them is mutable before positioning.
560
560
  child->cloneChildrenIfNeeded();
561
- cleanupContentsNodesRecursively(child);
562
561
  const Direction childDirection =
563
562
  child->resolveDirection(currentNodeDirection);
564
563
  // By now all descendants of the containing block that are not absolute
@@ -584,6 +583,8 @@ bool layoutAbsoluteDescendants(
584
583
  containingNodeAvailableInnerHeight) ||
585
584
  hasNewLayout;
586
585
 
586
+ cleanupContentsNodesRecursively(
587
+ child, /* didPerformLayout */ hasNewLayout);
587
588
  if (hasNewLayout) {
588
589
  child->setHasNewLayout(hasNewLayout);
589
590
  }
@@ -506,7 +506,9 @@ void zeroOutLayoutRecursively(yoga::Node* const node) {
506
506
  }
507
507
  }
508
508
 
509
- void cleanupContentsNodesRecursively(yoga::Node* const node) {
509
+ void cleanupContentsNodesRecursively(
510
+ yoga::Node* const node,
511
+ bool didPerformLayout) {
510
512
  if (node->hasContentsChildren()) [[unlikely]] {
511
513
  node->cloneContentsChildrenIfNeeded();
512
514
  for (auto child : node->getChildren()) {
@@ -514,11 +516,13 @@ void cleanupContentsNodesRecursively(yoga::Node* const node) {
514
516
  child->getLayout() = {};
515
517
  child->setLayoutDimension(0, Dimension::Width);
516
518
  child->setLayoutDimension(0, Dimension::Height);
517
- child->setHasNewLayout(true);
519
+ if (didPerformLayout) {
520
+ child->setHasNewLayout(true);
521
+ }
518
522
  child->setDirty(false);
519
523
  child->cloneChildrenIfNeeded();
520
524
 
521
- cleanupContentsNodesRecursively(child);
525
+ cleanupContentsNodesRecursively(child, didPerformLayout);
522
526
  }
523
527
  }
524
528
  }
@@ -1360,7 +1364,7 @@ static void calculateLayoutImpl(
1360
1364
 
1361
1365
  // Clean and update all display: contents nodes with a direct path to the
1362
1366
  // current node as they will not be traversed
1363
- cleanupContentsNodesRecursively(node);
1367
+ cleanupContentsNodesRecursively(node, performLayout);
1364
1368
  return;
1365
1369
  }
1366
1370
 
@@ -1378,7 +1382,7 @@ static void calculateLayoutImpl(
1378
1382
 
1379
1383
  // Clean and update all display: contents nodes with a direct path to the
1380
1384
  // current node as they will not be traversed
1381
- cleanupContentsNodesRecursively(node);
1385
+ cleanupContentsNodesRecursively(node, performLayout);
1382
1386
  return;
1383
1387
  }
1384
1388
 
@@ -1396,7 +1400,7 @@ static void calculateLayoutImpl(
1396
1400
  ownerHeight)) {
1397
1401
  // Clean and update all display: contents nodes with a direct path to the
1398
1402
  // current node as they will not be traversed
1399
- cleanupContentsNodesRecursively(node);
1403
+ cleanupContentsNodesRecursively(node, /* didPerformLayout */ false);
1400
1404
  return;
1401
1405
  }
1402
1406
 
@@ -1408,7 +1412,7 @@ static void calculateLayoutImpl(
1408
1412
 
1409
1413
  // Clean and update all display: contents nodes with a direct path to the
1410
1414
  // current node as they will not be traversed
1411
- cleanupContentsNodesRecursively(node);
1415
+ cleanupContentsNodesRecursively(node, performLayout);
1412
1416
 
1413
1417
  // STEP 1: CALCULATE VALUES FOR REMAINDER OF ALGORITHM
1414
1418
  const FlexDirection mainAxis =
@@ -55,6 +55,6 @@ float calculateAvailableInnerDimension(
55
55
 
56
56
  void zeroOutLayoutRecursively(yoga::Node* const node);
57
57
 
58
- void cleanupContentsNodesRecursively(yoga::Node* const node);
58
+ void cleanupContentsNodesRecursively(yoga::Node* node, bool didPerformLayout);
59
59
 
60
60
  } // namespace facebook::yoga
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.86.0-2",
3
+ "version": "0.86.3-0",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,7 +22,7 @@
22
22
  "app-framework",
23
23
  "mobile-development"
24
24
  ],
25
- "bugs": "https://github.com/facebook/react-native/issues",
25
+ "bugs": "https://github.com/react/react-native/issues",
26
26
  "engines": {
27
27
  "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"
28
28
  },
@@ -154,7 +154,7 @@
154
154
  "featureflags-check": "node ./scripts/featureflags/index.js --verify-unchanged"
155
155
  },
156
156
  "peerDependencies": {
157
- "@react-native/jest-preset": "0.86.0",
157
+ "@react-native/jest-preset": "0.86.3",
158
158
  "@types/react": "^19.1.1",
159
159
  "react": "^19.2.3"
160
160
  },
@@ -167,12 +167,12 @@
167
167
  }
168
168
  },
169
169
  "dependencies": {
170
- "@react-native/assets-registry": "0.86.0",
171
- "@react-native/codegen": "0.86.0",
172
- "@react-native/community-cli-plugin": "0.86.0",
173
- "@react-native/gradle-plugin": "0.86.0",
174
- "@react-native/js-polyfills": "0.86.0",
175
- "@react-native/normalize-colors": "0.86.0",
170
+ "@react-native/assets-registry": "0.86.3",
171
+ "@react-native/codegen": "0.86.3",
172
+ "@react-native/community-cli-plugin": "0.86.3",
173
+ "@react-native/gradle-plugin": "0.86.3",
174
+ "@react-native/js-polyfills": "0.86.3",
175
+ "@react-native/normalize-colors": "0.86.3",
176
176
  "abort-controller": "^3.0.0",
177
177
  "anser": "^1.4.9",
178
178
  "ansi-regex": "^5.0.0",
@@ -180,7 +180,7 @@
180
180
  "base64-js": "^1.5.1",
181
181
  "commander": "^12.0.0",
182
182
  "flow-enums-runtime": "^0.0.6",
183
- "hermes-compiler": "250829098.0.14",
183
+ "hermes-compiler": "250829098.0.17",
184
184
  "invariant": "^2.2.4",
185
185
  "memoize-one": "^5.0.0",
186
186
  "metro-runtime": "^0.84.3",
@@ -198,7 +198,7 @@
198
198
  "whatwg-fetch": "^3.0.0",
199
199
  "ws": "^7.5.10",
200
200
  "yargs": "^17.6.2",
201
- "@react-native-tvos/virtualized-lists": "0.86.0-2"
201
+ "@react-native-tvos/virtualized-lists": "0.86.3-0"
202
202
  },
203
203
  "codegenConfig": {
204
204
  "libraries": [
@@ -45,7 +45,7 @@ class SPMManager
45
45
  log_warning "If you're using Xcode 15 or earlier you might need to close and reopen the Xcode workspace"
46
46
  unless ENV["USE_FRAMEWORKS"] == "dynamic"
47
47
  @dependencies_by_pod.each do |pod_name, dependencies|
48
- log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/facebook/react-native/pull/44627#issuecomment-2123119711 for more information"
48
+ log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/react/react-native/pull/44627#issuecomment-2123119711 for more information"
49
49
  end
50
50
  end
51
51
  end
@@ -76,7 +76,7 @@ class ReactNativePodsUtils
76
76
  end
77
77
 
78
78
  def self.turn_off_resource_bundle_react_core(installer)
79
- # this is needed for Xcode 14, see more details here https://github.com/facebook/react-native/issues/34673
79
+ # this is needed for Xcode 14, see more details here https://github.com/react/react-native/issues/34673
80
80
  # we should be able to remove this once CocoaPods catches up to it, see more details here https://github.com/CocoaPods/CocoaPods/issues/11402
81
81
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
82
82
  if target_installation_result.target.root_spec.name == 'React-Core'
@@ -249,7 +249,7 @@ class ReactNativePodsUtils
249
249
  # When installing pods with a yarn alias, yarn creates a fake yarn and node executables
250
250
  # in a temporary folder.
251
251
  # Using `node --print "process.argv[0]";` we are able to retrieve the actual path from which node is running.
252
- # see https://github.com/facebook/react-native/issues/43285 for more info. We've tweaked this slightly.
252
+ # see https://github.com/react/react-native/issues/43285 for more info. We've tweaked this slightly.
253
253
  node_binary = Shellwords.escape(`node --print "process.argv[0]"`.strip)
254
254
  system("echo 'export NODE_BINARY=#{node_binary}' > #{file_path}.local")
255
255
  end
@@ -4,7 +4,7 @@
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
6
  version = "{react-native-version}"
7
- source = { :git => 'https://github.com/facebook/react-native.git' }
7
+ source = { :git => 'https://github.com/react/react-native.git' }
8
8
  if version == '1000.0.0'
9
9
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
10
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -4,7 +4,7 @@
4
4
  # LICENSE file in the root directory of this source tree.
5
5
 
6
6
  version = "{react-native-version}"
7
- source = { :git => 'https://github.com/facebook/react-native.git' }
7
+ source = { :git => 'https://github.com/react/react-native.git' }
8
8
  if version == '1000.0.0'
9
9
  # This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
10
10
  source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
@@ -62,7 +62,7 @@ if [ -h "test-driver" ]; then
62
62
  rm test-driver
63
63
  fi
64
64
 
65
- # Manually disable gflags include to fix issue https://github.com/facebook/react-native/issues/28446
65
+ # Manually disable gflags include to fix issue https://github.com/react/react-native/issues/28446
66
66
  sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak
67
67
  sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak
68
68