react-native-tvos 0.85.3-0 → 0.86.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 (675) hide show
  1. package/Libraries/Animated/AnimatedImplementation.js +6 -6
  2. package/Libraries/Animated/NativeAnimatedAllowlist.js +21 -0
  3. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  4. package/Libraries/Animated/components/AnimatedText.js +3 -3
  5. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  6. package/Libraries/Animated/nodes/AnimatedAddition.js +1 -1
  7. package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
  8. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +1 -1
  9. package/Libraries/Animated/nodes/AnimatedDivision.js +1 -1
  10. package/Libraries/Animated/nodes/AnimatedInterpolation.js +22 -24
  11. package/Libraries/Animated/nodes/AnimatedModulo.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedMultiplication.js +1 -1
  13. package/Libraries/Animated/nodes/AnimatedStyle.js +2 -2
  14. package/Libraries/Animated/nodes/AnimatedSubtraction.js +1 -1
  15. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  16. package/Libraries/Animated/nodes/AnimatedValue.js +2 -2
  17. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +4 -0
  18. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -5
  19. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -2
  20. package/Libraries/AppState/AppState.js +1 -1
  21. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  22. package/Libraries/Blob/RCTBlobCollector.h +1 -1
  23. package/Libraries/Blob/RCTBlobCollector.mm +14 -26
  24. package/Libraries/Blob/RCTBlobManager.mm +11 -3
  25. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +29 -23
  26. package/Libraries/Components/Keyboard/Keyboard.js +4 -2
  27. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  28. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -27
  29. package/Libraries/Components/Pressable/Pressable.d.ts +1 -0
  30. package/Libraries/Components/Pressable/Pressable.js +2 -2
  31. package/Libraries/Components/Pressable/useAndroidRippleForView.js +7 -8
  32. package/Libraries/Components/ScrollView/ScrollView.d.ts +1 -1
  33. package/Libraries/Components/ScrollView/ScrollView.js +4 -4
  34. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  35. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  36. package/Libraries/Components/Switch/Switch.js +1 -1
  37. package/Libraries/Components/TV/TVViewPropTypes.js +9 -0
  38. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  39. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  40. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  41. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  42. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  43. package/Libraries/Components/TextInput/TextInput.js +5 -5
  44. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  45. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  46. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  47. package/Libraries/Components/Touchable/Touchable.js +1 -1
  48. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  49. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  50. package/Libraries/Components/View/View.js +100 -91
  51. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  52. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  53. package/Libraries/Core/ExceptionsManager.js +2 -8
  54. package/Libraries/Core/InitializeCore.js +0 -13
  55. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  56. package/Libraries/Core/ReactNativeVersion.js +2 -2
  57. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  58. package/Libraries/Core/Timers/JSTimers.js +2 -2
  59. package/Libraries/Core/Timers/immediateShim.js +1 -1
  60. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  61. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  62. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  63. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  64. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  65. package/Libraries/Image/Image.android.js +15 -35
  66. package/Libraries/Image/RCTImageLoader.mm +4 -2
  67. package/Libraries/Image/RelativeImageStub.js +2 -2
  68. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  69. package/Libraries/Linking/Linking.js +1 -1
  70. package/Libraries/Lists/FlatList.js +1 -1
  71. package/Libraries/LogBox/LogBox.js +2 -2
  72. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  73. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  74. package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
  75. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  76. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  77. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  78. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  79. package/Libraries/Modal/Modal.js +12 -7
  80. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  81. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  82. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  83. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  84. package/Libraries/NativeComponent/TVViewConfig.js +1 -0
  85. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  86. package/Libraries/Network/RCTNetworking.android.js +1 -1
  87. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  88. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  89. package/Libraries/Network/RCTNetworking.mm +1 -2
  90. package/Libraries/Network/XMLHttpRequest.js +29 -12
  91. package/Libraries/Pressability/Pressability.js +2 -2
  92. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  93. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  94. package/Libraries/ReactNative/AppContainer.js +0 -1
  95. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  96. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  97. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  98. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  99. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  100. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  101. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  103. package/Libraries/ReactNative/RendererImplementation.js +26 -143
  104. package/Libraries/ReactNative/RendererProxy.js +4 -15
  105. package/Libraries/ReactNative/renderApplication.js +33 -59
  106. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  107. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  108. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
  109. package/Libraries/Settings/Settings.ios.js +1 -1
  110. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  111. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  112. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  113. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  114. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  115. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  116. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  117. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  118. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  119. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  120. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  121. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  122. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  123. package/Libraries/StyleSheet/processFilter.js +16 -8
  124. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  125. package/Libraries/Text/Text.js +4 -4
  126. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  127. package/Libraries/Text/TextNativeComponent.js +4 -4
  128. package/Libraries/TurboModule/RCTExport.js +1 -1
  129. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  130. package/Libraries/Types/CodegenTypes.js +7 -4
  131. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  132. package/Libraries/Utilities/BackHandler.android.js +11 -3
  133. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  134. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  135. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  136. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  137. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  138. package/Libraries/Utilities/binaryToBase64.js +1 -1
  139. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  140. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  141. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  142. package/Libraries/Utilities/stringifySafe.js +1 -1
  143. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  144. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  145. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  146. package/README.md +13 -1
  147. package/React/Base/RCTBundleURLProvider.h +19 -1
  148. package/React/Base/RCTBundleURLProvider.mm +82 -0
  149. package/React/Base/RCTDefines.h +1 -1
  150. package/React/Base/RCTMultipartDataTask.h +1 -1
  151. package/React/Base/RCTMultipartDataTask.m +0 -3
  152. package/React/Base/RCTRootView.h +4 -0
  153. package/React/Base/RCTRootViewDelegate.h +5 -2
  154. package/React/Base/RCTVersion.m +2 -2
  155. package/React/Base/Surface/RCTSurface.h +3 -0
  156. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  157. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  158. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  159. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
  160. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  161. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  162. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  163. package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
  164. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  165. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  166. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  167. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  168. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
  169. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  170. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  171. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  172. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +35 -15
  173. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  174. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
  175. package/React/Fabric/RCTConversions.h +14 -0
  176. package/React/Fabric/RCTScheduler.mm +18 -0
  177. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  178. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  179. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  180. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  181. package/React/Modules/RCTUIManager.mm +1 -1
  182. package/React/Profiler/RCTProfile.h +5 -0
  183. package/React/Profiler/RCTProfile.m +2 -1
  184. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  185. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  186. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  187. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  188. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  189. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  190. package/React/Views/RCTLayout.m +4 -3
  191. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  192. package/ReactAndroid/api/ReactAndroid.api +37 -27
  193. package/ReactAndroid/build.gradle.kts +28 -21
  194. package/ReactAndroid/gradle.properties +1 -1
  195. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
  200. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  202. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  203. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  204. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  219. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  223. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  224. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  225. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  226. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  227. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  228. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
  230. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
  231. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
  232. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
  233. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
  234. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
  235. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  236. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
  237. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  238. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  248. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  249. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  251. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  252. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  253. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
  255. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  256. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  257. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  268. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  270. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  271. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  272. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  283. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +32 -24
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +33 -24
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +60 -11
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  298. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  299. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  300. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +85 -20
  301. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +46 -65
  302. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  303. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  304. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  305. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  306. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  307. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  308. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  309. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  310. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  311. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  312. package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
  313. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  314. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  315. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  316. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  317. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  318. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  319. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  320. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  321. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  322. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  323. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  324. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  325. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  326. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
  327. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
  328. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  329. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  330. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  331. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  332. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  333. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  334. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  335. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
  336. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
  337. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  338. package/ReactCommon/React-Fabric.podspec +7 -0
  339. package/ReactCommon/React-FabricComponents.podspec +1 -1
  340. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  341. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  342. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  343. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  344. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  345. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  346. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  347. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  348. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  349. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  350. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  351. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  352. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  353. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
  354. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  355. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
  356. package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
  357. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  358. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  359. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  361. package/ReactCommon/logger/react_native_log.cpp +0 -1
  362. package/ReactCommon/react/bridging/Array.h +1 -1
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
  366. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
  367. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
  368. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
  369. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
  371. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  372. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  373. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  374. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  375. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  376. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  377. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  378. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  379. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
  380. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
  381. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  382. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  383. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  384. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  385. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  386. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  387. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  388. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  389. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  390. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  391. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
  392. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  393. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  394. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  395. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  396. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
  397. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
  398. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  399. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  400. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  401. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  402. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  403. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  404. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  405. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  406. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  407. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  408. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  409. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  410. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  411. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  412. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +15 -0
  413. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -0
  414. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  415. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  416. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  417. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  418. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  419. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  420. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  421. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  422. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  423. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +71 -5
  424. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +1 -0
  425. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  426. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  427. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  428. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  429. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  430. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  431. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  432. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  433. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  434. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  435. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  436. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  437. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  438. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  439. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  440. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  441. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  442. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  443. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  444. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  445. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  446. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  447. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  448. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  449. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  450. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  451. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  452. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  453. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  454. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  455. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  456. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  457. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  458. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  459. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  460. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  461. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  462. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  463. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  464. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  465. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  466. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  467. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  468. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  469. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  470. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  471. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  472. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  473. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  474. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  475. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  476. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  477. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  478. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  479. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  480. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  481. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  482. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  483. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  484. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  485. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  486. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  487. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  488. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  489. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  490. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  491. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  492. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  493. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  494. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
  495. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  496. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  497. package/ReactCommon/react/timing/primitives.h +33 -1
  498. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  499. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  500. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  501. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  502. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  503. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  504. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  505. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  506. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  507. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  508. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  509. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  510. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  511. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  512. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  513. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  514. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  515. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  516. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  517. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  518. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  519. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  520. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  521. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  522. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  523. package/cli.js +1 -1
  524. package/flow/HermesInternalType.js +1 -1
  525. package/flow/bom.js.flow +95 -3
  526. package/flow/dom.js.flow +89 -89
  527. package/gradle/libs.versions.toml +3 -1
  528. package/index.js +30 -3
  529. package/index.js.flow +23 -1
  530. package/package.json +11 -11
  531. package/react-native.config.js +3 -3
  532. package/scripts/cocoapods/rncore.rb +65 -11
  533. package/scripts/cocoapods/rndependencies.rb +65 -11
  534. package/scripts/cocoapods/utils.rb +52 -0
  535. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
  536. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
  537. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  538. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
  539. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
  540. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  541. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
  542. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  543. package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
  544. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  545. package/scripts/generate-codegen-artifacts.js +20 -2
  546. package/scripts/generate-provider-cli.js +1 -1
  547. package/scripts/react_native_pods.rb +25 -2
  548. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  549. package/scripts/replace-rncore-version.js +20 -0
  550. package/scripts/xcode/with-environment.sh +7 -1
  551. package/sdks/.hermesv1version +1 -1
  552. package/sdks/.hermesversion +1 -1
  553. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  554. package/sdks/hermes-engine/version.properties +2 -2
  555. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  556. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  557. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  558. package/src/private/components/virtualcollection/Virtual.js +62 -0
  559. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  560. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  561. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  562. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  563. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  564. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  565. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  566. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  567. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  568. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  569. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  570. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  571. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  572. package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
  573. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  574. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
  575. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  576. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  577. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  578. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  579. package/src/private/renderer/events/ResponderEvent.js +40 -0
  580. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  581. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  582. package/src/private/setup/setUpDOM.js +20 -0
  583. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  584. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  585. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  586. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  587. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  588. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  589. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  590. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  591. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  592. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  593. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  594. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  595. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  596. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  597. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  598. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  599. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  600. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  601. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  602. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  603. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  604. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  605. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  606. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  607. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  608. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  609. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  610. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  611. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  612. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  613. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  614. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  615. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  616. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  617. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  618. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  619. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  620. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  621. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  622. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  623. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  624. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  625. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  626. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  627. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  628. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  629. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  630. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  631. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  632. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  633. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  634. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  635. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  636. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  637. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  638. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  639. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  640. package/src/private/styles/composeStyles.js +1 -1
  641. package/src/private/types/HostComponent.js +1 -1
  642. package/src/private/utilities/toExtendedError.js +1 -1
  643. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  644. package/src/private/webapis/dom/events/Event.js +10 -1
  645. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  646. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  647. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  648. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  649. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  650. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  651. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  652. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  653. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  654. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  655. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  656. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  657. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  658. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  659. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  660. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  661. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  662. package/types/public/ReactNativeTVTypes.d.ts +9 -0
  663. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
  664. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  665. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  666. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  667. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  668. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  669. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  670. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  671. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  673. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  674. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  675. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
