@depup/react-native 0.85.0-depup.1 → 0.86.0-depup.49

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 (767) 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 +82 -77
  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 +1 -1
  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 -24
  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 -142
  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 +1 -31
  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/HMRClient.js +28 -1
  134. package/Libraries/Utilities/HardwareBackPressEvent.js +22 -0
  135. package/Libraries/Utilities/ReactNativeTestTools.js +4 -4
  136. package/Libraries/Utilities/binaryToBase64.js +1 -1
  137. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  138. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  139. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -2
  140. package/Libraries/Utilities/stringifySafe.js +1 -1
  141. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  142. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  143. package/Libraries/vendor/emitter/EventEmitter.js +27 -13
  144. package/README.md +10 -10
  145. package/React/Base/RCTBundleURLProvider.h +19 -1
  146. package/React/Base/RCTBundleURLProvider.mm +82 -0
  147. package/React/Base/RCTDefines.h +1 -1
  148. package/React/Base/RCTMultipartDataTask.h +1 -1
  149. package/React/Base/RCTMultipartDataTask.m +0 -3
  150. package/React/Base/RCTRootView.h +4 -0
  151. package/React/Base/RCTRootViewDelegate.h +5 -2
  152. package/React/Base/RCTVersion.m +1 -1
  153. package/React/Base/Surface/RCTSurface.h +3 -0
  154. package/React/Base/Surface/RCTSurfaceDelegate.h +7 -3
  155. package/React/Base/Surface/RCTSurfaceRootView.mm +1 -1
  156. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  157. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +5 -0
  158. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +26 -0
  159. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.h +0 -3
  160. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -1
  161. package/React/CoreModules/RCTDevLoadingView.mm +17 -0
  162. package/React/CoreModules/RCTDevMenuConfigurationDecorator.h +2 -2
  163. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  164. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  165. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  166. package/React/CoreModules/RCTRedBox.mm +30 -454
  167. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  168. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  169. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  170. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  171. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  172. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  173. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  174. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  175. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  176. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  177. package/React/CoreModules/RCTWebSocketModule.mm +45 -6
  178. package/React/CoreModules/React-CoreModules.podspec +1 -0
  179. package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +0 -1
  180. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  181. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  182. package/React/DevSupport/RCTInspectorDevServerHelper.mm +4 -0
  183. package/React/DevSupport/RCTPackagerConnection.mm +13 -11
  184. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +148 -43
  185. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
  186. package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
  187. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +1 -1
  188. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +2 -2
  189. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
  190. package/React/Fabric/RCTConversions.h +14 -0
  191. package/React/Fabric/RCTScheduler.mm +18 -0
  192. package/React/Fabric/RCTSurfacePointerHandler.mm +8 -2
  193. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -0
  194. package/React/Fabric/Surface/RCTFabricSurface.mm +3 -0
  195. package/React/I18n/strings/pt.lproj/fbt_language_pack.bin +0 -0
  196. package/React/Modules/RCTUIManager.mm +1 -1
  197. package/React/Profiler/RCTProfile.h +5 -0
  198. package/React/Profiler/RCTProfile.m +2 -1
  199. package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
  200. package/React/Profiler/RCTProfileTrampoline-arm64.S +1 -1
  201. package/React/Profiler/RCTProfileTrampoline-i386.S +1 -1
  202. package/React/Profiler/RCTProfileTrampoline-x86_64.S +1 -1
  203. package/React/Tests/Mounting/RCTViewComponentViewTests.mm +186 -0
  204. package/React/Tests/Text/RCTAttributedTextUtilsTest.mm +5 -5
  205. package/React/Views/RCTLayout.m +4 -3
  206. package/React/Views/ScrollView/RCTScrollView.h +6 -2
  207. package/ReactAndroid/api/ReactAndroid.api +37 -27
  208. package/ReactAndroid/build.gradle.kts +28 -21
  209. package/ReactAndroid/gradle.properties +1 -1
  210. package/ReactAndroid/hermes-engine/build.gradle.kts +12 -13
  211. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesSamplingProfiler.kt +2 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -3
  213. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +2 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +40 -110
  215. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +33 -88
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +1 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +9 -99
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +7 -28
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +2 -19
  220. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +15 -23
  221. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +36 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJniCommonSoLoader.kt +2 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +4 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultSoLoader.kt +2 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +2 -2
  227. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +6 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +15 -2
  229. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +1 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/DevSupportHttpClient.kt +9 -34
  231. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
  232. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +135 -35
  233. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +2 -0
  234. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +10 -10
  235. package/ReactAndroid/src/main/java/com/facebook/react/fabric/AnimationBackendChoreographer.kt +15 -13
  236. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +4 -1
  237. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +139 -43
  238. package/ReactAndroid/src/main/java/com/facebook/react/fabric/ViewTransitionSnapshotManager.kt +223 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +25 -8
  240. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +34 -1
  241. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +104 -65
  242. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +9 -1
  243. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt +172 -36
  244. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +1 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/interfaces/ExtraWindowEventListener.kt +29 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +71 -29
  247. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +121 -51
  248. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +25 -11
  249. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +26 -12
  250. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +134 -57
  251. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +7 -3
  252. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -4
  253. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +25 -11
  254. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +5 -9
  255. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/rewrite_feature_flag_defaults.py +76 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/tests/test_rewrite_feature_flag_defaults.py +63 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +40 -1
  258. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +3 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +10 -5
  260. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -2
  261. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +3 -0
  262. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +2 -1
  263. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +21 -20
  264. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +63 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +59 -62
  266. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +8 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +8 -0
  268. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +2 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +45 -36
  270. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +5 -2
  272. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +4 -0
  273. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +68 -15
  274. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +8 -1
  275. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +21 -19
  276. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +4 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +4 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +77 -72
  279. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +7 -16
  280. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +3 -2
  281. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +3 -0
  282. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +3 -1
  283. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +25 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +2 -2
  285. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactRootViewTagGenerator.kt +3 -2
  286. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.kt +17 -7
  287. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +18 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +20 -12
  289. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +18 -24
  290. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +2 -0
  291. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -0
  292. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +11 -71
  293. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +10 -17
  294. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +29 -30
  295. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundImageDrawable.kt +5 -3
  296. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +12 -13
  297. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +1 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +1 -0
  299. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +30 -0
  300. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +28 -0
  301. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +9 -9
  302. package/ReactAndroid/src/main/java/com/facebook/react/util/AndroidVersion.kt +27 -3
  303. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +4 -0
  304. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -14
  305. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -22
  306. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +18 -20
  307. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactNestedScrollView.java +20 -21
  308. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +19 -20
  309. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +14 -5
  310. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +2 -3
  311. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +5 -162
  312. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +1 -1
  313. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +71 -97
  314. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +1 -4
  315. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/DrawCommandSpan.kt +1 -1
  316. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +7 -13
  317. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +40 -2
  318. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +59 -20
  319. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +84 -20
  320. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +41 -65
  321. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +85 -13
  322. package/ReactAndroid/src/main/java/com/facebook/soloader/annotation/SoLoaderLibrary.kt +17 -0
  323. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +5 -1
  324. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.kt +30 -0
  325. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +3 -1
  326. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +3 -1
  327. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGridTrackType.java +39 -0
  328. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +20 -12
  329. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +101 -0
  330. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.kt +33 -0
  331. package/ReactAndroid/src/main/jni/CMakeLists.txt +17 -1
  332. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  333. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  334. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +0 -1
  335. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +0 -2
  336. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +26 -6
  337. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +3 -3
  338. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +47 -0
  339. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +20 -6
  340. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +24 -1
  341. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -0
  342. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +0 -1
  343. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +1 -0
  344. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.cpp +85 -0
  345. package/ReactAndroid/src/main/jni/react/fabric/test_helper/FabricMountingManagerTestHelper.h +46 -0
  346. package/ReactAndroid/src/main/jni/react/fabric/test_helper/OnLoad.cpp +16 -0
  347. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +167 -69
  348. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +36 -15
  349. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +1 -1
  350. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +0 -2
  351. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -1
  352. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +37 -30
  353. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +11 -8
  354. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +2 -1
  355. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  356. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +24 -0
  357. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +25 -4
  358. package/ReactAndroid/src/main/jni/react/tracing/CMakeLists.txt +28 -0
  359. package/ReactCommon/React-Fabric.podspec +13 -0
  360. package/ReactCommon/React-FabricComponents.podspec +1 -1
  361. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  362. package/ReactCommon/jsc/JSCRuntime.cpp +9 -0
  363. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +1 -0
  364. package/ReactCommon/jserrorhandler/JsErrorHandler.h +1 -1
  365. package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -0
  366. package/ReactCommon/jsi/jsi/decorator.h +93 -0
  367. package/ReactCommon/jsi/jsi/jsi-inl.h +97 -68
  368. package/ReactCommon/jsi/jsi/jsi.cpp +208 -27
  369. package/ReactCommon/jsi/jsi/jsi.h +553 -224
  370. package/ReactCommon/jsi/jsi/test/testlib.cpp +453 -0
  371. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +1 -1
  372. package/ReactCommon/jsinspector-modern/EmulationAgent.cpp +108 -0
  373. package/ReactCommon/jsinspector-modern/EmulationAgent.h +47 -0
  374. package/ReactCommon/jsinspector-modern/HostAgent.cpp +46 -1
  375. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
  376. package/ReactCommon/jsinspector-modern/HostTarget.h +50 -0
  377. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
  378. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
  379. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +18 -2
  380. package/ReactCommon/jsinspector-modern/InspectorFlags.h +17 -2
  381. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +19 -2
  382. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +3 -0
  383. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  384. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
  385. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
  386. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
  387. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
  388. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +10 -0
  389. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
  390. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
  391. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  392. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
  393. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
  394. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  395. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  396. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  397. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
  398. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
  399. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
  400. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  401. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
  402. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
  403. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
  404. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
  405. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  406. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +0 -1
  407. package/ReactCommon/logger/react_native_log.cpp +0 -1
  408. package/ReactCommon/react/bridging/Array.h +1 -1
  409. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  410. package/ReactCommon/react/debug/React-debug.podspec +7 -1
  411. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  412. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  413. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  414. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  415. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  416. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  417. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  418. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  419. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  420. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +49 -21
  421. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +60 -25
  422. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +267 -141
  423. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +28 -14
  424. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +48 -20
  425. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +106 -43
  426. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +11 -3
  427. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +14 -7
  428. package/ReactCommon/react/featureflags/rewrite_feature_flag_defaults.py +111 -0
  429. package/ReactCommon/react/featureflags/tests/test_rewrite_feature_flag_defaults.py +60 -0
  430. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +3 -9
  431. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +0 -1
  432. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +2 -0
  433. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +14 -0
  434. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -0
  435. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +2 -2
  436. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +60 -25
  437. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +25 -11
  438. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -2
  439. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  440. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  441. package/ReactCommon/react/nativemodule/viewtransition/CMakeLists.txt +24 -0
  442. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.cpp +92 -0
  443. package/ReactCommon/react/nativemodule/viewtransition/NativeViewTransition.h +37 -0
  444. package/ReactCommon/react/nativemodule/viewtransition/React-viewtransitionnativemodule.podspec +58 -0
  445. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +10 -1
  446. package/ReactCommon/react/networking/NetworkReporter.h +0 -1
  447. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.h +0 -1
  448. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +1 -1
  449. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  450. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  451. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryTest.cpp +62 -0
  452. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +28 -13
  453. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  454. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +3 -0
  455. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +10 -3
  456. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +1 -0
  457. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +62 -25
  458. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +10 -1
  459. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +0 -1
  460. package/ReactCommon/react/renderer/animationbackend/AnimationChoreographer.h +5 -0
  461. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +8 -3
  462. package/ReactCommon/react/renderer/animations/tests/MutationComparatorTest.cpp +273 -0
  463. package/ReactCommon/react/renderer/animations/utils.h +12 -1
  464. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +1 -1
  465. package/ReactCommon/react/renderer/attributedstring/conversions.h +104 -3
  466. package/ReactCommon/react/renderer/components/image/conversions.h +2 -3
  467. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +0 -1
  468. package/ReactCommon/react/renderer/components/scrollview/conversions.h +0 -1
  469. package/ReactCommon/react/renderer/components/text/stateConversions.h +0 -1
  470. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +531 -21
  471. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +9 -0
  472. package/ReactCommon/react/renderer/components/view/BaseTouch.cpp +3 -2
  473. package/ReactCommon/react/renderer/components/view/BaseTouch.h +7 -0
  474. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  475. package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +2 -0
  476. package/ReactCommon/react/renderer/components/view/PointerEvent.h +5 -0
  477. package/ReactCommon/react/renderer/components/view/TouchEvent.h +0 -2
  478. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +23 -5
  479. package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +1 -0
  480. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +5 -0
  481. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +33 -28
  482. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +0 -1
  483. package/ReactCommon/react/renderer/components/view/conversions.h +44 -28
  484. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +52 -5
  485. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +47 -16
  486. package/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +2 -2
  487. package/ReactCommon/react/renderer/{graphics/DoubleConversions.h → components/view/platform/tvos/react/renderer/components/view/HostPlatformTouch.h} +2 -4
  488. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewEventEmitter.h +14 -0
  489. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.cpp +38 -0
  490. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewProps.h +29 -0
  491. package/ReactCommon/react/renderer/components/view/platform/tvos/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +30 -0
  492. package/ReactCommon/react/renderer/components/view/propsConversions.h +8 -2
  493. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +86 -0
  494. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +34 -0
  495. package/ReactCommon/react/renderer/core/EventEmitter.cpp +67 -2
  496. package/ReactCommon/react/renderer/core/EventEmitter.h +25 -0
  497. package/ReactCommon/react/renderer/core/EventPipe.h +3 -1
  498. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +18 -10
  499. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -5
  500. package/ReactCommon/react/renderer/core/LayoutContext.h +9 -2
  501. package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +5 -3
  502. package/ReactCommon/react/renderer/core/LayoutPrimitives.h +1 -0
  503. package/ReactCommon/react/renderer/core/Props.cpp +20 -0
  504. package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
  505. package/ReactCommon/react/renderer/core/RawEvent.h +6 -6
  506. package/ReactCommon/react/renderer/core/ShadowNode.h +2 -2
  507. package/ReactCommon/react/renderer/core/conversions.h +4 -0
  508. package/ReactCommon/react/renderer/core/graphicsConversions.h +4 -4
  509. package/ReactCommon/react/renderer/core/propsConversions.h +1 -1
  510. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +52 -3
  511. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +26 -0
  512. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +1 -1
  513. package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +42 -26
  514. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +4 -2
  515. package/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp +34 -3
  516. package/ReactCommon/react/renderer/graphics/BlendMode.h +5 -0
  517. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -0
  518. package/ReactCommon/react/renderer/graphics/ColorStop.h +3 -0
  519. package/ReactCommon/react/renderer/graphics/LinearGradient.h +3 -0
  520. package/ReactCommon/react/renderer/graphics/RadialGradient.h +4 -0
  521. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  522. package/ReactCommon/react/renderer/graphics/ValueUnit.cpp +1 -1
  523. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +0 -5
  524. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +2 -2
  525. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +0 -4
  526. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +5 -1
  527. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +12 -4
  528. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -0
  529. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +307 -4
  530. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +27 -2
  531. package/ReactCommon/react/renderer/mounting/internal/LongestIncreasingSubsequence.h +95 -0
  532. package/ReactCommon/react/renderer/mounting/tests/DifferentiatorUnflattenTest.cpp +212 -0
  533. package/ReactCommon/react/renderer/mounting/tests/LongestIncreasingSubsequenceTest.cpp +154 -0
  534. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +314 -18
  535. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +38 -20
  536. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +20 -22
  537. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  538. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +76 -3
  539. package/ReactCommon/react/renderer/scheduler/Scheduler.h +12 -0
  540. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +5 -0
  541. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +0 -7
  542. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +2 -1
  543. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +16 -1
  544. package/ReactCommon/react/renderer/uimanager/UIManager.h +8 -0
  545. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +2 -0
  546. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +347 -5
  547. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +5 -3
  548. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +5 -0
  549. package/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +82 -0
  550. package/ReactCommon/react/renderer/viewtransition/CMakeLists.txt +22 -0
  551. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.cpp +520 -0
  552. package/ReactCommon/react/renderer/viewtransition/ViewTransitionModule.h +161 -0
  553. package/ReactCommon/react/runtime/TimerManager.cpp +4 -2
  554. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +152 -0
  555. package/ReactCommon/react/timing/PrivacyInfo.xcprivacy +21 -0
  556. package/ReactCommon/react/timing/React-timing.podspec +2 -0
  557. package/ReactCommon/react/timing/primitives.h +33 -1
  558. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  559. package/ReactCommon/yoga/yoga/YGEnums.cpp +32 -0
  560. package/ReactCommon/yoga/yoga/YGEnums.h +20 -4
  561. package/ReactCommon/yoga/yoga/YGMacros.h +2 -0
  562. package/ReactCommon/yoga/yoga/YGNode.h +1 -1
  563. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +269 -0
  564. package/ReactCommon/yoga/yoga/YGNodeStyle.h +93 -1
  565. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +40 -9
  566. package/ReactCommon/yoga/yoga/algorithm/Align.h +12 -1
  567. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +106 -14
  568. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +22 -0
  569. package/ReactCommon/yoga/yoga/enums/Align.h +3 -1
  570. package/ReactCommon/yoga/yoga/enums/Display.h +2 -1
  571. package/ReactCommon/yoga/yoga/enums/ExperimentalFeature.h +2 -1
  572. package/ReactCommon/yoga/yoga/enums/GridTrackType.h +43 -0
  573. package/ReactCommon/yoga/yoga/enums/Justify.h +5 -1
  574. package/ReactCommon/yoga/yoga/event/event.cpp +2 -0
  575. package/ReactCommon/yoga/yoga/event/event.h +1 -0
  576. package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
  577. package/ReactCommon/yoga/yoga/node/Node.h +4 -4
  578. package/ReactCommon/yoga/yoga/style/GridLine.h +53 -0
  579. package/ReactCommon/yoga/yoga/style/GridTrack.h +63 -0
  580. package/ReactCommon/yoga/yoga/style/Style.h +261 -71
  581. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -1
  582. package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
  583. package/ReactCommon/yoga/yoga/style/StyleValuePool.h +10 -0
  584. package/changes.json +12 -12
  585. package/cli.js +1 -1
  586. package/flow/HermesInternalType.js +1 -1
  587. package/flow/bom.js.flow +95 -3
  588. package/flow/dom.js.flow +89 -89
  589. package/gradle/libs.versions.toml +3 -1
  590. package/index.js +30 -3
  591. package/index.js.flow +23 -1
  592. package/package.json +31 -31
  593. package/react-native.config.js +3 -3
  594. package/scripts/cocoapods/rncore.rb +65 -11
  595. package/scripts/cocoapods/rndependencies.rb +65 -11
  596. package/scripts/cocoapods/utils.rb +53 -0
  597. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +4 -4
  598. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +4 -4
  599. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +15 -7
  600. package/scripts/codegen/generate-artifacts-executor/generatePackageSwift.js +2 -2
  601. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +4 -3
  602. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +4 -3
  603. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +19 -8
  604. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  605. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -4
  606. package/scripts/codegen/generate-artifacts-executor/index.js +2 -0
  607. package/scripts/codegen/generate-artifacts-executor/utils.js +49 -1
  608. package/scripts/codegen/generate-specs-cli-executor.js +1 -1
  609. package/scripts/generate-codegen-artifacts.js +20 -2
  610. package/scripts/generate-provider-cli.js +1 -1
  611. package/scripts/react_native_pods.rb +26 -2
  612. package/scripts/react_native_pods_utils/script_phases.rb +9 -3
  613. package/scripts/replace-rncore-version.js +91 -14
  614. package/scripts/xcode/with-environment.sh +7 -1
  615. package/sdks/.hermesv1version +1 -1
  616. package/sdks/.hermesversion +1 -1
  617. package/sdks/hermes-engine/hermes-utils.rb +92 -5
  618. package/sdks/hermes-engine/version.properties +2 -2
  619. package/src/private/animated/NativeAnimatedValidation.js +1 -1
  620. package/src/private/animated/createAnimatedPropsHook.js +2 -2
  621. package/src/private/components/virtualcollection/FlingConstants.js +21 -0
  622. package/src/private/components/virtualcollection/Virtual.js +62 -0
  623. package/src/private/components/virtualcollection/VirtualCollectionView.js +238 -0
  624. package/src/private/components/virtualcollection/column/VirtualColumn.js +43 -0
  625. package/src/private/components/virtualcollection/column/VirtualColumnGenerator.js +72 -0
  626. package/src/private/components/virtualcollection/debug/FlingItemOverlay.js +13 -0
  627. package/src/private/components/virtualcollection/dom/getScrollParent.js +43 -0
  628. package/src/private/components/virtualcollection/dom/isScrollableNode.js +22 -0
  629. package/src/private/components/virtualcollection/row/VirtualRow.js +43 -0
  630. package/src/private/components/virtualcollection/row/VirtualRowGenerator.js +72 -0
  631. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +2 -2
  632. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +1 -1
  633. package/src/private/devsupport/devmenu/specs/NativeDevMenu.js +1 -1
  634. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +2 -2
  635. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsSettingsManager.js +2 -2
  636. package/src/private/featureflags/ReactNativeFeatureFlags.js +66 -37
  637. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  638. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -7
  639. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  640. package/src/private/renderer/events/LegacySyntheticEvent.js +90 -0
  641. package/src/private/renderer/events/ReactNativeEventTypeMapping.js +103 -0
  642. package/src/private/renderer/events/ReactNativeResponder.js +687 -0
  643. package/src/private/renderer/events/ResponderEvent.js +40 -0
  644. package/src/private/renderer/events/ResponderTouchHistoryStore.js +258 -0
  645. package/src/private/renderer/events/dispatchNativeEvent.js +83 -0
  646. package/src/private/setup/setUpDOM.js +20 -0
  647. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  648. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +2 -2
  649. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +2 -2
  650. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  651. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  652. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  653. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +2 -2
  654. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +2 -2
  655. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +2 -2
  656. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  657. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +2 -2
  658. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +2 -2
  659. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  660. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +2 -2
  661. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo.js +1 -1
  662. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  663. package/src/private/specs_DEPRECATED/modules/NativeActionSheetManager.js +1 -1
  664. package/src/private/specs_DEPRECATED/modules/NativeAlertManager.js +1 -1
  665. package/src/private/specs_DEPRECATED/modules/NativeAppState.js +1 -1
  666. package/src/private/specs_DEPRECATED/modules/NativeAppearance.js +1 -1
  667. package/src/private/specs_DEPRECATED/modules/NativeBlobModule.js +1 -1
  668. package/src/private/specs_DEPRECATED/modules/NativeClipboard.js +1 -1
  669. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -1
  670. package/src/private/specs_DEPRECATED/modules/NativeDevSettings.js +1 -1
  671. package/src/private/specs_DEPRECATED/modules/NativeDeviceEventManager.js +1 -1
  672. package/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.js +1 -1
  673. package/src/private/specs_DEPRECATED/modules/NativeFileReaderModule.js +2 -2
  674. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  675. package/src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport.js +1 -1
  676. package/src/private/specs_DEPRECATED/modules/NativeI18nManager.js +1 -1
  677. package/src/private/specs_DEPRECATED/modules/NativeImageEditor.js +2 -2
  678. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderAndroid.js +1 -1
  679. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  680. package/src/private/specs_DEPRECATED/modules/NativeImageStoreAndroid.js +2 -2
  681. package/src/private/specs_DEPRECATED/modules/NativeImageStoreIOS.js +2 -2
  682. package/src/private/specs_DEPRECATED/modules/NativeIntentAndroid.js +1 -1
  683. package/src/private/specs_DEPRECATED/modules/NativeJSCHeapCapture.js +1 -1
  684. package/src/private/specs_DEPRECATED/modules/NativeKeyboardObserver.js +1 -1
  685. package/src/private/specs_DEPRECATED/modules/NativeLinkingManager.js +1 -1
  686. package/src/private/specs_DEPRECATED/modules/NativeLogBox.js +1 -1
  687. package/src/private/specs_DEPRECATED/modules/NativeModalManager.js +1 -1
  688. package/src/private/specs_DEPRECATED/modules/NativeNetworkingAndroid.js +1 -1
  689. package/src/private/specs_DEPRECATED/modules/NativeNetworkingIOS.js +1 -1
  690. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  691. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsAndroid.js +2 -2
  692. package/src/private/specs_DEPRECATED/modules/NativePlatformConstantsIOS.js +2 -2
  693. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +2 -2
  694. package/src/private/specs_DEPRECATED/modules/NativeRedBox.js +1 -1
  695. package/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js +2 -2
  696. package/src/private/specs_DEPRECATED/modules/NativeSegmentFetcher.js +1 -1
  697. package/src/private/specs_DEPRECATED/modules/NativeSettingsManager.js +2 -2
  698. package/src/private/specs_DEPRECATED/modules/NativeShareModule.js +1 -1
  699. package/src/private/specs_DEPRECATED/modules/NativeSoundManager.js +1 -1
  700. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -1
  701. package/src/private/specs_DEPRECATED/modules/NativeToastAndroid.js +1 -1
  702. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +1 -1
  703. package/src/private/specs_DEPRECATED/modules/NativeVibration.js +1 -1
  704. package/src/private/specs_DEPRECATED/modules/NativeWebSocketModule.js +2 -2
  705. package/src/private/styles/composeStyles.js +1 -1
  706. package/src/private/types/HostComponent.js +1 -1
  707. package/src/private/utilities/toExtendedError.js +1 -1
  708. package/src/private/viewtransition/specs/NativeViewTransition.js +33 -0
  709. package/src/private/webapis/dom/events/Event.js +10 -1
  710. package/src/private/webapis/dom/events/EventTarget.js +60 -18
  711. package/src/private/webapis/dom/events/internals/EventInternals.js +18 -1
  712. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +12 -0
  713. package/src/private/webapis/dom/nodes/ReactNativeElement.js +24 -0
  714. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +4 -6
  715. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +70 -1
  716. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +10 -0
  717. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +1 -1
  718. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +2 -2
  719. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +5 -9
  720. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +2 -2
  721. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +2 -2
  722. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +2 -2
  723. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
  724. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  725. package/src/private/webapis/structuredClone/structuredClone.js +1 -1
  726. package/src/private/webapis/webidl/PlatformObjects.js +4 -4
  727. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  728. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +3 -4
  729. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +5 -2
  730. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +14 -2
  731. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +8 -6
  732. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
  733. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +23 -4
  734. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +2 -3
  735. package/types_generated/Libraries/{Utilities/IPerformanceLogger.d.ts → ReactNative/IPerformanceLogger.flow.d.ts} +12 -6
  736. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +12 -25
  737. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +1 -16
  738. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +1 -16
  739. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +3 -3
  740. package/types_generated/Libraries/Utilities/BackHandler.d.ts +6 -2
  741. package/types_generated/index.d.ts +11 -2
  742. package/types_generated/src/private/components/virtualcollection/FlingConstants.d.ts +20 -0
  743. package/types_generated/src/private/components/virtualcollection/Virtual.d.ts +46 -0
  744. package/types_generated/src/private/components/virtualcollection/VirtualCollectionView.d.ts +81 -0
  745. package/types_generated/src/private/components/virtualcollection/column/VirtualColumn.d.ts +23 -0
  746. package/types_generated/src/private/components/virtualcollection/column/VirtualColumnGenerator.d.ts +17 -0
  747. package/types_generated/src/private/components/virtualcollection/dom/getScrollParent.d.ts +21 -0
  748. package/types_generated/src/private/components/virtualcollection/row/VirtualRow.d.ts +23 -0
  749. package/types_generated/src/private/webapis/dom/events/Event.d.ts +1 -9
  750. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +1 -13
  751. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +5 -2
  752. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +8 -1
  753. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +0 -19668
  754. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +0 -11129
  755. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +0 -12930
  756. package/Libraries/Renderer/shims/ReactNative.js +0 -27
  757. package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -24
  758. package/Libraries/Utilities/PerformanceLoggerContext.js +0 -33
  759. package/Libraries/Utilities/createPerformanceLogger.js +0 -329
  760. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +0 -442
  761. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +0 -31
  762. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +0 -47
  763. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfigJNIFinalizer.java +0 -31
  764. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIFinalizer.java +0 -35
  765. package/ReactCommon/react/renderer/graphics/DoubleConversions.cpp +0 -38
  766. package/types_generated/Libraries/Renderer/shims/ReactNative.d.ts +0 -16
  767. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
