react-native-tvos 0.81.1-2 → 0.82.0-0rc0

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 (1595) 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 -18
  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/MessageQueue.js +4 -0
  33. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  34. package/Libraries/Blob/BlobManager.js +1 -1
  35. package/Libraries/Blob/URLSearchParams.js +2 -0
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -2
  37. package/Libraries/Components/Button.js +1 -1
  38. package/Libraries/Components/Pressable/Pressable.js +10 -1
  39. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  40. package/Libraries/Components/ScrollView/ScrollView.js +13 -4
  41. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  42. package/Libraries/Components/StatusBar/StatusBar.js +2 -2
  43. package/Libraries/Components/Switch/Switch.js +2 -2
  44. package/Libraries/Components/TV/TVFocusGuideView.js +29 -34
  45. package/Libraries/Components/TextInput/TextInput.flow.js +12 -5
  46. package/Libraries/Components/TextInput/TextInput.js +14 -5
  47. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  48. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  49. package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
  50. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
  51. package/Libraries/Components/Touchable/TouchableOpacity.js +1 -1
  52. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
  53. package/Libraries/Components/View/View.js +100 -189
  54. package/Libraries/Core/Devtools/loadBundleFromServer.js +1 -1
  55. package/Libraries/Core/ExceptionsManager.js +4 -2
  56. package/Libraries/Core/ReactFiberErrorDialog.js +3 -3
  57. package/Libraries/Core/ReactNativeVersion.js +38 -10
  58. package/Libraries/Core/Timers/JSTimers.js +3 -1
  59. package/Libraries/Core/Timers/immediateShim.js +1 -1
  60. package/Libraries/Core/Timers/queueMicrotask.js +1 -0
  61. package/Libraries/Core/setUpPerformance.js +2 -1
  62. package/Libraries/Debugging/DebuggingOverlayRegistry.js +5 -3
  63. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +2 -1
  64. package/Libraries/Image/Image.android.js +327 -111
  65. package/Libraries/Image/Image.ios.js +6 -1
  66. package/Libraries/Image/ImageSourceUtils.js +8 -2
  67. package/Libraries/Image/RCTImageShadowView.h +5 -0
  68. package/Libraries/Image/RCTImageShadowView.mm +4 -0
  69. package/Libraries/Image/RCTImageView.h +5 -0
  70. package/Libraries/Image/RCTImageView.mm +4 -0
  71. package/Libraries/Image/RCTImageViewManager.h +5 -0
  72. package/Libraries/Image/RCTImageViewManager.mm +4 -0
  73. package/Libraries/Image/RCTUIImageViewAnimated.mm +6 -3
  74. package/Libraries/Image/resolveAssetSource.js +1 -1
  75. package/Libraries/Interaction/InteractionManager.js +118 -167
  76. package/Libraries/Interaction/PanResponder.js +1 -1
  77. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -0
  78. package/Libraries/Lists/FlatList.js +5 -6
  79. package/Libraries/LogBox/Data/LogBoxData.js +5 -2
  80. package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
  81. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -1
  82. package/Libraries/Modal/Modal.js +3 -3
  83. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +13 -33
  84. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  85. package/Libraries/NativeComponent/ViewConfig.js +2 -2
  86. package/Libraries/Network/RCTNetworking.android.js +1 -1
  87. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  88. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  89. package/Libraries/Network/XMLHttpRequest.js +20 -5
  90. package/Libraries/Network/convertRequestBody.js +1 -1
  91. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -9
  92. package/Libraries/Pressability/HoverState.js +2 -0
  93. package/Libraries/Pressability/Pressability.js +1 -1
  94. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  95. package/Libraries/ReactNative/AppRegistryImpl.js +4 -2
  96. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -0
  97. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +3 -3
  98. package/Libraries/ReactNative/RendererImplementation.js +117 -118
  99. package/Libraries/ReactNative/UIManager.js +3 -3
  100. package/Libraries/ReactNative/renderApplication.js +1 -0
  101. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
  102. package/Libraries/Renderer/README.md +1 -1
  103. package/Libraries/Renderer/implementations/ReactFabric-dev.js +38 -35
  104. package/Libraries/Renderer/implementations/ReactFabric-prod.js +51 -22
  105. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +54 -24
  106. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +36 -33
  107. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5 -5
  108. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +5 -5
  109. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  110. package/Libraries/Share/Share.js +4 -0
  111. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +2 -2
  112. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +2 -2
  113. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -22
  114. package/Libraries/StyleSheet/StyleSheetExports.js +2 -8
  115. package/Libraries/StyleSheet/StyleSheetExports.js.flow +11 -18
  116. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  117. package/Libraries/StyleSheet/processAspectRatio.js +2 -0
  118. package/Libraries/StyleSheet/processFilter.js +5 -5
  119. package/Libraries/StyleSheet/splitLayoutProps.js +2 -2
  120. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +7 -1
  121. package/Libraries/Text/BaseText/RCTBaseTextShadowView.mm +4 -0
  122. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +5 -0
  123. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +4 -0
  124. package/Libraries/Text/RCTTextAttributes.h +10 -3
  125. package/Libraries/Text/RCTTextAttributes.mm +4 -0
  126. package/Libraries/Text/RawText/RCTRawTextShadowView.h +5 -0
  127. package/Libraries/Text/RawText/RCTRawTextShadowView.mm +4 -0
  128. package/Libraries/Text/RawText/RCTRawTextViewManager.h +5 -0
  129. package/Libraries/Text/RawText/RCTRawTextViewManager.mm +4 -0
  130. package/Libraries/Text/Text/RCTTextShadowView.h +5 -0
  131. package/Libraries/Text/Text/RCTTextShadowView.mm +4 -0
  132. package/Libraries/Text/Text/RCTTextView.h +5 -0
  133. package/Libraries/Text/Text/RCTTextView.mm +4 -0
  134. package/Libraries/Text/Text/RCTTextViewManager.h +5 -0
  135. package/Libraries/Text/Text/RCTTextViewManager.mm +4 -0
  136. package/Libraries/Text/Text.js +534 -234
  137. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +5 -0
  138. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.mm +4 -0
  139. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +5 -0
  140. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.mm +4 -0
  141. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +5 -0
  142. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.mm +4 -0
  143. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +6 -1
  144. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +4 -0
  145. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +5 -0
  146. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +4 -0
  147. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +5 -0
  148. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.mm +4 -0
  149. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +5 -0
  150. package/Libraries/Text/TextInput/RCTInputAccessoryView.mm +4 -0
  151. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +5 -0
  152. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.mm +4 -0
  153. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +5 -0
  154. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.mm +4 -0
  155. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +5 -0
  156. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.mm +4 -0
  157. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +5 -0
  158. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.mm +4 -0
  159. package/Libraries/Text/TextNativeComponent.js +2 -2
  160. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +5 -0
  161. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.mm +4 -0
  162. package/Libraries/Text/VirtualText/RCTVirtualTextView.h +5 -0
  163. package/Libraries/Text/VirtualText/RCTVirtualTextView.mm +4 -0
  164. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +5 -0
  165. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.mm +4 -0
  166. package/Libraries/Utilities/Appearance.d.ts +3 -5
  167. package/Libraries/Utilities/Appearance.js +5 -17
  168. package/Libraries/Utilities/HMRClient.js +2 -1
  169. package/Libraries/Utilities/Platform.android.js +3 -3
  170. package/Libraries/Utilities/Platform.d.ts +1 -0
  171. package/Libraries/Utilities/Platform.ios.js +1 -1
  172. package/Libraries/Utilities/PlatformTypes.js +1 -1
  173. package/Libraries/Utilities/ReactNativeTestTools.js +12 -0
  174. package/Libraries/Utilities/SceneTracker.js +1 -1
  175. package/Libraries/Utilities/codegenNativeCommands.js +1 -1
  176. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  177. package/Libraries/Utilities/createPerformanceLogger.js +32 -0
  178. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  179. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  180. package/Libraries/Utilities/useMergeRefs.js +1 -1
  181. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  182. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +5 -0
  183. package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +4 -0
  184. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +5 -0
  185. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +4 -0
  186. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +5 -0
  187. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -0
  188. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +5 -0
  189. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +4 -0
  190. package/Libraries/Wrapper/RCTWrapper.h +28 -23
  191. package/Libraries/Wrapper/RCTWrapperShadowView.h +5 -0
  192. package/Libraries/Wrapper/RCTWrapperShadowView.m +4 -0
  193. package/Libraries/Wrapper/RCTWrapperView.h +7 -1
  194. package/Libraries/Wrapper/RCTWrapperView.m +4 -0
  195. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +5 -0
  196. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +4 -0
  197. package/Libraries/Wrapper/RCTWrapperViewManager.h +5 -0
  198. package/Libraries/Wrapper/RCTWrapperViewManager.m +4 -0
  199. package/Libraries/promiseRejectionTrackingOptions.js +17 -31
  200. package/Libraries/vendor/emitter/EventEmitter.js +1 -1
  201. package/README.md +25 -17
  202. package/React/Base/RCTBridge+Private.h +4 -2
  203. package/React/Base/RCTBridge.h +5 -2
  204. package/React/Base/RCTBridge.mm +3 -4
  205. package/React/Base/RCTBridgeDelegate.h +14 -6
  206. package/React/Base/RCTBridgeMethod.h +1 -1
  207. package/React/Base/RCTBridgeProxy.mm +1 -1
  208. package/React/Base/RCTJavaScriptExecutor.h +6 -3
  209. package/React/Base/RCTModuleData.h +29 -15
  210. package/React/Base/RCTRootContentView.h +15 -8
  211. package/React/Base/RCTRootView.h +2 -0
  212. package/React/Base/RCTRootViewInternal.h +1 -1
  213. package/React/Base/RCTUtils.h +0 -1
  214. package/React/Base/RCTUtils.mm +1 -17
  215. package/React/Base/RCTVersion.m +4 -4
  216. package/React/Base/Surface/RCTSurface.h +2 -1
  217. package/React/Base/Surface/RCTSurfaceRootShadowView.h +4 -2
  218. package/React/CoreModules/RCTDevMenu.mm +1 -8
  219. package/React/CoreModules/RCTLogBoxView.mm +2 -0
  220. package/React/CoreModules/RCTPerfMonitor.mm +1 -1
  221. package/React/CoreModules/React-CoreModules.podspec +1 -1
  222. package/React/CxxBridge/RCTCxxBridge.mm +1 -1
  223. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +1 -0
  224. package/React/CxxBridge/RCTObjcExecutor.h +3 -1
  225. package/React/CxxModule/DispatchMessageQueueThread.h +2 -1
  226. package/React/CxxModule/RCTCxxUtils.h +1 -0
  227. package/React/CxxModule/RCTNativeModule.h +3 -1
  228. package/React/DevSupport/RCTInspectorNetworkHelper.h +3 -3
  229. package/React/DevSupport/RCTInspectorNetworkHelper.mm +1 -1
  230. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +165 -51
  231. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +286 -67
  232. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +1 -0
  233. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +1 -0
  234. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.cpp +25 -0
  235. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +25 -0
  236. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +208 -2
  237. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +81 -2
  238. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/RCTComponentViewHelpers.h +4 -0
  239. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +1 -0
  240. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +11 -0
  241. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +2 -0
  242. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +1 -1
  243. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +31 -25
  244. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +4 -1
  245. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +92 -6
  246. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerProtocol.h +14 -0
  247. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.h +25 -0
  248. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewContainerState.mm +190 -0
  249. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTVirtualViewProtocol.h +20 -0
  250. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +0 -5
  251. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -1
  252. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +23 -36
  253. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +23 -20
  254. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.h +25 -0
  255. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +323 -0
  256. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h +18 -0
  257. package/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h +17 -0
  258. package/React/Fabric/Mounting/RCTComponentViewDescriptor.h +4 -4
  259. package/React/Fabric/Mounting/RCTComponentViewFactory.mm +4 -2
  260. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  261. package/React/Fabric/Mounting/RCTMountingManager.mm +2 -2
  262. package/React/Fabric/RCTConversions.h +3 -3
  263. package/React/Fabric/RCTPrimitives.h +1 -1
  264. package/React/Fabric/RCTSurfacePresenter.h +2 -2
  265. package/React/Fabric/RCTSurfacePresenter.mm +12 -10
  266. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +1 -1
  267. package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -2
  268. package/React/Fabric/RCTSurfaceRegistry.h +1 -1
  269. package/React/Fabric/Utils/RCTGradientUtils.mm +9 -9
  270. package/React/Fabric/Utils/RCTRadialGradient.mm +6 -5
  271. package/React/Modules/RCTUIManager.h +8 -8
  272. package/React/Modules/RCTUIManager.mm +11 -16
  273. package/React/Profiler/RCTProfile.h +45 -28
  274. package/React/React-RCTFabric.podspec +1 -0
  275. package/React/Runtime/React-RCTRuntime.podspec +1 -0
  276. package/React/Tests/Text/RCTParagraphComponentViewTests.mm +4 -2
  277. package/React/Views/RCTActivityIndicatorView.h +5 -0
  278. package/React/Views/RCTActivityIndicatorView.m +4 -0
  279. package/React/Views/RCTActivityIndicatorViewManager.h +5 -0
  280. package/React/Views/RCTActivityIndicatorViewManager.m +4 -0
  281. package/React/Views/RCTDebuggingOverlayManager.h +5 -0
  282. package/React/Views/RCTDebuggingOverlayManager.m +4 -0
  283. package/React/Views/RCTFont.mm +3 -3
  284. package/React/Views/RCTModalHostView.h +6 -1
  285. package/React/Views/RCTModalHostView.m +4 -0
  286. package/React/Views/RCTModalHostViewController.h +5 -0
  287. package/React/Views/RCTModalHostViewController.m +4 -0
  288. package/React/Views/RCTModalHostViewManager.h +8 -2
  289. package/React/Views/RCTModalHostViewManager.m +4 -0
  290. package/React/Views/RCTModalManager.h +6 -1
  291. package/React/Views/RCTModalManager.m +4 -0
  292. package/React/Views/RCTRootShadowView.h +1 -0
  293. package/React/Views/RCTRootShadowView.m +12 -0
  294. package/React/Views/RCTShadowView.m +92 -0
  295. package/React/Views/RCTSwitch.h +6 -1
  296. package/React/Views/RCTSwitch.m +5 -1
  297. package/React/Views/RCTSwitchManager.h +6 -1
  298. package/React/Views/RCTSwitchManager.m +5 -1
  299. package/React/Views/RefreshControl/RCTRefreshControl.h +7 -2
  300. package/React/Views/RefreshControl/RCTRefreshControl.m +9 -3
  301. package/React/Views/RefreshControl/RCTRefreshControlManager.h +6 -1
  302. package/React/Views/RefreshControl/RCTRefreshControlManager.m +5 -1
  303. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.h +5 -0
  304. package/React/Views/SafeAreaView/RCTSafeAreaShadowView.m +4 -0
  305. package/React/Views/SafeAreaView/RCTSafeAreaView.h +5 -0
  306. package/React/Views/SafeAreaView/RCTSafeAreaView.m +4 -0
  307. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.h +5 -0
  308. package/React/Views/SafeAreaView/RCTSafeAreaViewLocalData.m +4 -0
  309. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.h +5 -0
  310. package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +4 -0
  311. package/React/Views/ScrollView/RCTScrollContentShadowView.h +5 -0
  312. package/React/Views/ScrollView/RCTScrollContentShadowView.m +4 -0
  313. package/React/Views/ScrollView/RCTScrollContentView.h +5 -0
  314. package/React/Views/ScrollView/RCTScrollContentView.m +4 -0
  315. package/React/Views/ScrollView/RCTScrollContentViewManager.h +5 -0
  316. package/React/Views/ScrollView/RCTScrollContentViewManager.m +4 -0
  317. package/React/Views/ScrollView/RCTScrollView.h +5 -0
  318. package/React/Views/ScrollView/RCTScrollView.m +4 -0
  319. package/React/Views/ScrollView/RCTScrollViewManager.h +6 -0
  320. package/React/Views/ScrollView/RCTScrollViewManager.m +4 -0
  321. package/ReactAndroid/api/ReactAndroid.api +340 -254
  322. package/ReactAndroid/build.gradle.kts +84 -32
  323. package/ReactAndroid/gradle.properties +1 -1
  324. package/ReactAndroid/hermes-engine/build.gradle.kts +18 -13
  325. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +2 -1
  326. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +4 -4
  327. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +8 -5
  328. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +36 -23
  329. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +4 -3
  330. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +7 -3
  331. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +4 -2
  332. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +12 -3
  333. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +1 -0
  334. package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.kt +24 -13
  335. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +5 -1
  336. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +70 -44
  337. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +19 -11
  338. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +3 -3
  339. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +5 -7
  340. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +18 -5
  341. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +2 -1
  342. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +3 -2
  343. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +16 -10
  344. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +23 -5
  345. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +2 -1
  346. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +1 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +5 -3
  348. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +1 -1
  349. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimationDriver.kt +2 -1
  350. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +1 -1
  351. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +1 -1
  352. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +3 -2
  353. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +5 -3
  354. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +7 -5
  355. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +17 -11
  356. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -2
  357. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +3 -2
  358. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +129 -63
  359. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +75 -52
  360. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +11 -7
  361. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +7 -4
  362. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +3 -2
  363. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +3 -2
  364. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +1 -1
  365. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +3 -2
  366. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +4 -4
  367. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.kt +358 -0
  368. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +3 -2
  369. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +2 -1
  370. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +13 -3
  371. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +16 -6
  372. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +7 -1
  373. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.kt +8 -4
  374. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +1 -1
  375. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +6 -3
  376. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.kt +2 -1
  377. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Dynamic.kt +1 -1
  378. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.kt +4 -4
  379. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +1 -1
  380. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSInstance.kt +2 -2
  381. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +52 -24
  382. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +4 -3
  383. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyMap.kt +2 -1
  384. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +6 -4
  385. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +10 -3
  386. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +5 -4
  387. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +21 -7
  388. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NotThreadSafeBridgeIdleDebugListener.kt +6 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +6 -2
  390. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +2 -1
  391. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +1 -1
  392. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +2 -8
  393. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +2 -1
  394. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.kt +9 -3
  395. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +12 -3
  396. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +8 -13
  397. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.kt +1 -1
  398. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{BridgeSoLoader.kt → ReactNativeJNISoLoader.kt} +3 -7
  399. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -5
  400. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +9 -1
  401. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +4 -2
  402. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
  403. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +2 -2
  404. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerListener.kt +5 -5
  405. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +4 -0
  406. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WindowFocusChangeListener.kt +1 -1
  407. package/ReactAndroid/src/main/java/com/facebook/react/bridge/WritableNativeMap.kt +3 -1
  408. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.kt +1 -1
  409. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.kt +5 -2
  410. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +1 -1
  411. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +14 -36
  412. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadPerfStats.kt +1 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.kt +2 -1
  414. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +2 -2
  415. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.kt +4 -2
  416. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +1 -2
  417. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +3 -3
  418. package/ReactAndroid/src/main/java/com/facebook/react/common/ReleaseLevel.kt +1 -1
  419. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/FrameworkAPI.kt +2 -1
  420. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/UnstableReactNativeAPI.kt +2 -1
  421. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogLevel.kt +1 -1
  422. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogger.kt +4 -3
  423. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +1 -1
  424. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +1 -1
  425. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +1 -1
  426. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +15 -7
  427. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +2 -1
  428. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +5 -165
  429. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  430. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +15 -8
  431. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +7 -3
  432. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +10 -3
  433. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +11 -4
  434. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BundleDownloader.kt +43 -19
  435. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ChangeBundleLocationDialog.kt +13 -5
  436. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +10 -7
  437. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DebugOverlayController.kt +8 -4
  438. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +8 -3
  439. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +15 -5
  440. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +5 -3
  441. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.kt +53 -18
  442. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +155 -49
  443. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.kt +10 -2
  444. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +5 -3
  445. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.kt +1 -1
  446. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +5 -2
  447. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +1 -1
  448. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/MultipartStreamReader.kt +2 -2
  449. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +11 -6
  450. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt +1 -1
  451. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerfMonitorOverlayViewManager.kt +278 -0
  452. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +2 -1
  453. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +11 -6
  454. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +6 -3
  455. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +5 -5
  456. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +19 -8
  457. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +2 -1
  458. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/BundleLoadCallback.kt +1 -1
  459. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DebuggerFrontendPanelName.kt +21 -0
  460. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +8 -2
  461. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager.kt +1 -1
  462. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorOverlayManager.kt +20 -0
  463. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  464. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +19 -0
  465. package/{ReactCommon/react/nativemodule/core/ReactCommon/CallbackWrapper.h → ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingStateProvider.kt} +4 -3
  466. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorDevHelper.kt +20 -0
  467. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorEventDispatcher.kt +12 -0
  468. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTarget.kt +11 -0
  469. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +20 -0
  470. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +24 -0
  471. package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.kt +2 -2
  472. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +44 -14
  473. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +9 -4
  474. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +15 -3
  475. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +4 -3
  476. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +1 -1
  477. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +5 -4
  478. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +22 -9
  479. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +25 -20
  480. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +1 -1
  481. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  482. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  483. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.kt +61 -22
  484. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +5 -5
  485. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.kt +9 -3
  486. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +1 -1
  487. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +83 -23
  488. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +141 -41
  489. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +29 -9
  490. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +32 -12
  491. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +156 -46
  492. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +3 -1
  493. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +1 -1
  494. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +29 -9
  495. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlags.kt +10 -9
  496. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEvent.kt +1 -1
  497. package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -2
  498. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +68 -47
  499. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.kt +10 -7
  500. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +3 -2
  501. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +10 -6
  502. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +1 -1
  503. package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/ReactModule.kt +3 -2
  504. package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +6 -4
  505. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +15 -9
  506. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +1 -1
  507. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +8 -9
  508. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +2 -2
  509. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +1 -2
  510. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +1 -1
  511. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +4 -2
  512. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +17 -8
  513. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +1 -1
  514. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionListener.kt +1 -1
  515. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +1 -1
  516. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +2 -2
  517. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +1 -1
  519. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +12 -5
  520. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +6 -4
  521. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +3 -1
  522. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +3 -1
  523. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.kt +8 -6
  524. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogTitle.kt +2 -2
  525. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +4 -3
  526. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +9 -6
  527. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -1
  528. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +8 -4
  529. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +1 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +25 -17
  531. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +2 -2
  532. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +128 -0
  533. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +268 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +221 -115
  535. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +3 -2
  536. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressResponseBody.kt +5 -2
  537. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +3 -2
  538. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +13 -16
  539. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +23 -11
  540. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +2 -1
  541. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +3 -3
  542. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +1 -1
  543. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +6 -5
  544. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/FileIoHandler.kt +4 -2
  545. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/JSPackagerClient.kt +1 -1
  546. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +2 -1
  547. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.kt +5 -5
  548. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +5 -3
  549. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +14 -7
  550. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +24 -12
  551. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.kt +8 -4
  552. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +184 -104
  553. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +12 -1
  554. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +49 -1
  555. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +54 -26
  556. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +20 -12
  557. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +24 -6
  558. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +12 -8
  559. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +3 -3
  560. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +29 -16
  561. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +1 -1
  562. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +43 -25
  563. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +26 -10
  564. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +39 -4
  565. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +21 -9
  566. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +15 -49
  567. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +56 -15
  568. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +7 -1
  569. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -0
  570. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +15 -6
  571. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MeasureSpecAssertions.kt +2 -1
  572. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +4 -0
  573. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -0
  574. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +2 -0
  575. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +7 -1
  576. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +13 -4
  577. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +7 -4
  578. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.kt +1045 -0
  579. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +32 -50
  580. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +9 -6
  581. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +2 -0
  582. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +7 -1
  583. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.kt +3 -1
  584. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootView.kt +2 -1
  585. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +11 -2
  586. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +1 -0
  587. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +11 -7
  588. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +15 -9
  589. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.kt +37 -20
  590. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TransformHelper.kt +50 -13
  591. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +3 -1
  592. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +1 -1
  593. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -0
  594. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +30 -13
  595. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +2 -15
  596. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +24 -10
  597. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +25 -14
  598. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -0
  599. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +10 -2
  600. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +7 -4
  601. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupManager.kt +1 -0
  602. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +14 -18
  603. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +6 -3
  604. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +15 -11
  605. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.kt +2 -1
  606. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +15 -8
  607. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +7 -1
  608. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +5 -2
  609. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactPropGroup.kt +5 -2
  610. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +2 -1
  611. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +2 -1
  612. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +2 -1
  613. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +17 -7
  614. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +66 -40
  615. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +14 -6
  616. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +16 -8
  617. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +9 -3
  618. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +13 -7
  619. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +2 -1
  620. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +3 -2
  621. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -3
  622. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +3 -1
  623. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +4 -2
  624. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +18 -7
  625. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +9 -5
  626. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +19 -10
  627. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +1 -1
  628. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +1 -1
  629. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +2 -2
  630. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +15 -8
  631. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +4 -2
  632. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +8 -6
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +12 -3
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +6 -0
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +15 -4
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +6 -0
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +19 -5
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +6 -0
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +9 -1
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +5 -1
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +9 -1
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +6 -0
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +10 -2
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +9 -1
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +11 -2
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +9 -1
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +6 -3
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +6 -3
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +11 -6
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +5 -3
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +1 -1
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +4 -3
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt +18 -11
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/ReactFindViewUtil.kt +6 -6
  655. package/ReactAndroid/src/main/java/com/facebook/react/util/JSStackTrace.kt +15 -9
  656. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +15 -12
  657. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +3 -2
  658. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +25 -16
  659. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +3 -1
  660. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +2 -1
  661. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.kt +15 -10
  662. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMethod.kt +22 -1
  663. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageResizeMode.kt +20 -5
  664. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +1 -1
  665. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +22 -21
  666. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +31 -13
  667. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ScaleTypeStartInside.kt +2 -4
  668. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +11 -8
  669. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +2 -1
  670. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +15 -17
  671. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +22 -34
  672. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.kt +2 -1
  673. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.kt +2 -1
  674. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +4 -1
  675. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +14 -5
  676. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +16 -12
  677. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +6 -4
  678. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +7 -5
  679. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +4 -2
  680. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +70 -26
  682. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +47 -21
  683. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +110 -42
  684. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +11 -4
  685. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewCommandHelper.kt +11 -8
  686. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +100 -77
  687. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +46 -17
  688. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +6 -3
  689. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainer.kt +165 -0
  690. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +25 -21
  691. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +1 -1
  692. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +2 -1
  693. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +22 -19
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +11 -4
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +10 -2
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +2 -1
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +28 -15
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +26 -12
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.kt +679 -0
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.kt +4 -3
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +6 -0
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +6 -0
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +16 -8
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +59 -39
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.kt +17 -8
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +27 -15
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +24 -10
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.kt +1 -1
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +9 -1
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +8 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.kt +565 -0
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.kt +17 -17
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +254 -128
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +12 -5
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +3 -3
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +5 -2
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +2 -0
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomStyleSpan.kt +2 -2
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +2 -1
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactFragmentIndexSpan.kt +14 -0
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactLinkSpan.kt +48 -0
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/SetSpanOperation.kt +1 -1
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/TextInlineViewPlaceholderSpan.kt +2 -2
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +1 -12
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +68 -30
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.kt +4 -3
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.kt +1 -11
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextContentSizeWatcher.kt +3 -1
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.kt +1 -7
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.kt +0 -6
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +95 -38
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +1 -11
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +30 -19
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.kt +1 -7
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputTextWatcher.kt +7 -2
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextScrollWatcher.kt +2 -1
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +2 -1
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedView.kt +1 -1
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +2 -2
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +12 -3
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +24 -12
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +72 -41
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +31 -16
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +2 -1
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewMode.kt +2 -2
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/VirtualViewModeChangeEmitter.kt +19 -0
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewModeChangeEvent.kt +1 -1
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual}/VirtualViewRenderState.kt +1 -1
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualView.kt +86 -26
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/{virtualview → virtual/view}/ReactVirtualViewManager.kt +13 -8
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimental.kt +256 -0
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/virtual/viewexperimental/ReactVirtualViewExperimentalManager.kt +110 -0
  754. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  755. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +2 -1
  756. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.kt +35 -0
  757. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaBaselineFunction.java → YogaBaselineFunction.kt} +3 -3
  758. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.kt +33 -0
  759. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaConfigFactory.java → YogaConfigFactory.kt} +3 -5
  760. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.kt +18 -0
  761. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.kt +27 -0
  762. package/ReactAndroid/src/main/java/com/facebook/yoga/{YogaLogger.java → YogaLogger.kt} +6 -7
  763. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.kt +19 -0
  764. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.kt +29 -0
  765. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.kt +331 -0
  766. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.kt +14 -0
  767. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.kt +51 -0
  768. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.kt +66 -0
  769. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.kt +19 -0
  770. package/ReactAndroid/src/main/jni/CMakeLists.txt +3 -3
  771. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +1 -1
  772. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +2 -1
  773. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnection.cpp +1 -1
  774. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +2 -1
  775. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +207 -0
  776. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.h +76 -0
  777. package/ReactAndroid/src/main/jni/react/devsupport/OnLoad.cpp +4 -1
  778. package/ReactAndroid/src/main/jni/react/fabric/ComponentFactory.cpp +1 -1
  779. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
  780. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.cpp +6 -3
  781. package/ReactAndroid/src/main/jni/react/fabric/EventEmitterWrapper.h +2 -2
  782. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +8 -8
  783. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +18 -14
  784. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +59 -10
  785. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +1 -1
  786. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +8 -7
  787. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +195 -55
  788. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +42 -12
  789. package/ReactAndroid/src/main/jni/react/featureflags/OnLoad.cpp +1 -1
  790. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +1 -1
  791. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +4 -4
  792. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +1 -1
  793. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/OnLoad.cpp +1 -1
  794. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +4 -2
  795. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +8 -3
  796. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +1 -1
  797. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +2 -2
  798. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +8 -5
  799. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +7 -3
  800. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +2 -2
  801. package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +1 -1
  802. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +3 -1
  803. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -1
  804. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +1 -1
  805. package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +4 -1
  806. package/ReactAndroid/src/main/jni/react/jni/JRuntimeExecutor.cpp +3 -1
  807. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp +3 -1
  808. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +4 -4
  809. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +1 -3
  810. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +9 -3
  811. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +2 -1
  812. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +8 -5
  813. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +4 -2
  814. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +7 -2
  815. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +8 -3
  816. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +4 -1
  817. package/ReactAndroid/src/main/jni/react/jni/NativeArray.h +4 -0
  818. package/ReactAndroid/src/main/jni/react/jni/OnLoad-common.cpp +2 -0
  819. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +3 -4
  820. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +1 -1
  821. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.cpp +6 -0
  822. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeArray.h +1 -0
  823. package/ReactAndroid/src/main/jni/react/jni/ReadableNativeMap.cpp +3 -2
  824. package/ReactAndroid/src/main/jni/react/jni/TransformHelper.cpp +60 -0
  825. package/ReactAndroid/src/main/jni/react/jni/TransformHelper.h +22 -0
  826. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +3 -3
  827. package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +2 -2
  828. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JWritableMapBuffer.cpp +1 -1
  829. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +3 -2
  830. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +2 -2
  831. package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +1 -1
  832. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.cpp +6 -6
  833. package/ReactAndroid/src/main/jni/react/reactnativeblob/BlobCollector.h +1 -1
  834. package/ReactAndroid/src/main/jni/react/reactnativeblob/OnLoad.cpp +1 -1
  835. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +4 -2
  836. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/OnLoad.cpp +1 -1
  837. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +3 -1
  838. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +84 -13
  839. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +55 -2
  840. package/ReactAndroid/src/main/jni/react/runtime/jni/JavaTimerRegistry.cpp +3 -1
  841. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/OnLoad.cpp +2 -2
  842. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +4 -6
  843. package/ReactAndroid/src/main/jni/react/uimanager/OnLoad.cpp +1 -1
  844. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +4 -1
  845. package/ReactAndroid/src/main/res/views/uimanager/values-am/strings.xml +1 -0
  846. package/ReactCommon/React-Fabric.podspec +1 -0
  847. package/ReactCommon/React-FabricComponents.podspec +6 -0
  848. package/ReactCommon/callinvoker/ReactCommon/tests/TestCallInvoker.h +46 -0
  849. package/ReactCommon/cxxreact/CxxModule.h +2 -2
  850. package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -2
  851. package/ReactCommon/cxxreact/CxxNativeModule.h +4 -1
  852. package/ReactCommon/cxxreact/Instance.cpp +13 -9
  853. package/ReactCommon/cxxreact/Instance.h +6 -3
  854. package/ReactCommon/cxxreact/JSBigString.cpp +2 -2
  855. package/ReactCommon/cxxreact/JSExecutor.h +6 -3
  856. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -4
  857. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +5 -3
  858. package/ReactCommon/cxxreact/JSModulesUnbundle.h +2 -1
  859. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -2
  860. package/ReactCommon/cxxreact/MethodCall.h +4 -2
  861. package/ReactCommon/cxxreact/ModuleRegistry.cpp +3 -1
  862. package/ReactCommon/cxxreact/ModuleRegistry.h +7 -5
  863. package/ReactCommon/cxxreact/NativeModule.h +4 -2
  864. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +5 -2
  865. package/ReactCommon/cxxreact/NativeToJsBridge.h +7 -6
  866. package/ReactCommon/cxxreact/RAMBundleRegistry.h +2 -1
  867. package/ReactCommon/cxxreact/ReactMarker.h +1 -1
  868. package/ReactCommon/cxxreact/ReactNativeVersion.h +8 -4
  869. package/ReactCommon/cxxreact/TraceSection.h +20 -4
  870. package/ReactCommon/cxxreact/tests/RecoverableErrorTest.cpp +1 -1
  871. package/ReactCommon/cxxreact/tests/jsbigstring.cpp +3 -2
  872. package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
  873. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  874. package/ReactCommon/hermes/executor/CMakeLists.txt +2 -2
  875. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +6 -2
  876. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -2
  877. package/ReactCommon/hermes/inspector-modern/chrome/ConnectionDemux.cpp +9 -8
  878. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeAgentDelegate.cpp +4 -2
  879. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +30 -20
  880. package/ReactCommon/jsi/jsi/decorator.h +50 -0
  881. package/ReactCommon/jsi/jsi/jsi-inl.h +31 -0
  882. package/ReactCommon/jsi/jsi/jsi.cpp +58 -0
  883. package/ReactCommon/jsi/jsi/jsi.h +50 -2
  884. package/ReactCommon/jsi/jsi/test/testlib.cpp +113 -1
  885. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -3
  886. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -1
  887. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +3 -1
  888. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +2 -1
  889. package/ReactCommon/jsinspector-modern/CMakeLists.txt +7 -4
  890. package/ReactCommon/jsinspector-modern/ExecutionContext.h +1 -2
  891. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.cpp +3 -1
  892. package/ReactCommon/jsinspector-modern/HostAgent.cpp +178 -61
  893. package/ReactCommon/jsinspector-modern/HostAgent.h +26 -1
  894. package/ReactCommon/jsinspector-modern/HostTarget.cpp +88 -12
  895. package/ReactCommon/jsinspector-modern/HostTarget.h +85 -0
  896. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +54 -0
  897. package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +86 -0
  898. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +71 -0
  899. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +7 -0
  900. package/ReactCommon/jsinspector-modern/InspectorFlags.h +6 -0
  901. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +16 -16
  902. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +1 -1
  903. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +23 -17
  904. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +9 -8
  905. package/ReactCommon/jsinspector-modern/InspectorUtilities.cpp +8 -0
  906. package/ReactCommon/jsinspector-modern/InspectorUtilities.h +19 -0
  907. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +36 -14
  908. package/ReactCommon/jsinspector-modern/InstanceAgent.h +24 -17
  909. package/ReactCommon/jsinspector-modern/InstanceTarget.cpp +33 -4
  910. package/ReactCommon/jsinspector-modern/InstanceTarget.h +23 -3
  911. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +14 -6
  912. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +91 -0
  913. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +59 -0
  914. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +37 -54
  915. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +23 -7
  916. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +21 -17
  917. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +19 -11
  918. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +33 -3
  919. package/ReactCommon/jsinspector-modern/SessionState.h +6 -0
  920. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +55 -56
  921. package/ReactCommon/jsinspector-modern/TracingAgent.h +20 -19
  922. package/ReactCommon/jsinspector-modern/Utf8.h +1 -0
  923. package/ReactCommon/jsinspector-modern/network/HttpUtils.cpp +18 -2
  924. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +4 -4
  925. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +4 -3
  926. package/ReactCommon/jsinspector-modern/tests/ConsoleTimeStampTest.cpp +22 -25
  927. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.cpp +1 -1
  928. package/ReactCommon/jsinspector-modern/tests/FollyDynamicMatchers.h +1 -1
  929. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +24 -2
  930. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +36 -37
  931. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +58 -10
  932. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +2 -2
  933. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +1 -2
  934. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +1 -0
  935. package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +0 -2
  936. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +7 -0
  937. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +2 -11
  938. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +347 -242
  939. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +116 -51
  940. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +37 -111
  941. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +254 -122
  942. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +40 -125
  943. package/ReactCommon/jsinspector-modern/tracing/TargetTracingAgent.h +33 -0
  944. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +12 -4
  945. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +4 -62
  946. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +111 -0
  947. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +93 -0
  948. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +39 -0
  949. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +68 -0
  950. package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +42 -0
  951. package/ReactCommon/jsinspector-modern/tracing/TracingMode.h +17 -0
  952. package/ReactCommon/jsinspector-modern/tracing/TracingState.h +24 -0
  953. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +115 -45
  954. package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
  955. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.cpp +1 -1
  956. package/ReactCommon/logger/react_native_log.h +7 -7
  957. package/ReactCommon/react/bridging/Class.h +5 -0
  958. package/ReactCommon/react/bridging/tests/BridgingTest.h +13 -26
  959. package/ReactCommon/react/bridging/tests/ClassTest.cpp +14 -8
  960. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  961. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +57 -17
  962. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +70 -20
  963. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +289 -109
  964. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +32 -12
  965. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +56 -16
  966. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +124 -34
  967. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +5 -1
  968. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +16 -6
  969. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.cpp +4 -1
  970. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +3 -3
  971. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +13 -14
  972. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +4 -3
  973. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +2 -2
  974. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +1 -1
  975. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp +2 -55
  976. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +4 -8
  977. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.cpp +5 -4
  978. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaInteropTurboModule.h +1 -1
  979. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +11 -11
  980. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -0
  981. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +4 -3
  982. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +53 -18
  983. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -5
  984. package/ReactCommon/react/nativemodule/core/tests/TurboModuleTestFixture.h +135 -0
  985. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +41 -35
  986. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +15 -3
  987. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +70 -20
  988. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +29 -9
  989. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +1 -1
  990. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +0 -15
  991. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +0 -13
  992. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +2 -2
  993. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +1 -1
  994. package/ReactCommon/react/nativemodule/samples/ReactCommon/README.md +2 -0
  995. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +47 -25
  996. package/ReactCommon/react/nativemodule/samples/platform/android/SampleLegacyModule.kt +6 -2
  997. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.kt +6 -2
  998. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +36 -19
  999. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +1 -1
  1000. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +42 -49
  1001. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +15 -12
  1002. package/ReactCommon/react/performance/cdpmetrics/CMakeLists.txt +23 -0
  1003. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.cpp +63 -0
  1004. package/ReactCommon/react/performance/cdpmetrics/CdpInteractionTypes.h +22 -0
  1005. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.cpp +98 -0
  1006. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.h +37 -0
  1007. package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +53 -0
  1008. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  1009. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +4 -0
  1010. package/ReactCommon/react/performance/timeline/PerformanceEntryKeyedBuffer.cpp +1 -3
  1011. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +104 -70
  1012. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +32 -19
  1013. package/ReactCommon/react/performance/timeline/PerformanceEntryReporterListeners.h +26 -0
  1014. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +19 -30
  1015. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +28 -4
  1016. package/ReactCommon/react/renderer/animated/AnimatedModule.cpp +298 -0
  1017. package/ReactCommon/react/renderer/animated/AnimatedModule.h +214 -0
  1018. package/ReactCommon/react/renderer/animated/CMakeLists.txt +33 -0
  1019. package/ReactCommon/react/renderer/animated/EventEmitterListener.h +72 -0
  1020. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.cpp +46 -0
  1021. package/ReactCommon/react/renderer/animated/MergedValueDispatcher.h +56 -0
  1022. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +917 -0
  1023. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +264 -0
  1024. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +154 -0
  1025. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +64 -0
  1026. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.cpp +102 -0
  1027. package/ReactCommon/react/renderer/animated/drivers/AnimationDriver.h +91 -0
  1028. package/ReactCommon/react/renderer/animated/drivers/AnimationDriverUtils.h +64 -0
  1029. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.cpp +81 -0
  1030. package/ReactCommon/react/renderer/animated/drivers/DecayAnimationDriver.h +40 -0
  1031. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.cpp +113 -0
  1032. package/ReactCommon/react/renderer/animated/drivers/FrameAnimationDriver.h +40 -0
  1033. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.cpp +148 -0
  1034. package/ReactCommon/react/renderer/animated/drivers/SpringAnimationDriver.h +50 -0
  1035. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.cpp +28 -0
  1036. package/ReactCommon/react/renderer/animated/event_drivers/EventAnimationDriver.h +63 -0
  1037. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.cpp +105 -0
  1038. package/ReactCommon/react/renderer/animated/internal/AnimatedMountingOverrideDelegate.h +42 -0
  1039. package/ReactCommon/react/renderer/animated/internal/NativeAnimatedAllowlist.h +63 -0
  1040. package/ReactCommon/react/renderer/animated/internal/primitives.h +16 -0
  1041. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.cpp +30 -0
  1042. package/ReactCommon/react/renderer/animated/nodes/AdditionAnimatedNode.h +29 -0
  1043. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.cpp +81 -0
  1044. package/ReactCommon/react/renderer/animated/nodes/AnimatedNode.h +109 -0
  1045. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.cpp +68 -0
  1046. package/ReactCommon/react/renderer/animated/nodes/ColorAnimatedNode.h +38 -0
  1047. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.cpp +37 -0
  1048. package/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.h +34 -0
  1049. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.cpp +37 -0
  1050. package/ReactCommon/react/renderer/animated/nodes/DivisionAnimatedNode.h +29 -0
  1051. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.cpp +144 -0
  1052. package/ReactCommon/react/renderer/animated/nodes/InterpolationAnimatedNode.h +44 -0
  1053. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.cpp +33 -0
  1054. package/ReactCommon/react/renderer/animated/nodes/ModulusAnimatedNode.h +32 -0
  1055. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.cpp +36 -0
  1056. package/ReactCommon/react/renderer/animated/nodes/MultiplicationAnimatedNode.h +29 -0
  1057. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.cpp +143 -0
  1058. package/ReactCommon/react/renderer/animated/nodes/PropsAnimatedNode.h +50 -0
  1059. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.cpp +38 -0
  1060. package/ReactCommon/react/renderer/animated/nodes/RoundAnimatedNode.h +38 -0
  1061. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.cpp +96 -0
  1062. package/ReactCommon/react/renderer/animated/nodes/StyleAnimatedNode.h +34 -0
  1063. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.cpp +37 -0
  1064. package/ReactCommon/react/renderer/animated/nodes/SubtractionAnimatedNode.h +30 -0
  1065. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.cpp +43 -0
  1066. package/ReactCommon/react/renderer/animated/nodes/TrackingAnimatedNode.h +33 -0
  1067. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.cpp +58 -0
  1068. package/ReactCommon/react/renderer/animated/nodes/TransformAnimatedNode.h +34 -0
  1069. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.cpp +101 -0
  1070. package/ReactCommon/react/renderer/animated/nodes/ValueAnimatedNode.h +63 -0
  1071. package/ReactCommon/react/renderer/animated/tests/AnimatedNodeTests.cpp +217 -0
  1072. package/ReactCommon/react/renderer/animated/tests/AnimationDriverTests.cpp +61 -0
  1073. package/ReactCommon/react/renderer/animated/tests/AnimationTestsBase.h +53 -0
  1074. package/ReactCommon/react/renderer/animated/tests/EventAnimationDriverTests.cpp +70 -0
  1075. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +1 -1
  1076. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -1
  1077. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +2 -2
  1078. package/ReactCommon/react/renderer/animations/utils.h +1 -1
  1079. package/ReactCommon/react/renderer/attributedstring/conversions.h +0 -1
  1080. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +1 -1
  1081. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +2 -2
  1082. package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -3
  1083. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +50 -0
  1084. package/ReactCommon/react/renderer/components/image/ImageProps.h +4 -0
  1085. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +9 -12
  1086. package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +2 -2
  1087. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +3 -2
  1088. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +1 -1
  1089. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.cpp +48 -0
  1090. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +10 -0
  1091. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +1 -1
  1092. package/ReactCommon/react/renderer/components/modal/platform/android/ModalHostViewUtils.cpp +1 -2
  1093. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +2 -2
  1094. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +1 -0
  1095. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.cpp +2 -1
  1096. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +1 -0
  1097. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.cpp +1 -1
  1098. package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +6 -3
  1099. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +8 -0
  1100. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +2 -2
  1101. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +1 -0
  1102. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +1 -0
  1103. package/ReactCommon/react/renderer/components/text/{ParagraphProps.cpp → BaseParagraphProps.cpp} +8 -96
  1104. package/ReactCommon/react/renderer/components/text/BaseParagraphProps.h +62 -0
  1105. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +2 -49
  1106. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +1 -0
  1107. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.cpp +198 -0
  1108. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/HostPlatformParagraphProps.h +59 -0
  1109. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +1 -1
  1110. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/conversions.h +52 -0
  1111. package/ReactCommon/react/{nativemodule/core/ReactCommon/LongLivedObject.h → renderer/components/text/platform/android/react/renderer/components/text/primitives.h} +11 -2
  1112. package/ReactCommon/react/renderer/components/text/platform/cxx/react/renderer/components/text/HostPlatformParagraphProps.h +14 -0
  1113. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +5 -9
  1114. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +1 -0
  1115. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +1 -0
  1116. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +26 -1
  1117. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +14 -2
  1118. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -2
  1119. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +6 -8
  1120. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +1 -0
  1121. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -0
  1122. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +1 -1
  1123. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +1 -40
  1124. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalComponentDescriptor.h +20 -0
  1125. package/ReactCommon/react/renderer/components/virtualviewexperimental/VirtualViewExperimentalShadowNode.h +39 -0
  1126. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +1 -1
  1127. package/ReactCommon/react/renderer/core/ConcreteState.h +13 -6
  1128. package/ReactCommon/react/renderer/core/DynamicEventPayload.cpp +1 -1
  1129. package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +1 -1
  1130. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +4 -2
  1131. package/ReactCommon/react/renderer/core/EventDispatcher.h +3 -1
  1132. package/ReactCommon/react/renderer/core/EventQueue.cpp +9 -9
  1133. package/ReactCommon/react/renderer/core/EventQueue.h +15 -1
  1134. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -2
  1135. package/ReactCommon/react/renderer/core/RawProps.h +1 -1
  1136. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -1
  1137. package/ReactCommon/react/renderer/core/RawValue.h +6 -22
  1138. package/ReactCommon/react/renderer/core/ShadowNode.cpp +2 -1
  1139. package/ReactCommon/react/renderer/core/ShadowNode.h +7 -3
  1140. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +4 -2
  1141. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +3 -1
  1142. package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
  1143. package/ReactCommon/react/renderer/core/tests/RawValueTest.cpp +26 -0
  1144. package/ReactCommon/react/renderer/css/CSSHexColor.h +2 -2
  1145. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +3 -3
  1146. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +16 -0
  1147. package/ReactCommon/react/renderer/dom/DOM.cpp +17 -0
  1148. package/ReactCommon/react/renderer/dom/DOM.h +4 -0
  1149. package/ReactCommon/react/renderer/element/testUtils.h +1 -1
  1150. package/ReactCommon/react/renderer/graphics/BoxShadow.h +20 -0
  1151. package/ReactCommon/react/renderer/graphics/Color.cpp +4 -4
  1152. package/ReactCommon/react/renderer/graphics/Color.h +4 -5
  1153. package/ReactCommon/react/renderer/graphics/Filter.h +47 -16
  1154. package/ReactCommon/react/renderer/graphics/Transform.cpp +24 -21
  1155. package/ReactCommon/react/renderer/graphics/Transform.h +21 -20
  1156. package/ReactCommon/react/renderer/graphics/ValueUnit.h +1 -1
  1157. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -5
  1158. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +1 -1
  1159. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +1 -1
  1160. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +12 -12
  1161. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +13 -12
  1162. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
  1163. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +1 -1
  1164. package/ReactCommon/react/renderer/imagemanager/ImageManager.h +6 -8
  1165. package/ReactCommon/react/renderer/imagemanager/ImageResponse.h +1 -0
  1166. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +15 -1
  1167. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.h +5 -0
  1168. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +59 -20
  1169. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +25 -12
  1170. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +17 -8
  1171. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +7 -0
  1172. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +50 -44
  1173. package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +1 -7
  1174. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +1 -6
  1175. package/ReactCommon/react/renderer/imagemanager/primitives.h +69 -7
  1176. package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +9 -0
  1177. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +6 -10
  1178. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +14 -1
  1179. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +8 -1
  1180. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +1 -0
  1181. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -2
  1182. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +4 -4
  1183. package/ReactCommon/react/renderer/mounting/tests/OrderIndexTest.cpp +8 -38
  1184. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +6 -39
  1185. package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +8 -34
  1186. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +3 -3
  1187. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +10 -6
  1188. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +2 -0
  1189. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +1 -1
  1190. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +3 -5
  1191. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +4 -4
  1192. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +2 -0
  1193. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +3 -3
  1194. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +1 -1
  1195. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +6 -4
  1196. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +3 -3
  1197. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -0
  1198. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +47 -5
  1199. package/ReactCommon/react/renderer/scheduler/Scheduler.h +4 -3
  1200. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +1 -1
  1201. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +1 -1
  1202. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +2 -2
  1203. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +48 -9
  1204. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1205. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
  1206. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1207. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +41 -34
  1208. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -1
  1209. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +29 -24
  1210. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -2
  1211. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +2 -2
  1212. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -4
  1213. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +11 -0
  1214. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +7 -6
  1215. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +2 -2
  1216. package/ReactCommon/react/renderer/uimanager/primitives.h +2 -1
  1217. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +5 -7
  1218. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.cpp +2 -2
  1219. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.cpp +3 -5
  1220. package/ReactCommon/react/runtime/CMakeLists.txt +3 -1
  1221. package/ReactCommon/react/runtime/ReactInstance.cpp +18 -10
  1222. package/ReactCommon/react/runtime/ReactInstance.h +1 -2
  1223. package/ReactCommon/react/runtime/TimerManager.cpp +10 -10
  1224. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +2 -2
  1225. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +1 -1
  1226. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.h +2 -4
  1227. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTJscInstance.mm +2 -4
  1228. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +12 -11
  1229. package/ReactCommon/react/test_utils/MockClock.h +2 -3
  1230. package/ReactCommon/react/timing/CMakeLists.txt +2 -0
  1231. package/ReactCommon/react/timing/primitives.h +32 -4
  1232. package/ReactCommon/react/utils/ContextContainer.h +3 -2
  1233. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +36 -17
  1234. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +2 -2
  1235. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +1 -1
  1236. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1237. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +1 -3
  1238. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +3 -5
  1239. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.cpp +2 -1
  1240. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoCategories.h +2 -1
  1241. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +32 -8
  1242. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +5 -3
  1243. package/ReactCommon/yoga/yoga/Yoga.h +8 -8
  1244. package/cli.js +1 -1
  1245. package/flow/bom.js.flow +65 -0
  1246. package/flow/prettier.js.flow +14 -0
  1247. package/gradle/libs.versions.toml +5 -3
  1248. package/index.js +8 -2
  1249. package/index.js.flow +4 -0
  1250. package/jest/local-setup.js +2 -2
  1251. package/jest/mock.js +1 -1
  1252. package/jest/mockComponent.js +9 -9
  1253. package/jest/mockNativeComponent.js +3 -2
  1254. package/jest/mocks/Modal.js +1 -1
  1255. package/jest/mocks/ScrollView.js +1 -1
  1256. package/jest/mocks/ViewNativeComponent.js +1 -1
  1257. package/jest/setup.js +23 -12
  1258. package/package.json +11 -11
  1259. package/react-native.config.js +1 -1
  1260. package/scripts/cocoapods/codegen.rb +1 -1
  1261. package/scripts/cocoapods/new_architecture.rb +8 -4
  1262. package/scripts/codegen/codegen-utils.js +4 -4
  1263. package/scripts/codegen/generate-artifacts-executor/constants.js +29 -29
  1264. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +1 -1
  1265. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +1 -1
  1266. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +2 -2
  1267. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +1 -1
  1268. package/scripts/codegen/generate-artifacts-executor/utils.js +23 -3
  1269. package/scripts/codegen/generate-specs-cli-executor.js +18 -15
  1270. package/scripts/generate-provider-cli.js +5 -5
  1271. package/scripts/hermes/hermes-utils.js +12 -6
  1272. package/scripts/react_native_pods.rb +28 -8
  1273. package/sdks/.hermesversion +1 -1
  1274. package/sdks/hermes-engine/hermes-engine.podspec +12 -12
  1275. package/sdks/hermes-engine/hermes-utils.rb +1 -1
  1276. package/sdks/hermes-engine/utils/build-apple-framework.sh +14 -14
  1277. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +3 -3
  1278. package/sdks/hermes-engine/utils/build-ios-framework.sh +3 -3
  1279. package/sdks/hermes-engine/utils/build-mac-framework.sh +1 -1
  1280. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +5 -5
  1281. package/sdks/hermesc/osx-bin/hermes +0 -0
  1282. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1283. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1284. package/src/private/animated/NativeAnimatedHelper.js +16 -5
  1285. package/src/private/animated/createAnimatedPropsHook.js +11 -60
  1286. package/src/private/animated/createAnimatedPropsMemoHook.js +8 -54
  1287. package/src/private/components/virtualview/VirtualView.js +43 -12
  1288. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +93 -0
  1289. package/src/private/components/virtualview/VirtualViewNativeComponent.js +6 -0
  1290. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +2 -2
  1291. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -2
  1292. package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -50
  1293. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
  1294. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -6
  1295. package/src/private/renderer/errorhandling/ErrorHandlers.js +3 -3
  1296. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +0 -1
  1297. package/src/private/types/HostInstance.js +4 -1
  1298. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +22 -2
  1299. package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
  1300. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +5 -3
  1301. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +16 -13
  1302. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +45 -22
  1303. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1304. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +26 -192
  1305. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +15 -12
  1306. package/src/private/webapis/dom/oldstylecollections/NodeList.js +14 -11
  1307. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  1308. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +19 -74
  1309. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -4
  1310. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  1311. package/src/private/webapis/performance/EventTiming.js +6 -10
  1312. package/src/private/webapis/performance/Performance.js +309 -164
  1313. package/src/private/webapis/performance/PerformanceEntry.js +20 -16
  1314. package/src/private/webapis/performance/PerformanceObserver.js +8 -29
  1315. package/src/private/webapis/performance/UserTiming.js +71 -18
  1316. package/src/private/webapis/performance/UserTimingExtensibility.js.flow +38 -0
  1317. package/src/private/webapis/performance/internals/Utilities.js +9 -0
  1318. package/src/private/webapis/performance/specs/NativePerformance.js +21 -23
  1319. package/src/private/webapis/structuredClone/structuredClone.js +10 -10
  1320. package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
  1321. package/Libraries/Interaction/InteractionManagerStub.js +0 -184
  1322. package/Libraries/Interaction/TaskQueue.js +0 -183
  1323. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -31
  1324. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.h +0 -28
  1325. package/React/Fabric/Mounting/ComponentViews/View/RCTViewAccessibilityElement.mm +0 -83
  1326. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +0 -19
  1327. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Arguments.java +0 -423
  1328. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +0 -78
  1329. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +0 -115
  1330. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +0 -28
  1331. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +0 -29
  1332. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +0 -133
  1333. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -1049
  1334. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +0 -30
  1335. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +0 -22
  1336. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +0 -15
  1337. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +0 -669
  1338. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +0 -811
  1339. package/ReactAndroid/src/main/java/com/facebook/yoga/LayoutPassReason.java +0 -43
  1340. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConfig.java +0 -29
  1341. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaConstants.java +0 -25
  1342. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLayoutType.java +0 -35
  1343. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureFunction.java +0 -20
  1344. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureOutput.java +0 -32
  1345. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +0 -141
  1346. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeFactory.java +0 -18
  1347. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaStyleInputs.java +0 -51
  1348. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaValue.java +0 -80
  1349. package/ReactAndroid/src/main/java/com/facebook/yoga/annotations/DoNotStrip.java +0 -18
  1350. package/ReactAndroid/src/main/jni/react/jni/CxxSharedModuleWrapper.h +0 -37
  1351. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +0 -112
  1352. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +0 -77
  1353. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +0 -40
  1354. package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +0 -21
  1355. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.cpp +0 -151
  1356. package/ReactCommon/react/nativemodule/samples/ReactCommon/NativeSampleTurboCxxModuleSpecJSI.h +0 -42
  1357. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.cpp +0 -96
  1358. package/ReactCommon/react/nativemodule/samples/ReactCommon/SampleTurboCxxModule.h +0 -43
  1359. package/ReactCommon/react/renderer/components/modal/platform/android/JReactModalHostView.h +0 -38
  1360. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +0 -101
  1361. package/types_generated/Libraries/Alert/Alert.d.ts +0 -55
  1362. package/types_generated/Libraries/Animated/Animated.d.ts +0 -14
  1363. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +0 -30
  1364. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +0 -190
  1365. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +0 -128
  1366. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +0 -13
  1367. package/types_generated/Libraries/Animated/Easing.d.ts +0 -171
  1368. package/types_generated/Libraries/Animated/animations/Animation.d.ts +0 -35
  1369. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +0 -42
  1370. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +0 -130
  1371. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +0 -54
  1372. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +0 -22
  1373. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +0 -18
  1374. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +0 -23
  1375. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +0 -22
  1376. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +0 -18
  1377. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +0 -19
  1378. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +0 -42
  1379. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +0 -22
  1380. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +0 -76
  1381. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +0 -22
  1382. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +0 -22
  1383. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +0 -36
  1384. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +0 -22
  1385. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +0 -22
  1386. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +0 -46
  1387. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +0 -29
  1388. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +0 -32
  1389. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +0 -22
  1390. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +0 -21
  1391. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +0 -126
  1392. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +0 -135
  1393. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +0 -15
  1394. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +0 -15
  1395. package/types_generated/Libraries/AppState/AppState.d.ts +0 -63
  1396. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +0 -17
  1397. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +0 -39
  1398. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +0 -20
  1399. package/types_generated/Libraries/Blob/Blob.d.ts +0 -80
  1400. package/types_generated/Libraries/Blob/BlobTypes.d.ts +0 -27
  1401. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +0 -220
  1402. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +0 -20
  1403. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +0 -84
  1404. package/types_generated/Libraries/Components/Button.d.ts +0 -251
  1405. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +0 -38
  1406. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +0 -17
  1407. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +0 -27
  1408. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +0 -176
  1409. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +0 -146
  1410. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +0 -73
  1411. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +0 -24
  1412. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +0 -141
  1413. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +0 -45
  1414. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +0 -32
  1415. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +0 -14
  1416. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +0 -50
  1417. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +0 -113
  1418. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +0 -33
  1419. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +0 -560
  1420. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +0 -24
  1421. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +0 -21
  1422. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +0 -134
  1423. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +0 -36
  1424. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +0 -222
  1425. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +0 -14
  1426. package/types_generated/Libraries/Components/Switch/Switch.d.ts +0 -138
  1427. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +0 -14
  1428. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +0 -23
  1429. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +0 -21
  1430. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +0 -71
  1431. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +0 -97
  1432. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +0 -79
  1433. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +0 -24
  1434. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +0 -20
  1435. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +0 -86
  1436. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +0 -47
  1437. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +0 -984
  1438. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +0 -54
  1439. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +0 -99
  1440. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +0 -257
  1441. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +0 -71
  1442. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -228
  1443. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -76
  1444. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +0 -121
  1445. package/types_generated/Libraries/Components/View/View.d.ts +0 -30
  1446. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +0 -415
  1447. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +0 -29
  1448. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +0 -431
  1449. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +0 -27
  1450. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +0 -43
  1451. package/types_generated/Libraries/Core/ExtendedError.d.ts +0 -26
  1452. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +0 -17
  1453. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +0 -26
  1454. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +0 -27
  1455. package/types_generated/Libraries/Core/registerCallableModule.d.ts +0 -18
  1456. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -42
  1457. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +0 -19
  1458. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +0 -18
  1459. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +0 -21
  1460. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +0 -71
  1461. package/types_generated/Libraries/Image/Image.d.ts +0 -18
  1462. package/types_generated/Libraries/Image/ImageBackground.d.ts +0 -44
  1463. package/types_generated/Libraries/Image/ImageProps.d.ts +0 -512
  1464. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +0 -17
  1465. package/types_generated/Libraries/Image/ImageSource.d.ts +0 -94
  1466. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +0 -64
  1467. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +0 -68
  1468. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +0 -42
  1469. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +0 -100
  1470. package/types_generated/Libraries/Interaction/PanResponder.d.ts +0 -231
  1471. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +0 -73
  1472. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +0 -76
  1473. package/types_generated/Libraries/Linking/Linking.d.ts +0 -68
  1474. package/types_generated/Libraries/Lists/FlatList.d.ts +0 -317
  1475. package/types_generated/Libraries/Lists/SectionList.d.ts +0 -172
  1476. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +0 -19
  1477. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +0 -19
  1478. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +0 -78
  1479. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +0 -88
  1480. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +0 -17
  1481. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +0 -53
  1482. package/types_generated/Libraries/LogBox/LogBox.d.ts +0 -29
  1483. package/types_generated/Libraries/Modal/Modal.d.ts +0 -110
  1484. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +0 -17
  1485. package/types_generated/Libraries/Network/FormData.d.ts +0 -56
  1486. package/types_generated/Libraries/Network/RCTNetworking.d.ts +0 -25
  1487. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +0 -22
  1488. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +0 -96
  1489. package/types_generated/Libraries/Network/convertRequestBody.d.ts +0 -21
  1490. package/types_generated/Libraries/Performance/Systrace.d.ts +0 -61
  1491. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +0 -129
  1492. package/types_generated/Libraries/Pressability/Pressability.d.ts +0 -241
  1493. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +0 -323
  1494. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +0 -14
  1495. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +0 -44
  1496. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +0 -73
  1497. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +0 -24
  1498. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +0 -23
  1499. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +0 -17
  1500. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +0 -17
  1501. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +0 -28
  1502. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +0 -32
  1503. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +0 -15
  1504. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +0 -37
  1505. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +0 -28
  1506. package/types_generated/Libraries/ReactNative/RootTag.d.ts +0 -22
  1507. package/types_generated/Libraries/ReactNative/UIManager.d.ts +0 -17
  1508. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +0 -25
  1509. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +0 -33
  1510. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -169
  1511. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +0 -41
  1512. package/types_generated/Libraries/Settings/Settings.d.ts +0 -21
  1513. package/types_generated/Libraries/Share/Share.d.ts +0 -85
  1514. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +0 -15
  1515. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +0 -17
  1516. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +0 -27
  1517. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +0 -16
  1518. package/types_generated/Libraries/StyleSheet/Rect.d.ts +0 -22
  1519. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +0 -153
  1520. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +0 -107
  1521. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +0 -826
  1522. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +0 -19
  1523. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +0 -17
  1524. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +0 -76
  1525. package/types_generated/Libraries/StyleSheet/processColor.d.ts +0 -18
  1526. package/types_generated/Libraries/Text/Text.d.ts +0 -30
  1527. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +0 -20
  1528. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +0 -31
  1529. package/types_generated/Libraries/Text/TextProps.d.ts +0 -220
  1530. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +0 -35
  1531. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +0 -15
  1532. package/types_generated/Libraries/Types/CodegenTypes.d.ts +0 -24
  1533. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +0 -14
  1534. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +0 -327
  1535. package/types_generated/Libraries/Types/RootTagTypes.d.ts +0 -13
  1536. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +0 -17
  1537. package/types_generated/Libraries/UTFSequence.d.ts +0 -39
  1538. package/types_generated/Libraries/Utilities/Appearance.d.ts +0 -31
  1539. package/types_generated/Libraries/Utilities/BackHandler.d.ts +0 -23
  1540. package/types_generated/Libraries/Utilities/DevSettings.d.ts +0 -34
  1541. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +0 -17
  1542. package/types_generated/Libraries/Utilities/Dimensions.d.ts +0 -54
  1543. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +0 -51
  1544. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +0 -17
  1545. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +0 -14
  1546. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +0 -110
  1547. package/types_generated/Libraries/Utilities/Platform.d.ts +0 -16
  1548. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +0 -134
  1549. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +0 -19
  1550. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +0 -24
  1551. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +0 -23
  1552. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +0 -33
  1553. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +0 -19
  1554. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +0 -15
  1555. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +0 -15
  1556. package/types_generated/Libraries/Vibration/Vibration.d.ts +0 -29
  1557. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +0 -39
  1558. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +0 -67
  1559. package/types_generated/index.d.ts +0 -164
  1560. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +0 -70
  1561. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +0 -97
  1562. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +0 -28
  1563. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +0 -53
  1564. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +0 -36
  1565. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +0 -51
  1566. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +0 -26
  1567. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +0 -46
  1568. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +0 -37
  1569. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +0 -45
  1570. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +0 -27
  1571. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +0 -109
  1572. package/types_generated/src/private/styles/composeStyles.d.ts +0 -19
  1573. package/types_generated/src/private/types/HostComponent.d.ts +0 -19
  1574. package/types_generated/src/private/types/HostInstance.d.ts +0 -91
  1575. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +0 -27
  1576. package/types_generated/src/private/webapis/dom/events/Event.d.ts +0 -58
  1577. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +0 -48
  1578. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +0 -32
  1579. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +0 -36
  1580. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +0 -30
  1581. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +0 -54
  1582. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +0 -126
  1583. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +0 -24
  1584. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +0 -29
  1585. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +0 -23
  1586. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +0 -22
  1587. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +0 -222
  1588. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +0 -22
  1589. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +0 -25
  1590. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +0 -46
  1591. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +0 -73
  1592. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +0 -27
  1593. package/types_generated/tsconfig.json +0 -3
  1594. package/types_generated/tsconfig.test.json +0 -16
  1595. /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
+ }