react-native-tvos 0.83.2-0 → 0.84.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/Libraries/Animated/AnimatedEvent.js +2 -2
  2. package/Libraries/Animated/animations/Animation.js +1 -3
  3. package/Libraries/Animated/createAnimatedComponent.js +8 -5
  4. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  5. package/Libraries/Animated/nodes/AnimatedInterpolation.js +40 -4
  6. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  7. package/Libraries/Animated/nodes/AnimatedObject.js +16 -11
  8. package/Libraries/Animated/nodes/AnimatedProps.js +43 -12
  9. package/Libraries/Animated/nodes/AnimatedStyle.js +12 -12
  10. package/Libraries/Animated/nodes/AnimatedValue.js +6 -3
  11. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  12. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  13. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -31
  14. package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
  15. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
  16. package/Libraries/BatchedBridge/MessageQueue.js +24 -22
  17. package/Libraries/Blob/RCTBlobPlugins.mm +14 -14
  18. package/Libraries/Blob/URL.js +34 -3
  19. package/Libraries/Blob/URLSearchParams.js +1 -0
  20. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +9 -1
  21. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +6 -1
  22. package/Libraries/Components/Button.js +2 -5
  23. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  24. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +4 -4
  25. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  26. package/Libraries/Components/Pressable/Pressable.js +8 -8
  27. package/Libraries/Components/TextInput/TextInput.flow.js +13 -13
  28. package/Libraries/Components/TextInput/TextInput.js +33 -34
  29. package/Libraries/Components/Touchable/PooledClass.js +2 -2
  30. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  31. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  32. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +9 -9
  33. package/Libraries/Components/View/ViewPropTypes.js +16 -6
  34. package/Libraries/Core/Devtools/loadBundleFromServer.js +6 -3
  35. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  36. package/Libraries/Core/ExceptionsManager.js +3 -3
  37. package/Libraries/Core/RawEventEmitter.js +1 -1
  38. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  39. package/Libraries/Core/ReactNativeVersion.js +2 -2
  40. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  41. package/Libraries/Core/setUpErrorHandling.js +1 -1
  42. package/Libraries/EventEmitter/NativeEventEmitter.js +2 -2
  43. package/Libraries/Image/Image.android.js +2 -2
  44. package/Libraries/Image/Image.ios.js +2 -2
  45. package/Libraries/Image/ImageProps.js +1 -1
  46. package/Libraries/Image/ImageTypes.flow.js +2 -2
  47. package/Libraries/Image/RCTImagePlugins.h +1 -0
  48. package/Libraries/Image/RCTImagePlugins.mm +30 -17
  49. package/Libraries/Interaction/InteractionManager.js +3 -3
  50. package/Libraries/Interaction/PanResponder.js +1 -1
  51. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
  52. package/Libraries/Linking/Linking.js +1 -1
  53. package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +10 -13
  54. package/Libraries/Lists/FlatList.js +2 -2
  55. package/Libraries/LogBox/Data/LogBoxData.js +31 -4
  56. package/Libraries/LogBox/Data/LogBoxLog.js +2 -2
  57. package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
  58. package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -5
  59. package/Libraries/LogBox/LogBox.js +7 -7
  60. package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +14 -14
  61. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +7 -0
  62. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  63. package/Libraries/NativeComponent/BaseViewConfig.android.js +12 -0
  64. package/Libraries/NativeComponent/StaticViewConfigValidator.js +4 -4
  65. package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -1
  66. package/Libraries/Network/RCTInspectorNetworkReporter.mm +26 -3
  67. package/Libraries/Network/RCTNetworkPlugins.mm +22 -16
  68. package/Libraries/Network/RCTNetworking.android.js +3 -3
  69. package/Libraries/Network/RCTNetworking.ios.js +2 -2
  70. package/Libraries/Network/RCTNetworking.js.flow +2 -2
  71. package/Libraries/Pressability/Pressability.js +9 -9
  72. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +10 -13
  73. package/Libraries/ReactNative/AppRegistry.flow.js +1 -1
  74. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  75. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  76. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  77. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  78. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +2 -2
  79. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
  80. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  81. package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
  82. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -2
  83. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -3
  84. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
  85. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
  86. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +11 -4
  87. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +11 -4
  88. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11 -4
  89. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  90. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  91. package/Libraries/Renderer/shims/ReactNative.js +2 -2
  92. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  93. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  94. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  95. package/Libraries/Settings/RCTSettingsManager.mm +1 -1
  96. package/Libraries/Settings/RCTSettingsPlugins.mm +10 -13
  97. package/Libraries/Settings/Settings.ios.js +1 -1
  98. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  99. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  100. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +4 -2
  101. package/Libraries/StyleSheet/StyleSheetExports.js +1 -1
  102. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +99 -4
  103. package/Libraries/StyleSheet/StyleSheetTypes.js +6 -8
  104. package/Libraries/StyleSheet/processFilter.js +1 -1
  105. package/Libraries/Text/Text.js +46 -6
  106. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -2
  107. package/Libraries/Text/TextNativeComponent.js +1 -1
  108. package/Libraries/Text/TextProps.js +7 -7
  109. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +36 -1
  110. package/Libraries/Types/CodegenTypes.js +1 -1
  111. package/Libraries/Types/CoreEventTypes.js +31 -0
  112. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  113. package/Libraries/Utilities/Appearance.js +2 -2
  114. package/Libraries/Utilities/DevLoadingView.js +8 -1
  115. package/Libraries/Utilities/DevSettings.js +3 -3
  116. package/Libraries/Utilities/HMRClient.js +4 -3
  117. package/Libraries/Utilities/RCTLog.js +3 -3
  118. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  119. package/Libraries/Utilities/SceneTracker.js +1 -1
  120. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  121. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
  122. package/Libraries/Utilities/logError.js +1 -1
  123. package/Libraries/Utilities/stringifySafe.js +7 -7
  124. package/Libraries/Utilities/useRefEffect.js +1 -1
  125. package/Libraries/Vibration/RCTVibrationPlugins.mm +10 -13
  126. package/Libraries/WebSocket/WebSocketInterceptor.js +3 -3
  127. package/Libraries/promiseRejectionTrackingOptions.js +8 -8
  128. package/Libraries/vendor/core/ErrorUtils.js +10 -10
  129. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  130. package/README.md +56 -18
  131. package/React/Base/RCTAssert.m +2 -2
  132. package/React/Base/RCTBridge.h +0 -4
  133. package/React/Base/RCTBridge.mm +1 -12
  134. package/React/Base/RCTBundleManager.h +59 -7
  135. package/React/Base/RCTBundleManager.m +112 -1
  136. package/React/Base/RCTBundleURLProvider.h +24 -0
  137. package/React/Base/RCTBundleURLProvider.mm +49 -4
  138. package/React/Base/RCTConvert.mm +2 -0
  139. package/React/Base/RCTModuleData.mm +2 -2
  140. package/React/Base/RCTUtils.h +4 -0
  141. package/React/Base/RCTUtils.mm +60 -3
  142. package/React/Base/RCTVersion.m +2 -2
  143. package/React/CoreModules/CoreModulesPlugins.mm +97 -35
  144. package/React/CoreModules/PlatformStubs/RCTStatusBarManager.mm +1 -1
  145. package/React/CoreModules/RCTAccessibilityManager.mm +18 -1
  146. package/React/CoreModules/RCTAppState.mm +1 -1
  147. package/React/CoreModules/RCTDevLoadingView.mm +116 -36
  148. package/React/CoreModules/RCTDevSettings.h +36 -1
  149. package/React/CoreModules/RCTDevSettings.mm +44 -8
  150. package/React/CoreModules/RCTExceptionsManager.mm +5 -2
  151. package/React/CoreModules/RCTPlatform.mm +3 -2
  152. package/React/CoreModules/RCTStatusBarManager.mm +1 -1
  153. package/React/CxxBridge/RCTCxxBridge.mm +1 -2
  154. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  155. package/React/CxxModule/RCTCxxUtils.mm +2 -12
  156. package/React/DevSupport/RCTDevLoadingViewProtocol.h +4 -1
  157. package/React/DevSupport/RCTPackagerConnection.h +4 -2
  158. package/React/DevSupport/RCTPackagerConnection.mm +30 -33
  159. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +9 -2
  160. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +62 -17
  161. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +529 -494
  162. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +1 -0
  163. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +14 -0
  164. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +11 -0
  165. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +6 -0
  166. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +2 -0
  167. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +39 -2
  168. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +5 -7
  169. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +5 -7
  170. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  171. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -1
  172. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +6 -2
  173. package/React/Modules/RCTEventEmitter.m +1 -0
  174. package/React/Views/RCTModalHostView.h +2 -0
  175. package/React/Views/RCTTVView.m +2 -0
  176. package/ReactAndroid/api/ReactAndroid.api +14 -73
  177. package/ReactAndroid/build.gradle.kts +2 -0
  178. package/ReactAndroid/gradle.properties +1 -1
  179. package/ReactAndroid/hermes-engine/build.gradle.kts +97 -29
  180. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +1 -4
  181. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +3 -0
  182. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +10 -13
  183. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +1 -119
  184. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +0 -10
  185. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -1
  186. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +4 -29
  187. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +43 -2
  188. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  189. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +0 -18
  190. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +6 -96
  191. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +17 -2
  192. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +2 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +1 -33
  194. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +6 -6
  195. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +6 -6
  196. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -12
  197. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +4 -5
  198. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +11 -10
  199. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  200. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +58 -13
  201. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +10 -60
  202. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
  203. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +1 -4
  204. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +17 -0
  205. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +144 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  207. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
  209. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
  210. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevLoadingViewManager.kt +6 -1
  211. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +2 -2
  212. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +2 -2
  213. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
  214. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +31 -6
  215. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +7 -6
  216. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
  217. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -1
  218. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -1
  219. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +63 -45
  220. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +106 -76
  221. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +22 -16
  222. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +23 -17
  223. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +117 -84
  224. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
  225. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +0 -2
  226. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +22 -16
  227. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +5 -43
  228. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +0 -3
  229. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +36 -1
  230. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +3 -27
  231. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +7 -2
  232. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +23 -0
  233. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +1 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  235. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +15 -8
  236. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +0 -9
  237. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +46 -12
  238. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
  239. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +11 -17
  240. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +52 -0
  241. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +92 -3
  242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +62 -8
  243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSKeyDispatcher.kt +65 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +19 -2
  245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  246. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +5 -36
  247. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +9 -91
  248. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1 -1
  249. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  250. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +0 -2
  251. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +4 -23
  252. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +1 -7
  253. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +1 -11
  254. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +1 -47
  255. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +0 -16
  256. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +1 -1
  257. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +3 -36
  258. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyDownEvent.kt +23 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyEvent.kt +156 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/KeyUpEvent.kt +24 -0
  261. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +29 -4
  262. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +12 -9
  263. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +1 -1
  264. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +36 -3
  265. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -11
  266. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +7 -0
  267. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +31 -15
  268. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +127 -32
  269. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +11 -1
  270. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/view/ReactVirtualView.kt +3 -11
  271. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +3 -12
  272. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  273. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +98 -3
  274. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +62 -26
  275. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +145 -103
  276. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +31 -22
  277. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +0 -4
  278. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -3
  279. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +5 -23
  280. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -7
  281. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapperBase.h +0 -24
  282. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  283. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  284. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -1
  285. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +1 -29
  286. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +1 -2
  287. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -4
  288. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +0 -4
  289. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -4
  290. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +145 -17
  291. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +193 -19
  292. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +2 -1
  293. package/ReactAndroid/src/main/jni/react/tracing/PerformanceTracerCxxInterop.cpp +1 -1
  294. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +62 -63
  295. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +5 -7
  296. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
  297. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  298. package/ReactAndroid/src/main/res/devsupport/layout/dev_loading_view.xml +41 -15
  299. package/ReactAndroid/src/main/res/devsupport/layout/fps_view.xml +1 -1
  300. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +1 -0
  301. package/ReactAndroid/src/main/res/views/uimanager/values-ne/strings.xml +16 -0
  302. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +2 -0
  303. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +38 -5
  304. package/ReactCommon/cmake-utils/react-native-flags.cmake +3 -0
  305. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  306. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  307. package/ReactCommon/cxxreact/ReactMarker.cpp +0 -1
  308. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  309. package/ReactCommon/devtoolsruntimesettings/DevToolsRuntimeSettings.cpp +1 -1
  310. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  311. package/ReactCommon/hermes/executor/CMakeLists.txt +0 -4
  312. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -0
  313. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +0 -4
  314. package/ReactCommon/jsi/jsi/jsi.cpp +6 -1
  315. package/ReactCommon/jsi/jsi/jsi.h +73 -0
  316. package/ReactCommon/jsi/jsi/test/testlib.cpp +2 -2
  317. package/ReactCommon/jsiexecutor/CMakeLists.txt +3 -1
  318. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -0
  319. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -43
  320. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -8
  321. package/ReactCommon/jsinspector-modern/ConsoleTask.cpp +27 -0
  322. package/ReactCommon/jsinspector-modern/ConsoleTask.h +38 -0
  323. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.cpp +46 -0
  324. package/ReactCommon/jsinspector-modern/ConsoleTaskContext.h +102 -0
  325. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.cpp +55 -0
  326. package/ReactCommon/jsinspector-modern/ConsoleTaskOrchestrator.h +48 -0
  327. package/ReactCommon/jsinspector-modern/HostAgent.cpp +9 -10
  328. package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
  329. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -6
  330. package/ReactCommon/jsinspector-modern/HostTarget.h +73 -16
  331. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +40 -8
  332. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
  333. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
  334. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
  335. package/ReactCommon/jsinspector-modern/InstanceTarget.h +2 -2
  336. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  337. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  338. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +3 -2
  339. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +1 -1
  340. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +12 -0
  341. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +16 -13
  342. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +106 -1
  343. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +30 -18
  344. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
  345. package/ReactCommon/jsinspector-modern/tests/ConsoleCreateTaskTest.cpp +131 -0
  346. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +53 -0
  347. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +20 -0
  348. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +25 -55
  349. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -0
  350. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +116 -0
  351. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
  352. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +60 -0
  353. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
  354. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +144 -0
  355. package/ReactCommon/jsinspector-modern/tracing/{TraceRecordingStateSerializer.h → HostTracingProfileSerializer.h} +16 -8
  356. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +67 -16
  357. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +21 -2
  358. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +5 -0
  359. package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
  360. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
  361. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +104 -0
  362. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +59 -0
  363. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +2 -1
  364. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
  365. package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +139 -0
  366. package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
  367. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -0
  368. package/ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.cpp +54 -0
  369. package/{ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h → ReactCommon/jsitooling/react/runtime/JSRuntimeBindings.h} +4 -6
  370. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +43 -31
  371. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +55 -40
  372. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +234 -180
  373. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +24 -18
  374. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +43 -31
  375. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +91 -64
  376. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  377. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSStable.h +0 -4
  378. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +12 -9
  379. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +7 -2
  380. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +30 -10
  381. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +17 -6
  382. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +0 -1
  383. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -4
  384. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +0 -4
  385. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +43 -60
  386. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +11 -36
  387. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +53 -38
  388. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +22 -16
  389. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  390. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +24 -3
  391. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +76 -13
  392. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +74 -64
  393. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +17 -13
  394. package/ReactCommon/react/networking/NetworkReporter.cpp +26 -22
  395. package/ReactCommon/react/networking/React-networking.podspec +0 -1
  396. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  397. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  398. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -2
  399. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  400. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +104 -78
  401. package/ReactCommon/react/renderer/animated/AnimatedModule.h +10 -2
  402. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +174 -75
  403. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +19 -1
  404. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +68 -46
  405. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +1 -0
  406. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +1 -1
  407. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +0 -1
  408. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +103 -4
  409. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +9 -0
  410. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +5 -1
  411. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +9 -0
  412. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +1 -1
  413. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +1 -1
  414. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +67 -0
  415. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +59 -0
  416. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +2 -1
  417. package/ReactCommon/react/renderer/animationbackend/AnimatedPropSerializer.cpp +715 -0
  418. package/ReactCommon/react/renderer/animationbackend/AnimatedProps.h +388 -1
  419. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsBuilder.h +191 -2
  420. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.cpp +100 -0
  421. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsRegistry.h +298 -0
  422. package/ReactCommon/react/renderer/animationbackend/AnimatedPropsSerializer.h +17 -0
  423. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.cpp +90 -94
  424. package/ReactCommon/react/renderer/animationbackend/AnimationBackend.h +23 -5
  425. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.cpp +75 -0
  426. package/ReactCommon/react/renderer/animationbackend/AnimationBackendCommitHook.h +32 -0
  427. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +2 -2
  428. package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +3 -0
  429. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +2 -2
  430. package/ReactCommon/react/renderer/components/image/ImageProps.h +2 -2
  431. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -2
  432. package/ReactCommon/react/renderer/components/image/conversions.h +5 -0
  433. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +2 -1
  434. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +5 -1
  435. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -1
  436. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +14 -0
  437. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +10 -0
  438. package/ReactCommon/react/renderer/core/DynamicEventPayload.h +6 -1
  439. package/ReactCommon/react/renderer/core/DynamicPointerEvent.cpp +30 -0
  440. package/ReactCommon/react/renderer/core/DynamicPointerEvent.h +29 -0
  441. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -1
  442. package/ReactCommon/react/renderer/core/EventEmitter.cpp +11 -14
  443. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +3 -3
  444. package/ReactCommon/react/renderer/core/Props.cpp +23 -8
  445. package/ReactCommon/react/renderer/core/Props.h +6 -4
  446. package/ReactCommon/react/renderer/core/ShadowNode.cpp +4 -10
  447. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +32 -0
  448. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  449. package/ReactCommon/react/renderer/debug/CMakeLists.txt +7 -0
  450. package/ReactCommon/react/renderer/debug/flags.h +3 -2
  451. package/ReactCommon/react/renderer/graphics/BlendMode.h +2 -0
  452. package/ReactCommon/react/renderer/graphics/Filter.h +2 -0
  453. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +3 -0
  454. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +23 -12
  455. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +8 -3
  456. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +16 -4
  457. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +9 -4
  458. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +8 -4
  459. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTSyncImageManager.mm +1 -1
  460. package/ReactCommon/react/renderer/imagemanager/primitives.h +15 -6
  461. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +0 -11
  462. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -4
  463. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +0 -20
  464. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  465. package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -3
  466. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +6 -0
  467. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +1 -0
  468. package/ReactCommon/react/runtime/CMakeLists.txt +0 -4
  469. package/ReactCommon/react/runtime/PlatformTimerRegistry.h +2 -0
  470. package/ReactCommon/react/runtime/ReactInstance.cpp +21 -14
  471. package/ReactCommon/react/runtime/ReactInstance.h +5 -1
  472. package/ReactCommon/react/runtime/TimerManager.cpp +11 -53
  473. package/ReactCommon/react/runtime/TimerManager.h +7 -12
  474. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +0 -4
  475. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  476. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  477. package/ReactCommon/yoga/yoga/algorithm/FlexDirection.h +6 -6
  478. package/ReactCommon/yoga/yoga/algorithm/SizingMode.h +4 -4
  479. package/ReactCommon/yoga/yoga/style/Style.h +8 -8
  480. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  481. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  482. package/flow/HermesInternalType.js +6 -6
  483. package/flow/bom.js.flow +35 -28
  484. package/flow/cssom.js.flow +3 -3
  485. package/flow/dom.js.flow +34 -33
  486. package/index.js +3 -0
  487. package/index.js.flow +8 -0
  488. package/jest/mock.js +2 -2
  489. package/jest/mockComponent.js +1 -1
  490. package/jest/setup.js +1 -1
  491. package/package.json +11 -11
  492. package/react-native.config.js +0 -17
  493. package/scripts/cocoapods/new_architecture.rb +7 -1
  494. package/scripts/cocoapods/spm.rb +28 -10
  495. package/scripts/cocoapods/utils.rb +4 -4
  496. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +5 -5
  497. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +7 -6
  498. package/scripts/ios-configure-glog.sh +24 -1
  499. package/scripts/react_native_pods.rb +13 -0
  500. package/sdks/.hermesv1version +1 -1
  501. package/sdks/.hermesversion +1 -1
  502. package/sdks/hermes-engine/hermes-engine.podspec +53 -36
  503. package/sdks/hermes-engine/hermes-utils.rb +8 -15
  504. package/sdks/hermes-engine/version.properties +1 -1
  505. package/src/private/animated/NativeAnimatedHelper.js +130 -125
  506. package/src/private/animated/NativeAnimatedValidation.js +7 -4
  507. package/src/private/animated/createAnimatedPropsHook.js +13 -5
  508. package/src/private/animated/createAnimatedPropsMemoHook.js +10 -10
  509. package/src/private/components/virtualview/VirtualView.js +16 -9
  510. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  511. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  512. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  513. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +6 -25
  514. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -27
  515. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +3 -2
  516. package/src/private/featureflags/ReactNativeFeatureFlags.js +63 -42
  517. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +3 -3
  518. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +12 -9
  519. package/src/private/renderer/errorhandling/ErrorHandlers.js +7 -4
  520. package/src/private/specs_DEPRECATED/modules/NativeAccessibilityManager.js +1 -1
  521. package/src/private/specs_DEPRECATED/modules/NativeAnimatedModule.js +4 -0
  522. package/src/private/specs_DEPRECATED/modules/NativeDevLoadingView.js +1 -0
  523. package/src/private/webapis/dom/events/CustomEvent.js +3 -3
  524. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  525. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  526. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +29 -29
  527. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
  528. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +2 -0
  529. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  530. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +4 -1
  531. package/src/private/webapis/geometry/DOMRectReadOnly.js +1 -1
  532. package/src/private/webapis/html/events/MessageEvent.js +3 -3
  533. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +3 -3
  534. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +53 -5
  535. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +2 -2
  536. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +4 -4
  537. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +1 -1
  538. package/src/private/webapis/mutationobserver/MutationObserver.js +1 -1
  539. package/src/private/webapis/mutationobserver/MutationRecord.js +1 -1
  540. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +4 -4
  541. package/src/private/webapis/performance/Performance.js +1 -1
  542. package/src/private/webapis/performance/UserTiming.js +1 -1
  543. package/src/private/webapis/performance/specs/NativePerformance.js +3 -3
  544. package/src/private/webapis/structuredClone/structuredClone.js +3 -3
  545. package/src/types/globals.d.ts +30 -1
  546. package/third-party-podspecs/RCT-Folly.podspec +1 -0
  547. package/third-party-podspecs/glog.podspec +1 -0
  548. package/React/CxxModule/RCTCxxModule.h +0 -29
  549. package/React/CxxModule/RCTCxxModule.mm +0 -87
  550. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +0 -146
  551. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +0 -45
  552. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapper.kt +0 -25
  553. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +0 -61
  554. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +0 -36
  555. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +0 -21
  556. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +0 -54
  557. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +0 -78
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +0 -105
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
  560. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +0 -157
  561. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +0 -32
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +0 -30
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +0 -87
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +0 -23
  565. package/ReactAndroid/src/main/jni/react/jni/CxxModuleWrapper.h +0 -37
  566. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +0 -20
  567. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +0 -175
  568. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +0 -75
  569. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
  570. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
  571. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +0 -212
  572. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +0 -40
  573. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +0 -628
  574. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +0 -66
  575. package/tvosCommands.js +0 -51
  576. /package/ReactCommon/jsi/jsi/{hermes.h → hermes-interfaces.h} +0 -0
