react-native-tvos 0.85.3-1 → 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 (667) 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.js +3 -3
  33. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  34. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
  35. package/Libraries/Components/Switch/Switch.js +1 -1
  36. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +25 -1
  37. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +1 -1
  38. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -2
  39. package/Libraries/Components/TextInput/TextInput.d.ts +24 -0
  40. package/Libraries/Components/TextInput/TextInput.flow.js +24 -0
  41. package/Libraries/Components/TextInput/TextInput.js +5 -5
  42. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +5 -5
  43. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +5 -5
  44. package/Libraries/Components/Touchable/PooledClass.js +4 -4
  45. package/Libraries/Components/Touchable/Touchable.js +1 -1
  46. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -10
  47. package/Libraries/Components/View/ReactNativeStyleAttributes.js +10 -2
  48. package/Libraries/Components/View/View.js +100 -95
  49. package/Libraries/Components/View/ViewPropTypes.js +3 -1
  50. package/Libraries/Core/Devtools/loadBundleFromServer.js +8 -0
  51. package/Libraries/Core/ExceptionsManager.js +2 -8
  52. package/Libraries/Core/InitializeCore.js +0 -13
  53. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  54. package/Libraries/Core/ReactNativeVersion.js +3 -3
  55. package/Libraries/Core/ReactNativeVersionCheck.js +1 -1
  56. package/Libraries/Core/Timers/JSTimers.js +2 -2
  57. package/Libraries/Core/Timers/immediateShim.js +1 -1
  58. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  59. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  60. package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
  61. package/Libraries/EventEmitter/NativeEventEmitter.js +9 -5
  62. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -2
  63. package/Libraries/Image/Image.android.js +15 -35
  64. package/Libraries/Image/RCTImageLoader.mm +4 -2
  65. package/Libraries/Image/RelativeImageStub.js +2 -2
  66. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -12
  67. package/Libraries/Linking/Linking.js +1 -1
  68. package/Libraries/Lists/FlatList.js +1 -1
  69. package/Libraries/LogBox/LogBox.js +2 -2
  70. package/Libraries/LogBox/LogBoxInspectorContainer.js +24 -2
  71. package/Libraries/LogBox/LogBoxNotificationContainer.js +27 -4
  72. package/Libraries/LogBox/UI/LogBoxButton.js +47 -33
  73. package/Libraries/LogBox/UI/LogBoxInspector.js +61 -1
  74. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -0
  75. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +3 -1
  76. package/Libraries/LogBox/UI/LogBoxNotification.js +2 -0
  77. package/Libraries/Modal/Modal.js +12 -7
  78. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.mm +0 -2
  79. package/Libraries/NativeComponent/BaseViewConfig.android.js +15 -0
  80. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -0
  81. package/Libraries/NativeComponent/NativeComponentRegistry.js +2 -2
  82. package/Libraries/NativeComponent/ViewConfigIgnore.js +4 -2
  83. package/Libraries/Network/RCTNetworking.android.js +1 -1
  84. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  85. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  86. package/Libraries/Network/RCTNetworking.mm +1 -2
  87. package/Libraries/Network/XMLHttpRequest.js +29 -12
  88. package/Libraries/Pressability/Pressability.js +2 -2
  89. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  90. package/Libraries/ReactNative/AppContainer-prod.js +1 -2
  91. package/Libraries/ReactNative/AppContainer.js +0 -1
  92. package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
  93. package/Libraries/ReactNative/AppRegistry.flow.js +1 -2
  94. package/Libraries/ReactNative/AppRegistryImpl.js +16 -16
  95. package/Libraries/ReactNative/DeprecatedPerformanceLoggerStub.js +83 -0
  96. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  97. package/Libraries/{Utilities → ReactNative}/IPerformanceLogger.d.ts +8 -5
  98. package/Libraries/{Utilities/IPerformanceLogger.js → ReactNative/IPerformanceLogger.flow.js} +12 -9
  99. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +14 -14
  100. package/Libraries/ReactNative/RendererImplementation.js +26 -143
  101. package/Libraries/ReactNative/RendererProxy.js +4 -15
  102. package/Libraries/ReactNative/renderApplication.js +33 -59
  103. package/Libraries/ReactNative/requireNativeComponent.js +3 -3
  104. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +5 -0
  105. package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -32
  106. package/Libraries/Settings/Settings.ios.js +1 -1
  107. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  108. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +3 -3
  109. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  110. package/Libraries/StyleSheet/StyleSheet.js.flow +2 -2
  111. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  112. package/Libraries/StyleSheet/StyleSheetExports.js.flow +1 -1
  113. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +6 -8
  114. package/Libraries/StyleSheet/StyleSheetTypes.js +11 -11
  115. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  116. package/Libraries/StyleSheet/private/_TransformStyle.js +1 -1
  117. package/Libraries/StyleSheet/processBackgroundImage.js +19 -9
  118. package/Libraries/StyleSheet/processBackgroundSize.js +7 -12
  119. package/Libraries/StyleSheet/processBoxShadow.js +9 -47
  120. package/Libraries/StyleSheet/processFilter.js +16 -8
  121. package/Libraries/StyleSheet/processTransformOrigin.js +10 -3
  122. package/Libraries/Text/Text.js +4 -4
  123. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +16 -2
  124. package/Libraries/Text/TextNativeComponent.js +4 -4
  125. package/Libraries/TurboModule/RCTExport.js +1 -1
  126. package/Libraries/TurboModule/TurboModuleRegistry.js +3 -3
  127. package/Libraries/Types/CodegenTypes.js +7 -4
  128. package/Libraries/Types/ReactDevToolsTypes.js +1 -1
  129. package/Libraries/Utilities/BackHandler.android.js +11 -3
  130. package/Libraries/Utilities/BackHandler.d.ts +11 -1
  131. package/Libraries/Utilities/BackHandler.ios.js +3 -1
  132. package/Libraries/Utilities/BackHandler.js.flow +6 -1
  133. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  134. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  135. package/Libraries/Utilities/binaryToBase64.js +1 -1
  136. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  137. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  138. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  139. package/Libraries/Utilities/stringifySafe.js +1 -1
  140. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  141. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  142. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  143. package/React/Base/RCTBundleURLProvider.h +19 -1
  144. package/React/Base/RCTBundleURLProvider.mm +82 -0
  145. package/React/Base/RCTDefines.h +1 -1
  146. package/React/Base/RCTMultipartDataTask.h +1 -1
  147. package/React/Base/RCTMultipartDataTask.m +0 -3
  148. package/React/Base/RCTRootView.h +4 -0
  149. package/React/Base/RCTRootViewDelegate.h +5 -2
  150. package/React/Base/RCTVersion.m +3 -3
  151. package/React/Base/Surface/RCTSurface.h +3 -0
  152. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  153. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  154. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  155. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -0
  156. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  157. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  158. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  159. package/React/CoreModules/RCTRedBox2AnsiParser.mm +1 -1
  160. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  161. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  162. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  163. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  164. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +108 -43
  165. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  166. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  167. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  168. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  169. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +70 -8
  170. package/React/Fabric/RCTConversions.h +14 -0
  171. package/React/Fabric/RCTScheduler.mm +18 -0
  172. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  173. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  174. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  175. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  176. package/React/Modules/RCTUIManager.mm +1 -1
  177. package/React/Profiler/RCTProfile.h +5 -0
  178. package/React/Profiler/RCTProfile.m +2 -1
  179. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  180. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  181. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  182. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  183. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  184. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  185. package/React/Views/RCTLayout.m +4 -3
  186. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  187. package/ReactAndroid/api/ReactAndroid.api +37 -27
  188. package/ReactAndroid/build.gradle.kts +28 -21
  189. package/ReactAndroid/gradle.properties +1 -1
  190. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  191. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  192. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  193. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  194. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +32 -87
  195. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  196. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  197. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  198. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  199. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  200. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  201. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  203. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  204. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  206. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  208. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +9 -10
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  213. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  214. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  215. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  216. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  220. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  221. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  222. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  223. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +41 -29
  225. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +71 -51
  226. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +15 -11
  227. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +16 -12
  228. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +79 -57
  229. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -3
  230. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  231. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +15 -11
  232. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  233. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +1 -1
  236. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  237. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  238. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  239. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  240. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  242. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  243. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  244. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  245. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  246. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
  247. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  248. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  249. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +18 -5
  250. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  251. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  252. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  253. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  262. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  263. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  264. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  265. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  266. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  269. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  270. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  271. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  272. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  273. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  274. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  275. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  276. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  278. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  279. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  281. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  282. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  283. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  284. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  285. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  286. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  287. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  288. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  289. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  290. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  291. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  292. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  293. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  294. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  295. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  296. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  297. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  298. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  299. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  300. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  301. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  302. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  303. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  304. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  305. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  306. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  307. package/ReactAndroid/src/main/jni/CMakeLists.txt +10 -1
  308. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  309. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  310. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  311. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  312. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  313. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  314. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  315. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  316. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  317. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  318. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  319. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  320. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  321. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +97 -69
  322. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +21 -15
  323. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  324. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  325. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  326. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  327. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  328. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  329. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  330. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +10 -0
  331. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +7 -0
  332. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  333. package/ReactCommon/React-Fabric.podspec +7 -0
  334. package/ReactCommon/React-FabricComponents.podspec +1 -1
  335. package/ReactCommon/cxxreact/ReactNativeVersion.h +5 -5
  336. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  337. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  338. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  339. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  340. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  341. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  342. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  343. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  344. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  345. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  346. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  347. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  348. package/ReactCommon/jsinspector-modern/HostAgent.cpp +10 -1
  349. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  350. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -2
  351. package/ReactCommon/jsinspector-modern/InspectorFlags.h +5 -2
  352. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  353. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  354. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  355. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  356. package/ReactCommon/logger/react_native_log.cpp +0 -1
  357. package/ReactCommon/react/bridging/Array.h +1 -1
  358. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +29 -21
  359. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +35 -25
  360. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +168 -132
  361. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +18 -14
  362. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +28 -20
  363. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +61 -43
  364. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -3
  365. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +9 -7
  366. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  367. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  368. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  369. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  370. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  371. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  372. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  373. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  374. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +35 -25
  375. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +15 -11
  376. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  377. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  378. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  379. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  380. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  381. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  382. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  383. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  384. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  385. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  386. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +24 -12
  387. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  388. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  389. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  390. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  391. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +4 -0
  392. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +1 -1
  393. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  394. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  395. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  396. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  397. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  398. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  399. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  400. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  401. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  402. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  403. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  404. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  405. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  406. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  407. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  408. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  409. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  410. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  411. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  412. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  413. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  414. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  415. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  416. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  417. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +53 -5
  418. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  419. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  420. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  421. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  422. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  423. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  424. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  425. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  426. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  427. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  428. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  429. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  430. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  431. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  432. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  433. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  434. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  435. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  436. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  437. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  438. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  439. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  440. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  441. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  442. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  443. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  444. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  445. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  446. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  447. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  448. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  449. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  450. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  451. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  452. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  453. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  454. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  455. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  456. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  457. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  458. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  460. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  461. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  462. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  463. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  464. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  465. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  466. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  467. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  468. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  469. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  470. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  471. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  472. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  473. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  474. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  475. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  476. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  477. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  478. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  479. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  480. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  481. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  482. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  483. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  484. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  485. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  486. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  487. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +37 -0
  488. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  489. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  490. package/ReactCommon/react/timing/primitives.h +33 -1
  491. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  492. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  493. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  494. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  495. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  496. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  497. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  498. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  499. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  500. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  501. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  502. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  503. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  504. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  505. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  506. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  507. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  508. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  509. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  510. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  511. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  512. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  513. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  514. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  515. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  516. package/cli.js +1 -1
  517. package/flow/HermesInternalType.js +1 -1
  518. package/flow/bom.js.flow +95 -3
  519. package/flow/dom.js.flow +89 -89
  520. package/gradle/libs.versions.toml +3 -1
  521. package/index.js +30 -3
  522. package/index.js.flow +23 -1
  523. package/package.json +11 -11
  524. package/react-native.config.js +3 -3
  525. package/scripts/cocoapods/rncore.rb +65 -11
  526. package/scripts/cocoapods/rndependencies.rb +65 -11
  527. package/scripts/cocoapods/utils.rb +52 -0
  528. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +1 -1
  529. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +13 -4
  530. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  531. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +1 -1
  532. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +17 -6
  533. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  534. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +1 -1
  535. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  536. package/scripts/codegen/generate-artifacts-executor/utils.js +1 -1
  537. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  538. package/scripts/generate-codegen-artifacts.js +20 -2
  539. package/scripts/generate-provider-cli.js +1 -1
  540. package/scripts/react_native_pods.rb +25 -2
  541. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  542. package/scripts/replace-rncore-version.js +20 -0
  543. package/scripts/xcode/with-environment.sh +7 -1
  544. package/sdks/.hermesv1version +1 -1
  545. package/sdks/.hermesversion +1 -1
  546. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  547. package/sdks/hermes-engine/version.properties +2 -2
  548. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  549. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  550. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  551. package/src/private/components/virtualcollection/Virtual.js +62 -0
  552. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  553. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  554. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  555. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  556. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  557. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  558. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  559. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  560. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  561. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  562. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  563. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  564. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  565. package/src/private/featureflags/ReactNativeFeatureFlags.js +41 -37
  566. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  567. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +9 -7
  568. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  569. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  570. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  571. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  572. package/src/private/renderer/events/ResponderEvent.js +40 -0
  573. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  574. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  575. package/src/private/setup/setUpDOM.js +20 -0
  576. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  577. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  578. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  579. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  580. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  581. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  582. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  583. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  584. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  585. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  586. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  587. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  588. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  589. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  590. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  591. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  592. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  593. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  594. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  595. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  596. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  597. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  598. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  599. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  600. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  601. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  602. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  603. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  604. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  605. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  606. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  607. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  608. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  609. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  610. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  611. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  612. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  613. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  614. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  615. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  616. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  617. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  618. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  619. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  620. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  621. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  622. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  623. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  624. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  625. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  626. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  627. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  628. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  629. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  630. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  631. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  632. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  633. package/src/private/styles/composeStyles.js +1 -1
  634. package/src/private/types/HostComponent.js +1 -1
  635. package/src/private/utilities/toExtendedError.js +1 -1
  636. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  637. package/src/private/webapis/dom/events/Event.js +10 -1
  638. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  639. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  640. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  641. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  642. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  643. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  644. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  645. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  646. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  647. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  648. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  649. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  650. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  651. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  652. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  653. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  654. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  655. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19669
  656. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  657. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  658. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  659. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  660. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  661. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  662. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  663. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  665. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  666. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  667. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
