react-native-tvos 0.81.3-0 → 0.82.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 (1620) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -3
  2. package/Libraries/Alert/RCTAlertManager.android.js +4 -2
  3. package/Libraries/Animated/Animated.d.ts +2 -0
  4. package/Libraries/Animated/AnimatedEvent.js +1 -1
  5. package/Libraries/Animated/AnimatedExports.js.flow +1 -0
  6. package/Libraries/Animated/AnimatedImplementation.js +4 -2
  7. package/Libraries/Animated/AnimatedMock.js +1 -1
  8. package/Libraries/Animated/Easing.js +2 -0
  9. package/Libraries/Animated/NativeAnimatedAllowlist.js +1 -0
  10. package/Libraries/Animated/animations/Animation.js +19 -20
  11. package/Libraries/Animated/animations/TimingAnimation.js +2 -0
  12. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  13. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  14. package/Libraries/Animated/nodes/AnimatedColor.js +9 -9
  15. package/Libraries/Animated/nodes/AnimatedInterpolation.js +4 -4
  16. package/Libraries/Animated/nodes/AnimatedNode.js +14 -7
  17. package/Libraries/Animated/nodes/AnimatedObject.js +7 -7
  18. package/Libraries/Animated/nodes/AnimatedProps.js +32 -32
  19. package/Libraries/Animated/nodes/AnimatedStyle.js +23 -21
  20. package/Libraries/Animated/nodes/AnimatedTransform.js +6 -6
  21. package/Libraries/Animated/nodes/AnimatedValue.js +18 -26
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +5 -2
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.h +10 -7
  24. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +7 -10
  25. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +6 -4
  26. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +5 -6
  27. package/Libraries/AppDelegate/RCTReactNativeFactory.h +12 -4
  28. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +22 -33
  29. package/Libraries/AppDelegate/RCTRootViewFactory.h +3 -2
  30. package/Libraries/AppDelegate/RCTRootViewFactory.mm +50 -65
  31. package/Libraries/AppState/AppState.js +8 -4
  32. package/Libraries/BatchedBridge/BatchedBridge.js +1 -0
  33. package/Libraries/BatchedBridge/MessageQueue.js +5 -0
  34. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  35. package/Libraries/Blob/BlobManager.js +1 -1
  36. package/Libraries/Blob/URLSearchParams.js +2 -0
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  38. package/Libraries/Components/Button.js +1 -2
  39. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  40. package/Libraries/Components/Pressable/Pressable.js +24 -13
  41. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  42. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  43. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  44. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  45. package/Libraries/Components/Switch/Switch.js +1 -1
  46. package/Libraries/Components/TV/TVParallaxProperties.d.ts +42 -0
  47. package/Libraries/Components/TV/TVViewPropTypes.js +45 -8
  48. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  49. package/Libraries/Components/TextInput/TextInput.js +14 -5
  50. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  51. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  52. package/Libraries/Components/Touchable/TouchableHighlight.js +6 -33
  53. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +6 -51
  54. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -1
  55. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -57
  56. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  57. package/Libraries/Components/View/View.js +92 -166
  58. package/Libraries/Components/View/ViewPropTypes.d.ts +59 -41
  59. package/Libraries/Components/View/ViewPropTypes.js +5 -86
  60. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  61. package/Libraries/Core/ExceptionsManager.js +4 -2
  62. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  63. package/Libraries/Core/ReactNativeVersion.js +37 -10
  64. package/Libraries/Core/Timers/JSTimers.js +4 -1
  65. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  66. package/Libraries/Core/Timers/immediateShim.js +2 -1
  67. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  68. package/Libraries/Core/setUpPerformance.js +3 -4
  69. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  70. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +2 -1
  71. package/Libraries/Image/Image.android.js +327 -111
  72. package/Libraries/Image/Image.ios.js +6 -1
  73. package/Libraries/Image/ImageSourceUtils.js +8 -2
  74. package/Libraries/Image/RCTImageShadowView.h +5 -0
  75. package/Libraries/Image/RCTImageShadowView.mm +4 -0
  76. package/Libraries/Image/RCTImageView.h +5 -0
  77. package/Libraries/Image/RCTImageView.mm +4 -0
  78. package/Libraries/Image/RCTImageViewManager.h +5 -0
  79. package/Libraries/Image/RCTImageViewManager.mm +4 -0
  80. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -3
  81. package/Libraries/Image/resolveAssetSource.js +1 -1
  82. package/Libraries/Interaction/InteractionManager.js +118 -167
  83. package/Libraries/Interaction/PanResponder.js +7 -52
  84. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  85. package/Libraries/Lists/FlatList.js +5 -6
  86. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  87. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  88. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  89. package/Libraries/Modal/Modal.js +3 -3
  90. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +13 -33
  91. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  92. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  93. package/Libraries/Network/RCTNetworking.android.js +1 -1
  94. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  95. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  96. package/Libraries/Network/XMLHttpRequest.js +20 -5
  97. package/Libraries/Network/convertRequestBody.js +1 -1
  98. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  99. package/Libraries/Pressability/HoverState.js +2 -0
  100. package/Libraries/Pressability/Pressability.js +1 -1
  101. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  102. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  104. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  105. package/Libraries/ReactNative/RendererImplementation.js +117 -118
  106. package/Libraries/ReactNative/UIManager.js +3 -3
  107. package/Libraries/ReactNative/renderApplication.js +1 -0
  108. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  109. package/Libraries/Renderer/README.md +1 -1
  110. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  111. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  112. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  113. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  114. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  115. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  116. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  117. package/Libraries/Share/Share.js +4 -0
  118. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  119. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  120. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  121. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  122. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  123. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  124. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  125. package/Libraries/StyleSheet/processFilter.js +5 -5
  126. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  127. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +7 -1
  128. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +4 -0
  129. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +5 -0
  130. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +4 -0
  131. package/Libraries/Text/RCTTextAttributes.h +10 -3
  132. package/Libraries/Text/RCTTextAttributes.mm +4 -0
  133. package/Libraries/Text/RawText/RCTRawTextShadowView.h +5 -0
  134. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +4 -0
  135. package/Libraries/Text/RawText/RCTRawTextViewManager.h +5 -0
  136. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +4 -0
  137. package/Libraries/Text/Text/RCTTextShadowView.h +5 -0
  138. package/Libraries/Text/Text/RCTTextShadowView.mm +4 -0
  139. package/Libraries/Text/Text/RCTTextView.h +5 -0
  140. package/Libraries/Text/Text/RCTTextView.mm +4 -0
  141. package/Libraries/Text/Text/RCTTextViewManager.h +5 -0
  142. package/Libraries/Text/Text/RCTTextViewManager.mm +4 -0
  143. package/Libraries/Text/Text.js +534 -234
  144. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +5 -0
  145. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +4 -0
  146. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +5 -0
  147. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +4 -0
  148. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +5 -0
  149. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +4 -0
  150. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +6 -1
  151. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +4 -0
  152. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +5 -0
  153. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -0
  154. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +5 -0
  155. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +4 -0
  156. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +5 -0
  157. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +4 -0
  158. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +5 -0
  159. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +4 -0
  160. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +5 -0
  161. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +4 -0
  162. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +5 -0
  163. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +4 -0
  164. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +5 -0
  165. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +4 -0
  166. package/Libraries/Text/TextNativeComponent.js +2 -2
  167. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +5 -0
  168. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +4 -0
  169. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +5 -0
  170. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +4 -0
  171. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +5 -0
  172. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +4 -0
  173. package/Libraries/Utilities/Appearance.d.ts +3 -5
  174. package/Libraries/Utilities/Appearance.js +5 -17
  175. package/Libraries/Utilities/HMRClient.js +2 -1
  176. package/Libraries/Utilities/Platform.android.js +3 -3
  177. package/Libraries/Utilities/Platform.d.ts +1 -0
  178. package/Libraries/Utilities/Platform.ios.js +1 -1
  179. package/Libraries/Utilities/PlatformTypes.js +1 -1
  180. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  181. package/Libraries/Utilities/SceneTracker.js +1 -1
  182. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  183. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  184. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  185. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  186. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  187. package/Libraries/Utilities/useMergeRefs.js +1 -1
  188. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  189. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +5 -0
  190. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +4 -0
  191. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +5 -0
  192. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +4 -0
  193. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +5 -0
  194. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -0
  195. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +5 -0
  196. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +4 -0
  197. package/Libraries/Wrapper/RCTWrapper.h +28 -23
  198. package/Libraries/Wrapper/RCTWrapperShadowView.h +5 -0
  199. package/Libraries/Wrapper/RCTWrapperShadowView.m +4 -0
  200. package/Libraries/Wrapper/RCTWrapperView.h +7 -1
  201. package/Libraries/Wrapper/RCTWrapperView.m +4 -0
  202. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +5 -0
  203. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +4 -0
  204. package/Libraries/Wrapper/RCTWrapperViewManager.h +5 -0
  205. package/Libraries/Wrapper/RCTWrapperViewManager.m +4 -0
  206. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  207. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  208. package/README.md +25 -17
  209. package/React/Base/RCTBridge+Private.h +4 -2
  210. package/React/Base/RCTBridge.h +5 -2
  211. package/React/Base/RCTBridge.mm +19 -4
  212. package/React/Base/RCTBridgeDelegate.h +14 -6
  213. package/React/Base/RCTBridgeMethod.h +1 -1
  214. package/React/Base/RCTBridgeProxy.mm +1 -1
  215. package/React/Base/RCTJavaScriptExecutor.h +6 -3
  216. package/React/Base/RCTModuleData.h +29 -15
  217. package/React/Base/RCTRootContentView.h +15 -8
  218. package/React/Base/RCTRootView.h +2 -0
  219. package/React/Base/RCTRootViewInternal.h +1 -1
  220. package/React/Base/RCTUtils.h +0 -1
  221. package/React/Base/RCTUtils.mm +1 -17
  222. package/React/Base/RCTVersion.m +2 -2
  223. package/React/Base/Surface/RCTSurface.h +2 -1
  224. package/React/Base/Surface/RCTSurfaceRootShadowView.h +4 -2
  225. package/React/CoreModules/RCTAlertController.mm +6 -1
  226. package/React/CoreModules/RCTDevMenu.mm +1 -8
  227. package/React/CoreModules/RCTLogBoxView.mm +2 -0
  228. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  229. package/React/CoreModules/React-CoreModules.podspec +1 -1
  230. package/React/CxxBridge/RCTCxxBridge.mm +1 -1
  231. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +1 -0
  232. package/React/CxxBridge/RCTObjcExecutor.h +3 -1
  233. package/React/CxxModule/DispatchMessageQueueThread.h +2 -1
  234. package/React/CxxModule/RCTCxxUtils.h +1 -0
  235. package/React/CxxModule/RCTNativeModule.h +3 -1
  236. package/React/DevSupport/RCTInspectorNetworkHelper.h +3 -3
  237. package/React/DevSupport/RCTInspectorNetworkHelper.mm +1 -1
  238. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +165 -51
  239. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +285 -66
  240. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +25 -0
  241. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +25 -0
  242. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +208 -2
  243. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +81 -2
  244. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +4 -0
  245. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +1 -1
  246. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +31 -25
  247. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +4 -1
  248. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +92 -6
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerProtocol.h +14 -0
  250. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.h +25 -0
  251. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +190 -0
  252. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewProtocol.h +20 -0
  253. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +0 -5
  254. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -1
  255. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +23 -36
  256. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +23 -20
  257. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +25 -0
  258. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +323 -0
  259. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h +18 -0
  260. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h +17 -0
  261. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +4 -4
  262. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +4 -2
  263. package/React/Fabric/Mounting/RCTComponentViewProtocol.h +6 -0
  264. package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -0
  265. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  266. package/React/Fabric/Mounting/RCTMountingManager.mm +2 -2
  267. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +2 -0
  268. package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +5 -0
  269. package/React/Fabric/RCTConversions.h +3 -3
  270. package/React/Fabric/RCTPrimitives.h +1 -1
  271. package/React/Fabric/RCTSurfacePresenter.h +2 -2
  272. package/React/Fabric/RCTSurfacePresenter.mm +12 -10
  273. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  274. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -2
  275. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  276. package/React/Fabric/Utils/RCTGradientUtils.mm +9 -9
  277. package/React/Fabric/Utils/RCTRadialGradient.mm +6 -5
  278. package/React/Modules/RCTUIManager.h +8 -8
  279. package/React/Modules/RCTUIManager.mm +11 -16
  280. package/React/Profiler/RCTProfile.h +45 -28
  281. package/React/React-RCTFabric.podspec +1 -0
  282. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  283. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +4 -2
  284. package/React/Views/RCTActivityIndicatorView.h +5 -0
  285. package/React/Views/RCTActivityIndicatorView.m +4 -0
  286. package/React/Views/RCTActivityIndicatorViewManager.h +5 -0
  287. package/React/Views/RCTActivityIndicatorViewManager.m +4 -0
  288. package/React/Views/RCTDebuggingOverlayManager.h +5 -0
  289. package/React/Views/RCTDebuggingOverlayManager.m +4 -0
  290. package/React/Views/RCTFont.mm +3 -3
  291. package/React/Views/RCTModalHostView.h +6 -1
  292. package/React/Views/RCTModalHostView.m +4 -0
  293. package/React/Views/RCTModalHostViewController.h +5 -0
  294. package/React/Views/RCTModalHostViewController.m +4 -0
  295. package/React/Views/RCTModalHostViewManager.h +8 -2
  296. package/React/Views/RCTModalHostViewManager.m +4 -0
  297. package/React/Views/RCTModalManager.h +6 -1
  298. package/React/Views/RCTModalManager.m +4 -0
  299. package/React/Views/RCTRootShadowView.h +1 -0
  300. package/React/Views/RCTRootShadowView.m +12 -0
  301. package/React/Views/RCTShadowView.m +92 -0
  302. package/React/Views/RCTSwitch.h +6 -1
  303. package/React/Views/RCTSwitch.m +5 -1
  304. package/React/Views/RCTSwitchManager.h +6 -1
  305. package/React/Views/RCTSwitchManager.m +5 -1
  306. package/React/Views/RefreshControl/RCTRefreshControl.h +7 -2
  307. package/React/Views/RefreshControl/RCTRefreshControl.m +9 -3
  308. package/React/Views/RefreshControl/RCTRefreshControlManager.h +6 -1
  309. package/React/Views/RefreshControl/RCTRefreshControlManager.m +5 -1
  310. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +5 -0
  311. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +4 -0
  312. package/React/Views/SafeAreaView/RCTSafeAreaView.h +5 -0
  313. package/React/Views/SafeAreaView/RCTSafeAreaView.m +4 -0
  314. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +5 -0
  315. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +4 -0
  316. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +5 -0
  317. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +4 -0
  318. package/React/Views/ScrollView/RCTScrollContentShadowView.h +5 -0
  319. package/React/Views/ScrollView/RCTScrollContentShadowView.m +4 -0
  320. package/React/Views/ScrollView/RCTScrollContentView.h +5 -0
  321. package/React/Views/ScrollView/RCTScrollContentView.m +4 -0
  322. package/React/Views/ScrollView/RCTScrollContentViewManager.h +5 -0
  323. package/React/Views/ScrollView/RCTScrollContentViewManager.m +4 -0
  324. package/React/Views/ScrollView/RCTScrollView.h +5 -0
  325. package/React/Views/ScrollView/RCTScrollView.m +4 -0
  326. package/React/Views/ScrollView/RCTScrollViewManager.h +6 -0
  327. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -0
  328. package/ReactAndroid/api/ReactAndroid.api +340 -254
  329. package/ReactAndroid/build.gradle.kts +82 -32
  330. package/ReactAndroid/gradle.properties +2 -1
  331. package/ReactAndroid/hermes-engine/build.gradle.kts +40 -20
  332. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +2 -1
  333. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +4 -4
  334. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +8 -5
  335. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +36 -23
  336. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +4 -3
  337. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +7 -3
  338. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +4 -2
  339. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +12 -3
  340. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +19 -28
  342. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +5 -1
  343. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +70 -44
  344. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +19 -11
  345. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  346. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +15 -7
  347. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +18 -5
  348. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +2 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +3 -2
  350. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +16 -10
  351. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +15 -30
  352. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +2 -1
  353. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +1 -1
  354. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +5 -3
  355. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +1 -1
  356. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +2 -1
  357. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  358. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +1 -1
  359. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +3 -2
  360. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +5 -3
  361. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +7 -5
  362. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +17 -11
  363. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +3 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +129 -63
  366. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +75 -52
  367. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +11 -7
  368. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +7 -4
  369. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +3 -2
  370. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +3 -2
  371. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +1 -1
  372. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +3 -2
  373. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +4 -4
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +358 -0
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +3 -2
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +13 -3
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +16 -6
  379. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +8 -4
  381. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -1
  382. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +6 -3
  383. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.kt +2 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +1 -1
  385. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +4 -4
  386. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +1 -1
  387. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +2 -2
  388. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +52 -24
  389. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +4 -3
  390. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +2 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +6 -4
  392. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +10 -3
  393. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +5 -4
  394. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +21 -7
  395. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +6 -0
  396. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +6 -2
  397. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +2 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +1 -1
  399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +2 -8
  400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +2 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +9 -3
  402. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +12 -3
  403. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +8 -13
  404. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.kt +1 -1
  405. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{BridgeSoLoader.kt → ReactNativeJNISoLoader.kt} +3 -7
  406. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -5
  407. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +4 -2
  408. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  409. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +2 -2
  410. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.kt +5 -5
  411. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +4 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.kt +1 -1
  413. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +3 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -1
  415. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.kt +5 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +1 -1
  417. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +14 -36
  418. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadPerfStats.kt +1 -0
  419. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.kt +2 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +2 -2
  421. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.kt +4 -2
  422. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +1 -2
  423. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +3 -3
  424. package/ReactAndroid/src/main/java/com/facebook/react/common/ReleaseLevel.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +2 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +2 -1
  427. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogLevel.kt +1 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +4 -3
  429. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  431. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +1 -1
  432. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +33 -15
  433. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +2 -1
  434. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +5 -165
  435. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  436. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +15 -8
  437. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +7 -3
  438. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +10 -3
  439. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +11 -4
  440. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +43 -19
  441. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +13 -5
  442. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +10 -7
  443. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +8 -4
  444. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +8 -3
  445. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +15 -5
  446. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +5 -3
  447. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +53 -18
  448. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +155 -49
  449. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -2
  450. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +5 -3
  451. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.kt +1 -1
  452. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +5 -2
  453. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  454. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +2 -2
  455. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +11 -6
  456. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt +1 -1
  457. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerfMonitorOverlayViewManager.kt +278 -0
  458. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +2 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +11 -6
  460. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +6 -3
  461. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +5 -5
  462. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +19 -8
  463. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +2 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.kt +1 -1
  465. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName.kt +21 -0
  466. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +8 -2
  467. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager.kt +1 -1
  468. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorOverlayManager.kt +20 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  470. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +19 -0
  471. package/{ReactCommon/react/nativemodule/core/ReactCommon/CallbackWrapper.h → ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingStateProvider.kt} +4 -3
  472. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorDevHelper.kt +20 -0
  473. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorEventDispatcher.kt +12 -0
  474. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTarget.kt +11 -0
  475. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +20 -0
  476. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +24 -0
  477. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +2 -2
  478. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +44 -14
  479. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +9 -4
  480. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +15 -3
  481. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +4 -3
  482. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +1 -1
  483. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +5 -4
  484. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +22 -9
  485. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +25 -20
  486. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +1 -1
  487. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  488. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  489. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +61 -22
  490. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -5
  491. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +9 -3
  492. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +1 -1
  493. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +77 -23
  494. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +131 -41
  495. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +27 -9
  496. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +32 -14
  497. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +145 -46
  498. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -5
  500. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +27 -9
  502. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +10 -9
  503. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +1 -1
  504. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -2
  505. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +68 -47
  506. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +10 -7
  507. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +3 -2
  508. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +10 -6
  509. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +1 -1
  510. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.kt +3 -2
  511. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +6 -4
  512. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +15 -9
  513. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -1
  514. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +8 -9
  515. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +2 -2
  516. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +1 -2
  517. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +4 -2
  519. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +17 -8
  520. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +1 -1
  521. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  522. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactAndroidHWInputDeviceHelper.java +0 -20
  523. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  524. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +2 -2
  525. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +1 -1
  526. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +1 -1
  527. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +12 -5
  528. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +6 -4
  529. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +3 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +3 -1
  531. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +8 -6
  532. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +2 -2
  533. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +4 -3
  534. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +9 -6
  535. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -1
  536. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +8 -4
  537. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +1 -1
  538. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +25 -17
  539. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +2 -2
  540. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +128 -0
  541. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +268 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +221 -115
  543. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +3 -2
  544. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +5 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +3 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +13 -16
  547. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +23 -11
  548. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +2 -1
  549. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  550. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +1 -1
  551. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +6 -5
  552. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +4 -2
  553. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +1 -1
  554. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +2 -1
  555. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +5 -5
  556. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +5 -3
  557. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +14 -7
  558. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +24 -12
  559. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +8 -4
  560. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +184 -104
  561. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +12 -1
  562. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +49 -1
  563. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +54 -26
  564. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +20 -12
  565. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +24 -6
  566. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +12 -8
  567. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +3 -3
  568. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +29 -16
  569. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +1 -1
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +43 -25
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +26 -10
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +39 -4
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +21 -9
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +15 -49
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +56 -15
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -1
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -0
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +15 -6
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.kt +2 -1
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +4 -0
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -0
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +2 -0
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +7 -1
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +13 -4
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +7 -4
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1045 -0
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +32 -50
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +9 -6
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +2 -0
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -1
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.kt +3 -1
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.kt +2 -1
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +11 -2
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +1 -0
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +11 -7
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +15 -9
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +37 -20
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +36 -18
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +3 -1
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +1 -1
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +30 -13
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -15
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +24 -10
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +25 -14
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +10 -2
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +7 -4
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +1 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +14 -18
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +6 -3
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +15 -11
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.kt +2 -1
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +15 -8
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +7 -1
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +5 -2
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +5 -2
  618. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +2 -1
  619. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +2 -1
  620. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +2 -1
  621. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +17 -7
  622. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +66 -40
  623. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +14 -6
  624. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -8
  625. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +9 -3
  626. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +13 -7
  627. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +2 -1
  628. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +3 -2
  629. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -3
  630. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +3 -1
  631. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +4 -2
  632. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +18 -7
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +9 -5
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +19 -10
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +1 -1
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +1 -1
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +2 -2
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +15 -8
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +4 -2
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +8 -6
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +12 -3
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +6 -0
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +15 -4
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +6 -0
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +19 -5
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +6 -0
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +9 -1
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +5 -1
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +9 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +6 -0
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +9 -1
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +11 -2
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +9 -1
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +6 -3
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +6 -3
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +11 -6
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +5 -3
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +1 -1
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +4 -3
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +18 -11
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +6 -6
  663. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +15 -9
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +15 -12
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +3 -2
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +25 -16
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +3 -1
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +2 -1
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +15 -10
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +22 -1
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +20 -5
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +1 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +22 -21
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +31 -13
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.kt +2 -4
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +11 -8
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +2 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +15 -17
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +22 -43
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +2 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +2 -1
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +4 -1
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +14 -5
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +16 -12
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +6 -4
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +7 -5
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +4 -2
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +70 -26
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +47 -21
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +110 -42
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +11 -4
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +11 -8
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +100 -77
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +46 -17
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +6 -3
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +165 -0
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +25 -21
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +1 -1
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +2 -1
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +22 -19
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +11 -4
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +10 -2
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -1
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +28 -15
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +26 -12
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +679 -0
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +4 -3
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +6 -0
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +16 -8
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +59 -39
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +17 -8
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +27 -15
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +24 -10
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +9 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +8 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +565 -0
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.kt +17 -17
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +254 -128
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +12 -5
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +3 -3
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +5 -2
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +2 -0
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +2 -2
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +2 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactFragmentIndexSpan.kt +14 -0
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +48 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +2 -2
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +1 -12
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +68 -30
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +4 -3
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +1 -11
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +3 -1
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +1 -7
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +0 -6
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +95 -38
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +1 -11
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +30 -19
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +1 -7
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +7 -2
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +2 -1
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +2 -1
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +1 -1
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +2 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +12 -3
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +24 -12
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +72 -66
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +40 -26
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewMode.kt +2 -2
  755. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewModeChangeEmitter.kt +19 -0
  756. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewModeChangeEvent.kt +1 -1
  757. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewRenderState.kt +1 -1
  758. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualView.kt +86 -26
  759. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualViewManager.kt +13 -8
  760. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +256 -0
  761. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +110 -0
  762. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  763. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +2 -1
  764. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.kt +35 -0
  765. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaBaselineFunction.java → YogaBaselineFunction.kt} +3 -3
  766. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +33 -0
  767. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaConfigFactory.java → YogaConfigFactory.kt} +3 -5
  768. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.kt +18 -0
  769. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.kt +27 -0
  770. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaLogger.java → YogaLogger.kt} +6 -7
  771. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.kt +19 -0
  772. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.kt +29 -0
  773. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +331 -0
  774. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.kt +14 -0
  775. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.kt +51 -0
  776. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.kt +66 -0
  777. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.kt +19 -0
  778. package/ReactAndroid/src/main/jni/CMakeLists.txt +8 -3
  779. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +1 -1
  780. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +2 -1
  781. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +1 -1
  782. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +2 -1
  783. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +207 -0
  784. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.h +76 -0
  785. package/ReactAndroid/src/main/jni/react/devsupport/OnLoad.cpp +4 -1
  786. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +1 -1
  787. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  788. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +6 -3
  789. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +2 -2
  790. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +8 -8
  791. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +18 -14
  792. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +59 -10
  793. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +1 -1
  794. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -7
  795. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +181 -55
  796. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +39 -12
  797. package/ReactAndroid/src/main/jni/react/featureflags/OnLoad.cpp +1 -1
  798. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +1 -1
  799. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +4 -4
  800. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +1 -1
  801. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/OnLoad.cpp +1 -1
  802. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -1
  803. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +8 -3
  804. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +1 -1
  805. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -2
  806. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +8 -5
  807. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +7 -3
  808. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +2 -2
  809. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +1 -1
  810. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +3 -1
  811. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -1
  812. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +1 -1
  813. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +4 -1
  814. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +3 -1
  815. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +3 -1
  816. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +4 -4
  817. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -3
  818. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +9 -3
  819. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +2 -1
  820. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +8 -5
  821. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +4 -2
  822. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +7 -2
  823. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +8 -3
  824. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +4 -1
  825. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +3 -4
  826. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +1 -1
  827. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +3 -2
  828. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +3 -3
  829. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +2 -2
  830. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +1 -1
  831. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +3 -2
  832. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +2 -2
  833. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +1 -1
  834. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +6 -6
  835. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +1 -1
  836. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  837. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +5 -1
  838. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/OnLoad.cpp +1 -1
  839. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -0
  840. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +84 -13
  841. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +55 -2
  842. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.cpp +3 -1
  843. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +2 -2
  844. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +4 -6
  845. package/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp +1 -1
  846. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +4 -1
  847. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +1 -0
  848. package/ReactCommon/React-Fabric.podspec +1 -0
  849. package/ReactCommon/React-FabricComponents.podspec +6 -0
  850. package/ReactCommon/callinvoker/ReactCommon/tests/TestCallInvoker.h +46 -0
  851. package/ReactCommon/cxxreact/CxxModule.h +2 -2
  852. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -2
  853. package/ReactCommon/cxxreact/CxxNativeModule.h +4 -1
  854. package/ReactCommon/cxxreact/Instance.cpp +13 -9
  855. package/ReactCommon/cxxreact/Instance.h +6 -3
  856. package/ReactCommon/cxxreact/JSBigString.cpp +2 -2
  857. package/ReactCommon/cxxreact/JSExecutor.h +6 -3
  858. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -4
  859. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +5 -3
  860. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -1
  861. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
  862. package/ReactCommon/cxxreact/MethodCall.h +4 -2
  863. package/ReactCommon/cxxreact/ModuleRegistry.cpp +3 -1
  864. package/ReactCommon/cxxreact/ModuleRegistry.h +7 -5
  865. package/ReactCommon/cxxreact/NativeModule.h +4 -2
  866. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +5 -2
  867. package/ReactCommon/cxxreact/NativeToJsBridge.h +7 -6
  868. package/ReactCommon/cxxreact/RAMBundleRegistry.h +2 -1
  869. package/ReactCommon/cxxreact/ReactMarker.h +1 -1
  870. package/ReactCommon/cxxreact/ReactNativeVersion.h +4 -4
  871. package/ReactCommon/cxxreact/TraceSection.h +20 -4
  872. package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +1 -1
  873. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +3 -2
  874. package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
  875. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  876. package/ReactCommon/hermes/executor/CMakeLists.txt +5 -1
  877. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +8 -5
  878. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +6 -2
  879. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +5 -1
  880. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +11 -10
  881. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.h +2 -2
  882. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +4 -2
  883. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +30 -20
  884. package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +2 -2
  885. package/ReactCommon/hermes/inspector-modern/chrome/Registration.h +2 -2
  886. package/ReactCommon/jsi/jsi/decorator.h +50 -0
  887. package/ReactCommon/jsi/jsi/jsi-inl.h +31 -0
  888. package/ReactCommon/jsi/jsi/jsi.cpp +58 -0
  889. package/ReactCommon/jsi/jsi/jsi.h +50 -2
  890. package/ReactCommon/jsi/jsi/test/testlib.cpp +113 -1
  891. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -3
  892. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -1
  893. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -1
  894. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +2 -1
  895. package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -0
  896. package/ReactCommon/jsinspector-modern/ExecutionContext.h +1 -2
  897. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +3 -1
  898. package/ReactCommon/jsinspector-modern/HostAgent.cpp +178 -61
  899. package/ReactCommon/jsinspector-modern/HostAgent.h +26 -1
  900. package/ReactCommon/jsinspector-modern/HostTarget.cpp +88 -12
  901. package/ReactCommon/jsinspector-modern/HostTarget.h +85 -0
  902. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +54 -0
  903. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +86 -0
  904. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +71 -0
  905. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +7 -0
  906. package/ReactCommon/jsinspector-modern/InspectorFlags.h +6 -0
  907. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +16 -16
  908. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +1 -1
  909. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +23 -17
  910. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +9 -8
  911. package/ReactCommon/jsinspector-modern/InspectorUtilities.cpp +8 -0
  912. package/ReactCommon/jsinspector-modern/InspectorUtilities.h +19 -0
  913. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +36 -14
  914. package/ReactCommon/jsinspector-modern/InstanceAgent.h +24 -17
  915. package/ReactCommon/jsinspector-modern/InstanceTarget.cpp +33 -4
  916. package/ReactCommon/jsinspector-modern/InstanceTarget.h +23 -3
  917. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  918. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +91 -0
  919. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +59 -0
  920. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +2 -0
  921. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +37 -54
  922. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +23 -7
  923. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +21 -17
  924. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -11
  925. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +33 -3
  926. package/ReactCommon/jsinspector-modern/SessionState.h +6 -0
  927. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +55 -56
  928. package/ReactCommon/jsinspector-modern/TracingAgent.h +20 -19
  929. package/ReactCommon/jsinspector-modern/Utf8.h +1 -0
  930. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +18 -2
  931. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +4 -4
  932. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +4 -3
  933. package/ReactCommon/jsinspector-modern/tests/ConsoleTimeStampTest.cpp +22 -25
  934. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.cpp +1 -1
  935. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +1 -1
  936. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +24 -2
  937. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +36 -37
  938. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +58 -10
  939. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +2 -2
  940. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -2
  941. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +1 -0
  942. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +0 -2
  943. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +7 -0
  944. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -11
  945. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +347 -242
  946. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +116 -51
  947. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +37 -111
  948. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +254 -122
  949. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +40 -125
  950. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +33 -0
  951. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +12 -4
  952. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +4 -62
  953. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +111 -0
  954. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +93 -0
  955. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +39 -0
  956. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +68 -0
  957. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +42 -0
  958. package/ReactCommon/jsinspector-modern/tracing/TracingMode.h +17 -0
  959. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +24 -0
  960. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +115 -45
  961. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  962. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.cpp +1 -1
  963. package/ReactCommon/logger/react_native_log.h +7 -7
  964. package/ReactCommon/react/bridging/Class.h +5 -0
  965. package/ReactCommon/react/bridging/tests/BridgingTest.h +13 -26
  966. package/ReactCommon/react/bridging/tests/ClassTest.cpp +14 -8
  967. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +53 -17
  968. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +65 -20
  969. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +273 -111
  970. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -12
  971. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +54 -18
  972. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +115 -34
  973. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
  974. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +3 -7
  975. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -6
  976. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.cpp +4 -1
  977. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +3 -3
  978. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +13 -14
  979. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +4 -3
  980. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  981. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +1 -1
  982. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +2 -55
  983. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +4 -8
  984. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +5 -4
  985. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +1 -1
  986. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +11 -11
  987. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -0
  988. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +4 -3
  989. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +53 -18
  990. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -5
  991. package/ReactCommon/react/nativemodule/core/tests/TurboModuleTestFixture.h +135 -0
  992. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  993. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +8 -0
  994. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  995. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +41 -35
  996. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +15 -3
  997. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +65 -20
  998. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +27 -9
  999. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +1 -1
  1000. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +0 -15
  1001. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +0 -13
  1002. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -2
  1003. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +1 -1
  1004. package/ReactCommon/react/nativemodule/samples/ReactCommon/README.md +2 -0
  1005. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +47 -25
  1006. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +6 -2
  1007. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +6 -2
  1008. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +36 -19
  1009. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +2 -2
  1010. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +51 -58
  1011. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +18 -12
  1012. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +58 -0
  1013. package/ReactCommon/react/performance/cdpmetrics/CMakeLists.txt +23 -0
  1014. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.cpp +63 -0
  1015. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.h +22 -0
  1016. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.cpp +98 -0
  1017. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.h +37 -0
  1018. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +53 -0
  1019. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  1020. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +4 -0
  1021. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +1 -3
  1022. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +104 -70
  1023. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +32 -19
  1024. package/ReactCommon/react/performance/timeline/PerformanceEntryReporterListeners.h +26 -0
  1025. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +19 -30
  1026. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +28 -4
  1027. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +298 -0
  1028. package/ReactCommon/react/renderer/animated/AnimatedModule.h +214 -0
  1029. package/ReactCommon/react/renderer/animated/CMakeLists.txt +33 -0
  1030. package/ReactCommon/react/renderer/animated/EventEmitterListener.h +72 -0
  1031. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.cpp +46 -0
  1032. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.h +56 -0
  1033. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +917 -0
  1034. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +264 -0
  1035. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +154 -0
  1036. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +64 -0
  1037. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.cpp +102 -0
  1038. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.h +91 -0
  1039. package/ReactCommon/react/renderer/animated/drivers/AnimationDriverUtils.h +64 -0
  1040. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.cpp +81 -0
  1041. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.h +40 -0
  1042. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +113 -0
  1043. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +40 -0
  1044. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.cpp +148 -0
  1045. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.h +50 -0
  1046. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.cpp +28 -0
  1047. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +63 -0
  1048. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +105 -0
  1049. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +42 -0
  1050. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +63 -0
  1051. package/ReactCommon/react/renderer/animated/internal/primitives.h +16 -0
  1052. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.cpp +30 -0
  1053. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.h +29 -0
  1054. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.cpp +81 -0
  1055. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.h +109 -0
  1056. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +68 -0
  1057. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.h +38 -0
  1058. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.cpp +37 -0
  1059. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.h +34 -0
  1060. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.cpp +37 -0
  1061. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.h +29 -0
  1062. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +144 -0
  1063. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +44 -0
  1064. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.cpp +33 -0
  1065. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.h +32 -0
  1066. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.cpp +36 -0
  1067. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.h +29 -0
  1068. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +143 -0
  1069. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +50 -0
  1070. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +38 -0
  1071. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.h +38 -0
  1072. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.cpp +96 -0
  1073. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.h +34 -0
  1074. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.cpp +37 -0
  1075. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.h +30 -0
  1076. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.cpp +43 -0
  1077. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.h +33 -0
  1078. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.cpp +58 -0
  1079. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.h +34 -0
  1080. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +101 -0
  1081. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.h +63 -0
  1082. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +217 -0
  1083. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +61 -0
  1084. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +53 -0
  1085. package/ReactCommon/react/renderer/animated/tests/EventAnimationDriverTests.cpp +70 -0
  1086. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -1
  1087. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -1
  1088. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +2 -2
  1089. package/ReactCommon/react/renderer/animations/utils.h +1 -1
  1090. package/ReactCommon/react/renderer/attributedstring/conversions.h +0 -1
  1091. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +1 -1
  1092. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -2
  1093. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -3
  1094. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +50 -0
  1095. package/ReactCommon/react/renderer/components/image/ImageProps.h +4 -0
  1096. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -12
  1097. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +2 -2
  1098. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +3 -2
  1099. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
  1100. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.cpp +48 -0
  1101. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +10 -0
  1102. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +1 -1
  1103. package/ReactCommon/react/renderer/components/modal/platform/android/ModalHostViewUtils.cpp +1 -2
  1104. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +2 -2
  1105. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -0
  1106. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +2 -1
  1107. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +1 -0
  1108. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +1 -1
  1109. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +6 -3
  1110. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +8 -0
  1111. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +2 -2
  1112. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +1 -0
  1113. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +1 -0
  1114. package/ReactCommon/react/renderer/components/text/{ParagraphProps.cpp → BaseParagraphProps.cpp} +8 -96
  1115. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.h +62 -0
  1116. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +2 -49
  1117. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  1118. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +198 -0
  1119. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.h +59 -0
  1120. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  1121. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/conversions.h +52 -0
  1122. package/ReactCommon/react/{nativemodule/core/ReactCommon/LongLivedObject.h → renderer/components/text/platform/android/react/renderer/components/text/primitives.h} +11 -2
  1123. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/HostPlatformParagraphProps.h +14 -0
  1124. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +5 -9
  1125. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +1 -0
  1126. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +1 -0
  1127. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +26 -1
  1128. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +14 -2
  1129. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +1 -8
  1130. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  1131. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -0
  1132. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +1 -1
  1133. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +1 -40
  1134. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +20 -0
  1135. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +39 -0
  1136. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +1 -1
  1137. package/ReactCommon/react/renderer/core/ConcreteState.h +13 -6
  1138. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +1 -1
  1139. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +1 -1
  1140. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -2
  1141. package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -1
  1142. package/ReactCommon/react/renderer/core/EventQueue.cpp +9 -9
  1143. package/ReactCommon/react/renderer/core/EventQueue.h +15 -1
  1144. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -2
  1145. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  1146. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  1147. package/ReactCommon/react/renderer/core/RawValue.h +6 -22
  1148. package/ReactCommon/react/renderer/core/ShadowNode.cpp +2 -1
  1149. package/ReactCommon/react/renderer/core/ShadowNode.h +7 -3
  1150. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +4 -2
  1151. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +3 -1
  1152. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
  1153. package/ReactCommon/react/renderer/core/tests/RawValueTest.cpp +26 -0
  1154. package/ReactCommon/react/renderer/css/CSSHexColor.h +2 -2
  1155. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +3 -3
  1156. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +16 -0
  1157. package/ReactCommon/react/renderer/dom/DOM.cpp +17 -0
  1158. package/ReactCommon/react/renderer/dom/DOM.h +4 -0
  1159. package/ReactCommon/react/renderer/element/testUtils.h +1 -1
  1160. package/ReactCommon/react/renderer/graphics/BoxShadow.h +20 -0
  1161. package/ReactCommon/react/renderer/graphics/Color.cpp +4 -4
  1162. package/ReactCommon/react/renderer/graphics/Color.h +4 -5
  1163. package/ReactCommon/react/renderer/graphics/Filter.h +47 -16
  1164. package/ReactCommon/react/renderer/graphics/Transform.cpp +24 -21
  1165. package/ReactCommon/react/renderer/graphics/Transform.h +21 -20
  1166. package/ReactCommon/react/renderer/graphics/ValueUnit.h +1 -1
  1167. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -5
  1168. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +1 -1
  1169. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +1 -1
  1170. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +12 -12
  1171. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +13 -12
  1172. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
  1173. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +1 -1
  1174. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +6 -8
  1175. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
  1176. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +15 -1
  1177. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +5 -0
  1178. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +59 -20
  1179. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +25 -12
  1180. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +17 -8
  1181. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +7 -0
  1182. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +50 -44
  1183. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1184. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +1 -6
  1185. package/ReactCommon/react/renderer/imagemanager/primitives.h +69 -7
  1186. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +9 -0
  1187. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +6 -10
  1188. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +14 -1
  1189. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +8 -1
  1190. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +1 -0
  1191. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -2
  1192. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +4 -4
  1193. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +8 -38
  1194. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +6 -39
  1195. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +8 -34
  1196. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +3 -3
  1197. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
  1198. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +2 -0
  1199. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +1 -1
  1200. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +3 -5
  1201. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +4 -4
  1202. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +2 -0
  1203. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +3 -3
  1204. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +1 -1
  1205. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +6 -4
  1206. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +3 -3
  1207. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  1208. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +47 -5
  1209. package/ReactCommon/react/renderer/scheduler/Scheduler.h +4 -3
  1210. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
  1211. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -1
  1212. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +2 -2
  1213. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +48 -9
  1214. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1215. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  1216. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1217. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +41 -34
  1218. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1219. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +29 -24
  1220. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -2
  1221. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +2 -2
  1222. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
  1223. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +11 -0
  1224. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +7 -6
  1225. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -2
  1226. package/ReactCommon/react/renderer/uimanager/primitives.h +2 -1
  1227. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +5 -7
  1228. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +2 -2
  1229. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.cpp +3 -5
  1230. package/ReactCommon/react/runtime/CMakeLists.txt +4 -0
  1231. package/ReactCommon/react/runtime/ReactInstance.cpp +18 -10
  1232. package/ReactCommon/react/runtime/ReactInstance.h +1 -2
  1233. package/ReactCommon/react/runtime/TimerManager.cpp +10 -10
  1234. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +5 -1
  1235. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +7 -3
  1236. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +1 -1
  1237. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +2 -4
  1238. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +2 -4
  1239. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +12 -11
  1240. package/ReactCommon/react/test_utils/MockClock.h +2 -3
  1241. package/ReactCommon/react/timing/CMakeLists.txt +2 -0
  1242. package/ReactCommon/react/timing/primitives.h +44 -4
  1243. package/ReactCommon/react/utils/ContextContainer.h +3 -2
  1244. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +36 -17
  1245. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +2 -2
  1246. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +1 -1
  1247. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1248. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +1 -3
  1249. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +3 -5
  1250. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.cpp +2 -1
  1251. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.h +2 -1
  1252. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +32 -8
  1253. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +5 -3
  1254. package/ReactCommon/yoga/yoga/Yoga.h +8 -8
  1255. package/cli.js +1 -1
  1256. package/flow/bom.js.flow +223 -1
  1257. package/flow/prettier.js.flow +14 -0
  1258. package/gradle/libs.versions.toml +5 -3
  1259. package/index.js +14 -2
  1260. package/index.js.flow +4 -0
  1261. package/jest/local-setup.js +2 -2
  1262. package/jest/mock.js +1 -1
  1263. package/jest/mockComponent.js +9 -9
  1264. package/jest/mockNativeComponent.js +3 -2
  1265. package/jest/mocks/Modal.js +1 -1
  1266. package/jest/mocks/ScrollView.js +1 -1
  1267. package/jest/mocks/ViewNativeComponent.js +1 -1
  1268. package/jest/setup.js +23 -12
  1269. package/package.json +12 -11
  1270. package/react-native.config.js +1 -1
  1271. package/scripts/cocoapods/autolinking.rb +6 -0
  1272. package/scripts/cocoapods/codegen.rb +1 -1
  1273. package/scripts/cocoapods/codegen_utils.rb +1 -1
  1274. package/scripts/cocoapods/jsengine.rb +2 -1
  1275. package/scripts/cocoapods/new_architecture.rb +8 -4
  1276. package/scripts/cocoapods/utils.rb +8 -2
  1277. package/scripts/codegen/codegen-utils.js +4 -4
  1278. package/scripts/codegen/generate-artifacts-executor/constants.js +29 -29
  1279. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +1 -1
  1280. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  1281. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +2 -2
  1282. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  1283. package/scripts/codegen/generate-artifacts-executor/index.js +5 -6
  1284. package/scripts/codegen/generate-artifacts-executor/utils.js +63 -12
  1285. package/scripts/codegen/generate-specs-cli-executor.js +18 -15
  1286. package/scripts/generate-provider-cli.js +5 -5
  1287. package/scripts/hermes/hermes-utils.js +12 -6
  1288. package/scripts/react_native_pods.rb +29 -8
  1289. package/sdks/.hermesversion +1 -1
  1290. package/sdks/hermes-engine/hermes-engine.podspec +47 -24
  1291. package/sdks/hermes-engine/hermes-utils.rb +42 -11
  1292. package/sdks/hermes-engine/utils/build-apple-framework.sh +21 -15
  1293. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +11 -4
  1294. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +1 -1
  1295. package/sdks/hermes-engine/utils/build-ios-framework.sh +3 -3
  1296. package/sdks/hermes-engine/utils/build-mac-framework.sh +1 -1
  1297. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +5 -5
  1298. package/sdks/hermes-engine/version.properties +1 -0
  1299. package/sdks/hermesc/osx-bin/hermes +0 -0
  1300. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1301. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1302. package/settings.gradle.kts +32 -0
  1303. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  1304. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  1305. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  1306. package/src/private/components/virtualview/VirtualView.js +43 -12
  1307. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  1308. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  1309. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  1310. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  1311. package/src/private/featureflags/ReactNativeFeatureFlags.js +85 -52
  1312. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  1313. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -6
  1314. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  1315. package/src/private/setup/{setUpPerformanceObserver.js → setUpPerformanceModern.js} +43 -18
  1316. package/src/private/specs_DEPRECATED/modules/NativeTiming.js +1 -0
  1317. package/src/private/types/HostInstance.js +4 -1
  1318. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  1319. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  1320. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  1321. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  1322. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  1323. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1324. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  1325. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  1326. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  1327. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  1328. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  1329. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  1330. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  1331. package/src/private/webapis/performance/EventTiming.js +40 -25
  1332. package/src/private/webapis/performance/LongTasks.js +35 -2
  1333. package/src/private/webapis/performance/Performance.js +347 -166
  1334. package/src/private/webapis/performance/PerformanceEntry.js +40 -23
  1335. package/src/private/webapis/performance/PerformanceObserver.js +37 -29
  1336. package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
  1337. package/src/private/webapis/performance/ResourceTiming.js +29 -18
  1338. package/src/private/webapis/performance/UserTiming.js +92 -34
  1339. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  1340. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +3 -4
  1341. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  1342. package/src/private/webapis/performance/specs/NativePerformance.js +23 -23
  1343. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  1344. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  1345. package/types/public/ReactNativeTVTypes.d.ts +1 -43
  1346. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  1347. package/Libraries/Interaction/TaskQueue.js +0 -183
  1348. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  1349. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +0 -28
  1350. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +0 -83
  1351. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +0 -19
  1352. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +0 -423
  1353. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +0 -78
  1354. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +0 -115
  1355. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +0 -28
  1356. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +0 -29
  1357. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +0 -133
  1358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -1049
  1359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +0 -30
  1360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +0 -22
  1361. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +0 -15
  1362. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +0 -669
  1363. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +0 -811
  1364. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +0 -43
  1365. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -29
  1366. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.java +0 -25
  1367. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +0 -35
  1368. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +0 -20
  1369. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +0 -32
  1370. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +0 -141
  1371. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +0 -18
  1372. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +0 -51
  1373. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +0 -80
  1374. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +0 -18
  1375. package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +0 -37
  1376. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +0 -112
  1377. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +0 -77
  1378. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +0 -40
  1379. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +0 -21
  1380. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +0 -151
  1381. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +0 -42
  1382. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +0 -96
  1383. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +0 -43
  1384. package/ReactCommon/react/renderer/components/modal/platform/android/JReactModalHostView.h +0 -38
  1385. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +0 -101
  1386. package/types_generated/Libraries/Alert/Alert.d.ts +0 -55
  1387. package/types_generated/Libraries/Animated/Animated.d.ts +0 -14
  1388. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +0 -30
  1389. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +0 -190
  1390. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +0 -128
  1391. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +0 -13
  1392. package/types_generated/Libraries/Animated/Easing.d.ts +0 -171
  1393. package/types_generated/Libraries/Animated/animations/Animation.d.ts +0 -35
  1394. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +0 -42
  1395. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +0 -130
  1396. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +0 -54
  1397. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +0 -22
  1398. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +0 -18
  1399. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +0 -23
  1400. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +0 -22
  1401. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +0 -18
  1402. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +0 -19
  1403. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +0 -42
  1404. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +0 -22
  1405. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +0 -76
  1406. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +0 -22
  1407. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +0 -22
  1408. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +0 -36
  1409. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +0 -22
  1410. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +0 -22
  1411. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +0 -46
  1412. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +0 -29
  1413. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +0 -32
  1414. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +0 -22
  1415. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +0 -21
  1416. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +0 -126
  1417. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +0 -135
  1418. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +0 -15
  1419. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +0 -15
  1420. package/types_generated/Libraries/AppState/AppState.d.ts +0 -63
  1421. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +0 -17
  1422. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +0 -39
  1423. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +0 -20
  1424. package/types_generated/Libraries/Blob/Blob.d.ts +0 -80
  1425. package/types_generated/Libraries/Blob/BlobTypes.d.ts +0 -27
  1426. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +0 -220
  1427. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +0 -20
  1428. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +0 -84
  1429. package/types_generated/Libraries/Components/Button.d.ts +0 -251
  1430. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +0 -38
  1431. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +0 -17
  1432. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +0 -27
  1433. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +0 -176
  1434. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +0 -146
  1435. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +0 -73
  1436. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +0 -24
  1437. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +0 -141
  1438. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +0 -45
  1439. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +0 -32
  1440. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1441. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +0 -50
  1442. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +0 -113
  1443. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +0 -33
  1444. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +0 -560
  1445. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +0 -24
  1446. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1447. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1448. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +0 -36
  1449. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +0 -222
  1450. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1451. package/types_generated/Libraries/Components/Switch/Switch.d.ts +0 -138
  1452. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1453. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +0 -23
  1454. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +0 -21
  1455. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +0 -71
  1456. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +0 -97
  1457. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +0 -79
  1458. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +0 -24
  1459. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +0 -20
  1460. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +0 -86
  1461. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +0 -47
  1462. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +0 -984
  1463. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +0 -54
  1464. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +0 -99
  1465. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -257
  1466. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +0 -71
  1467. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -228
  1468. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -76
  1469. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +0 -121
  1470. package/types_generated/Libraries/Components/View/View.d.ts +0 -30
  1471. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +0 -415
  1472. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +0 -29
  1473. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +0 -431
  1474. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +0 -27
  1475. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +0 -43
  1476. package/types_generated/Libraries/Core/ExtendedError.d.ts +0 -26
  1477. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +0 -17
  1478. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +0 -26
  1479. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +0 -27
  1480. package/types_generated/Libraries/Core/registerCallableModule.d.ts +0 -18
  1481. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -42
  1482. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +0 -19
  1483. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +0 -18
  1484. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +0 -21
  1485. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +0 -71
  1486. package/types_generated/Libraries/Image/Image.d.ts +0 -18
  1487. package/types_generated/Libraries/Image/ImageBackground.d.ts +0 -44
  1488. package/types_generated/Libraries/Image/ImageProps.d.ts +0 -512
  1489. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +0 -17
  1490. package/types_generated/Libraries/Image/ImageSource.d.ts +0 -94
  1491. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +0 -64
  1492. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +0 -68
  1493. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +0 -42
  1494. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -100
  1495. package/types_generated/Libraries/Interaction/PanResponder.d.ts +0 -231
  1496. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +0 -73
  1497. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +0 -76
  1498. package/types_generated/Libraries/Linking/Linking.d.ts +0 -68
  1499. package/types_generated/Libraries/Lists/FlatList.d.ts +0 -317
  1500. package/types_generated/Libraries/Lists/SectionList.d.ts +0 -172
  1501. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +0 -19
  1502. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +0 -19
  1503. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +0 -78
  1504. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +0 -88
  1505. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +0 -17
  1506. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +0 -53
  1507. package/types_generated/Libraries/LogBox/LogBox.d.ts +0 -29
  1508. package/types_generated/Libraries/Modal/Modal.d.ts +0 -110
  1509. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1510. package/types_generated/Libraries/Network/FormData.d.ts +0 -56
  1511. package/types_generated/Libraries/Network/RCTNetworking.d.ts +0 -25
  1512. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +0 -22
  1513. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +0 -96
  1514. package/types_generated/Libraries/Network/convertRequestBody.d.ts +0 -21
  1515. package/types_generated/Libraries/Performance/Systrace.d.ts +0 -61
  1516. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +0 -129
  1517. package/types_generated/Libraries/Pressability/Pressability.d.ts +0 -241
  1518. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +0 -323
  1519. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +0 -14
  1520. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +0 -44
  1521. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +0 -73
  1522. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +0 -24
  1523. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +0 -23
  1524. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +0 -17
  1525. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +0 -17
  1526. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +0 -28
  1527. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +0 -32
  1528. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +0 -15
  1529. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +0 -37
  1530. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +0 -28
  1531. package/types_generated/Libraries/ReactNative/RootTag.d.ts +0 -22
  1532. package/types_generated/Libraries/ReactNative/UIManager.d.ts +0 -17
  1533. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +0 -25
  1534. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +0 -33
  1535. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -169
  1536. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +0 -41
  1537. package/types_generated/Libraries/Settings/Settings.d.ts +0 -21
  1538. package/types_generated/Libraries/Share/Share.d.ts +0 -85
  1539. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +0 -15
  1540. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +0 -17
  1541. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +0 -27
  1542. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +0 -16
  1543. package/types_generated/Libraries/StyleSheet/Rect.d.ts +0 -22
  1544. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +0 -153
  1545. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +0 -107
  1546. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +0 -826
  1547. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +0 -19
  1548. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +0 -17
  1549. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +0 -76
  1550. package/types_generated/Libraries/StyleSheet/processColor.d.ts +0 -18
  1551. package/types_generated/Libraries/Text/Text.d.ts +0 -30
  1552. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +0 -20
  1553. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +0 -31
  1554. package/types_generated/Libraries/Text/TextProps.d.ts +0 -220
  1555. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +0 -35
  1556. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +0 -15
  1557. package/types_generated/Libraries/Types/CodegenTypes.d.ts +0 -24
  1558. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +0 -14
  1559. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +0 -327
  1560. package/types_generated/Libraries/Types/RootTagTypes.d.ts +0 -13
  1561. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +0 -17
  1562. package/types_generated/Libraries/UTFSequence.d.ts +0 -39
  1563. package/types_generated/Libraries/Utilities/Appearance.d.ts +0 -31
  1564. package/types_generated/Libraries/Utilities/BackHandler.d.ts +0 -23
  1565. package/types_generated/Libraries/Utilities/DevSettings.d.ts +0 -34
  1566. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +0 -17
  1567. package/types_generated/Libraries/Utilities/Dimensions.d.ts +0 -54
  1568. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +0 -51
  1569. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +0 -17
  1570. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +0 -14
  1571. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +0 -110
  1572. package/types_generated/Libraries/Utilities/Platform.d.ts +0 -16
  1573. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +0 -134
  1574. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +0 -19
  1575. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +0 -24
  1576. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
  1577. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +0 -33
  1578. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +0 -19
  1579. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +0 -15
  1580. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +0 -15
  1581. package/types_generated/Libraries/Vibration/Vibration.d.ts +0 -29
  1582. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +0 -39
  1583. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +0 -67
  1584. package/types_generated/index.d.ts +0 -164
  1585. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +0 -70
  1586. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +0 -97
  1587. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +0 -28
  1588. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1589. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1590. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1591. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +0 -26
  1592. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +0 -46
  1593. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1594. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +0 -45
  1595. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +0 -27
  1596. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +0 -109
  1597. package/types_generated/src/private/styles/composeStyles.d.ts +0 -19
  1598. package/types_generated/src/private/types/HostComponent.d.ts +0 -19
  1599. package/types_generated/src/private/types/HostInstance.d.ts +0 -91
  1600. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +0 -27
  1601. package/types_generated/src/private/webapis/dom/events/Event.d.ts +0 -58
  1602. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +0 -48
  1603. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +0 -32
  1604. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +0 -36
  1605. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +0 -30
  1606. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +0 -54
  1607. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +0 -126
  1608. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +0 -24
  1609. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +0 -29
  1610. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +0 -23
  1611. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +0 -22
  1612. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +0 -222
  1613. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +0 -22
  1614. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +0 -25
  1615. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +0 -46
  1616. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +0 -73
  1617. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +0 -27
  1618. package/types_generated/tsconfig.json +0 -3
  1619. package/types_generated/tsconfig.test.json +0 -16
  1620. /package/ReactCommon/react/renderer/components/text/{conversions.h → stateConversions.h} +0 -0