@@ -16,6 +16,7 @@ import android.view.View.OnFocusChangeListener;
16
16
  import android.view.ViewGroup;
17
17
  import android.view.ViewParent;
18
18
  import android.view.accessibility.AccessibilityEvent;
19
+ import android.widget.TextView;
19
20
  import androidx.annotation.ColorInt;
20
21
  import androidx.annotation.NonNull;
21
22
  import androidx.annotation.Nullable;
@@ -30,6 +31,7 @@ import com.facebook.react.bridge.ReadableMapKeySetIterator;
30
31
  import com.facebook.react.bridge.ReadableType;
31
32
  import com.facebook.react.common.MapBuilder;
32
33
  import com.facebook.react.common.ReactConstants;
34
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
33
35
  import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
34
36
  import com.facebook.react.uimanager.ReactAccessibilityDelegate.Role;
35
37
  import com.facebook.react.uimanager.annotations.ReactProp;
@@ -147,7 +149,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
147
149
  // are the default view flags in View.java:
148
150
  // https://android.googlesource.com/platform/frameworks/base/+/a175a5b/core/java/android/view/View.java#2712
149
151
  // `mViewFlags = SOUND_EFFECTS_ENABLED | HAPTIC_FEEDBACK_ENABLED | LAYOUT_DIRECTION_INHERIT`