@@ -279,6 +279,11 @@ val preparePrefab by
279
279
  "../ReactCommon/react/renderer/animationbackend/",
280
280
  "react/renderer/animationbackend/",
281
281
  ),
282
+ // react_renderer_viewtransition
283
+ Pair(
284
+ "../ReactCommon/react/renderer/viewtransition/",
285
+ "react/renderer/viewtransition/",
286
+ ),
282
287
  ),
283
288
  ),
284
289
  PrefabPreprocessingEntry(
@@ -291,11 +296,10 @@ val preparePrefab by
291
296
  outputDir.set(prefabHeadersDir)
292
297
  }
293
298
 
294
- val createNativeDepsDirectories by
295
- tasks.registering {
296
- downloadsDir.mkdirs()
297
- thirdPartyNdkDir.mkdirs()
298
- }
299
+ val createNativeDepsDirectories by tasks.registering {
300
+ downloadsDir.mkdirs()
301
+ thirdPartyNdkDir.mkdirs()
302
+ }
299
303
 
300
304
  val downloadBoostDest = File(downloadsDir, "boost_${BOOST_VERSION}.tar.gz")
301
305
  val downloadBoost by
@@ -436,23 +440,21 @@ val prepareGlog by
436
440
  }
437
441
 
438
442
  // Tasks used by Fantom to download the Native 3p dependencies used.