@@ -0,0 +1,1045 @@
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.content.Context
11
+ import android.graphics.Rect
12
+ import android.os.Bundle
13
+ import android.os.Handler
14
+ import android.os.Message
15
+ import android.view.View
16
+ import android.view.ViewGroup
17
+ import android.view.accessibility.AccessibilityEvent
18
+ import android.widget.EditText
19
+ import androidx.core.view.ViewCompat
20
+ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
21
+ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat
22
+ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat
23
+ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat
24
+ import androidx.core.view.accessibility.AccessibilityNodeProviderCompat
25
+ import androidx.customview.widget.ExploreByTouchHelper
26
+ import com.facebook.infer.annotation.Assertions
27
+ import com.facebook.react.R
28
+ import com.facebook.react.bridge.Arguments.createMap
29
+ import com.facebook.react.bridge.ReactContext
30
+ import com.facebook.react.bridge.ReactNoCrashSoftException
31
+ import com.facebook.react.bridge.ReactSoftExceptionLogger.logSoftException
32
+ import com.facebook.react.bridge.ReadableArray
33
+ import com.facebook.react.bridge.ReadableMap
34
+ import com.facebook.react.bridge.ReadableType
35
+ import com.facebook.react.bridge.WritableMap
36
+ import com.facebook.react.uimanager.UIManagerHelper.getSurfaceId
37
+ import com.facebook.react.uimanager.UIManagerHelper.getUIManager
38
+ import com.facebook.react.uimanager.common.ViewUtil.getUIManagerType
39
+ import com.facebook.react.uimanager.events.Event
40
+ import com.facebook.react.uimanager.util.ReactFindViewUtil.findView
41
+
42
+ /**
43
+ * Utility class that handles the addition of a "role" for accessibility to either a View or
44
+ * AccessibilityNodeInfo.
45
+ */
46
+ public open class ReactAccessibilityDelegate( // The View this delegate is attached to
47
+ protected val hostView: View,
48
+ originalFocus: Boolean,
49
+ originalImportantForAccessibility: Int,
50
+ ) : ExploreByTouchHelper(hostView) {
51
+ @Suppress("DEPRECATION") // TODO: Replace with handler tied to host view's context
52
+ private val accessibilityEventHandler: Handler =
53
+ object : Handler() {
54
+ override fun handleMessage(msg: Message) {
55
+ val host = msg.obj as View?
56
+ host?.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED)
57
+ }
58
+ }
59
+ private val accessibilityActionsMap = HashMap<Int, String?>()
60
+ private var accessibilityLabelledBy: View? = null
61
+
62
+ init {
63
+ // We need to reset these two properties, as ExploreByTouchHelper sets focusable to "true" and
64
+ // importantForAccessibility to "Yes" (if it is Auto). If we don't reset these it would force
65
+ // every element that has this delegate attached to be focusable, and not allow for
66
+ // announcement coalescing.
67
+ hostView.isFocusable = originalFocus
68
+ hostView.importantForAccessibility = originalImportantForAccessibility
69
+ }
70
+
71
+ override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) {
72
+ super.onInitializeAccessibilityNodeInfo(host, info)
73
+
74
+ if (host.getTag(R.id.accessibility_state_expanded) != null) {
75
+ val accessibilityStateExpanded = host.getTag(R.id.accessibility_state_expanded) as Boolean
76
+ info.addAction(
77
+ if (accessibilityStateExpanded) AccessibilityNodeInfoCompat.ACTION_COLLAPSE
78
+ else AccessibilityNodeInfoCompat.ACTION_EXPAND
79
+ )
80
+ }
81
+ val accessibilityRole = AccessibilityRole.fromViewTag(host)
82
+ val accessibilityHint = host.getTag(R.id.accessibility_hint) as String?
83
+ if (accessibilityRole != null) {
84
+ setRole(info, accessibilityRole, host.context)
85
+ }
86
+
87
+ if (accessibilityHint != null) {
88
+ info.tooltipText = accessibilityHint
89
+ }
90
+
91
+ val accessibilityLabelledBy = host.getTag(R.id.labelled_by)
92
+ if (accessibilityLabelledBy != null) {
93
+ this.accessibilityLabelledBy = findView(host.rootView, accessibilityLabelledBy as String)
94
+ if (this.accessibilityLabelledBy != null) {
95
+ info.setLabeledBy(this.accessibilityLabelledBy)
96
+ }
97
+ }
98
+
99
+ // state is changeable.
100
+ val accessibilityState = host.getTag(R.id.accessibility_state) as ReadableMap?
101
+ if (accessibilityState != null) {
102
+ setState(info, accessibilityState)
103
+ }
104
+ val accessibilityActions = host.getTag(R.id.accessibility_actions) as ReadableArray?
105
+
106
+ val accessibilityCollectionItem =
107
+ host.getTag(R.id.accessibility_collection_item) as ReadableMap?
108
+ if (accessibilityCollectionItem != null) {
109
+ val rowIndex = accessibilityCollectionItem.getInt("rowIndex")
110
+ val columnIndex = accessibilityCollectionItem.getInt("columnIndex")
111
+ val rowSpan = accessibilityCollectionItem.getInt("rowSpan")
112
+ val columnSpan = accessibilityCollectionItem.getInt("columnSpan")
113
+ val heading = accessibilityCollectionItem.getBoolean("heading")
114
+
115
+ val collectionItemCompat =
116
+ CollectionItemInfoCompat.obtain(rowIndex, rowSpan, columnIndex, columnSpan, heading)
117
+ info.setCollectionItemInfo(collectionItemCompat)
118
+ }
119
+
120
+ if (accessibilityActions != null) {
121
+ for (i in 0..<accessibilityActions.size()) {
122
+ val action = accessibilityActions.getMap(i)
123
+ require(!(action == null || !action.hasKey("name"))) { "Unknown accessibility action." }
124
+
125
+ val actionName = action.getString("name")
126
+ // AccessibilityActionCompat actionLabel must be non-null
127
+ val actionLabel =
128
+ if (action.hasKey("label")) Assertions.assertNotNull(action.getString("label")) else ""
129
+ val actionId: Int =
130
+ actionIdMap.get(actionName)
131
+ ?: customActionIdMap.getOrPut(actionName) { customActionCounter++ }
132
+ accessibilityActionsMap[actionId] = actionName
133
+ val accessibilityAction = AccessibilityActionCompat(actionId, actionLabel)
134
+ info.addAction(accessibilityAction)
135
+ }
136
+ }
137
+
138
+ // Process accessibilityValue
139
+ val accessibilityValue = host.getTag(R.id.accessibility_value) as ReadableMap?
140
+ if (
141
+ accessibilityValue != null &&
142
+ accessibilityValue.hasKey("min") &&
143
+ accessibilityValue.hasKey("now") &&
144
+ accessibilityValue.hasKey("max")
145
+ ) {
146
+ val minDynamic = accessibilityValue.getDynamic("min")
147
+ val nowDynamic = accessibilityValue.getDynamic("now")
148
+ val maxDynamic = accessibilityValue.getDynamic("max")
149
+ if (
150
+ minDynamic.type == ReadableType.Number &&
151
+ nowDynamic.type == ReadableType.Number &&
152
+ maxDynamic.type == ReadableType.Number
153
+ ) {
154
+ val min = minDynamic.asInt()
155
+ val now = nowDynamic.asInt()
156
+ val max = maxDynamic.asInt()
157
+ if (max > min && now >= min && max >= now) {
158
+ info.rangeInfo =
159
+ RangeInfoCompat.obtain(
160
+ RangeInfoCompat.RANGE_TYPE_INT,
161
+ min.toFloat(),
162
+ max.toFloat(),
163
+ now.toFloat(),
164
+ )
165
+ }
166
+ }
167
+ }
168
+
169
+ // Expose the testID prop as the resource-id name of the view. Black-box E2E/UI testing
170
+ // frameworks, which interact with the UI through the accessibility framework, do not have
171
+ // access to view tags. This allows developers/testers to avoid polluting the
172
+ // content-description with test identifiers.
173
+ val testId = host.getTag(R.id.react_test_id) as String?
174
+ if (testId != null) {
175
+ info.viewIdResourceName = testId
176
+ }
177
+ val missingContentDescription = info.contentDescription.isNullOrEmpty()
178
+ val missingText = info.text.isNullOrEmpty()
179
+ val missingTextAndDescription = missingContentDescription && missingText
180
+ val hasContentToAnnounce =
181
+ accessibilityActions != null ||
182
+ accessibilityState != null ||
183
+ accessibilityLabelledBy != null ||
184
+ accessibilityRole != null
185
+ if (missingTextAndDescription && hasContentToAnnounce) {
186
+ info.contentDescription = getTalkbackDescription(host, info)
187
+ }
188
+ }
189
+
190
+ override fun onInitializeAccessibilityEvent(host: View, event: AccessibilityEvent) {
191
+ super.onInitializeAccessibilityEvent(host, event)
192
+ // Set item count and current item index on accessibility events for adjustable
193
+ // in order to make Talkback announce the value of the adjustable
194
+ val accessibilityValue = host.getTag(R.id.accessibility_value) as ReadableMap?
195
+ if (
196
+ accessibilityValue != null &&
197
+ accessibilityValue.hasKey("min") &&
198
+ accessibilityValue.hasKey("now") &&
199
+ accessibilityValue.hasKey("max")
200
+ ) {
201
+ val minDynamic = accessibilityValue.getDynamic("min")
202
+ val nowDynamic = accessibilityValue.getDynamic("now")
203
+ val maxDynamic = accessibilityValue.getDynamic("max")
204
+ if (
205
+ minDynamic.type == ReadableType.Number &&
206
+ nowDynamic.type == ReadableType.Number &&
207
+ maxDynamic.type == ReadableType.Number
208
+ ) {
209
+ val min = minDynamic.asInt()
210
+ val now = nowDynamic.asInt()
211
+ val max = maxDynamic.asInt()
212
+ if (max > min && now >= min && max >= now) {
213
+ event.itemCount = max - min
214
+ event.currentItemIndex = now
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+ override fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean {
221
+ if (action == AccessibilityNodeInfoCompat.ACTION_COLLAPSE) {
222
+ host.setTag(R.id.accessibility_state_expanded, false)
223
+ }
224
+ if (action == AccessibilityNodeInfoCompat.ACTION_EXPAND) {
225
+ host.setTag(R.id.accessibility_state_expanded, true)
226
+ }
227
+ if (action == AccessibilityNodeInfoCompat.ACTION_CLICK) {
228
+ val payload = createMap()
229
+ val reactTag = host.id
230
+ payload.putString("eventType", "select")
231
+ payload.putInt("eventKeyAction", 1)
232
+ payload.putInt("tag", reactTag)
233
+ payload.putInt("target", reactTag)
234
+ val reactContext = host.context as ReactContext
235
+ reactContext.emitDeviceEvent("onHWKeyEvent", payload)
236
+ }
237
+ if (action == AccessibilityNodeInfoCompat.ACTION_LONG_CLICK) {
238
+ val payload = createMap()
239
+ val reactTag = host.id
240
+ payload.putString("eventType", "longSelect")
241
+ payload.putInt("eventKeyAction", 1)
242
+ payload.putInt("tag", reactTag)
243
+ payload.putInt("target", reactTag)
244
+ val reactContext = host.context as ReactContext
245
+ reactContext.emitDeviceEvent("onHWKeyEvent", payload)
246
+ }
247
+ if (accessibilityActionsMap.containsKey(action)) {
248
+ val eventData = createMap()
249
+ eventData.putString("actionName", accessibilityActionsMap[action])
250
+ val reactContext = host.context as ReactContext
251
+ if (reactContext.hasActiveReactInstance()) {
252
+ val reactTag = host.id
253
+ val surfaceId = getSurfaceId(reactContext)
254
+ val uiManager = getUIManager(reactContext, getUIManagerType(reactTag))
255
+ if (uiManager != null) {
256
+ uiManager.eventDispatcher.dispatchEvent(
257
+ AccessibilityActionEvent(eventData, surfaceId, reactTag)
258
+ )
259
+ }
260
+ } else {
261
+ logSoftException(
262
+ TAG,
263
+ ReactNoCrashSoftException("Cannot get RCTEventEmitter, no CatalystInstance"),
264
+ )
265
+ }
266
+
267
+ // In order to make Talkback announce the change of the adjustable's value,
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
270
+ val accessibilityValue = host.getTag(R.id.accessibility_value) as ReadableMap?
271
+ if (
272
+ accessibilityRole == AccessibilityRole.ADJUSTABLE &&
273
+ (action == AccessibilityActionCompat.ACTION_SCROLL_FORWARD.id ||
274
+ (action == AccessibilityActionCompat.ACTION_SCROLL_BACKWARD.id))
275
+ ) {
276
+ if (accessibilityValue != null && !accessibilityValue.hasKey("text")) {
277
+ scheduleAccessibilityEventSender(host)
278
+ }
279
+ return super.performAccessibilityAction(host, action, args)
280
+ }
281
+ // When checking the accessibility focus action, we don't want to intercept the native event
282
+ // otherwise it would intercept the change of focus
283
+ if (action == AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS.id) {
284
+ return super.performAccessibilityAction(host, action, args)
285
+ }
286
+ return true
287
+ }
288
+ return super.performAccessibilityAction(host, action, args)
289
+ }
290
+
291
+ /**
292
+ * Schedule a command for sending an accessibility event. Note: A command is used to ensure that
293
+ * accessibility events are sent at most one in a given time frame to save system resources while
294
+ * the progress changes quickly.
295
+ */
296
+ private fun scheduleAccessibilityEventSender(host: View) {
297
+ if (accessibilityEventHandler.hasMessages(SEND_EVENT, host)) {
298
+ accessibilityEventHandler.removeMessages(SEND_EVENT, host)
299
+ }
300
+ val msg = accessibilityEventHandler.obtainMessage(SEND_EVENT, host)
301
+ accessibilityEventHandler.sendMessageDelayed(msg, TIMEOUT_SEND_ACCESSIBILITY_EVENT.toLong())
302
+ }
303
+
304
+ override fun getVirtualViewAt(x: Float, y: Float): Int {
305
+ return INVALID_ID
306
+ }
307
+
308
+ override fun getVisibleVirtualViews(virtualViewIds: MutableList<Int>): Unit = Unit
309
+
310
+ override fun onPopulateNodeForVirtualView(virtualViewId: Int, node: AccessibilityNodeInfoCompat) {
311
+ node.contentDescription = ""
312
+ @Suppress("DEPRECATION") // TODO: Remove this
313
+ node.setBoundsInParent(Rect(0, 0, 1, 1))
314
+ }
315
+
316
+ override fun onPerformActionForVirtualView(
317
+ virtualViewId: Int,
318
+ action: Int,
319
+ arguments: Bundle?,
320
+ ): Boolean {
321
+ return false
322
+ }
323
+
324
+ override fun getAccessibilityNodeProvider(host: View): AccessibilityNodeProviderCompat? {
325
+ return null
326
+ }
327
+
328
+ // This exists so classes that extend this can properly call super's impl of this method while
329
+ // still being able to override it properly for this class
330
+ protected fun superGetAccessibilityNodeProvider(host: View): AccessibilityNodeProviderCompat? {
331
+ return super.getAccessibilityNodeProvider(host)
332
+ }
333
+
334
+ /**
335
+ * An ARIA Role representable by View's `role` prop. Ordinals should be kept in sync with
336
+ * `facebook::react::Role`.
337
+ */
338
+ public enum class Role {
339
+ ALERT,
340
+ ALERTDIALOG,
341
+ APPLICATION,
342
+ ARTICLE,
343
+ BANNER,
344
+ BUTTON,
345
+ CELL,
346
+ CHECKBOX,
347
+ COLUMNHEADER,
348
+ COMBOBOX,
349
+ COMPLEMENTARY,
350
+ CONTENTINFO,
351
+ DEFINITION,
352
+ DIALOG,
353
+ DIRECTORY,
354
+ DOCUMENT,
355
+ FEED,
356
+ FIGURE,
357
+ FORM,
358
+ GRID,
359
+ GROUP,
360
+ HEADING,
361
+ IMG,
362
+ LINK,
363
+ LIST,
364
+ LISTITEM,
365
+ LOG,
366
+ MAIN,
367
+ MARQUEE,
368
+ MATH,
369
+ MENU,
370
+ MENUBAR,
371
+ MENUITEM,
372
+ METER,
373
+ NAVIGATION,
374
+ NONE,
375
+ NOTE,
376
+ OPTION,
377
+ PRESENTATION,
378
+ PROGRESSBAR,
379
+ RADIO,
380
+ RADIOGROUP,
381
+ REGION,
382
+ ROW,
383
+ ROWGROUP,
384
+ ROWHEADER,
385
+ SCROLLBAR,
386
+ SEARCHBOX,
387
+ SEPARATOR,
388
+ SLIDER,
389
+ SPINBUTTON,
390
+ STATUS,
391
+ SUMMARY,
392
+ SWITCH,
393
+ TAB,
394
+ TABLE,
395
+ TABLIST,
396
+ TABPANEL,
397
+ TERM,
398
+ TIMER,
399
+ TOOLBAR,
400
+ TOOLTIP,
401
+ TREE,
402
+ TREEGRID,
403
+ TREEITEM;
404
+
405
+ public companion object {
406
+ @JvmStatic
407
+ public fun fromValue(value: String?): Role? {
408
+ for (role in entries) {
409
+ if (role.name.equals(value, ignoreCase = true)) {
410
+ return role
411
+ }
412
+ }
413
+ return null
414
+ }
415
+ }
416
+ }
417
+
418
+ private class AccessibilityActionEvent(
419
+ private val accessibilityEventData: WritableMap,
420
+ surfaceId: Int,
421
+ viewId: Int,
422
+ ) : Event<AccessibilityActionEvent>(surfaceId, viewId) {
423
+ override fun getEventName(): String {
424
+ return TOP_ACCESSIBILITY_ACTION_EVENT
425
+ }
426
+
427
+ public override fun getEventData(): WritableMap? {
428
+ return accessibilityEventData
429
+ }
430
+ }
431
+
432
+ /**
433
+ * These roles are defined by Google's TalkBack screen reader, and this list should be kept up to
434
+ * date with their implementation. Details can be seen in their source code here:
435
+ *
436
+ * https://github.com/google/talkback/blob/master/utils/src/main/java/Role.java
437
+ */
438
+ public enum class AccessibilityRole {
439
+ NONE,
440
+ BUTTON,
441
+ DROPDOWNLIST,
442
+ TOGGLEBUTTON,
443
+ LINK,
444
+ SEARCH,
445
+ IMAGE,
446
+ IMAGEBUTTON,
447
+ KEYBOARDKEY,
448
+ TEXT,
449
+ ADJUSTABLE,
450
+ SUMMARY,
451
+ HEADER,
452
+ ALERT,
453
+ CHECKBOX,
454
+ COMBOBOX,
455
+ MENU,
456
+ MENUBAR,
457
+ MENUITEM,
458
+ PROGRESSBAR,
459
+ RADIO,
460
+ RADIOGROUP,
461
+ SCROLLBAR,
462
+ SPINBUTTON,
463
+ SWITCH,
464
+ TAB,
465
+ TABLIST,
466
+ TIMER,
467
+ LIST,
468
+ GRID,
469
+ PAGER,
470
+ SCROLLVIEW,
471
+ HORIZONTALSCROLLVIEW,
472
+ VIEWGROUP,
473
+ WEBVIEW,
474
+ DRAWERLAYOUT,
475
+ SLIDINGDRAWER,
476
+ ICONMENU,
477
+ TOOLBAR;
478
+
479
+ public companion object {
480
+ @JvmStatic
481
+ public fun getValue(role: AccessibilityRole): String {
482
+ return when (role) {
483
+ BUTTON -> "android.widget.Button"
484
+ DROPDOWNLIST -> "android.widget.Spinner"
485
+ TOGGLEBUTTON -> "android.widget.ToggleButton"
486
+ SEARCH -> "android.widget.EditText"
487
+ IMAGE -> "android.widget.ImageView"
488
+ IMAGEBUTTON -> "android.widget.ImageButton"
489
+ KEYBOARDKEY -> "android.inputmethodservice.Keyboard\$Key"
490
+ TEXT -> "android.widget.TextView"
491
+ ADJUSTABLE -> "android.widget.SeekBar"
492
+ CHECKBOX -> "android.widget.CheckBox"
493
+ RADIO -> "android.widget.RadioButton"
494
+ SPINBUTTON -> "android.widget.SpinButton"
495
+ SWITCH -> "android.widget.Switch"
496
+ LIST -> "android.widget.AbsListView"
497
+ GRID -> "android.widget.GridView"
498
+ SCROLLVIEW -> "android.widget.ScrollView"
499
+ HORIZONTALSCROLLVIEW -> "android.widget.HorizontalScrollView"
500
+ PAGER -> "androidx.viewpager.widget.ViewPager"
501
+ DRAWERLAYOUT -> "androidx.drawerlayout.widget.DrawerLayout"
502
+ SLIDINGDRAWER -> "android.widget.SlidingDrawer"
503
+ ICONMENU -> "com.android.internal.view.menu.IconMenuView"
504
+ VIEWGROUP -> "android.view.ViewGroup"
505
+ WEBVIEW -> "android.webkit.WebView"
506
+ NONE,
507
+ LINK,
508
+ SUMMARY,
509
+ HEADER,
510
+ ALERT,
511
+ COMBOBOX,
512
+ MENU,
513
+ MENUBAR,
514
+ MENUITEM,
515
+ PROGRESSBAR,
516
+ RADIOGROUP,
517
+ SCROLLBAR,
518
+ TAB,
519
+ TABLIST,
520
+ TIMER,
521
+ TOOLBAR -> "android.view.View"
522
+ }
523
+ }
524
+
525
+ @JvmStatic
526
+ public fun fromValue(value: String?): AccessibilityRole {
527
+ if (value == null) {
528
+ return NONE
529
+ }
530
+
531
+ for (role in entries) {
532
+ if (role.name.equals(value, ignoreCase = true)) {
533
+ return role
534
+ }
535
+ }
536
+ throw IllegalArgumentException("Invalid accessibility role value: $value")
537
+ }
538
+
539
+ @JvmStatic
540
+ public fun fromRole(role: Role): AccessibilityRole? {
541
+ return when (role) {
542
+ Role.ALERT -> ALERT
543
+ Role.BUTTON -> BUTTON
544
+ Role.CHECKBOX -> CHECKBOX
545
+ Role.COMBOBOX -> COMBOBOX
546
+ Role.GRID -> GRID
547
+ Role.HEADING -> HEADER
548
+ Role.IMG -> IMAGE
549
+ Role.LINK -> LINK
550
+ Role.LIST -> LIST
551
+ Role.MENU -> MENU
552
+ Role.MENUBAR -> MENUBAR
553
+ Role.MENUITEM -> MENUITEM
554
+ Role.NONE -> NONE
555
+ Role.PROGRESSBAR -> PROGRESSBAR
556
+ Role.RADIO -> RADIO
557
+ Role.RADIOGROUP -> RADIOGROUP
558
+ Role.SCROLLBAR -> SCROLLBAR
559
+ Role.SEARCHBOX -> SEARCH
560
+ Role.SLIDER -> ADJUSTABLE
561
+ Role.SPINBUTTON -> SPINBUTTON
562
+ Role.SUMMARY -> SUMMARY
563
+ Role.SWITCH -> SWITCH
564
+ Role.TAB -> TAB
565
+ Role.TABLIST -> TABLIST
566
+ Role.TIMER -> TIMER
567
+ Role.TOOLBAR -> TOOLBAR
568
+ else -> // No mapping from ARIA role to AccessibilityRole
569
+ null
570
+ }
571
+ }
572
+
573
+ @JvmStatic
574
+ public fun fromViewTag(view: View): AccessibilityRole? {
575
+ val role = view.getTag(R.id.role) as Role?
576
+ return if (role != null) {
577
+ fromRole(role)
578
+ } else {
579
+ view.getTag(R.id.accessibility_role) as AccessibilityRole?
580
+ }
581
+ }
582
+ }
583
+ }
584
+
585
+ public companion object {
586
+ public const val TOP_ACCESSIBILITY_ACTION_EVENT: String = "topAccessibilityAction"
587
+
588
+ private val actionIdMap =
589
+ mapOf<String, Int>(
590
+ "activate" to AccessibilityActionCompat.ACTION_CLICK.id,
591
+ "longpress" to AccessibilityActionCompat.ACTION_LONG_CLICK.id,
592
+ "increment" to AccessibilityActionCompat.ACTION_SCROLL_FORWARD.id,
593
+ "decrement" to AccessibilityActionCompat.ACTION_SCROLL_BACKWARD.id,
594
+ "expand" to AccessibilityActionCompat.ACTION_EXPAND.id,
595
+ "collapse" to AccessibilityActionCompat.ACTION_COLLAPSE.id,
596
+ "accessibilityFocus" to AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS.id,
597
+ )
598
+
599
+ private const val TAG = "ReactAccessibilityDelegate"
600
+ private var customActionCounter = 0x3f000000
601
+ private val customActionIdMap: MutableMap<String?, Int> = HashMap()
602
+ private const val TIMEOUT_SEND_ACCESSIBILITY_EVENT = 200
603
+ private const val SEND_EVENT = 1
604
+ private const val delimiter = ", "
605
+ private const val delimiterLength = delimiter.length
606
+
607
+ // State constants for states which have analogs in AccessibilityNodeInfo
608
+ private const val STATE_DISABLED = "disabled"
609
+ private const val STATE_SELECTED = "selected"
610
+ private const val STATE_CHECKED = "checked"
611
+
612
+ @JvmStatic
613
+ public fun setDelegate(
614
+ view: View,
615
+ originalFocus: Boolean,
616
+ originalImportantForAccessibility: Int,
617
+ ) {
618
+ // if a view already has an accessibility delegate, replacing it could cause
619
+ // problems, so leave it alone.
620
+ if (
621
+ !ViewCompat.hasAccessibilityDelegate(view) &&
622
+ (view.getTag(R.id.accessibility_role) != null ||
623
+ view.getTag(R.id.accessibility_state) != null ||
624
+ view.getTag(R.id.accessibility_actions) != null ||
625
+ view.getTag(R.id.react_test_id) != null ||
626
+ view.getTag(R.id.accessibility_collection_item) != null ||
627
+ view.getTag(R.id.accessibility_links) != null ||
628
+ view.getTag(R.id.role) != null)
629
+ ) {
630
+ ViewCompat.setAccessibilityDelegate(
631
+ view,
632
+ ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility),
633
+ )
634
+ }
635
+ }
636
+
637
+ // Explicitly re-set the delegate, even if one has already been set.
638
+ @JvmStatic
639
+ public fun resetDelegate(
640
+ view: View,
641
+ originalFocus: Boolean,
642
+ originalImportantForAccessibility: Int,
643
+ ) {
644
+ ViewCompat.setAccessibilityDelegate(
645
+ view,
646
+ ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility),
647
+ )
648
+ }
649
+
650
+ private fun setState(
651
+ info: AccessibilityNodeInfoCompat,
652
+ accessibilityState: ReadableMap,
653
+ ) {
654
+ val i = accessibilityState.keySetIterator()
655
+ while (i.hasNextKey()) {
656
+ val state = i.nextKey()
657
+ val value = accessibilityState.getDynamic(state)
658
+ if (state == STATE_SELECTED && value.type == ReadableType.Boolean) {
659
+ info.isSelected = value.asBoolean()
660
+ } else if (state == STATE_DISABLED && value.type == ReadableType.Boolean) {
661
+ info.isEnabled = !value.asBoolean()
662
+ } else if (state == STATE_CHECKED && value.type == ReadableType.Boolean) {
663
+ val boolValue = value.asBoolean()
664
+ info.isCheckable = true
665
+ info.isChecked = boolValue
666
+ }
667
+ }
668
+ }
669
+
670
+ // TODO: Eventually support for other languages on talkback
671
+ @JvmStatic
672
+ public fun setRole(
673
+ nodeInfo: AccessibilityNodeInfoCompat,
674
+ role: AccessibilityRole?,
675
+ context: Context,
676
+ ) {
677
+ val resolvedRole = role ?: AccessibilityRole.NONE
678
+ nodeInfo.className = AccessibilityRole.getValue(resolvedRole)
679
+ when (resolvedRole) {
680
+ AccessibilityRole.LINK -> {
681
+ nodeInfo.roleDescription = context.getString(R.string.link_description)
682
+ }
683
+ AccessibilityRole.IMAGE -> {
684
+ nodeInfo.roleDescription = context.getString(R.string.image_description)
685
+ }
686
+ AccessibilityRole.IMAGEBUTTON -> {
687
+ nodeInfo.roleDescription = context.getString(R.string.imagebutton_description)
688
+ nodeInfo.isClickable = true
689
+ }
690
+ AccessibilityRole.BUTTON -> {
691
+ nodeInfo.isClickable = true
692
+ }
693
+ AccessibilityRole.TOGGLEBUTTON -> {
694
+ nodeInfo.isClickable = true
695
+ nodeInfo.isCheckable = true
696
+ }
697
+ AccessibilityRole.SUMMARY -> {
698
+ nodeInfo.roleDescription = context.getString(R.string.summary_description)
699
+ }
700
+ AccessibilityRole.HEADER -> {
701
+ nodeInfo.isHeading = true
702
+ }
703
+ AccessibilityRole.ALERT -> {
704
+ nodeInfo.roleDescription = context.getString(R.string.alert_description)
705
+ }
706
+ AccessibilityRole.COMBOBOX -> {
707
+ nodeInfo.roleDescription = context.getString(R.string.combobox_description)
708
+ }
709
+ AccessibilityRole.MENU -> {
710
+ nodeInfo.roleDescription = context.getString(R.string.menu_description)
711
+ }
712
+ AccessibilityRole.MENUBAR -> {
713
+ nodeInfo.roleDescription = context.getString(R.string.menubar_description)
714
+ }
715
+ AccessibilityRole.MENUITEM -> {
716
+ nodeInfo.roleDescription = context.getString(R.string.menuitem_description)
717
+ }
718
+ AccessibilityRole.PROGRESSBAR -> {
719
+ nodeInfo.roleDescription = context.getString(R.string.progressbar_description)
720
+ }
721
+ AccessibilityRole.RADIOGROUP -> {
722
+ nodeInfo.roleDescription = context.getString(R.string.radiogroup_description)
723
+ }
724
+ AccessibilityRole.SCROLLBAR -> {
725
+ nodeInfo.roleDescription = context.getString(R.string.scrollbar_description)
726
+ }
727
+ AccessibilityRole.SPINBUTTON -> {
728
+ nodeInfo.roleDescription = context.getString(R.string.spinbutton_description)
729
+ }
730
+ AccessibilityRole.TAB -> {
731
+ nodeInfo.roleDescription = context.getString(R.string.rn_tab_description)
732
+ }
733
+ AccessibilityRole.TABLIST -> {
734
+ nodeInfo.roleDescription = context.getString(R.string.tablist_description)
735
+ }
736
+ AccessibilityRole.TIMER -> {
737
+ nodeInfo.roleDescription = context.getString(R.string.timer_description)
738
+ }
739
+ AccessibilityRole.TOOLBAR -> {
740
+ nodeInfo.roleDescription = context.getString(R.string.toolbar_description)
741
+ }
742
+ else -> {
743
+ // TODO: Add support for other roles
744
+ }
745
+ }
746
+ }
747
+
748
+ /**
749
+ * Determines if the supplied [View] and [AccessibilityNodeInfoCompat] has any children which
750
+ * are not independently accessibility focusable and also have a spoken description.
751
+ *
752
+ * NOTE: Accessibility services will include these children's descriptions in the closest
753
+ * focusable ancestor.
754
+ *
755
+ * @param view The [View] to evaluate
756
+ * @param node The [AccessibilityNodeInfoCompat] to evaluate
757
+ * @return `true` if it has any non-actionable speaking descendants within its subtree
758
+ */
759
+ @JvmStatic
760
+ public fun hasNonActionableSpeakingDescendants(
761
+ node: AccessibilityNodeInfoCompat?,
762
+ view: View?,
763
+ ): Boolean {
764
+ if (node == null || view == null || (view !is ViewGroup)) {
765
+ return false
766
+ }
767
+
768
+ val viewGroup = view
769
+ var i = 0
770
+ val count = viewGroup.childCount
771
+ while (i < count) {
772
+ val childView = viewGroup.getChildAt(i)
773
+
774
+ if (childView == null) {
775
+ i++
776
+ continue
777
+ }
778
+
779
+ val childNode = AccessibilityNodeInfoCompat.obtain()
780
+ @Suppress("DEPRECATION") // TODO: Replace with direct invocation on view
781
+ ViewCompat.onInitializeAccessibilityNodeInfo(childView, childNode)
782
+
783
+ if (!childNode.isVisibleToUser) {
784
+ i++
785
+ continue
786
+ }
787
+
788
+ if (isAccessibilityFocusable(childNode, childView)) {
789
+ i++
790
+ continue
791
+ }
792
+
793
+ if (isSpeakingNode(childNode, childView)) {
794
+ return true
795
+ }
796
+
797
+ i++
798
+ }
799
+
800
+ return false
801
+ }
802
+
803
+ /**
804
+ * Returns whether the node has valid RangeInfo.
805
+ *
806
+ * @param node The node to check.
807
+ * @return Whether the node has valid RangeInfo.
808
+ */
809
+ @JvmStatic
810
+ public fun hasValidRangeInfo(node: AccessibilityNodeInfoCompat?): Boolean {
811
+ if (node == null) {
812
+ return false
813
+ }
814
+
815
+ val rangeInfo = node.rangeInfo ?: return false
816
+
817
+ val maxProgress = rangeInfo.max
818
+ val minProgress = rangeInfo.min
819
+ val currentProgress = rangeInfo.current
820
+ val diffProgress = maxProgress - minProgress
821
+ return (diffProgress > 0.0f) &&
822
+ (currentProgress >= minProgress) &&
823
+ (currentProgress <= maxProgress)
824
+ }
825
+
826
+ /**
827
+ * Returns whether the specified node has state description.
828
+ *
829
+ * @param node The node to check.
830
+ * @return `true` if the node has state description.
831
+ */
832
+ private fun hasStateDescription(node: AccessibilityNodeInfoCompat?): Boolean {
833
+ return node != null &&
834
+ (!node.stateDescription.isNullOrEmpty() || node.isCheckable || hasValidRangeInfo(node))
835
+ }
836
+
837
+ /**
838
+ * Returns whether the supplied [View] and [AccessibilityNodeInfoCompat] would produce spoken
839
+ * feedback if it were accessibility focused. NOTE: not all speaking nodes are focusable.
840
+ *
841
+ * @param view The [View] to evaluate
842
+ * @param node The [AccessibilityNodeInfoCompat] to evaluate
843
+ * @return `true` if it meets the criterion for producing spoken feedback
844
+ */
845
+ @Suppress("DEPRECATION") // TODO: Replace ViewCompat with direct invocation on view
846
+ @JvmStatic
847
+ public fun isSpeakingNode(node: AccessibilityNodeInfoCompat?, view: View?): Boolean {
848
+ if (node == null || view == null) {
849
+ return false
850
+ }
851
+
852
+ val important = ViewCompat.getImportantForAccessibility(view)
853
+ if (
854
+ important == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS ||
855
+ (important == ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO && node.childCount <= 0)
856
+ ) {
857
+ return false
858
+ }
859
+
860
+ return hasText(node) ||
861
+ hasStateDescription(node) ||
862
+ node.isCheckable ||
863
+ hasNonActionableSpeakingDescendants(node, view)
864
+ }
865
+
866
+ @JvmStatic
867
+ public fun hasText(node: AccessibilityNodeInfoCompat?): Boolean {
868
+ return node != null &&
869
+ node.collectionInfo == null &&
870
+ (!node.text.isNullOrEmpty() ||
871
+ !node.contentDescription.isNullOrEmpty() ||
872
+ !node.hintText.isNullOrEmpty())
873
+ }
874
+
875
+ /**
876
+ * Determines if the provided [View] and [AccessibilityNodeInfoCompat] meet the criteria for
877
+ * gaining accessibility focus.
878
+ *
879
+ * Note: this is evaluating general focusability by accessibility services, and does not mean
880
+ * this view will be guaranteed to be focused by specific services such as Talkback. For
881
+ * Talkback focusability, see [isTalkbackFocusable(View)]
882
+ *
883
+ * @param view The [View] to evaluate
884
+ * @param node The [AccessibilityNodeInfoCompat] to evaluate
885
+ * @return `true` if it is possible to gain accessibility focus
886
+ */
887
+ @JvmStatic
888
+ public fun isAccessibilityFocusable(node: AccessibilityNodeInfoCompat?, view: View?): Boolean {
889
+ if (node == null || view == null) {
890
+ return false
891
+ }
892
+
893
+ // Never focus invisible nodes.
894
+ if (!node.isVisibleToUser) {
895
+ return false
896
+ }
897
+
898
+ // Always focus "actionable" nodes.
899
+ return node.isScreenReaderFocusable || isActionableForAccessibility(node)
900
+ }
901
+
902
+ /**
903
+ * Returns whether a node is actionable. That is, the node supports one of
904
+ * [AccessibilityNodeInfoCompat#isClickable()], [AccessibilityNodeInfoCompat#isFocusable()], or
905
+ * [AccessibilityNodeInfoCompat#isLongClickable()].
906
+ *
907
+ * @param node The [AccessibilityNodeInfoCompat] to evaluate
908
+ * @return `true` if node is actionable.
909
+ */
910
+ @JvmStatic
911
+ public fun isActionableForAccessibility(node: AccessibilityNodeInfoCompat?): Boolean {
912
+ if (node == null) {
913
+ return false
914
+ }
915
+
916
+ if (node.isClickable || node.isLongClickable || node.isFocusable) {
917
+ return true
918
+ }
919
+
920
+ return node.actionList.any { action ->
921
+ action == AccessibilityActionCompat.ACTION_CLICK ||
922
+ action == AccessibilityActionCompat.ACTION_LONG_CLICK ||
923
+ action == AccessibilityActionCompat.ACTION_FOCUS
924
+ }
925
+ }
926
+
927
+ /**
928
+ * Returns a cached instance if such is available otherwise a new one.
929
+ *
930
+ * @param view The [View] to derive the AccessibilityNodeInfo properties from.
931
+ * @return [FlipperObject] containing the properties.
932
+ */
933
+ @JvmStatic
934
+ public fun createNodeInfoFromView(view: View?): AccessibilityNodeInfoCompat? {
935
+ if (view == null) {
936
+ return null
937
+ }
938
+
939
+ val nodeInfo = AccessibilityNodeInfoCompat.obtain()
940
+
941
+ try {
942
+ @Suppress("DEPRECATION") // TODO: Replace with direct invocation on view
943
+ ViewCompat.onInitializeAccessibilityNodeInfo(view, nodeInfo)
944
+ } catch (e: NullPointerException) {
945
+ // For some unknown reason, Android seems to occasionally throw a NPE from
946
+ // onInitializeAccessibilityNodeInfo.
947
+ return null
948
+ }
949
+
950
+ return nodeInfo
951
+ }
952
+
953
+ /**
954
+ * Creates the text that Google's TalkBack screen reader will read aloud for a given [View].
955
+ * This may be any combination of the [View]'s `text`, `contentDescription`, and the `text` and
956
+ * `contentDescription` of any ancestor [View].
957
+ *
958
+ * This description is generally ported over from Google's TalkBack screen reader, and this
959
+ * should be kept up to date with their implementation (as much as necessary). Details can be
960
+ * seen in their source code here:
961
+ *
962
+ * https://github.com/google/talkback/compositor/src/main/res/raw/compositor.json - search for
963
+ * "get_description_for_tree", "append_description_for_tree", "description_for_tree_nodes"
964
+ *
965
+ * @param view The [View] to evaluate.
966
+ * @param info The default [AccessibilityNodeInfoCompat].
967
+ * @return `String` representing what talkback will say when a [View] is focused.
968
+ */
969
+ @JvmStatic
970
+ public fun getTalkbackDescription(
971
+ view: View,
972
+ info: AccessibilityNodeInfoCompat?,
973
+ ): CharSequence? {
974
+ val node =
975
+ if (info == null) createNodeInfoFromView(view)
976
+ else AccessibilityNodeInfoCompat.obtain(info)
977
+
978
+ if (node == null) {
979
+ return null
980
+ }
981
+
982
+ val contentDescription = node.contentDescription
983
+ val nodeText = node.text
984
+
985
+ val hasNodeText = !nodeText.isNullOrEmpty()
986
+ val isEditText = view is EditText
987
+
988
+ val talkbackSegments = StringBuilder()
989
+
990
+ // EditText's prioritize their own text content over a contentDescription so skip this
991
+ if (!contentDescription.isNullOrEmpty() && (!isEditText || !hasNodeText)) {
992
+ // next add content description
993
+ talkbackSegments.append(contentDescription)
994
+ return talkbackSegments
995
+ }
996
+
997
+ // TextView
998
+ if (hasNodeText) {
999
+ talkbackSegments.append(nodeText)
1000
+ return talkbackSegments
1001
+ }
1002
+
1003
+ // If there are child views and no contentDescription the text of all non-focusable
1004
+ // children,
1005
+ // comma separated, becomes the description.
1006
+ if (view is ViewGroup) {
1007
+ val concatChildDescription = StringBuilder()
1008
+ val viewGroup = view
1009
+
1010
+ var i = 0
1011
+ val count = viewGroup.childCount
1012
+ while (i < count) {
1013
+ val child = viewGroup.getChildAt(i)
1014
+
1015
+ val childNodeInfo = AccessibilityNodeInfoCompat.obtain()
1016
+ @Suppress("DEPRECATION") // TODO: Replace with direct invocation on view
1017
+ ViewCompat.onInitializeAccessibilityNodeInfo(child, childNodeInfo)
1018
+
1019
+ if (
1020
+ isSpeakingNode(childNodeInfo, child) &&
1021
+ !isAccessibilityFocusable(childNodeInfo, child)
1022
+ ) {
1023
+ val childNodeDescription = getTalkbackDescription(child, null)
1024
+ if (!childNodeDescription.isNullOrEmpty()) {
1025
+ concatChildDescription.append(childNodeDescription.toString() + delimiter)
1026
+ }
1027
+ }
1028
+ i++
1029
+ }
1030
+
1031
+ return removeFinalDelimiter(concatChildDescription)
1032
+ }
1033
+
1034
+ return null
1035
+ }
1036
+
1037
+ private fun removeFinalDelimiter(builder: StringBuilder): String {
1038
+ val end = builder.length
1039
+ if (end > 0) {
1040
+ builder.delete(end - delimiterLength, end)
1041
+ }
1042
+ return builder.toString()
1043
+ }
1044
+ }
1045
+ }