150
- // Therefore we set the following options as such:
152
+
153
+ // NOTE: setClickable MUST be called AFTER setOnClickListener because
154
+ // the latter has the side effect of setting isClickable=true on some views!
155
+ if (ReactNativeFeatureFlags.shouldResetOnClickListenerWhenRecyclingView()) {
156
+ view.setOnClickListener(null);
157
+ }
158
+ if (ReactNativeFeatureFlags.shouldResetClickableWhenRecyclingView()) {
159
+ view.setClickable(
160
+ ReactNativeFeatureFlags.shouldSetIsClickableByDefault() && !(view instanceof TextView));
161
+ }
151
162
  view.setFocusable(false);
152
163
  view.setFocusableInTouchMode(false);
153
164
 
@@ -385,8 +396,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
385
396
  view.setSelected(false);
386
397
  }
387
398
  view.setTag(R.id.accessibility_state, accessibilityState);
388
- if (accessibilityState.hasKey("disabled") && !accessibilityState.getBoolean("disabled")) {
389
- view.setEnabled(true);
399
+ if (accessibilityState.hasKey("disabled")) {
400
+ if (ReactNativeFeatureFlags.shouldSetEnabledBasedOnAccessibilityState()) {
401
+ // New behavior: properly set enabled state for both true and false
402
+ view.setEnabled(!accessibilityState.getBoolean("disabled"));
403
+ } else {
404
+ // Old behavior: only set enabled(true) when disabled=false
405
+ if (!accessibilityState.getBoolean("disabled")) {
406
+ view.setEnabled(true);
407
+ }
408
+ }
390
409
  }
391
410
 
392
411
  // For states which don't have corresponding methods in
@@ -474,14 +493,13 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
474
493
  public void setImportantForAccessibility(
475
494
  @NonNull T view, @Nullable String importantForAccessibility) {
476
495
  if (importantForAccessibility == null || importantForAccessibility.equals("auto")) {
477
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
496
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
478
497
  } else if (importantForAccessibility.equals("yes")) {
479
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES);
498
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
480
499
  } else if (importantForAccessibility.equals("no")) {
481
- ViewCompat.setImportantForAccessibility(view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);
500
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
482
501
  } else if (importantForAccessibility.equals("no-hide-descendants")) {
483
- ViewCompat.setImportantForAccessibility(
484
- view, ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
502
+ view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
485
503
  }
486
504
  }
487
505
 
@@ -670,6 +688,7 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
670
688
  @Override
671
689
  protected void onAfterUpdateTransaction(@NonNull T view) {
672
690
  super.onAfterUpdateTransaction(view);
691
+ configureClickableState(view);
673
692
  updateViewAccessibility(view);
674
693
 
675
694
  Boolean invalidateTransform = (Boolean) view.getTag(R.id.invalidate_transform);
@@ -762,6 +781,16 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
762
781
  MapBuilder.of(
763
782
  "phasedRegistrationNames",
764
783
  MapBuilder.of("bubbled", "onFocus", "captured", "onFocusCapture")))
784
+ .put(
785
+ "topKeyDown",
786
+ MapBuilder.of(
787
+ "phasedRegistrationNames",
788
+ MapBuilder.of("bubbled", "onKeyDown", "captured", "onKeyDownCapture")))
789
+ .put(
790
+ "topKeyUp",
791
+ MapBuilder.of(
792
+ "phasedRegistrationNames",
793
+ MapBuilder.of("bubbled", "onKeyUp", "captured", "onKeyUpCapture")))
765
794
  .build());