439
- val prepareNative3pDependencies by
440
- tasks.registering {
441
- dependsOn(
442
- prepareBoost,
443
- prepareDoubleConversion,
444
- prepareFastFloat,
445
- prepareFmt,
446
- prepareFolly,
447
- prepareGlog,
448
- )
449
- }
443
+ val prepareNative3pDependencies by tasks.registering {
444
+ dependsOn(
445
+ prepareBoost,
446
+ prepareDoubleConversion,
447
+ prepareFastFloat,
448
+ prepareFmt,
449
+ prepareFolly,
450
+ prepareGlog,
451
+ )
452
+ }
450
453
 
451
- val prepareKotlinBuildScriptModel by
452
- tasks.registering {
453
- // This task is run when Gradle Sync is running.
454
- // We create it here so we can let it depend on preBuild inside the android{}
455
- }
454
+ val prepareKotlinBuildScriptModel by tasks.registering {
455
+ // This task is run when Gradle Sync is running.
456
+ // We create it here so we can let it depend on preBuild inside the android{}
457
+ }
456
458
 
457
459
  // As ReactAndroid builds from source, the codegen needs to be built before it can be invoked.
458
460
  // This is not the case for users of React Native, as we ship a compiled version of the codegen.
@@ -687,6 +689,10 @@ tasks.withType<KotlinCompile>().configureEach {
687
689
  exclude("com/facebook/annotationprocessors/**")
688
690
  exclude("com/facebook/react/processing/**")
689
691
  exclude("com/facebook/react/module/processing/**")
692
+ // These are instrumentation tests that require a device/emulator and native test
693
+ // libraries not available in the OSS Gradle build (Buck-only).
694
+ exclude("com/facebook/react/fabric/FabricMountingManagerInstrumentationTest.kt")
695
+ exclude("com/facebook/react/fabric/FabricMountingManagerTestHelper.kt")
690
696
  }