@@ -258,11 +258,11 @@ function diffProperties(
258
258
  if (!attributeConfigHasProcess) {
259
259
  // functions are converted to booleans as markers that the associated
260
260
  // events should be sent from native.
261
- nextProp = (true: any);
261
+ nextProp = true as any;
262
262
  // If nextProp is not a function, then don't bother changing prevProp
263
263
  // since nextProp will win and go into the updatePayload regardless.
264
264
  if (typeof prevProp === 'function') {
265
- prevProp = (true: any);
265
+ prevProp = true as any;
266
266
  }
267
267
  }
268
268
  }
@@ -270,9 +270,9 @@ function diffProperties(
270
270
  // An explicit value of undefined is treated as a null because it overrides
271
271
  // any other preceding value.
272
272
  if (typeof nextProp === 'undefined') {
273
- nextProp = (null: any);
273
+ nextProp = null as any;
274
274
  if (typeof prevProp === 'undefined') {
275
- prevProp = (null: any);
275
+ prevProp = null as any;
276
276
  }
277
277
  }
278
278
 
@@ -313,7 +313,7 @@ function diffProperties(
313
313
  // case: !Object is the default case
314
314
  if (defaultDiffer(prevProp, nextProp)) {
315
315
  // a normal leaf has changed
316
- (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[
316
+ (updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
317
317
  propKey
318
318
  ] = nextProp;
319
319
  }
@@ -333,7 +333,7 @@ function diffProperties(
333
333
  ? // $FlowFixMe[incompatible-use] found when upgrading Flow
334
334
  attributeConfig.process(nextProp)
335
335
  : nextProp;
336
- (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[
336
+ (updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
337
337
  propKey
338
338
  ] = nextValue;
339
339
  }
@@ -347,13 +347,13 @@ function diffProperties(
347
347
  updatePayload,
348
348
  prevProp,
349
349
  nextProp,
350
- ((attributeConfig: any): AttributeConfiguration),
350
+ attributeConfig as any as AttributeConfiguration,
351
351
  );
352
352
  if (removedKeyCount > 0 && updatePayload) {
353
353
  restoreDeletedValuesInNestedArray(
354
354
  updatePayload,
355
355
  nextProp,
356
- ((attributeConfig: any): AttributeConfiguration),
356
+ attributeConfig as any as AttributeConfiguration,
357
357
  );
358
358
  removedKeys = null;
359
359
  }
@@ -389,11 +389,11 @@ function diffProperties(
389
389
  ) {
390
390
  // case: CustomAttributeConfiguration | !Object
391
391
  // Flag the leaf property for removal by sending a sentinel.
392
- (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[
392
+ (updatePayload || (updatePayload = {} as {[string]: $FlowFixMe}))[
393
393
  propKey
394
394
  ] = null;
395
395
  if (!removedKeys) {
396
- removedKeys = ({}: {[string]: boolean});
396
+ removedKeys = {} as {[string]: boolean};
397
397
  }
398
398
  if (!removedKeys[propKey]) {
399
399
  removedKeys[propKey] = true;
@@ -406,7 +406,7 @@ function diffProperties(
406
406
  updatePayload = clearNestedProperty(
407
407
  updatePayload,
408
408
  prevProp,
409
- ((attributeConfig: any): AttributeConfiguration),
409
+ attributeConfig as any as AttributeConfiguration,
410
410
  );
411
411
  }
412
412
  }
@@ -429,9 +429,9 @@ function addNestedProperty(
429
429
  for (const propKey in props) {
430
430
  const prop = props[propKey];
431
431
 
432
- const attributeConfig = ((validAttributes[
432
+ const attributeConfig = validAttributes[
433
433
  propKey
434
- ]: any): AttributeConfiguration);
434
+ ] as any as AttributeConfiguration;
435
435
 
436
436
  if (attributeConfig == null) {
437
437
  continue;
@@ -466,7 +466,7 @@ function addNestedProperty(
466
466
 
467
467
  if (newValue !== undefined) {
468
468
  if (!payload) {
469
- payload = ({}: {[string]: $FlowFixMe});
469
+ payload = {} as {[string]: $FlowFixMe};
470
470
  }
471
471
  payload[propKey] = newValue;
472
472
  continue;
@@ -8,9 +8,6 @@
8
8
  * @format
9
9
  */
10
10
 
11
- import type {HostInstance} from '../../src/private/types/HostInstance';
12
- import typeof ReactFabricType from '../Renderer/shims/ReactFabric';
13
- import typeof ReactNativeType from '../Renderer/shims/ReactNative';
14
11
  import type {RootTag} from './RootTag';
15
12
 
16
13
  import {
@@ -18,159 +15,45 @@ import {
18
15
  onRecoverableError,
19
16
  onUncaughtError,
20
17
  } from '../../src/private/renderer/errorhandling/ErrorHandlers';
18
+ import ReactFabric from '../Renderer/shims/ReactFabric';
21
19
  import * as React from 'react';
22
20
 
23
- let cachedFabricRenderer;
24
- let cachedPaperRenderer;
25
-
26
- function getFabricRenderer(): ReactFabricType {
27
- if (cachedFabricRenderer == null) {
28
- cachedFabricRenderer = require('../Renderer/shims/ReactFabric').default;
29
- }
30
- return cachedFabricRenderer;
31
- }
32
-
33
- function getPaperRenderer(): ReactNativeType {
34
- if (cachedPaperRenderer == null) {
35
- cachedPaperRenderer = require('../Renderer/shims/ReactNative').default;
36
- }
37
- return cachedPaperRenderer;
38
- }
39
-
40
- const getMethod: (<MethodName: keyof ReactFabricType>(
41
- () => ReactFabricType,
42
- MethodName,
43
- ) => ReactFabricType[MethodName]) &
44
- (<MethodName: keyof ReactNativeType>(
45
- () => ReactNativeType,
46
- MethodName,
47
- ) => ReactNativeType[MethodName]) = (getRenderer, methodName) => {
48
- let cachedImpl;
49
-
50
- // $FlowExpectedError[incompatible-type]
51
- return function (arg1, arg2, arg3, arg4, arg5, arg6) {
52
- if (cachedImpl == null) {
53
- // $FlowExpectedError[prop-missing]
54
- cachedImpl = getRenderer()[methodName];
55
- }
56
-
57
- // $FlowExpectedError[extra-arg]
58
- return cachedImpl(arg1, arg2, arg3, arg4, arg5);
59
- };
60
- };
61
-
62
- function getFabricMethod<MethodName: keyof ReactFabricType>(
63
- methodName: MethodName,
64
- ): ReactFabricType[MethodName] {
65
- return getMethod(getFabricRenderer, methodName);
66
- }
67
-
68
- function getPaperMethod<MethodName: keyof ReactNativeType>(
69
- methodName: MethodName,
70
- ): ReactNativeType[MethodName] {
71
- return getMethod(getPaperRenderer, methodName);
72
- }
73
-
74
- let cachedFabricRender;
75
- let cachedPaperRender;
76
-
77
21
  export function renderElement({
78
22
  element,
79
23
  rootTag,
80
- useFabric,
81
- useConcurrentRoot,
82
24
  }: {
83
25
  element: React.MixedElement,
84
- rootTag: number,
85
- useFabric: boolean,
86
- useConcurrentRoot: boolean,
26
+ rootTag: RootTag,
87
27
  }): void {
88
- if (useFabric) {
89
- if (cachedFabricRender == null) {
90
- cachedFabricRender = getFabricRenderer().render;
91
- }
92
-
93
- cachedFabricRender(element, rootTag, null, useConcurrentRoot, {
28
+ ReactFabric.render(
29
+ element,
30
+ Number(rootTag),
31
+ /* callback */ null,
32
+ /* useConcurrentRoot */ true,
33
+ {
94
34
  onCaughtError,
95
35
  onUncaughtError,
96
36
  onRecoverableError,
97
- });
98
- } else {
99
- if (cachedPaperRender == null) {
100
- cachedPaperRender = getPaperRenderer().render;
101
- }
102
-
103
- cachedPaperRender(element, rootTag, undefined, {
104
- onCaughtError,
105
- onUncaughtError,
106
- onRecoverableError,
107
- });
108
- }
37
+ },
38
+ );
109
39
  }
110
40
 
111
- let cachedFabricDispatchCommand;
112
- let cachedPaperDispatchCommand;
113
-
114
- export function dispatchCommand(
115
- handle: HostInstance,
116
- command: string,
117
- args: Array<unknown>,
118
- ): void {
119
- if (global.RN$Bridgeless === true) {
120
- // Note: this function has the same implementation in the legacy and new renderer.
121
- // However, evaluating the old renderer comes with some side effects.
122
- if (cachedFabricDispatchCommand == null) {
123
- cachedFabricDispatchCommand = getFabricRenderer().dispatchCommand;
124
- }
125
-
126
- return cachedFabricDispatchCommand(handle, command, args);
127
- } else {
128
- if (cachedPaperDispatchCommand == null) {
129
- cachedPaperDispatchCommand = getPaperRenderer().dispatchCommand;
130
- }
131
-
132
- return cachedPaperDispatchCommand(handle, command, args);
133
- }
134
- }
135
-
136
- export const findHostInstance_DEPRECATED: <TElementType: React.ElementType>(
137
- // $FlowExpectedError[incompatible-type]
138
- componentOrHandle: ?(React.ElementRef<TElementType> | number),
139
- ) => ?HostInstance = getPaperMethod('findHostInstance_DEPRECATED');
140
-
141
- export const findNodeHandle: <TElementType: React.ElementType>(
142
- // $FlowExpectedError[incompatible-type]
143
- componentOrHandle: ?(React.ElementRef<TElementType> | number),
144
- suppressWarning: ?boolean,
145
- ) => ?number = getPaperMethod('findNodeHandle');
146
-
147
- export const sendAccessibilityEvent: ReactNativeType['sendAccessibilityEvent'] =
148
- getPaperMethod('sendAccessibilityEvent');
149
-
150
- /**
151
- * This method is used by AppRegistry to unmount a root when using the old
152
- * React Native renderer (Paper).
153
- */
154
- export const unmountComponentAtNodeAndRemoveContainer: (
155
- rootTag: RootTag,
156
- ) => void =
157
- // $FlowExpectedError[incompatible-type]
158
- getPaperMethod('unmountComponentAtNodeAndRemoveContainer');
159
-
160
- export const unstable_batchedUpdates: ReactNativeType['unstable_batchedUpdates'] =
161
- getPaperMethod('unstable_batchedUpdates');
162
-
163
- export const isChildPublicInstance: ReactNativeType['isChildPublicInstance'] =
164
- getPaperMethod('isChildPublicInstance');
165
-
166
- export const getNodeFromInternalInstanceHandle: ReactFabricType['getNodeFromInternalInstanceHandle'] =
167
- getFabricMethod('getNodeFromInternalInstanceHandle');
168
-
169
- export const getPublicInstanceFromInternalInstanceHandle: ReactFabricType['getPublicInstanceFromInternalInstanceHandle'] =
170
- getFabricMethod('getPublicInstanceFromInternalInstanceHandle');
171
-
172
- export const getPublicInstanceFromRootTag: ReactFabricType['getPublicInstanceFromRootTag'] =
173
- getFabricMethod('getPublicInstanceFromRootTag');
41
+ // NOTE: these cannot be combined into a single destructuring statement because
42
+ // `flow-api-translator` (used by `yarn build-types` to generate the
43
+ // open-source type definitions) does not support destructuring in variable
44
+ // declarations.
45
+ export const dispatchCommand = ReactFabric.dispatchCommand;
46
+ export const findHostInstance_DEPRECATED =
47
+ ReactFabric.findHostInstance_DEPRECATED;
48
+ export const findNodeHandle = ReactFabric.findNodeHandle;
49
+ export const sendAccessibilityEvent = ReactFabric.sendAccessibilityEvent;
50
+ export const isChildPublicInstance = ReactFabric.isChildPublicInstance;
51
+ export const getNodeFromInternalInstanceHandle =
52
+ ReactFabric.getNodeFromInternalInstanceHandle;
53
+ export const getPublicInstanceFromInternalInstanceHandle =
54
+ ReactFabric.getPublicInstanceFromInternalInstanceHandle;
55
+ export const getPublicInstanceFromRootTag =
56
+ ReactFabric.getPublicInstanceFromRootTag;
174
57
 
175
58
  export function isProfilingRenderer(): boolean {
176
59
  return Boolean(__DEV__);
@@ -8,19 +8,8 @@
8
8
  * @format
9
9
  */
10
10
 
11
- /**
12
- * This module exists to allow apps to select their renderer implementation
13
- * (e.g.: Fabric-only, Paper-only) without having to pull all the renderer
14
- * implementations into their app bundle, which affects app size.
15
- *
16
- * By default, the setup will be:
17
- * -> RendererProxy
18
- * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
19
- *
20
- * But this will allow a setup like this without duplicating logic:
21
- * -> RendererProxy (fork)
22
- * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)
23
- * or -> OtherImplementation (which uses Fabric only)
24
- */
25
-
11
+ // This module allows app bundles to set up the appropriate Fabric renderer
12
+ // variant (e.g., profiling vs production) before React Native is initialized.
13
+ // The internal implementation (RendererProxy.fb.js) provides the indirection
14
+ // needed to swap the renderer implementation at runtime.
26
15
  export * from './RendererImplementation';
@@ -4,65 +4,63 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow
7
+ * @flow strict-local
8
8
  * @format
9
9
  */
10
10
 
11
11
  import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
12
- import type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';
12
+ import type {RootTag} from './RootTag';
13
13
 
14
- import GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';
15
- import PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';
16
- import warnOnce from '../Utilities/warnOnce';
17
14
  import AppContainer from './AppContainer';
18
15
  import DisplayMode, {type DisplayModeType} from './DisplayMode';
19
16
  import getCachedComponentWithDebugName from './getCachedComponentWithDebugName';
20
17
  import * as Renderer from './RendererProxy';
18
+ import {createRootTag} from './RootTag';
21
19
  import invariant from 'invariant';
22
20
  import * as React from 'react';
23
21
 
24
22
  // require BackHandler so it sets the default handler that exits the app if no listeners respond
25
23
  import '../Utilities/BackHandler';
26
24
 
27
- type ActivityType = component(
28
- ...{
29
- mode: 'visible' | 'hidden',
30
- children: React.Node,
31
- }
32
- );
25
+ type ActivityType = component(mode: 'visible' | 'hidden', children: React.Node);
33
26
 
34
- export default function renderApplication<Props: Object>(
35
- RootComponent: React.ComponentType<Props>,
27
+ export type RenderApplicationOptions<Props extends {...}> = {
28
+ RootComponent: component(...Props),
36
29
  initialProps: Props,
37
- rootTag: any,
38
- WrapperComponent?: ?React.ComponentType<any>,
30
+ rootTag: number | RootTag,
31
+ WrapperComponent?: ?component(initialProps: Props, children: React.Node),
39
32
  rootViewStyle?: ?ViewStyleProp,
40
- fabric?: boolean,
41
- scopedPerformanceLogger?: IPerformanceLogger,
42
33
  isLogBox?: boolean,
43
34
  debugName?: string,
44
35
  displayMode?: ?DisplayModeType,
45
36
  useOffscreen?: boolean,
46
- ) {
47
- invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);
37
+ };
48
38
 
49
- const performanceLogger = scopedPerformanceLogger ?? GlobalPerformanceLogger;
39
+ export default function renderApplication<Props extends {...}>({
40
+ RootComponent,
41
+ initialProps,
42
+ rootTag,
43
+ WrapperComponent,
44
+ rootViewStyle,
45
+ isLogBox,
46
+ debugName,
47
+ displayMode,
48
+ useOffscreen,
49
+ }: RenderApplicationOptions<Props>) {
50
+ invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);
50
51
 
51
52
  let renderable: React.MixedElement = (
52
- <PerformanceLoggerContext.Provider value={performanceLogger}>
53
- <AppContainer
54
- rootTag={rootTag}
55
- fabric={fabric}
56
- WrapperComponent={WrapperComponent}
57
- rootViewStyle={rootViewStyle}
58
- initialProps={initialProps ?? Object.freeze({})}
59
- internal_excludeLogBox={isLogBox}>
60
- <RootComponent {...initialProps} rootTag={rootTag} />
61
- </AppContainer>
62
- </PerformanceLoggerContext.Provider>
53
+ <AppContainer
54
+ rootTag={rootTag}
55
+ WrapperComponent={WrapperComponent}
56
+ rootViewStyle={rootViewStyle}
57
+ initialProps={initialProps ?? Object.freeze({})}
58
+ internal_excludeLogBox={isLogBox}>
59
+ <RootComponent {...initialProps} rootTag={rootTag} />
60
+ </AppContainer>
63
61
  );
64
62
 
65
- if (__DEV__ && debugName) {
63
+ if (__DEV__ && debugName != null) {
66
64
  const RootComponentWithMeaningfulName = getCachedComponentWithDebugName(
67
65
  `${debugName}(RootComponent)`,
68
66
  );
@@ -73,10 +71,10 @@ export default function renderApplication<Props: Object>(
73
71
  );
74
72
  }
75
73
 
76
- if (useOffscreen && displayMode != null) {
74
+ if (useOffscreen === true && displayMode != null) {
77
75
  // $FlowFixMe[incompatible-type]
78
- // $FlowFixMe[prop-missing]
79
76
  // $FlowFixMe[missing-export]
77
+ // $FlowFixMe[prop-missing] `unstable_Activity` is not yet in the React types.
80
78
  const Activity: ActivityType = React.unstable_Activity;
81
79
 
82
80
  renderable = (
@@ -87,32 +85,8 @@ export default function renderApplication<Props: Object>(
87
85
  );
88
86
  }
89
87
 
90
- // We want to have concurrentRoot always enabled when you're on Fabric.
91
- const useConcurrentRoot = Boolean(fabric);
92
-
93
- performanceLogger.startTimespan('renderApplication_React_render');
94
- performanceLogger.setExtra(
95
- 'usedReactConcurrentRoot',
96
- useConcurrentRoot ? '1' : '0',
97
- );
98
- performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');
99
- performanceLogger.setExtra(
100
- 'usedReactProfiler',
101
- Renderer.isProfilingRenderer(),
102
- );
103
88
  Renderer.renderElement({
104
89
  element: renderable,
105
- rootTag,
106
- useFabric: Boolean(fabric),
107
- useConcurrentRoot,
90
+ rootTag: createRootTag(rootTag),
108
91
  });
109
-
110
- const newArchitecture = !!fabric;
111
- if (!newArchitecture) {
112
- warnOnce(
113
- '[OSS][OldArchDeprecatedWarning]',
114
- 'The app is running using the Legacy Architecture. The Legacy Architecture is deprecated and will be removed in a future version of React Native. Please consider migrating to the New Architecture. For more information, please see https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here',
115
- );
116
- }
117
- performanceLogger.stopTimespan('renderApplication_React_render');
118
92
  }
@@ -26,11 +26,11 @@ const getNativeComponentAttributes =
26
26
  *
27
27
  */
28
28
 
29
- const requireNativeComponent = <T: {...}>(
29
+ const requireNativeComponent = <T extends {...}>(
30
30
  uiViewClassName: string,
31
31
  ): HostComponent<T> =>
32
- ((createReactNativeComponentClass(uiViewClassName, () =>
32
+ createReactNativeComponentClass(uiViewClassName, () =>
33
33
  getNativeComponentAttributes(uiViewClassName),
34
- ): any): HostComponent<T>);
34
+ ) as any as HostComponent<T>;
35
35
 
36
36
  export default requireNativeComponent;
@@ -8,6 +8,7 @@
8
8
  * @format
9
9
  */
10
10
 
11
+ import typeof dispatchNativeEvent from '../../src/private/renderer/events/dispatchNativeEvent';
11
12
  import typeof CustomEvent from '../../src/private/webapis/dom/events/CustomEvent';
12
13
  import typeof BatchedBridge from '../BatchedBridge/BatchedBridge';
13
14
  import typeof legacySendAccessibilityEvent from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';
@@ -133,4 +134,8 @@ module.exports = {
133
134
  return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')
134
135
  .getInternalInstanceHandleFromPublicInstance;
135
136
  },
137
+ get dispatchNativeEvent(): dispatchNativeEvent {
138
+ return require('../../src/private/renderer/events/dispatchNativeEvent')
139
+ .default;
140
+ },
136
141
  };
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow strict
10
- * @generated SignedSource<<c0e57723772ea5f1aa8c3c897ac3c216>>
10
+ * @generated SignedSource<<4ab83fd2606d6a4d374ef914f231d9c1>>
11
11
  */
12
12
 
13
13
  import type {
@@ -138,37 +138,6 @@ export type RenderRootOptions = {
138
138
  onDefaultTransitionIndicator?: () => void | (() => void),
139
139
  };
140
140
 
141
- /**
142
- * Flat ReactNative renderer bundles are too big for Flow to parse efficiently.
143
- * Provide minimal Flow typing for the high-level RN API and call it a day.
144
- */
145
- export type ReactNativeType = {
146
- findHostInstance_DEPRECATED<TElementType: React.ElementType>(
147
- componentOrHandle: ?(React.ElementRef<TElementType> | number),
148
- ): ?PublicInstance,
149
- findNodeHandle<TElementType: React.ElementType>(
150
- componentOrHandle: ?(React.ElementRef<TElementType> | number),
151
- suppressWarning?: boolean,
152
- ): ?number,
153
- isChildPublicInstance(parent: PublicInstance, child: PublicInstance): boolean,
154
- dispatchCommand(
155
- handle: PublicInstance,
156
- command: string,
157
- args: Array<mixed>,
158
- ): void,
159
- sendAccessibilityEvent(handle: PublicInstance, eventType: string): void,
160
- render(
161
- element: React.MixedElement,
162
- containerTag: number,
163
- callback: ?() => void,
164
- options: ?RenderRootOptions,
165
- ): ?React.ElementRef<React.ElementType>,
166
- unmountComponentAtNode(containerTag: number): void,
167
- unmountComponentAtNodeAndRemoveContainer(containerTag: number): void,
168
- +unstable_batchedUpdates: <T>(fn: (T) => void, bookkeeping: T) => void,
169
- ...
170
- };
171
-
172
141
  export opaque type Node = mixed;
173
142
  export opaque type InternalInstanceHandle = mixed;
174
143
 
@@ -178,6 +147,7 @@ export type ReactFabricType = {
178
147
  ): ?PublicInstance,
179
148
  findNodeHandle<TElementType: React.ElementType>(
180
149
  componentOrHandle: ?(React.ElementRef<TElementType> | number),
150
+ suppressWarning?: boolean,
181
151
  ): ?number,
182
152
  dispatchCommand(
183
153
  handle: PublicInstance,
@@ -20,7 +20,7 @@ const subscriptions: Array<{
20
20
 
21
21
  const Settings = {
22
22
  _settings: (NativeSettingsManager &&
23
- NativeSettingsManager.getConstants().settings: any),
23
+ NativeSettingsManager.getConstants().settings) as any,
24
24
 
25
25
  get(key: string): unknown {
26
26
  // $FlowFixMe[object-this-reference]
@@ -19,7 +19,7 @@ type LocalNativeColorValue = {
19
19
  export const PlatformColor = (...names: Array<string>): NativeColorValue => {
20
20
  /* $FlowExpectedError[incompatible-type]
21
21
  * LocalNativeColorValue is the actual type of the opaque NativeColorValue on Android platform */
22
- return ({resource_paths: names}: LocalNativeColorValue);
22
+ return {resource_paths: names} as LocalNativeColorValue;
23
23
  };
24
24
 
25
25
  export const normalizeColorObject = (
@@ -27,7 +27,7 @@ export const normalizeColorObject = (
27
27
  ): ?ProcessedColorValue => {
28
28
  /* $FlowExpectedError[incompatible-type]
29
29
  * LocalNativeColorValue is the actual type of the opaque NativeColorValue on Android platform */
30
- if ('resource_paths' in (color: LocalNativeColorValue)) {
30
+ if ('resource_paths' in (color as LocalNativeColorValue)) {
31
31
  return color;
32
32
  }
33
33
  return null;
@@ -24,7 +24,7 @@ type LocalNativeColorValue = {
24
24
 
25
25
  export const PlatformColor = (...names: Array<string>): NativeColorValue => {
26
26
  // $FlowExpectedError[incompatible-type] LocalNativeColorValue is the iOS LocalNativeColorValue type
27
- return ({semantic: names}: LocalNativeColorValue);
27
+ return {semantic: names} as LocalNativeColorValue;
28
28
  };
29
29
 
30
30
  export type DynamicColorIOSTuplePrivate = {
@@ -37,7 +37,7 @@ export type DynamicColorIOSTuplePrivate = {
37
37
  export const DynamicColorIOSPrivate = (
38
38
  tuple: DynamicColorIOSTuplePrivate,
39
39
  ): ColorValue => {
40
- return ({
40
+ return {
41
41
  dynamic: {
42
42
  light: tuple.light,
43
43
  dark: tuple.dark,
@@ -46,7 +46,7 @@ export const DynamicColorIOSPrivate = (
46
46
  },
47
47
  /* $FlowExpectedError[incompatible-type]
48
48
  * LocalNativeColorValue is the actual type of the opaque NativeColorValue on iOS platform */
49
- }: LocalNativeColorValue);
49
+ } as LocalNativeColorValue;
50
50
  };
51
51
 
52
52
  const _normalizeColorObject = (
@@ -118,7 +118,7 @@ export type DangerouslyImpreciseStyleProp =
118
118
  * This will correctly give you the type 'absolute' | 'relative'
119
119
  */
120
120
  export type TypeForStyleKey<
121
- +key: keyof ____DangerouslyImpreciseStyle_Internal,
121
+ +key extends keyof ____DangerouslyImpreciseStyle_Internal,
122
122
  > = ____DangerouslyImpreciseStyle_Internal[key];
123
123
 
124
124
  /**
@@ -34,7 +34,7 @@ export type {
34
34
 
35
35
  export type StyleSheetProperties = {
36
36
  hairlineWidth: number,
37
- flatten<T: string>(style: T): T,
37
+ flatten<T extends string>(style: T): T,
38
38
  };
39
39
 
40
40
  /**
@@ -119,7 +119,7 @@ export type DangerouslyImpreciseStyleProp =
119
119
  * This will correctly give you the type 'absolute' | 'relative'
120
120
  */
121
121
  export type TypeForStyleKey<
122
- +key: keyof ____DangerouslyImpreciseStyle_Internal,
122
+ +key extends keyof ____DangerouslyImpreciseStyle_Internal,
123
123
  > = ____DangerouslyImpreciseStyle_Internal[key];
124
124
 
125
125
  /**
@@ -179,7 +179,7 @@ export default {
179
179
  * An identity function for creating style sheets.
180
180
  */
181
181
  // $FlowFixMe[unsupported-variance-annotation]
182
- create<+S: ____Styles_Internal>(obj: S): Readonly<S> {
182
+ create<+S extends ____Styles_Internal>(obj: S): Readonly<S> {
183
183
  // TODO: This should return S as the return type. But first,
184
184
  // we need to codemod all the callsites that are typing this
185
185
  // return value as a number (even though it was opaque).
@@ -95,6 +95,6 @@ declare export const setStyleAttributePreprocessor: (
95
95
  * An identity function for creating style sheets.
96
96
  */
97
97
  // $FlowFixMe[unsupported-variance-annotation]
98
- declare export const create: <+S: ____Styles_Internal>(
98
+ declare export const create: <+S extends ____Styles_Internal>(
99
99
  obj: S & ____Styles_Internal,
100
100
  ) => Readonly<S>;