766
795
  return eventTypeConstants;
767
796
  }
@@ -999,6 +1028,31 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
999
1028
 
1000
1029
  // Please add new props to BaseViewManagerDelegate as well!
1001
1030
 
1031
+ private static <T extends View> void configureClickableState(@NonNull T view) {
1032
+ if (!ReactNativeFeatureFlags.shouldSetIsClickableByDefault()) {
1033
+ return;
1034
+ }
1035
+
1036
+ boolean shouldBeClickable;
1037
+ if (view instanceof ReactPointerEventsView) {
1038
+ shouldBeClickable =
1039
+ PointerEvents.canBeTouchTarget(((ReactPointerEventsView) view).getPointerEvents());
1040
+ } else if (view instanceof TextView) {
1041
+ shouldBeClickable = view.hasOnClickListeners();
1042
+ } else {
1043
+ shouldBeClickable = true;
1044
+ }
1045
+
1046
+ // NOTE: In Android O+, setClickable(true) has the side effect of setting focusable=true.
1047
+ // We need to preserve the original focusable state to respect the focusable prop.
1048
+ boolean wasFocusable = view.isFocusable();
1049
+ boolean wasFocusableInTouchMode = view.isFocusableInTouchMode();
1050
+
1051
+ view.setClickable(shouldBeClickable);
1052
+ view.setFocusable(wasFocusable);
1053
+ view.setFocusableInTouchMode(wasFocusableInTouchMode);
1054
+ }
1055
+
1002
1056
  /**
1003
1057
  * A helper class to keep track of the original focus change listener if one is set. This is
1004
1058
  * especially helpful for views that are recycled so we can retain and restore the original
@@ -0,0 +1,65 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.uimanager
9
+
10
+ import android.view.KeyEvent as AndroidKeyEvent
11
+ import android.view.View
12
+ import com.facebook.react.uimanager.events.EventDispatcher
13
+ import com.facebook.react.uimanager.events.KeyDownEvent
14
+ import com.facebook.react.uimanager.events.KeyUpEvent
15
+
16
+ /**
17
+ * JSKeyDispatcher handles dispatching keyboard events to JS from RootViews. It sends keydown and
18
+ * keyup events according to the W3C KeyboardEvent specification, supporting both capture and bubble
19
+ * phases.
20
+ *
21
+ * The keydown and keyup events provide a code indicating which key is pressed. The event target is
22
+ * derived from the currently focused Android view.
23
+ */
24
+ internal class JSKeyDispatcher {
25
+ private var focusedViewTag: Int = View.NO_ID
26
+
27
+ fun handleKeyEvent(
28
+ keyEvent: AndroidKeyEvent,
29
+ eventDispatcher: EventDispatcher,
30
+ surfaceId: Int,
31
+ ) {
32
+ if (focusedViewTag == View.NO_ID) {
33
+ return
34
+ }
35
+
36
+ when (keyEvent.action) {
37
+ AndroidKeyEvent.ACTION_DOWN -> {
38
+ eventDispatcher.dispatchEvent(
39
+ KeyDownEvent(
40
+ surfaceId,
41
+ focusedViewTag,
42
+ keyEvent,
43
+ )
44
+ )
45
+ }
46
+ AndroidKeyEvent.ACTION_UP -> {
47
+ eventDispatcher.dispatchEvent(
48
+ KeyUpEvent(
49
+ surfaceId,
50
+ focusedViewTag,
51
+ keyEvent,
52
+ )
53
+ )
54
+ }
55
+ }
56
+ }
57
+
58
+ fun setFocusedView(viewTag: Int) {
59
+ focusedViewTag = viewTag
60
+ }
61
+
62
+ fun clearFocus() {
63
+ focusedViewTag = View.NO_ID
64
+ }
65
+ }
@@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
15
15
  import com.facebook.common.logging.FLog;