@@ -236,13 +236,12 @@ protected:
236
236
  methodMap_["disableViewPreallocationAndroid"] = MethodMetadata {.argCount = 0, .invoker = __disableViewPreallocationAndroid};
237
237
  methodMap_["enableAccessibilityOrder"] = MethodMetadata {.argCount = 0, .invoker = __enableAccessibilityOrder};
238
238
  methodMap_["enableAccumulatedUpdatesInRawPropsAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableAccumulatedUpdatesInRawPropsAndroid};
239
- methodMap_["enableAndroidAntialiasedBorderRadiusClipping"] = MethodMetadata {.argCount = 0, .invoker = __enableAndroidAntialiasedBorderRadiusClipping};
240
- methodMap_["enableAndroidLinearText"] = MethodMetadata {.argCount = 0, .invoker = __enableAndroidLinearText};
241
239
  methodMap_["enableAndroidTextMeasurementOptimizations"] = MethodMetadata {.argCount = 0, .invoker = __enableAndroidTextMeasurementOptimizations};
242
240
  methodMap_["enableBridgelessArchitecture"] = MethodMetadata {.argCount = 0, .invoker = __enableBridgelessArchitecture};
243
241
  methodMap_["enableCppPropsIteratorSetter"] = MethodMetadata {.argCount = 0, .invoker = __enableCppPropsIteratorSetter};
244
242
  methodMap_["enableCustomFocusSearchOnClippedElementsAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableCustomFocusSearchOnClippedElementsAndroid};
245
243
  methodMap_["enableDestroyShadowTreeRevisionAsync"] = MethodMetadata {.argCount = 0, .invoker = __enableDestroyShadowTreeRevisionAsync};
244
+ methodMap_["enableDifferentiatorMutationVectorPreallocation"] = MethodMetadata {.argCount = 0, .invoker = __enableDifferentiatorMutationVectorPreallocation};
246
245
  methodMap_["enableDoubleMeasurementFixAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableDoubleMeasurementFixAndroid};
247
246
  methodMap_["enableEagerMainQueueModulesOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableEagerMainQueueModulesOnIOS};
248
247
  methodMap_["enableEagerRootViewAttachment"] = MethodMetadata {.argCount = 0, .invoker = __enableEagerRootViewAttachment};
@@ -254,8 +253,6 @@ protected:
254
253
  methodMap_["enableIOSTextBaselineOffsetPerLine"] = MethodMetadata {.argCount = 0, .invoker = __enableIOSTextBaselineOffsetPerLine};
255
254
  methodMap_["enableIOSViewClipToPaddingBox"] = MethodMetadata {.argCount = 0, .invoker = __enableIOSViewClipToPaddingBox};
256
255
  methodMap_["enableImagePrefetchingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingAndroid};
257
- methodMap_["enableImagePrefetchingJNIBatchingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingJNIBatchingAndroid};
258
- methodMap_["enableImagePrefetchingOnUiThreadAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingOnUiThreadAndroid};
259
256
  methodMap_["enableImmediateUpdateModeForContentOffsetChanges"] = MethodMetadata {.argCount = 0, .invoker = __enableImmediateUpdateModeForContentOffsetChanges};
260
257
  methodMap_["enableImperativeFocus"] = MethodMetadata {.argCount = 0, .invoker = __enableImperativeFocus};
261
258
  methodMap_["enableInteropViewManagerClassLookUpOptimizationIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableInteropViewManagerClassLookUpOptimizationIOS};
@@ -265,10 +262,13 @@ protected:
265
262
  methodMap_["enableLayoutAnimationsOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableLayoutAnimationsOnIOS};
266
263
  methodMap_["enableMainQueueCoordinatorOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableMainQueueCoordinatorOnIOS};
267
264
  methodMap_["enableModuleArgumentNSNullConversionIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableModuleArgumentNSNullConversionIOS};
265
+ methodMap_["enableMutationObserverByDefault"] = MethodMetadata {.argCount = 0, .invoker = __enableMutationObserverByDefault};
268
266
  methodMap_["enableNativeCSSParsing"] = MethodMetadata {.argCount = 0, .invoker = __enableNativeCSSParsing};
267
+ methodMap_["enableNativeViewPropTransformations"] = MethodMetadata {.argCount = 0, .invoker = __enableNativeViewPropTransformations};
269
268
  methodMap_["enableNetworkEventReporting"] = MethodMetadata {.argCount = 0, .invoker = __enableNetworkEventReporting};
270
269
  methodMap_["enablePreparedTextLayout"] = MethodMetadata {.argCount = 0, .invoker = __enablePreparedTextLayout};
271
270
  methodMap_["enablePropsUpdateReconciliationAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enablePropsUpdateReconciliationAndroid};
271
+ methodMap_["enableSchedulerDelegateInvalidation"] = MethodMetadata {.argCount = 0, .invoker = __enableSchedulerDelegateInvalidation};
272
272
  methodMap_["enableSwiftUIBasedFilters"] = MethodMetadata {.argCount = 0, .invoker = __enableSwiftUIBasedFilters};
273
273
  methodMap_["enableViewCulling"] = MethodMetadata {.argCount = 0, .invoker = __enableViewCulling};
274
274
  methodMap_["enableViewRecycling"] = MethodMetadata {.argCount = 0, .invoker = __enableViewRecycling};
@@ -278,29 +278,36 @@ protected:
278
278
  methodMap_["enableViewRecyclingForView"] = MethodMetadata {.argCount = 0, .invoker = __enableViewRecyclingForView};
279
279
  methodMap_["enableVirtualViewContainerStateExperimental"] = MethodMetadata {.argCount = 0, .invoker = __enableVirtualViewContainerStateExperimental};
280
280
  methodMap_["enableVirtualViewDebugFeatures"] = MethodMetadata {.argCount = 0, .invoker = __enableVirtualViewDebugFeatures};
281
+ methodMap_["fixDifferentiatorParentTagForUnflattenCase"] = MethodMetadata {.argCount = 0, .invoker = __fixDifferentiatorParentTagForUnflattenCase};
281
282
  methodMap_["fixFindShadowNodeByTagRaceCondition"] = MethodMetadata {.argCount = 0, .invoker = __fixFindShadowNodeByTagRaceCondition};
282
283
  methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {.argCount = 0, .invoker = __fixMappingOfEventPrioritiesBetweenFabricAndReact};
283
- methodMap_["fixTextClippingAndroid15useBoundsForWidth"] = MethodMetadata {.argCount = 0, .invoker = __fixTextClippingAndroid15useBoundsForWidth};
284
+ methodMap_["fixYogaFlexBasisFitContentInMainAxis"] = MethodMetadata {.argCount = 0, .invoker = __fixYogaFlexBasisFitContentInMainAxis};
284
285
  methodMap_["fuseboxAssertSingleHostState"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxAssertSingleHostState};
285
286
  methodMap_["fuseboxEnabledRelease"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxEnabledRelease};
287
+ methodMap_["fuseboxFrameRecordingEnabled"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxFrameRecordingEnabled};
286
288
  methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxNetworkInspectionEnabled};
289
+ methodMap_["fuseboxScreenshotCaptureEnabled"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxScreenshotCaptureEnabled};
287
290
  methodMap_["hideOffscreenVirtualViewsOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __hideOffscreenVirtualViewsOnIOS};
288
291
  methodMap_["overrideBySynchronousMountPropsAtMountingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __overrideBySynchronousMountPropsAtMountingAndroid};
289
292
  methodMap_["perfIssuesEnabled"] = MethodMetadata {.argCount = 0, .invoker = __perfIssuesEnabled};
290
293
  methodMap_["perfMonitorV2Enabled"] = MethodMetadata {.argCount = 0, .invoker = __perfMonitorV2Enabled};
291
294
  methodMap_["preparedTextCacheSize"] = MethodMetadata {.argCount = 0, .invoker = __preparedTextCacheSize};
292
295
  methodMap_["preventShadowTreeCommitExhaustion"] = MethodMetadata {.argCount = 0, .invoker = __preventShadowTreeCommitExhaustion};
296
+ methodMap_["redBoxV2Android"] = MethodMetadata {.argCount = 0, .invoker = __redBoxV2Android};
297
+ methodMap_["redBoxV2IOS"] = MethodMetadata {.argCount = 0, .invoker = __redBoxV2IOS};
293
298
  methodMap_["shouldPressibilityUseW3CPointerEventsForHover"] = MethodMetadata {.argCount = 0, .invoker = __shouldPressibilityUseW3CPointerEventsForHover};
294
299
  methodMap_["shouldTriggerResponderTransferOnScrollAndroid"] = MethodMetadata {.argCount = 0, .invoker = __shouldTriggerResponderTransferOnScrollAndroid};
295
300
  methodMap_["skipActivityIdentityAssertionOnHostPause"] = MethodMetadata {.argCount = 0, .invoker = __skipActivityIdentityAssertionOnHostPause};
296
- methodMap_["syncAndroidClipToPaddingWithOverflow"] = MethodMetadata {.argCount = 0, .invoker = __syncAndroidClipToPaddingWithOverflow};
301
+ methodMap_["syncAndroidClipBoundsWithOverflow"] = MethodMetadata {.argCount = 0, .invoker = __syncAndroidClipBoundsWithOverflow};
297
302
  methodMap_["traceTurboModulePromiseRejectionsOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __traceTurboModulePromiseRejectionsOnAndroid};
298
303
  methodMap_["updateRuntimeShadowNodeReferencesOnCommit"] = MethodMetadata {.argCount = 0, .invoker = __updateRuntimeShadowNodeReferencesOnCommit};
299
304
  methodMap_["updateRuntimeShadowNodeReferencesOnCommitThread"] = MethodMetadata {.argCount = 0, .invoker = __updateRuntimeShadowNodeReferencesOnCommitThread};
300
305
  methodMap_["useAlwaysAvailableJSErrorHandling"] = MethodMetadata {.argCount = 0, .invoker = __useAlwaysAvailableJSErrorHandling};
301
306
  methodMap_["useFabricInterop"] = MethodMetadata {.argCount = 0, .invoker = __useFabricInterop};
307
+ methodMap_["useLISAlgorithmInDifferentiator"] = MethodMetadata {.argCount = 0, .invoker = __useLISAlgorithmInDifferentiator};
302
308
  methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {.argCount = 0, .invoker = __useNativeViewConfigsInBridgelessMode};
303
309
  methodMap_["useNestedScrollViewAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useNestedScrollViewAndroid};
310
+ methodMap_["useOptimizedViewRegistryOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useOptimizedViewRegistryOnAndroid};
304
311
  methodMap_["useSharedAnimatedBackend"] = MethodMetadata {.argCount = 0, .invoker = __useSharedAnimatedBackend};
305
312
  methodMap_["useTraitHiddenOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __useTraitHiddenOnAndroid};
306
313
  methodMap_["useTurboModuleInterop"] = MethodMetadata {.argCount = 0, .invoker = __useTurboModuleInterop};
@@ -403,20 +410,6 @@ private:
403
410
  return bridging::callFromJs<bool>(rt, &T::enableAccumulatedUpdatesInRawPropsAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
404
411
  }
405
412
 
406
- static jsi::Value __enableAndroidAntialiasedBorderRadiusClipping(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
407
- static_assert(
408
- bridging::getParameterCount(&T::enableAndroidAntialiasedBorderRadiusClipping) == 1,
409
- "Expected enableAndroidAntialiasedBorderRadiusClipping(...) to have 1 parameters");
410
- return bridging::callFromJs<bool>(rt, &T::enableAndroidAntialiasedBorderRadiusClipping, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
411
- }
412
-
413
- static jsi::Value __enableAndroidLinearText(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
414
- static_assert(
415
- bridging::getParameterCount(&T::enableAndroidLinearText) == 1,
416
- "Expected enableAndroidLinearText(...) to have 1 parameters");
417
- return bridging::callFromJs<bool>(rt, &T::enableAndroidLinearText, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
418
- }
419
-
420
413
  static jsi::Value __enableAndroidTextMeasurementOptimizations(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
421
414
  static_assert(
422
415
  bridging::getParameterCount(&T::enableAndroidTextMeasurementOptimizations) == 1,
@@ -452,6 +445,13 @@ private:
452
445
  return bridging::callFromJs<bool>(rt, &T::enableDestroyShadowTreeRevisionAsync, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
453
446
  }
454
447
 
448
+ static jsi::Value __enableDifferentiatorMutationVectorPreallocation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
449
+ static_assert(
450
+ bridging::getParameterCount(&T::enableDifferentiatorMutationVectorPreallocation) == 1,
451
+ "Expected enableDifferentiatorMutationVectorPreallocation(...) to have 1 parameters");
452
+ return bridging::callFromJs<bool>(rt, &T::enableDifferentiatorMutationVectorPreallocation, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
453
+ }
454
+
455
455
  static jsi::Value __enableDoubleMeasurementFixAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
456
456
  static_assert(
457
457
  bridging::getParameterCount(&T::enableDoubleMeasurementFixAndroid) == 1,
@@ -529,20 +529,6 @@ private:
529
529
  return bridging::callFromJs<bool>(rt, &T::enableImagePrefetchingAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
530
530
  }
531
531
 
532
- static jsi::Value __enableImagePrefetchingJNIBatchingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
533
- static_assert(
534
- bridging::getParameterCount(&T::enableImagePrefetchingJNIBatchingAndroid) == 1,
535
- "Expected enableImagePrefetchingJNIBatchingAndroid(...) to have 1 parameters");
536
- return bridging::callFromJs<bool>(rt, &T::enableImagePrefetchingJNIBatchingAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
537
- }
538
-
539
- static jsi::Value __enableImagePrefetchingOnUiThreadAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
540
- static_assert(
541
- bridging::getParameterCount(&T::enableImagePrefetchingOnUiThreadAndroid) == 1,
542
- "Expected enableImagePrefetchingOnUiThreadAndroid(...) to have 1 parameters");
543
- return bridging::callFromJs<bool>(rt, &T::enableImagePrefetchingOnUiThreadAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
544
- }
545
-
546
532
  static jsi::Value __enableImmediateUpdateModeForContentOffsetChanges(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
547
533
  static_assert(
548
534
  bridging::getParameterCount(&T::enableImmediateUpdateModeForContentOffsetChanges) == 1,
@@ -606,6 +592,13 @@ private:
606
592
  return bridging::callFromJs<bool>(rt, &T::enableModuleArgumentNSNullConversionIOS, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
607
593
  }
608
594
 
595
+ static jsi::Value __enableMutationObserverByDefault(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
596
+ static_assert(
597
+ bridging::getParameterCount(&T::enableMutationObserverByDefault) == 1,
598
+ "Expected enableMutationObserverByDefault(...) to have 1 parameters");
599
+ return bridging::callFromJs<bool>(rt, &T::enableMutationObserverByDefault, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
600
+ }
601
+
609
602
  static jsi::Value __enableNativeCSSParsing(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
610
603
  static_assert(
611
604
  bridging::getParameterCount(&T::enableNativeCSSParsing) == 1,
@@ -613,6 +606,13 @@ private:
613
606
  return bridging::callFromJs<bool>(rt, &T::enableNativeCSSParsing, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
614
607
  }
615
608
 
609
+ static jsi::Value __enableNativeViewPropTransformations(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
610
+ static_assert(
611
+ bridging::getParameterCount(&T::enableNativeViewPropTransformations) == 1,
612
+ "Expected enableNativeViewPropTransformations(...) to have 1 parameters");
613
+ return bridging::callFromJs<bool>(rt, &T::enableNativeViewPropTransformations, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
614
+ }
615
+
616
616
  static jsi::Value __enableNetworkEventReporting(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
617
617
  static_assert(
618
618
  bridging::getParameterCount(&T::enableNetworkEventReporting) == 1,
@@ -634,6 +634,13 @@ private:
634
634
  return bridging::callFromJs<bool>(rt, &T::enablePropsUpdateReconciliationAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
635
635
  }
636
636
 
637
+ static jsi::Value __enableSchedulerDelegateInvalidation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
638
+ static_assert(
639
+ bridging::getParameterCount(&T::enableSchedulerDelegateInvalidation) == 1,
640
+ "Expected enableSchedulerDelegateInvalidation(...) to have 1 parameters");
641
+ return bridging::callFromJs<bool>(rt, &T::enableSchedulerDelegateInvalidation, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
642
+ }
643
+
637
644
  static jsi::Value __enableSwiftUIBasedFilters(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
638
645
  static_assert(
639
646
  bridging::getParameterCount(&T::enableSwiftUIBasedFilters) == 1,
@@ -697,6 +704,13 @@ private:
697
704
  return bridging::callFromJs<bool>(rt, &T::enableVirtualViewDebugFeatures, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
698
705
  }
699
706
 
707
+ static jsi::Value __fixDifferentiatorParentTagForUnflattenCase(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
708
+ static_assert(
709
+ bridging::getParameterCount(&T::fixDifferentiatorParentTagForUnflattenCase) == 1,
710
+ "Expected fixDifferentiatorParentTagForUnflattenCase(...) to have 1 parameters");
711
+ return bridging::callFromJs<bool>(rt, &T::fixDifferentiatorParentTagForUnflattenCase, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
712
+ }
713
+
700
714
  static jsi::Value __fixFindShadowNodeByTagRaceCondition(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
701
715
  static_assert(
702
716
  bridging::getParameterCount(&T::fixFindShadowNodeByTagRaceCondition) == 1,
@@ -711,11 +725,11 @@ private:
711
725
  return bridging::callFromJs<bool>(rt, &T::fixMappingOfEventPrioritiesBetweenFabricAndReact, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
712
726
  }
713
727
 
714
- static jsi::Value __fixTextClippingAndroid15useBoundsForWidth(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
728
+ static jsi::Value __fixYogaFlexBasisFitContentInMainAxis(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
715
729
  static_assert(
716
- bridging::getParameterCount(&T::fixTextClippingAndroid15useBoundsForWidth) == 1,
717
- "Expected fixTextClippingAndroid15useBoundsForWidth(...) to have 1 parameters");
718
- return bridging::callFromJs<bool>(rt, &T::fixTextClippingAndroid15useBoundsForWidth, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
730
+ bridging::getParameterCount(&T::fixYogaFlexBasisFitContentInMainAxis) == 1,
731
+ "Expected fixYogaFlexBasisFitContentInMainAxis(...) to have 1 parameters");
732
+ return bridging::callFromJs<bool>(rt, &T::fixYogaFlexBasisFitContentInMainAxis, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
719
733
  }
720
734
 
721
735
  static jsi::Value __fuseboxAssertSingleHostState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
@@ -732,6 +746,13 @@ private:
732
746
  return bridging::callFromJs<bool>(rt, &T::fuseboxEnabledRelease, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
733
747
  }
734
748
 
749
+ static jsi::Value __fuseboxFrameRecordingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
750
+ static_assert(
751
+ bridging::getParameterCount(&T::fuseboxFrameRecordingEnabled) == 1,
752
+ "Expected fuseboxFrameRecordingEnabled(...) to have 1 parameters");
753
+ return bridging::callFromJs<bool>(rt, &T::fuseboxFrameRecordingEnabled, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
754
+ }
755
+
735
756
  static jsi::Value __fuseboxNetworkInspectionEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
736
757
  static_assert(
737
758
  bridging::getParameterCount(&T::fuseboxNetworkInspectionEnabled) == 1,
@@ -739,6 +760,13 @@ private:
739
760
  return bridging::callFromJs<bool>(rt, &T::fuseboxNetworkInspectionEnabled, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
740
761
  }
741
762
 
763
+ static jsi::Value __fuseboxScreenshotCaptureEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
764
+ static_assert(
765
+ bridging::getParameterCount(&T::fuseboxScreenshotCaptureEnabled) == 1,
766
+ "Expected fuseboxScreenshotCaptureEnabled(...) to have 1 parameters");
767
+ return bridging::callFromJs<bool>(rt, &T::fuseboxScreenshotCaptureEnabled, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
768
+ }
769
+
742
770
  static jsi::Value __hideOffscreenVirtualViewsOnIOS(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
743
771
  static_assert(
744
772
  bridging::getParameterCount(&T::hideOffscreenVirtualViewsOnIOS) == 1,
@@ -781,6 +809,20 @@ private:
781
809
  return bridging::callFromJs<bool>(rt, &T::preventShadowTreeCommitExhaustion, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
782
810
  }
783
811
 
812
+ static jsi::Value __redBoxV2Android(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
813
+ static_assert(
814
+ bridging::getParameterCount(&T::redBoxV2Android) == 1,
815
+ "Expected redBoxV2Android(...) to have 1 parameters");
816
+ return bridging::callFromJs<bool>(rt, &T::redBoxV2Android, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
817
+ }
818
+
819
+ static jsi::Value __redBoxV2IOS(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
820
+ static_assert(
821
+ bridging::getParameterCount(&T::redBoxV2IOS) == 1,
822
+ "Expected redBoxV2IOS(...) to have 1 parameters");
823
+ return bridging::callFromJs<bool>(rt, &T::redBoxV2IOS, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
824
+ }
825
+
784
826
  static jsi::Value __shouldPressibilityUseW3CPointerEventsForHover(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
785
827
  static_assert(
786
828
  bridging::getParameterCount(&T::shouldPressibilityUseW3CPointerEventsForHover) == 1,
@@ -802,11 +844,11 @@ private:
802
844
  return bridging::callFromJs<bool>(rt, &T::skipActivityIdentityAssertionOnHostPause, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
803
845
  }
804
846
 
805
- static jsi::Value __syncAndroidClipToPaddingWithOverflow(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
847
+ static jsi::Value __syncAndroidClipBoundsWithOverflow(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
806
848
  static_assert(
807
- bridging::getParameterCount(&T::syncAndroidClipToPaddingWithOverflow) == 1,
808
- "Expected syncAndroidClipToPaddingWithOverflow(...) to have 1 parameters");
809
- return bridging::callFromJs<bool>(rt, &T::syncAndroidClipToPaddingWithOverflow, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
849
+ bridging::getParameterCount(&T::syncAndroidClipBoundsWithOverflow) == 1,
850
+ "Expected syncAndroidClipBoundsWithOverflow(...) to have 1 parameters");
851
+ return bridging::callFromJs<bool>(rt, &T::syncAndroidClipBoundsWithOverflow, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
810
852
  }
811
853
 
812
854
  static jsi::Value __traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
@@ -844,6 +886,13 @@ private:
844
886
  return bridging::callFromJs<bool>(rt, &T::useFabricInterop, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
845
887
  }
846
888
 
889
+ static jsi::Value __useLISAlgorithmInDifferentiator(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
890
+ static_assert(
891
+ bridging::getParameterCount(&T::useLISAlgorithmInDifferentiator) == 1,
892
+ "Expected useLISAlgorithmInDifferentiator(...) to have 1 parameters");
893
+ return bridging::callFromJs<bool>(rt, &T::useLISAlgorithmInDifferentiator, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
894
+ }
895
+
847
896
  static jsi::Value __useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
848
897
  static_assert(
849
898
  bridging::getParameterCount(&T::useNativeViewConfigsInBridgelessMode) == 1,
@@ -858,6 +907,13 @@ private:
858
907
  return bridging::callFromJs<bool>(rt, &T::useNestedScrollViewAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
859
908
  }
860
909
 
910
+ static jsi::Value __useOptimizedViewRegistryOnAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
911
+ static_assert(
912
+ bridging::getParameterCount(&T::useOptimizedViewRegistryOnAndroid) == 1,
913
+ "Expected useOptimizedViewRegistryOnAndroid(...) to have 1 parameters");
914
+ return bridging::callFromJs<bool>(rt, &T::useOptimizedViewRegistryOnAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
915
+ }
916
+
861
917
  static jsi::Value __useSharedAnimatedBackend(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
862
918
  static_assert(
863
919
  bridging::getParameterCount(&T::useSharedAnimatedBackend) == 1,
@@ -5332,7 +5388,7 @@ private:
5332
5388
 
5333
5389
  #pragma mark - NativeFantomNativeEventCategory
5334
5390
 
5335
- enum class NativeFantomNativeEventCategory { ContinuousStart, ContinuousEnd, Unspecified, Discrete, Continuous, Idle };
5391
+ enum class NativeFantomNativeEventCategory { ContinuousStart = 0, ContinuousEnd = 1, Unspecified = 2, Discrete = 3, Continuous = 4, Idle = 5 };
5336
5392
 
5337
5393
  template <>
5338
5394
  struct Bridging<NativeFantomNativeEventCategory> {
@@ -5804,6 +5860,55 @@ private:
5804
5860
  };
5805
5861
 
5806
5862
 
5863
+ template <typename T>
5864
+ class JSI_EXPORT NativeViewTransitionCxxSpec : public TurboModule {
5865
+ public:
5866
+ static constexpr std::string_view kModuleName = "NativeViewTransitionCxx";
5867
+
5868
+ protected:
5869
+ NativeViewTransitionCxxSpec(std::shared_ptr<CallInvoker> jsInvoker) : TurboModule(std::string{NativeViewTransitionCxxSpec::kModuleName}, jsInvoker) {
5870
+ methodMap_["getViewTransitionInstance"] = MethodMetadata {.argCount = 2, .invoker = __getViewTransitionInstance};
5871
+ methodMap_["findPseudoElementShadowNodeByTag"] = MethodMetadata {.argCount = 1, .invoker = __findPseudoElementShadowNodeByTag};
5872
+ methodMap_["waitForTransitionAnimation"] = MethodMetadata {.argCount = 1, .invoker = __waitForTransitionAnimation};
5873
+ methodMap_["transitionAnimationFinished"] = MethodMetadata {.argCount = 1, .invoker = __transitionAnimationFinished};
5874
+ }
5875
+
5876
+ private:
5877
+ static jsi::Value __getViewTransitionInstance(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
5878
+ static_assert(
5879
+ bridging::getParameterCount(&T::getViewTransitionInstance) == 3,
5880
+ "Expected getViewTransitionInstance(...) to have 3 parameters");
5881
+ auto result = bridging::callFromJs<std::optional<jsi::Object>>(rt, &T::getViewTransitionInstance, static_cast<NativeViewTransitionCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
5882
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
5883
+ count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt));return result ? jsi::Value(std::move(*result)) : jsi::Value::null();
5884
+ }
5885
+
5886
+ static jsi::Value __findPseudoElementShadowNodeByTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
5887
+ static_assert(
5888
+ bridging::getParameterCount(&T::findPseudoElementShadowNodeByTag) == 2,
5889
+ "Expected findPseudoElementShadowNodeByTag(...) to have 2 parameters");
5890
+ auto result = bridging::callFromJs<std::optional<jsi::Value>>(rt, &T::findPseudoElementShadowNodeByTag, static_cast<NativeViewTransitionCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
5891
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return result ? jsi::Value(std::move(*result)) : jsi::Value::null();
5892
+ }
5893
+
5894
+ static jsi::Value __waitForTransitionAnimation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
5895
+ static_assert(
5896
+ bridging::getParameterCount(&T::waitForTransitionAnimation) == 2,
5897
+ "Expected waitForTransitionAnimation(...) to have 2 parameters");
5898
+ bridging::callFromJs<void>(rt, &T::waitForTransitionAnimation, static_cast<NativeViewTransitionCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
5899
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
5900
+ }
5901
+
5902
+ static jsi::Value __transitionAnimationFinished(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
5903
+ static_assert(
5904
+ bridging::getParameterCount(&T::transitionAnimationFinished) == 2,
5905
+ "Expected transitionAnimationFinished(...) to have 2 parameters");
5906
+ bridging::callFromJs<void>(rt, &T::transitionAnimationFinished, static_cast<NativeViewTransitionCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule),
5907
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber());return jsi::Value::undefined();
5908
+ }
5909
+ };
5910
+
5911
+
5807
5912
  template <typename T>
5808
5913
  class JSI_EXPORT NativeDOMCxxSpec : public TurboModule {
5809
5914
  public:
@@ -40,6 +40,7 @@ Class<RCTComponentViewProtocol> RCTSwitchCls(void) __attribute__((used));
40
40
  Class<RCTComponentViewProtocol> RCTTextInputCls(void) __attribute__((used));
41
41
  Class<RCTComponentViewProtocol> RCTUnimplementedNativeViewCls(void) __attribute__((used));
42
42
  Class<RCTComponentViewProtocol> RCTViewCls(void) __attribute__((used));
43
+ Class<RCTComponentViewProtocol> VirtualViewCls(void) __attribute__((used));
43
44
  Class<RCTComponentViewProtocol> RCTImageCls(void) __attribute__((used));
44
45
  Class<RCTComponentViewProtocol> RCTModalHostViewCls(void) __attribute__((used));
45
46
 
@@ -29,6 +29,7 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name) {
29
29
  {"TextInput", RCTTextInputCls},
30
30
  {"UnimplementedNativeView", RCTUnimplementedNativeViewCls},
31
31
  {"View", RCTViewCls},
32
+ {"VirtualView", VirtualViewCls},
32
33
  {"Image", RCTImageCls},
33
34
  {"ModalHostView", RCTModalHostViewCls},
34
35
  };
@@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN
36
36
  /*
37
37
  * Returns an actual UIScrollView that this component uses under the hood.
38
38
  */
39
- @property (nonatomic, strong, readonly) UIScrollView *scrollView;
39
+ @property (nonatomic, strong, readwrite) UIScrollView *scrollView;
40
40
 
41
41
  /** Focus area of newly-activated text input relative to the window to compare against UIKeyboardFrameBegin/End */
42
42
  @property (nonatomic, assign) CGRect firstResponderFocus;
@@ -712,10 +712,10 @@ static NSSet<NSNumber *> *returnKeyTypesSet;
712
712
  return {
713
713
  .text = RCTStringFromNSString(_backedTextInputView.attributedText.string),
714
714
  .selectionRange = [self _selectionRange],
715
- .eventCount = static_cast<int>(_mostRecentEventCount),
715
+ .contentSize = RCTSizeFromCGSize(_backedTextInputView.contentSize),
716
716
  .contentOffset = RCTPointFromCGPoint(_backedTextInputView.contentOffset),
717
717
  .contentInset = RCTEdgeInsetsFromUIEdgeInsets(_backedTextInputView.contentInset),
718
- .contentSize = RCTSizeFromCGSize(_backedTextInputView.contentSize),
718
+ .eventCount = static_cast<int>(_mostRecentEventCount),
719
719
  .layoutMeasurement = RCTSizeFromCGSize(_backedTextInputView.bounds.size),
720
720
  .zoomScale = _backedTextInputView.zoomScale,
721
721
  };
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  #import "RCTViewComponentView.h"
9
+ #import <React/RCTSurfaceHostingProxyRootView.h>
9
10
 
10
11
  #import <CoreGraphics/CoreGraphics.h>
11
12
  #import <QuartzCore/QuartzCore.h>
@@ -53,6 +54,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
53
54
  BOOL _useCustomContainerView;
54
55
  NSMutableSet<NSString *> *_accessibilityOrderNativeIDs;
55
56
  RCTSwiftUIContainerViewWrapper *_swiftUIWrapper;
57
+ BOOL _focusable;
56
58
  }
57
59
 
58
60
  #ifdef RCT_DYNAMIC_FRAMEWORKS
@@ -95,8 +97,25 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
95
97
  }
96
98
  }
97
99
 
100
+ // Rejects hits against views whose 2D transform collapses an axis (e.g. `scaleX: 0`,
101
+ // `scaleY: 0`, or any other non-invertible affine). Such views are visually degenerate, and
102
+ // UIKit's `-convertPoint:fromView:` falls back to the original matrix when
103
+ // `CGAffineTransformInvert` can't invert, so without this check the degenerate transform is
104
+ // applied to the touch point and the view can still register hits along the collapsed axis.
105
+ static BOOL RCTLayerTransformCollapsesAxis(CALayer *layer)
106
+ {
107
+ CATransform3D t = layer.transform;
108
+ // Determinant of the 2x2 projection onto the XY plane. Anything non-zero is invertible; we
109
+ // treat values within float epsilon as zero to avoid numerical issues near machine precision.
110
+ CGFloat det = t.m11 * t.m22 - t.m12 * t.m21;
111
+ return fabs(det) < (CGFloat)1e-6;
112
+ }
113
+
98
114
  - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
99
115
  {
116
+ if (RCTLayerTransformCollapsesAxis(self.layer)) {
117
+ return NO;
118
+ }
100
119
  if (UIEdgeInsetsEqualToEdgeInsets(self.hitTestEdgeInsets, UIEdgeInsetsZero)) {
101
120
  return [super pointInside:point withEvent:event];
102
121
  }
@@ -157,11 +176,18 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
157
176
  [_reactSubviews removeObjectAtIndex:index];
158
177
  } else {
159
178
  RCTAssert(
160
- childComponentView.superview == self.currentContainerView,
161
- @"Attempt to unmount a view which is mounted inside different view. (parent: %@, child: %@, index: %@)",
179
+ childComponentView.superview != nil,
180
+ @"Attempt to unmount a view which is not mounted. (parent: %@, child: %@, index: %@)",
162
181
  self,
163
182
  childComponentView,
164
183
  @(index));
184
+ RCTAssert(
185
+ childComponentView.superview == self.currentContainerView,
186
+ @"Attempt to unmount a view which is mounted inside a different view. (parent: %@, child: %@, index: %@, existing parent: %@)",
187
+ self,
188
+ childComponentView,
189
+ @(index),
190
+ @([childComponentView.superview tag]));
165
191
  RCTAssert(
166
192
  (self.currentContainerView.subviews.count > index) &&
167
193
  [self.currentContainerView.subviews objectAtIndex:index] == childComponentView,
@@ -176,6 +202,30 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
176
202
  [childComponentView removeFromSuperview];
177
203
  }
178
204
 
205
+ - (void)_updateRemoveClippedSubviewsState
206
+ {
207
+ if (_removeClippedSubviews) {
208
+ // Toggled ON: populate _reactSubviews from the current view hierarchy.
209
+ // Actual clipping will happen on the next scroll event.
210
+ RCTAssert(
211
+ _reactSubviews.count == 0,
212
+ @"_reactSubviews should be empty when toggling removeClippedSubviews on. (view: %@, count: %@)",
213
+ self,
214
+ @(_reactSubviews.count));
215
+ if (self.currentContainerView.subviews.count > 0) {
216
+ _reactSubviews = [NSMutableArray arrayWithArray:self.currentContainerView.subviews];
217
+ }
218
+ } else {
219
+ // Toggled OFF: re-mount all children in the correct order, then clear the tracking array.
220
+ // addSubview: on an already-present child moves it to the front, so iterating in order
221
+ // produces the correct subview ordering.
222
+ for (UIView *view in _reactSubviews) {
223
+ [self.currentContainerView addSubview:view];
224
+ }
225
+ [_reactSubviews removeAllObjects];
226
+ }
227
+ }
228
+
179
229
  - (void)updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView
180
230
  {
181
231
  if (!_removeClippedSubviews) {
@@ -241,9 +291,7 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
241
291
  if (!ReactNativeFeatureFlags::enableViewCulling()) {
242
292
  if (oldViewProps.removeClippedSubviews != newViewProps.removeClippedSubviews) {
243
293
  _removeClippedSubviews = newViewProps.removeClippedSubviews;
244
- if (_removeClippedSubviews && self.currentContainerView.subviews.count > 0) {
245
- _reactSubviews = [NSMutableArray arrayWithArray:self.currentContainerView.subviews];
246
- }
294
+ [self _updateRemoveClippedSubviewsState];
247
295
  }
248
296
  }
249
297
 
@@ -481,6 +529,13 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
481
529
  needsInvalidateLayer = YES;
482
530
  }
483
531
 
532
+ // `focusable`
533
+ #if TARGET_OS_TV
534
+ if (oldViewProps.focusable != newViewProps.focusable) {
535
+ _focusable = (bool)newViewProps.focusable;
536
+ }
537
+ #endif
538
+
484
539
  // `mixBlendMode`
485
540
  if (oldViewProps.mixBlendMode != newViewProps.mixBlendMode) {
486
541
  switch (newViewProps.mixBlendMode) {
@@ -529,6 +584,9 @@ const CGFloat BACKGROUND_COLOR_ZPOSITION = -1024.0f;
529
584
  case BlendMode::Luminosity:
530
585
  self.layer.compositingFilter = @"luminosityBlendMode";
531
586
  break;
587
+ case BlendMode::PlusLighter:
588
+ self.layer.compositingFilter = @"linearDodgeBlendMode";
589
+ break;
532
590
  case BlendMode::Normal:
533
591
  self.layer.compositingFilter = nil;
534
592
  break;
@@ -1422,6 +1480,11 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1422
1480
  return !super.accessibilityLabel && super.isAccessibilityElement;
1423
1481
  }
1424
1482
 
1483
+ - (BOOL)canBecomeFocused
1484
+ {
1485
+ return _focusable;
1486
+ }
1487
+
1425
1488
  - (BOOL)isAccessibilityElement
1426
1489
  {
1427
1490
  if (self.contentView != nil) {
@@ -1671,9 +1734,11 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1671
1734
  }
1672
1735
  }
1673
1736
 
1737
+ #pragma mark - Focus Events
1738
+
1674
1739
  - (BOOL)canBecomeFirstResponder
1675
1740
  {
1676
- return YES;
1741
+ return ReactNativeFeatureFlags::enableImperativeFocus();
1677
1742
  }
1678
1743
 
1679
1744
  - (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
@@ -1689,9 +1754,36 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1689
1754
  }
1690
1755
  }
1691
1756
 
1757
+ #if TARGET_OS_TV
1758
+ /// Finds the containing RCTSurfaceHostingProxyRootView by walking up the view
1759
+ /// hierarchy.
1760
+ - (RCTSurfaceHostingProxyRootView *)containingRootView
1761
+ {
1762
+ UIView *view = self;
1763
+ while (view != nil) {
1764
+ if ([view isKindOfClass:[RCTSurfaceHostingProxyRootView class]]) {
1765
+ return (RCTSurfaceHostingProxyRootView *)view;
1766
+ }
1767
+ view = view.superview;
1768
+ }
1769
+ return nil;
1770
+ }
1771
+ #endif
1772
+
1692
1773
  - (void)focus
1693
1774
  {
1694
1775
  [self becomeFirstResponder];
1776
+
1777
+ #if TARGET_OS_TV
1778
+ RCTSurfaceHostingProxyRootView *rootView = [self containingRootView];
1779
+ if (rootView == nil) {
1780
+ return;
1781
+ }
1782
+
1783
+ rootView.reactPreferredFocusedView = self;
1784
+ [rootView setNeedsFocusUpdate];
1785
+ [rootView updateFocusIfNeeded];
1786
+ #endif
1695
1787
  }
1696
1788
 
1697
1789
  - (void)blur
@@ -1699,8 +1791,6 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1699
1791
  [self resignFirstResponder];
1700
1792
  }
1701
1793
 
1702
- #pragma mark - Focus Events
1703
-
1704
1794
  - (BOOL)becomeFirstResponder
1705
1795
  {
1706
1796
  if (![super becomeFirstResponder]) {
@@ -1727,6 +1817,30 @@ static NSString *RCTRecursiveAccessibilityLabel(UIView *view)
1727
1817
  return YES;
1728
1818
  }
1729
1819
 
1820
+ #if TARGET_OS_TV
1821
+
1822
+ - (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context
1823
+ withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator
1824
+ {
1825
+ if (context.previouslyFocusedView == context.nextFocusedView) {
1826
+ return;
1827
+ }
1828
+
1829
+ // Do not resignFirstRespodner if we lost focus, let whoever took focus
1830
+ // becomeFirstResponder thereby resigning for us. If we resign here,
1831
+ // first responder will be assigned to some ancestor view and they
1832
+ // can temporarily call onFocus/onBlur
1833
+ if (context.nextFocusedView == self) {
1834
+ [self becomeFirstResponder];
1835
+ } else if (context.previouslyFocusedView == self && context.nextFocusedView == nil) {
1836
+ [self resignFirstResponder];
1837
+ }
1838
+
1839
+ [super didUpdateFocusInContext:context withAnimationCoordinator:coordinator];
1840
+ }
1841
+
1842
+ #endif
1843
+
1730
1844
  @end
1731
1845
 
1732
1846
  #ifdef __cplusplus