691
697
 
692
698
  dependencies {
@@ -695,6 +701,7 @@ dependencies {
695
701
  api(libs.androidx.autofill)
696
702
  api(libs.androidx.swiperefreshlayout)
697
703
  api(libs.androidx.tracing)
704
+ api(libs.androidx.window)
698
705
 
699
706
  api(libs.fbjni)
700
707
  api(libs.fresco)
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.85.3-1
1
+ VERSION_NAME=0.86.0-0
2
2
  react.internal.publishingGroup=io.github.react-native-tvos
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -8,8 +8,10 @@
8
8
  package com.facebook.hermes.instrumentation
9
9
 
10
10
  import com.facebook.soloader.SoLoader
11
+ import com.facebook.soloader.annotation.SoLoaderLibrary
11
12
 
12
13
  /** Hermes sampling profiler static JSI API. */
14
+ @SoLoaderLibrary("jsijniprofiler")
13
15
  public object HermesSamplingProfiler {
14
16
  init {
15
17
  SoLoader.loadLibrary("jsijniprofiler")
@@ -138,9 +138,7 @@ public class ReactActivityDelegate {
138
138
  if (mActivity != null) {
139
139
  Window window = mActivity.getWindow();
140
140
  if (window != null) {
141
- if (WindowUtilKt.isEdgeToEdgeFeatureFlagOn()) {
142
- WindowUtilKt.enableEdgeToEdge(window);
143
- }
141
+ WindowUtilKt.updateEdgeToEdgeFeatureFlag(mActivity);
144
142
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && isWideColorGamutEnabled()) {
145
143
  window.setColorMode(ActivityInfo.COLOR_MODE_WIDE_COLOR_GAMUT);
146
144
  }
@@ -60,6 +60,8 @@ internal class ReactAndroidHWInputDeviceHelper {
60
60
  KeyEvent.KEYCODE_DPAD_CENTER to "select",
61
61
  KeyEvent.KEYCODE_ENTER to "select",
62
62
  KeyEvent.KEYCODE_SPACE to "select",
63
+ KeyEvent.KEYCODE_MEDIA_PLAY to "play",
64
+ KeyEvent.KEYCODE_MEDIA_PAUSE to "pause",
63
65
  KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE to "playPause",
64
66
  KeyEvent.KEYCODE_MEDIA_REWIND to "rewind",
65
67
  KeyEvent.KEYCODE_MEDIA_FAST_FORWARD to "fastForward",
@@ -10,15 +10,11 @@ package com.facebook.react;
10
10
  import static com.facebook.infer.annotation.ThreadConfined.UI;
11
11
  import static com.facebook.react.bridge.ReactMarkerConstants.ATTACH_MEASURED_ROOT_VIEWS_END;
12
12
  import static com.facebook.react.bridge.ReactMarkerConstants.ATTACH_MEASURED_ROOT_VIEWS_START;
13
- import static com.facebook.react.bridge.ReactMarkerConstants.BUILD_NATIVE_MODULE_REGISTRY_END;
14
- import static com.facebook.react.bridge.ReactMarkerConstants.BUILD_NATIVE_MODULE_REGISTRY_START;
15
13
  import static com.facebook.react.bridge.ReactMarkerConstants.CHANGE_THREAD_PRIORITY;
16
14
  import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_END;
17
15
  import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_VIEW_MANAGERS_START;
18
16
  import static com.facebook.react.bridge.ReactMarkerConstants.PRE_SETUP_REACT_CONTEXT_END;
19
17
  import static com.facebook.react.bridge.ReactMarkerConstants.PRE_SETUP_REACT_CONTEXT_START;
20
- import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_END;
21
- import static com.facebook.react.bridge.ReactMarkerConstants.PROCESS_PACKAGES_START;
22
18
  import static com.facebook.react.bridge.ReactMarkerConstants.REACT_CONTEXT_THREAD_END;
23
19
  import static com.facebook.react.bridge.ReactMarkerConstants.REACT_CONTEXT_THREAD_START;
24
20
  import static com.facebook.react.bridge.ReactMarkerConstants.SETUP_REACT_CONTEXT_END;
@@ -27,6 +23,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.VM_INIT;
27
23
  import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
28
24
  import static com.facebook.systrace.Systrace.TRACE_TAG_REACT;
29
25
 
26
+ import android.annotation.SuppressLint;
30
27
  import android.app.Activity;
31
28
  import android.content.Context;
32
29
  import android.content.Intent;
@@ -51,7 +48,6 @@ import com.facebook.react.bridge.JSBundleLoader;
51
48
  import com.facebook.react.bridge.JSExceptionHandler;
52
49
  import com.facebook.react.bridge.JavaScriptExecutor;
53
50
  import com.facebook.react.bridge.JavaScriptExecutorFactory;
54
- import com.facebook.react.bridge.NativeModuleRegistry;
55
51
  import com.facebook.react.bridge.ReactApplicationContext;
56
52
  import com.facebook.react.bridge.ReactContext;
57
53
  import com.facebook.react.bridge.ReactMarker;
@@ -81,7 +77,6 @@ import com.facebook.react.internal.AndroidChoreographerProvider;
81
77
  import com.facebook.react.internal.ChoreographerProvider;
82
78
  import com.facebook.react.internal.featureflags.ReactNativeNewArchitectureFeatureFlags;
83
79
  import com.facebook.react.modules.appearance.AppearanceModule;
84
- import com.facebook.react.modules.appregistry.AppRegistry;
85
80
  import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
86
81
  import com.facebook.react.modules.core.DeviceEventManagerModule;
87
82
  import com.facebook.react.modules.core.ReactChoreographer;
@@ -91,7 +86,6 @@ import com.facebook.react.uimanager.ReactRoot;
91
86
  import com.facebook.react.uimanager.ReactStage;
92
87
  import com.facebook.react.uimanager.UIManagerHelper;
93
88
  import com.facebook.react.uimanager.ViewManager;
94
- import com.facebook.react.uimanager.common.UIManagerType;
95
89
  import com.facebook.react.views.imagehelper.ResourceDrawableIdHelper;
96
90
  import com.facebook.soloader.SoLoader;
97
91
  import com.facebook.systrace.Systrace;
@@ -593,12 +587,14 @@ public class ReactInstanceManager {
593
587
 
594
588
  /**
595
589
  * Call this from {@link Activity#onPause()}. This notifies any listening modules so they can do
596
- * any necessary cleanup. The passed Activity is the current Activity being paused. This will
597
- * always be the foreground activity that would be returned by {@link
598
- * ReactContext#getCurrentActivity()}.
590
+ * any necessary cleanup. The passed Activity is the current Activity being paused. This is
591
+ * expected to be the foreground activity that would be returned by {@link
592
+ * ReactContext#getCurrentActivity()}. If the passed activity does not match the current activity,
593
+ * a warning will be logged instead of crashing.
599
594
  *
600
595
  * @param activity the activity being paused
601
596
  */
597
+ @SuppressLint("ReflectionMethodUse")
602
598
  @ThreadConfined(UI)
603
599
  public void onHostPause(@Nullable Activity activity) {
604
600
  if (mRequireActivity) {
@@ -612,15 +608,15 @@ public class ReactInstanceManager {
612
608
  }
613
609
  Assertions.assertCondition(mCurrentActivity != null);
614
610
  }
615
- if (mCurrentActivity != null) {
616
- Assertions.assertCondition(
617
- activity == mCurrentActivity,
611
+ if (mCurrentActivity != null && activity != mCurrentActivity) {
612
+ FLog.w(
613
+ TAG,
618
614
  "Pausing an activity that is not the current activity, this is incorrect! "
619
615
  + "Current activity: "
620
616
  + mCurrentActivity.getClass().getSimpleName()
621
617
  + " "
622
618
  + "Paused activity: "
623
- + activity.getClass().getSimpleName());
619
+ + (activity == null ? "null" : activity.getClass().getSimpleName()));
624
620
  }
625
621
  onHostPause();
626
622
  }
@@ -769,10 +765,7 @@ public class ReactInstanceManager {
769
765
  synchronized (mReactContextLock) {
770
766
  if (mCurrentReactContext != null) {
771
767
  for (ReactRoot reactRoot : mAttachedReactRoots) {
772
- // Fabric surfaces must be cleaned up when React Native is destroyed.
773
- if (reactRoot.getUIManagerType() == UIManagerType.FABRIC) {
774
- detachRootViewFromInstance(reactRoot, mCurrentReactContext);
775
- }
768
+ detachRootViewFromInstance(reactRoot, mCurrentReactContext);
776
769
  }
777
770
 
778
771
  mCurrentReactContext.destroy();
@@ -1273,9 +1266,7 @@ public class ReactInstanceManager {
1273
1266
 
1274
1267
  Systrace.beginSection(TRACE_TAG_REACT, "attachRootViewToInstance");
1275
1268
 
1276
- @Nullable
1277
- UIManager uiManager =
1278
- UIManagerHelper.getUIManager(mCurrentReactContext, reactRoot.getUIManagerType());
1269
+ @Nullable UIManager uiManager = UIManagerHelper.getUIManager(mCurrentReactContext, FABRIC);
1279
1270
 
1280
1271
  // If we can't get a UIManager something has probably gone horribly wrong
1281
1272
  if (uiManager == null) {
@@ -1286,28 +1277,16 @@ public class ReactInstanceManager {
1286
1277
 
1287
1278
  @Nullable Bundle initialProperties = reactRoot.getAppProperties();
1288
1279
 
1289
- final int rootTag;
1290
- if (reactRoot.getUIManagerType() == FABRIC) {
1291
- rootTag =
1292
- uiManager.startSurface(
1293
- reactRoot.getRootViewGroup(),
1294
- reactRoot.getJSModuleName(),
1295
- initialProperties == null
1296
- ? new WritableNativeMap()
1297
- : Arguments.fromBundle(initialProperties),
1298
- reactRoot.getWidthMeasureSpec(),
1299
- reactRoot.getHeightMeasureSpec());
1300
- reactRoot.setShouldLogContentAppeared(true);
1301
- } else {
1302
- rootTag =
1303
- uiManager.addRootView(
1304
- reactRoot.getRootViewGroup(),
1305
- initialProperties == null
1306
- ? new WritableNativeMap()
1307
- : Arguments.fromBundle(initialProperties));
1308
- reactRoot.setRootViewTag(rootTag);
1309
- reactRoot.runApplication();
1310
- }
1280
+ final int rootTag =
1281
+ uiManager.startSurface(
1282
+ reactRoot.getRootViewGroup(),
1283
+ reactRoot.getJSModuleName(),
1284
+ initialProperties == null
1285
+ ? new WritableNativeMap()
1286
+ : Arguments.fromBundle(initialProperties),
1287
+ reactRoot.getWidthMeasureSpec(),
1288
+ reactRoot.getHeightMeasureSpec());
1289
+ reactRoot.setShouldLogContentAppeared(true);
1311
1290
 
1312
1291
  Systrace.beginAsyncSection(TRACE_TAG_REACT, "pre_rootView.onAttachedToReactInstance", rootTag);
1313
1292
  UiThreadUtil.runOnUiThread(
@@ -1328,36 +1307,28 @@ public class ReactInstanceManager {
1328
1307
  return;
1329
1308
  }
1330
1309
 
1331
- @UIManagerType int uiManagerType = reactRoot.getUIManagerType();
1332
- if (uiManagerType == UIManagerType.FABRIC) {
1333
- // Stop surface in Fabric.
1334
- // Calling FabricUIManager.stopSurface causes the C++ Binding.stopSurface
1335
- // to be called synchronously over the JNI, which causes an empty tree
1336
- // to be committed via the Scheduler, which will cause mounting instructions
1337
- // to be queued up and synchronously executed to delete and remove
1338
- // all the views in the hierarchy.
1339
- final int surfaceId = reactRoot.getRootViewTag();
1340
- if (surfaceId != View.NO_ID) {
1341
- UIManager uiManager = UIManagerHelper.getUIManager(reactContext, uiManagerType);
1342
- if (uiManager != null) {
1343
- uiManager.stopSurface(surfaceId);
1344
- } else {
1345
- FLog.w(ReactConstants.TAG, "Failed to stop surface, UIManager has already gone away");
1346
- }
1310
+ // Stop surface in Fabric.
1311
+ // Calling FabricUIManager.stopSurface causes the C++ Binding.stopSurface
1312
+ // to be called synchronously over the JNI, which causes an empty tree
1313
+ // to be committed via the Scheduler, which will cause mounting instructions
1314
+ // to be queued up and synchronously executed to delete and remove
1315
+ // all the views in the hierarchy.
1316
+ final int surfaceId = reactRoot.getRootViewTag();
1317
+ if (surfaceId != View.NO_ID) {
1318
+ UIManager uiManager = UIManagerHelper.getUIManager(reactContext, FABRIC);
1319
+ if (uiManager != null) {
1320
+ uiManager.stopSurface(surfaceId);
1347
1321
  } else {
1348
- ReactSoftExceptionLogger.logSoftException(
1349
- TAG,
1350
- new RuntimeException(
1351
- "detachRootViewFromInstance called with ReactRootView with invalid id"));
1322
+ FLog.w(ReactConstants.TAG, "Failed to stop surface, UIManager has already gone away");
1352
1323
  }
1353
-
1354
- clearReactRoot(reactRoot);
1355
1324
  } else {
1356
- reactContext
1357
- .getCatalystInstance()
1358
- .getJSModule(AppRegistry.class)
1359
- .unmountApplicationComponentAtRootTag(reactRoot.getRootViewTag());
1325
+ ReactSoftExceptionLogger.logSoftException(
1326
+ TAG,
1327
+ new RuntimeException(
1328
+ "detachRootViewFromInstance called with ReactRootView with invalid id"));
1360
1329
  }
1330
+
1331
+ clearReactRoot(reactRoot);
1361
1332
  }
1362
1333
 
1363
1334
  @ThreadConfined(UI)
@@ -1392,45 +1363,4 @@ public class ReactInstanceManager {
1392
1363
  "ReactInstanceManager.createReactContext is unsupported. CatalystInstanceImpl has been"
1393
1364
  + " removed.");
1394
1365
  }
1395
-
1396
- private NativeModuleRegistry processPackages(
1397
- ReactApplicationContext reactContext, List<ReactPackage> packages) {
1398
- NativeModuleRegistryBuilder nativeModuleRegistryBuilder =
1399
- new NativeModuleRegistryBuilder(reactContext);
1400
-
1401
- ReactMarker.logMarker(PROCESS_PACKAGES_START);
1402
-
1403
- synchronized (mPackages) {
1404
- for (ReactPackage reactPackage : packages) {
1405
- Systrace.beginSection(TRACE_TAG_REACT, "createAndProcessCustomReactPackage");
1406
- try {
1407
- processPackage(reactPackage, nativeModuleRegistryBuilder);
1408
- } finally {
1409
- Systrace.endSection(TRACE_TAG_REACT);
1410
- }
1411
- }
1412
- }
1413
- ReactMarker.logMarker(PROCESS_PACKAGES_END);
1414
-
1415
- ReactMarker.logMarker(BUILD_NATIVE_MODULE_REGISTRY_START);
1416
- Systrace.beginSection(TRACE_TAG_REACT, "buildNativeModuleRegistry");
1417
- NativeModuleRegistry nativeModuleRegistry;
1418
- try {
1419
- nativeModuleRegistry = nativeModuleRegistryBuilder.build();
1420
- } finally {
1421
- Systrace.endSection(TRACE_TAG_REACT);
1422
- ReactMarker.logMarker(BUILD_NATIVE_MODULE_REGISTRY_END);
1423
- }
1424
-
1425
- return nativeModuleRegistry;
1426
- }
1427
-
1428
- private void processPackage(
1429
- ReactPackage reactPackage, NativeModuleRegistryBuilder nativeModuleRegistryBuilder) {
1430
- SystraceMessage.beginSection(TRACE_TAG_REACT, "processPackage")
1431
- .arg("className", reactPackage.getClass().getSimpleName())
1432
- .flush();
1433
- nativeModuleRegistryBuilder.processPackage(reactPackage);
1434
- SystraceMessage.endSection(TRACE_TAG_REACT).flush();
1435
- }
1436
1366
  }
@@ -10,14 +10,12 @@ package com.facebook.react;
10
10
  import static com.facebook.infer.annotation.ThreadConfined.UI;
11
11
  import static com.facebook.react.uimanager.BlendModeHelper.needsIsolatedLayer;
12
12
  import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
13
- import static com.facebook.react.uimanager.common.UIManagerType.LEGACY;
14
13
  import static com.facebook.systrace.Systrace.TRACE_TAG_REACT;
15
14
 
16
15
  import android.annotation.SuppressLint;
17
16
  import android.content.Context;
18
17
  import android.graphics.BlendMode;
19
18
  import android.graphics.Canvas;
20
- import android.graphics.Insets;
21
19
  import android.graphics.Paint;
22
20
  import android.graphics.Point;
23
21
  import android.graphics.Rect;
@@ -25,18 +23,18 @@ import android.os.Build;
25
23
  import android.os.Bundle;
26
24
  import android.util.AttributeSet;
27
25
  import android.util.DisplayMetrics;
28
- import android.view.DisplayCutout;
29
26
  import android.view.KeyEvent;
30
27
  import android.view.MotionEvent;
31
28
  import android.view.Surface;
32
29
  import android.view.View;
33
30
  import android.view.ViewGroup;
34
31
  import android.view.ViewTreeObserver;
35
- import android.view.WindowInsets;
36
32
  import android.view.WindowManager;
37
33
  import android.widget.FrameLayout;
38
34
  import androidx.annotation.Nullable;
39
- import androidx.annotation.RequiresApi;
35
+ import androidx.core.graphics.Insets;
36
+ import androidx.core.view.ViewCompat;
37
+ import androidx.core.view.WindowInsetsCompat;
40
38
  import com.facebook.common.logging.FLog;
41
39
  import com.facebook.infer.annotation.Assertions;
42
40
  import com.facebook.infer.annotation.ThreadConfined;
@@ -52,6 +50,7 @@ import com.facebook.react.bridge.UiThreadUtil;
52
50
  import com.facebook.react.bridge.WritableMap;
53
51
  import com.facebook.react.bridge.WritableNativeMap;
54
52
  import com.facebook.react.common.annotations.VisibleForTesting;
53
+ import com.facebook.react.common.annotations.internal.LegacyArchitecture;
55
54
  import com.facebook.react.config.ReactFeatureFlags;
56
55
  import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
57
56
  import com.facebook.react.modules.appregistry.AppRegistry;
@@ -70,7 +69,6 @@ import com.facebook.react.uimanager.RootView;
70
69
  import com.facebook.react.uimanager.RootViewUtil;
71
70
  import com.facebook.react.uimanager.UIManagerHelper;
72
71
  import com.facebook.react.uimanager.common.UIManagerType;
73
- import com.facebook.react.uimanager.common.ViewUtil;
74
72
  import com.facebook.react.uimanager.events.EventDispatcher;
75
73
  import com.facebook.react.modules.core.ReactAndroidHWInputDeviceHelper;
76
74
  import com.facebook.systrace.Systrace;
@@ -118,7 +116,6 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
118
116
  private int mLastHeight = 0;
119
117
  private int mLastOffsetX = Integer.MIN_VALUE;
120
118
  private int mLastOffsetY = Integer.MIN_VALUE;
121
- private @UIManagerType int mUIManagerType = LEGACY;
122
119
  private final AtomicInteger mState = new AtomicInteger(STATE_STOPPED);
123
120
 
124
121
  public ReactRootView(Context context) {
@@ -309,9 +306,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
309
306
  protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
310
307
 
311
308
  BlendMode mixBlendMode = null;
312
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
313
- && ViewUtil.getUIManagerType(this) == UIManagerType.FABRIC
314
- && needsIsolatedLayer(this)) {
309
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && needsIsolatedLayer(this)) {
315
310
  mixBlendMode = (BlendMode) child.getTag(R.id.mix_blend_mode);
316
311
  if (mixBlendMode != null) {
317
312
  Paint p = new Paint();
@@ -428,7 +423,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
428
423
  }
429
424
 
430
425
  private boolean isFabric() {
431
- return getUIManagerType() == FABRIC;
426
+ return true;
432
427
  }
433
428
 
434
429
  @Override
@@ -600,9 +595,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
600
595
  final ReactContext reactApplicationContext = getCurrentReactContext();
601
596
 
602
597
  if (reactApplicationContext != null) {
603
- @Nullable
604
- UIManager uiManager =
605
- UIManagerHelper.getUIManager(reactApplicationContext, getUIManagerType());
598
+ @Nullable UIManager uiManager = UIManagerHelper.getUIManager(reactApplicationContext, FABRIC);
606
599
  // Ignore calling updateRootLayoutSpecs if UIManager is not properly initialized.
607
600
  if (uiManager != null) {
608
601
  // In Fabric only, get position of view within screen
@@ -754,11 +747,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
754
747
 
755
748
  @VisibleForTesting
756
749
  /* package */ void simulateCheckForKeyboardForTesting() {
757
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
758
- getCustomGlobalLayoutListener().checkForKeyboardEvents();
759
- } else {
760
- getCustomGlobalLayoutListener().checkForKeyboardEventsLegacy();
761
- }
750
+ getCustomGlobalLayoutListener().checkForKeyboardEvents();
762
751
  }
763
752
 
764
753
  private CustomGlobalLayoutListener getCustomGlobalLayoutListener() {
@@ -821,6 +810,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
821
810
  + " or in the onDestroyView() of your hosting Fragment.");
822
811
  }
823
812
 
813
+ @Override
824
814
  public int getRootViewTag() {
825
815
  return mRootViewTag;
826
816
  }
@@ -829,6 +819,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
829
819
  return mRootViewTag != 0 && mRootViewTag != NO_ID;
830
820
  }
831
821
 
822
+ @Override
832
823
  public void setRootViewTag(int rootViewTag) {
833
824
  mRootViewTag = rootViewTag;
834
825
  }
@@ -843,15 +834,18 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
843
834
  getCurrentReactContext().handleException(e);
844
835
  }
845
836
 
837
+ @LegacyArchitecture
838
+ @Deprecated
846
839
  public void setIsFabric(boolean isFabric) {
847
- mUIManagerType = isFabric ? FABRIC : LEGACY;
840
+ /* noop */
848
841
  }
849
842
 
850
843
  @Override
851
844
  public @UIManagerType int getUIManagerType() {
852
- return mUIManagerType;
845
+ return FABRIC;
853
846
  }
854
847
 
848
+ @LegacyArchitecture
855
849
  @Nullable
856
850
  public ReactInstanceManager getReactInstanceManager() {
857
851
  return mReactInstanceManager;
@@ -891,16 +885,14 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
891
885
 
892
886
  private class CustomGlobalLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener {
893
887
  private final Rect mVisibleViewArea;
894
- private final int mMinKeyboardHeightDetected;
895
888
 
896
889
  private boolean mKeyboardIsVisible = false;
897
- private int mKeyboardHeight = 0; // Only used in checkForKeyboardEventsLegacy path
890
+ private int mKeyboardHeight = 0;
898
891
  private int mDeviceRotation = 0;
899
892
 
900
893
  /* package */ CustomGlobalLayoutListener() {
901
894
  DisplayMetricsHolder.initDisplayMetricsIfNotInitialized(getContext().getApplicationContext());
902
895
  mVisibleViewArea = new Rect();
903
- mMinKeyboardHeightDetected = (int) PixelUtil.toPixelFromDIP(60);
904
896
  }
905
897
 
906
898
  @Override
@@ -909,32 +901,30 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
909
901
  return;
910
902
  }
911
903
 
912
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
913
- checkForKeyboardEvents();
914
- } else {
915
- checkForKeyboardEventsLegacy();
916
- }
917
-
904
+ checkForKeyboardEvents();
918
905
  checkForDeviceOrientationChanges();
919
906
  checkForDeviceDimensionsChanges();
920
907
  }
921
908
 
922
- @RequiresApi(api = Build.VERSION_CODES.R)
923
909
  private void checkForKeyboardEvents() {
924
910
  getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
925
- WindowInsets rootInsets = getRootView().getRootWindowInsets();
911
+ WindowInsetsCompat rootInsets = ViewCompat.getRootWindowInsets(getRootView());
926
912
  if (rootInsets == null) {
927
913
  return;
928
914
  }
929
915
 
930
- boolean keyboardIsVisible = rootInsets.isVisible(WindowInsets.Type.ime());
931
- if (keyboardIsVisible != mKeyboardIsVisible) {
932
- mKeyboardIsVisible = keyboardIsVisible;
916
+ boolean keyboardIsVisible = rootInsets.isVisible(WindowInsetsCompat.Type.ime());
917
+ Insets barInsets = rootInsets.getInsets(WindowInsetsCompat.Type.systemBars());
918
+
919
+ if (keyboardIsVisible) {
920
+ Insets imeInsets = rootInsets.getInsets(WindowInsetsCompat.Type.ime());
921
+ int height = imeInsets.bottom - barInsets.bottom;
933
922
 
934
- if (keyboardIsVisible) {
935
- Insets imeInsets = rootInsets.getInsets(WindowInsets.Type.ime());
936
- Insets barInsets = rootInsets.getInsets(WindowInsets.Type.systemBars());
937
- int height = imeInsets.bottom - barInsets.bottom;
923
+ // Re-emit on height change while keyboard stays visible (e.g., emoji
924
+ // panel toggle); JS consumers cache endCoordinates from keyboardDidShow.
925
+ if (!mKeyboardIsVisible || height != mKeyboardHeight) {
926
+ mKeyboardIsVisible = true;
927
+ mKeyboardHeight = height;
938
928
 
939
929
  ViewGroup.LayoutParams rootLayoutParams = getRootView().getLayoutParams();
940
930
  Assertions.assertCondition(rootLayoutParams instanceof WindowManager.LayoutParams);
@@ -952,56 +942,11 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
952
942
  PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
953
943
  PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
954
944
  PixelUtil.toDIPFromPixel(height)));
955
- } else {
956
- sendEvent(
957
- "keyboardDidHide",
958
- createKeyboardEventPayload(
959
- PixelUtil.toDIPFromPixel(mLastHeight),
960
- 0,
961
- PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
962
- 0));
963
945
  }
964
- }
965
- }
966
-
967
- private void checkForKeyboardEventsLegacy() {
968
- getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
969
-
970
- int notchHeight = 0;
971
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
972
- WindowInsets insets = getRootView().getRootWindowInsets();
973
- if (insets != null) {
974
- DisplayCutout displayCutout = insets.getDisplayCutout();
975
- if (displayCutout != null) {
976
- notchHeight = displayCutout.getSafeInsetTop();
977
- }
978
- }
979
- }
980
- final int heightDiff =
981
- DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels
982
- - mVisibleViewArea.bottom
983
- + notchHeight;
984
-
985
- boolean isKeyboardShowingOrKeyboardHeightChanged =
986
- mKeyboardHeight != heightDiff && heightDiff > mMinKeyboardHeightDetected;
987
-
988
- if (isKeyboardShowingOrKeyboardHeightChanged) {
989
- mKeyboardHeight = heightDiff;
990
- mKeyboardIsVisible = true;
991
- sendEvent(
992
- "keyboardDidShow",
993
- createKeyboardEventPayload(
994
- PixelUtil.toDIPFromPixel(mVisibleViewArea.bottom),
995
- PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
996
- PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
997
- PixelUtil.toDIPFromPixel(mKeyboardHeight)));
998
- return;
999
- }
1000
-
1001
- boolean isKeyboardHidden = mKeyboardHeight != 0 && heightDiff <= mMinKeyboardHeightDetected;
1002
- if (isKeyboardHidden) {
1003
- mKeyboardHeight = 0;
946
+ } else if (mKeyboardIsVisible) {
1004
947
  mKeyboardIsVisible = false;
948
+ mKeyboardHeight = 0;
949
+
1005
950
  sendEvent(
1006
951
  "keyboardDidHide",
1007
952
  createKeyboardEventPayload(
@@ -22,6 +22,7 @@ internal class EventAnimationDriver(
22
22
  private val eventPath: List<String>,
23
23
  @JvmField internal var valueNode: ValueAnimatedNode,
24
24
  ) : RCTModernEventEmitter {
25
+ @Deprecated("Use the overload with eventTimestamp parameter instead.")
25
26
  override fun receiveEvent(
26
27
  surfaceId: Int,
27
28
  targetTag: Int,