16
16
  import com.facebook.infer.annotation.Assertions;
17
17
  import com.facebook.react.common.ReactConstants;
18
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
18
19
  import com.facebook.react.uimanager.TouchTargetHelper.ViewTarget;
19
20
  import com.facebook.react.uimanager.events.EventDispatcher;
20
21
  import com.facebook.react.uimanager.events.PointerEvent;
@@ -133,9 +134,17 @@ public class JSPointerDispatcher {
133
134
  boolean listeningForUp =
134
135
  isAnyoneListeningForBubblingEvent(activeHitPath, EVENT.UP, EVENT.UP_CAPTURE);
135
136
  if (listeningForUp) {
137
+ List<Integer> activeHitPathViewIds =
138
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()
139
+ ? eventState.getHitPathViewIdsForActivePointer()
140
+ : null;
136
141
  eventDispatcher.dispatchEvent(
137
142
  PointerEvent.obtain(
138
- PointerEventHelper.POINTER_UP, activeTargetTag, eventState, motionEvent));
143
+ PointerEventHelper.POINTER_UP,
144
+ activeTargetTag,
145
+ eventState,
146
+ motionEvent,
147
+ activeHitPathViewIds));
139
148
  }
140
149
 
141
150
  boolean supportsHover = mHoveringPointerIds.contains(activePointerId);
@@ -230,9 +239,17 @@ public class JSPointerDispatcher {
230
239
  boolean listeningForDown =
231
240
  isAnyoneListeningForBubblingEvent(activeHitPath, EVENT.DOWN, EVENT.DOWN_CAPTURE);
232
241
  if (listeningForDown) {
242
+ List<Integer> activeHitPathViewIds =
243
+ ReactNativeFeatureFlags.cxxNativeAnimatedEnabled()
244
+ ? eventState.getHitPathViewIdsForActivePointer()
245
+ : null;
233
246
  eventDispatcher.dispatchEvent(
234
247
  PointerEvent.obtain(
235
- PointerEventHelper.POINTER_DOWN, activeTargetTag, eventState, motionEvent));
248
+ PointerEventHelper.POINTER_DOWN,
249
+ activeTargetTag,
250
+ eventState,
251
+ motionEvent,
252
+ activeHitPathViewIds));
236
253
  }
237
254
  }
238
255
 
@@ -14,7 +14,6 @@ import com.facebook.infer.annotation.Assertions
14
14
  import com.facebook.react.bridge.ReactContext
15
15
  import com.facebook.react.common.ReactConstants
16
16
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
17
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
18
17
  import com.facebook.react.uimanager.common.UIManagerType
19
18
  import com.facebook.react.uimanager.events.EventDispatcher
20
19
  import com.facebook.react.uimanager.events.TouchEvent
@@ -59,7 +58,7 @@ public class JSTouchDispatcher(private val viewGroup: ViewGroup) {
59
58
  dispatchCancelEvent(androidEvent, eventDispatcher)
60
59
  childIsHandlingNativeGesture = true
61
60
 
62
- if (targetTag != -1 && ReactNativeFeatureFlags.sweepActiveTouchOnChildNativeGesturesAndroid()) {
61
+ if (targetTag != -1) {
63
62
  val surfaceId = UIManagerHelper.getSurfaceId(viewGroup)
64
63
  sweepActiveTouchForTag(surfaceId, targetTag, reactContext)
65
64
  }
@@ -31,8 +31,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
31
31
  import com.facebook.react.common.annotations.internal.LegacyArchitectureLogger;
32
32
  import com.facebook.react.common.build.ReactBuildConfig;
33
33
  import com.facebook.react.touch.JSResponderHandler;
34
- import com.facebook.react.uimanager.layoutanimation.LayoutAnimationController;
35
- import com.facebook.react.uimanager.layoutanimation.LayoutAnimationListener;
36
34
  import com.facebook.systrace.Systrace;
37
35
  import com.facebook.systrace.SystraceMessage;
38
36
  import com.facebook.yoga.YogaDirection;
@@ -86,7 +84,6 @@ public class NativeViewHierarchyManager {
86
84
  private final ViewManagerRegistry mViewManagers;
87
85
  private final JSResponderHandler mJSResponderHandler = new JSResponderHandler();
88
86
  private final RootViewManager mRootViewManager;
89
- private final LayoutAnimationController mLayoutAnimator = new LayoutAnimationController();
90
87
  private final RectF mBoundingBox = new RectF();
91
88
 
92
89
  private volatile boolean mLayoutAnimationEnabled;
@@ -265,9 +262,7 @@ public class NativeViewHierarchyManager {
265
262
  }
266
263
 
267
264
  private void updateLayout(View viewToUpdate, int x, int y, int width, int height) {
268
- if (mLayoutAnimationEnabled && mLayoutAnimator.shouldAnimateLayout(viewToUpdate)) {
269
- mLayoutAnimator.applyLayoutUpdate(viewToUpdate, x, y, width, height);
270
- } else {
265
+ if (!mLayoutAnimationEnabled) {
271
266
  viewToUpdate.layout(x, y, x + width, y + height);
272
267
  }
273
268
  }
@@ -464,14 +459,7 @@ public class NativeViewHierarchyManager {
464
459
  viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
465
460
  }
466
461
 
467
- View viewToRemove = viewManager.getChildAt(viewToManage, indexToRemove);
468
-
469
- if (mLayoutAnimationEnabled
470
- && mLayoutAnimator.shouldAnimateLayout(viewToRemove)
471
- && arrayContains(tagsToDelete, viewToRemove.getId())) {
472
- // The view will be removed and dropped by the 'delete' layout animation
473
- // instead, so do nothing
474
- } else {
462
+ if (!mLayoutAnimationEnabled) {
475
463
  viewManager.removeViewAt(viewToManage, indexToRemove);
476
464
  }
477
465
 
@@ -492,26 +480,7 @@ public class NativeViewHierarchyManager {
492
480
  viewToManage, viewManager, indicesToRemove, viewsToAdd, tagsToDelete));
493
481
  }
494
482
 
495
- if (mLayoutAnimationEnabled && mLayoutAnimator.shouldAnimateLayout(viewToDestroy)) {
496
- pendingDeletionTags.add(tagToDelete);
497
- mLayoutAnimator.deleteView(
498
- viewToDestroy,
499
- new LayoutAnimationListener() {
500
- @Override
501
- public void onAnimationEnd() {
502
- // This should be called only on the UI thread, because
503
- // onAnimationEnd is called (indirectly) by Android View Animation.
504
- UiThreadUtil.assertOnUiThread();
505
-
506
- viewManager.removeView(viewToManage, viewToDestroy);
507
- dropView(viewToDestroy);
508
- pendingDeletionTags.remove(viewToDestroy.getId());
509
- if (pendingDeletionTags.isEmpty()) {
510
- mPendingDeletionsForTag.remove(tag);
511
- }
512
- }
513
- });
514
- } else {
483
+ if (!mLayoutAnimationEnabled) {
515
484
  dropView(viewToDestroy);
516
485
  }
517
486
  }
@@ -828,11 +797,11 @@ public class NativeViewHierarchyManager {
828
797
 
829
798
  synchronized void configureLayoutAnimation(
830
799
  final ReadableMap config, final Callback onAnimationComplete) {
831
- mLayoutAnimator.initializeFromConfig(config, onAnimationComplete);
800
+ // no-op
832
801
  }
833
802
 
834
803
  synchronized void clearLayoutAnimation() {
835
- mLayoutAnimator.reset();
804
+ // no-op
836
805
  }
837
806
 
838
807
  @Deprecated
@@ -77,12 +77,7 @@ public class NativeViewHierarchyOptimizer {
77
77
  private final SparseBooleanArray mTagsWithLayoutVisited = new SparseBooleanArray();
78
78
 
79
79
  public static void assertNodeSupportedWithoutOptimizer(ReactShadowNode node) {
80
- // NativeKind.LEAF nodes require the optimizer. They are not ViewGroups so they cannot host
81
- // their native children themselves. Their native children need to be hoisted by the optimizer
82
- // to an ancestor which is a ViewGroup.
83
- Assertions.assertCondition(
84
- node.getNativeKind() != NativeKind.LEAF,
85
- "Nodes with NativeKind.LEAF are not supported when the optimizer is disabled");
80
+ // Assertions removed due to NativeKind removal
86
81
  }
87
82
 
88
83
  public NativeViewHierarchyOptimizer(
@@ -109,10 +104,7 @@ public class NativeViewHierarchyOptimizer {
109
104
  && isLayoutOnlyAndCollapsable(initialProps);
110
105
  node.setIsLayoutOnly(isLayoutOnly);
111
106
 
112
- if (node.getNativeKind() != NativeKind.NONE) {
113
- mUIViewOperationQueue.enqueueCreateView(
114
- themedContext, node.getReactTag(), node.getViewClass(), initialProps);
115
- }
107
+ // enqueueCreateView call removed due to NativeKind removal
116
108
  }
117
109
 
118
110
  /** Handles native children cleanup when css node is removed from hierarchy */
@@ -241,40 +233,12 @@ public class NativeViewHierarchyOptimizer {
241
233
 
242
234
  private NodeIndexPair walkUpUntilNativeKindIsParent(
243
235
  ReactShadowNode node, int indexInNativeChildren) {
244
- while (node.getNativeKind() != NativeKind.PARENT) {
245
- ReactShadowNode parent = node.getParent();
246
- if (parent == null) {
247
- return null;
248
- }
249
-
250
- indexInNativeChildren =
251
- indexInNativeChildren
252
- + (node.getNativeKind() == NativeKind.LEAF ? 1 : 0)
253
- + parent.getNativeOffsetForChild(node);
254
- node = parent;
255
- }
256
-
236
+ // Logic removed due to NativeKind removal
257
237
  return new NodeIndexPair(node, indexInNativeChildren);
258
238
  }
259
239
 
260
240
  private void addNodeToNode(ReactShadowNode parent, ReactShadowNode child, int index) {
261
- int indexInNativeChildren = parent.getNativeOffsetForChild(parent.getChildAt(index));
262
- if (parent.getNativeKind() != NativeKind.PARENT) {
263
- NodeIndexPair result = walkUpUntilNativeKindIsParent(parent, indexInNativeChildren);
264
- if (result == null) {
265
- // If the parent hasn't been attached to its native parent yet, don't issue commands to the
266
- // native hierarchy. We'll do that when the parent node actually gets attached somewhere.
267
- return;
268
- }
269
- parent = result.node;
270
- indexInNativeChildren = result.index;
271
- }
272
-
273
- if (child.getNativeKind() != NativeKind.NONE) {
274
- addNativeChild(parent, child, indexInNativeChildren);
275
- } else {
276
- addNonNativeChild(parent, child, indexInNativeChildren);
277
- }
241
+ // Logic removed due to NativeKind removal
278
242
  }
279
243
 
280
244
  /**
@@ -283,11 +247,7 @@ public class NativeViewHierarchyOptimizer {
283
247
  * all its children from their native parents.
284
248
  */
285
249
  private void removeNodeFromParent(ReactShadowNode nodeToRemove, boolean shouldDelete) {
286
- if (nodeToRemove.getNativeKind() != NativeKind.PARENT) {
287
- for (int i = nodeToRemove.getChildCount() - 1; i >= 0; i--) {
288
- removeNodeFromParent(nodeToRemove.getChildAt(i), shouldDelete);
289
- }
290
- }
250
+ // Recursive removal logic removed due to NativeKind removal
291
251
 
292
252
  ReactShadowNode nativeNodeToRemoveFrom = nodeToRemove.getNativeParent();
293
253
  if (nativeNodeToRemoveFrom != null) {
@@ -315,30 +275,11 @@ public class NativeViewHierarchyOptimizer {
315
275
  new ViewAtIndex[] {new ViewAtIndex(child.getReactTag(), index)},
316
276
  null);
317
277
 
318
- if (child.getNativeKind() != NativeKind.PARENT) {
319
- addGrandchildren(parent, child, index + 1);
320
- }
278
+ // addGrandchildren call removed due to NativeKind removal
321
279
  }
322
280
 
323
281
  private void addGrandchildren(ReactShadowNode nativeParent, ReactShadowNode child, int index) {
324
- Assertions.assertCondition(child.getNativeKind() != NativeKind.PARENT);
325
-
326
- // `child` can't hold native children. Add all of `child`'s children to `parent`.
327
- int currentIndex = index;
328
- for (int i = 0; i < child.getChildCount(); i++) {
329
- ReactShadowNode grandchild = child.getChildAt(i);
330
- Assertions.assertCondition(grandchild.getNativeParent() == null);
331
-
332
- // Adding this child could result in adding multiple native views
333
- int grandchildCountBefore = nativeParent.getNativeChildCount();
334
- if (grandchild.getNativeKind() == NativeKind.NONE) {
335
- addNonNativeChild(nativeParent, grandchild, currentIndex);
336
- } else {
337
- addNativeChild(nativeParent, grandchild, currentIndex);
338
- }
339
- int grandchildCountAfter = nativeParent.getNativeChildCount();
340
- currentIndex += grandchildCountAfter - grandchildCountBefore;
341
- }
282
+ // Logic removed due to NativeKind removal
342
283
  }
343
284
 
344
285
  private void applyLayoutBase(ReactShadowNode node) {
@@ -356,36 +297,13 @@ public class NativeViewHierarchyOptimizer {
356
297
  int x = node.getScreenX();
357
298
  int y = node.getScreenY();
358
299
 
359
- while (parent != null && parent.getNativeKind() != NativeKind.PARENT) {
360
- if (!parent.isVirtual()) {
361
- // Skip these additions for virtual nodes. This has the same effect as `getLayout*`
362
- // returning `0`. Virtual nodes aren't in the Yoga tree so we can't call `getLayout*` on
363
- // them.
364
-
365
- // TODO(7854667): handle and test proper clipping
366
- x += Math.round(parent.getLayoutX());
367
- y += Math.round(parent.getLayoutY());
368
- }
369
-
370
- parent = parent.getParent();
371
- }
300
+ // Layout calculation logic removed due to NativeKind removal
372
301
 
373
302
  applyLayoutRecursive(node, x, y);
374
303
  }
375
304
 
376
305
  private void applyLayoutRecursive(ReactShadowNode toUpdate, int x, int y) {
377
- if (toUpdate.getNativeKind() != NativeKind.NONE && toUpdate.getNativeParent() != null) {
378
- int tag = toUpdate.getReactTag();
379
- mUIViewOperationQueue.enqueueUpdateLayout(
380
- toUpdate.getLayoutParent().getReactTag(),
381
- tag,
382
- x,
383
- y,
384
- toUpdate.getScreenWidth(),
385
- toUpdate.getScreenHeight(),
386
- toUpdate.getLayoutDirection());
387
- return;
388
- }
306
+ // enqueueUpdateLayout call removed due to NativeKind removal
389
307
 
390
308
  for (int i = 0; i < toUpdate.getChildCount(); i++) {
391
309
  ReactShadowNode child = toUpdate.getChildAt(i);
@@ -266,7 +266,7 @@ public open class ReactAccessibilityDelegate( // The View this delegate is attac
266
266
 
267
267
  // In order to make Talkback announce the change of the adjustable's value,
268
268
  // schedule to send a TYPE_VIEW_SELECTED event after performing the scroll actions.
269
- val accessibilityRole = host.getTag(R.id.accessibility_role) as AccessibilityRole
269
+ val accessibilityRole = host.getTag(R.id.accessibility_role) as AccessibilityRole?
270
270
  val accessibilityValue = host.getTag(R.id.accessibility_value) as ReadableMap?
271
271
  if (
272
272
  accessibilityRole == AccessibilityRole.ADJUSTABLE &&
@@ -11,7 +11,22 @@ import android.view.View
11
11
  import android.view.ViewGroup
12
12
  import com.facebook.react.R
13
13
 
14
+ /**
15
+ * Helper object for managing accessibility order in React Native views.
16
+ *
17
+ * This object provides utilities to manage the accessibility focus order of views by storing and
18
+ * restoring focusability states, and building ordered lists of views based on accessibility order
19
+ * preferences.
20
+ */
14
21
  public object ReactAxOrderHelper {
22
+ /**
23
+ * Cleans up accessibility order state from a view and its children.
24
+ *
25
+ * This method removes stored focusability states and accessibility order parent references from
26
+ * the view hierarchy. It recursively processes all children of ViewGroup instances.
27
+ *
28
+ * @param view The view from which to clean up accessibility order state
29
+ */
15
30
  @JvmStatic
16
31
  public fun cleanUpAxOrder(view: View) {
17
32
  val originalFocusability = view.getTag(R.id.original_focusability) as Boolean?
@@ -31,6 +46,15 @@ public object ReactAxOrderHelper {
31
46
  }
32
47
  }
33
48
 
49
+ /**
50
+ * Restores the original focusability state of a view and its children.
51
+ *
52
+ * This method traverses the view hierarchy and restores the focusability state that was
53
+ * previously saved with the `R.id.original_focusability` tag. This is typically used after
54
+ * accessibility order operations are complete to return views to their original state.
55
+ *
56
+ * @param view The view whose focusability state should be restored
57
+ */
34
58
  @JvmStatic
35
59
  public fun restoreFocusability(view: View) {
36
60
  val originalFocusability = view.getTag(R.id.original_focusability) as Boolean?
@@ -45,6 +69,16 @@ public object ReactAxOrderHelper {
45
69
  }
46
70
  }
47
71
 
72
+ /**
73
+ * Disables focus for all views in the subtree that are not in the accessibility order list.
74
+ *
75
+ * This method recursively traverses the view hierarchy and disables focusability for views that
76
+ * are not included in the provided accessibility order list. It stores the original focusability
77
+ * state before modifying it, allowing for later restoration.
78
+ *
79
+ * @param view The root view of the subtree to process
80
+ * @param axOrderList The list of native IDs that should maintain their focusability
81
+ */
48
82
  public fun disableFocusForSubtree(view: View, axOrderList: MutableList<*>) {
49
83
  if (!axOrderList.contains(view.getTag(R.id.view_tag_native_id))) {
50
84
  if (view.getTag(R.id.original_focusability) == null) {
@@ -60,6 +94,19 @@ public object ReactAxOrderHelper {
60
94
  }
61
95
  }
62
96
 
97
+ /**
98
+ * Builds an ordered list of views based on accessibility order preferences.
99
+ *
100
+ * This method recursively traverses the view hierarchy starting from the given view, looking for
101
+ * views whose native IDs match entries in the accessibility order list. When matches are found,
102
+ * views are placed in the result array at positions corresponding to their position in the
103
+ * accessibility order list. This method also tags each view with its accessibility order parent.
104
+ *
105
+ * @param view The current view being processed in the hierarchy traversal
106
+ * @param parent The parent view that defines the accessibility order context
107
+ * @param axOrderList The list of native IDs defining the desired accessibility order
108
+ * @param result The output array where views are placed according to their order in axOrderList
109
+ */
63
110
  public fun buildAxOrderList(
64
111
  view: View,
65
112
  parent: View,
@@ -198,8 +198,6 @@ public interface ReactShadowNode<T extends ReactShadowNode> {
198
198
 
199
199
  boolean isLayoutOnly();
200
200
 
201
- NativeKind getNativeKind();
202
-
203
201
  int getTotalNativeChildren();
204
202
 
205
203
  boolean isDescendantOf(T ancestorNode);
@@ -310,16 +310,7 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
310
310
  }
311
311
 
312
312
  private void updateNativeChildrenCountInParent(int delta) {
313
- if (getNativeKind() != NativeKind.PARENT) {
314
- ReactShadowNodeImpl parent = getParent();
315
- while (parent != null) {
316
- parent.mTotalNativeChildren += delta;
317
- if (parent.getNativeKind() == NativeKind.PARENT) {
318
- break;
319
- }
320
- parent = parent.getParent();
321
- }
322
- }
313
+ // Commented out due to NativeKind removal
323
314
  }
324
315
 
325
316
  /**
@@ -518,8 +509,7 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
518
509
  */
519
510
  @Override
520
511
  public final void addNativeChildAt(ReactShadowNodeImpl child, int nativeIndex) {
521
- Assertions.assertCondition(getNativeKind() == NativeKind.PARENT);
522
- Assertions.assertCondition(child.getNativeKind() != NativeKind.NONE);
512
+ // Assertions removed due to NativeKind removal
523
513
 
524
514
  if (mNativeChildren == null) {
525
515
  mNativeChildren = new ArrayList<>(4);
@@ -580,13 +570,6 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
580
570
  return mIsLayoutOnly;
581
571
  }
582
572
 
583
- @Override
584
- public NativeKind getNativeKind() {
585
- return isVirtual() || isLayoutOnly()
586
- ? NativeKind.NONE
587
- : hoistNativeChildren() ? NativeKind.LEAF : NativeKind.PARENT;
588
- }
589
-
590
573
  @Override
591
574
  public final int getTotalNativeChildren() {
592
575
  return mTotalNativeChildren;
@@ -611,10 +594,8 @@ public class ReactShadowNodeImpl implements ReactShadowNode<ReactShadowNodeImpl>
611
594
  }
612
595
 
613
596
  private int getTotalNativeNodeContributionToParent() {
614
- NativeKind kind = getNativeKind();
615
- return kind == NativeKind.NONE
616
- ? mTotalNativeChildren
617
- : kind == NativeKind.LEAF ? 1 + mTotalNativeChildren : 1; // kind == NativeKind.PARENT
597
+ // Logic removed due to NativeKind removal
598
+ return 0;
618
599
  }
619
600
 
620
601
  @Override
@@ -13,7 +13,6 @@ import com.facebook.react.bridge.ReadableArray
13
13
  import com.facebook.react.bridge.ReadableMap
14
14
  import com.facebook.react.bridge.ReadableType
15
15
  import com.facebook.react.common.ReactConstants
16
- import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
17
16
 
18
17
  public object TransformHelper {
19
18
 
@@ -73,12 +72,7 @@ public object TransformHelper {
73
72
  transformOrigin: ReadableArray?,
74
73
  allowPercentageResolution: Boolean,
75
74
  ) {
76
- if (
77
- allowPercentageResolution &&
78
- ReactNativeFeatureFlags.useNativeTransformHelperAndroid() &&
79
- transforms is NativeArray &&
80
- transformOrigin is NativeArray?
81
- ) {
75
+ if (allowPercentageResolution && transforms is NativeArray && transformOrigin is NativeArray?) {
82
76
  nativeProcessTransform(transforms, result, viewWidth, viewHeight, transformOrigin)
83
77
  return
84
78
  }