react-native-tvos 0.78.0-0rc3 → 0.79.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1287) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
  3. package/Libraries/Alert/Alert.js +33 -10
  4. package/Libraries/Alert/NativeAlertManager.js +2 -2
  5. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  6. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  7. package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
  8. package/Libraries/Animated/Animated.js +8 -37
  9. package/{flow/react.js → Libraries/Animated/Animated.js.flow} +6 -6
  10. package/Libraries/Animated/AnimatedExports.js +47 -0
  11. package/Libraries/Animated/AnimatedExports.js.flow +48 -0
  12. package/Libraries/Animated/AnimatedMock.js +1 -1
  13. package/Libraries/Animated/NativeAnimatedModule.js +2 -2
  14. package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
  15. package/Libraries/Animated/animations/Animation.js +1 -4
  16. package/Libraries/Animated/createAnimatedComponent.js +3 -3
  17. package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
  18. package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
  19. package/Libraries/Animated/useAnimatedProps.js +4 -333
  20. package/Libraries/Animated/useAnimatedValue.js +1 -3
  21. package/Libraries/AppDelegate/RCTAppDelegate.h +6 -1
  22. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -18
  23. package/Libraries/AppDelegate/RCTAppSetupUtils.h +2 -1
  24. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +29 -20
  25. package/Libraries/AppDelegate/RCTArchConfiguratorProtocol.h +4 -0
  26. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +29 -0
  27. package/Libraries/AppDelegate/RCTDependencyProvider.h +3 -0
  28. package/Libraries/AppDelegate/RCTJSRuntimeConfiguratorProtocol.h +22 -0
  29. package/Libraries/AppDelegate/RCTReactNativeFactory.h +13 -2
  30. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +74 -8
  31. package/Libraries/AppDelegate/RCTRootViewFactory.h +21 -0
  32. package/Libraries/AppDelegate/RCTRootViewFactory.mm +27 -10
  33. package/Libraries/AppDelegate/RCTUIConfiguratorProtocol.h +4 -0
  34. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +6 -8
  35. package/Libraries/AppState/AppState.js +24 -7
  36. package/Libraries/AppState/NativeAppState.js +2 -2
  37. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  38. package/Libraries/BatchedBridge/MessageQueue.js +5 -4
  39. package/Libraries/BatchedBridge/NativeModules.js +6 -4
  40. package/Libraries/Blob/Blob.js +5 -5
  41. package/Libraries/Blob/BlobManager.js +3 -2
  42. package/Libraries/Blob/BlobRegistry.js +3 -9
  43. package/Libraries/Blob/File.js +3 -2
  44. package/Libraries/Blob/FileReader.js +8 -174
  45. package/Libraries/Blob/FileReader_new.js +231 -0
  46. package/Libraries/Blob/FileReader_old.js +186 -0
  47. package/Libraries/Blob/NativeBlobModule.js +2 -2
  48. package/Libraries/Blob/NativeFileReaderModule.js +2 -2
  49. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  50. package/Libraries/Blob/URL.js +1 -1
  51. package/Libraries/Blob/URLSearchParams.js +9 -10
  52. package/Libraries/Blob/URLSearchParams.js.flow +9 -9
  53. package/Libraries/BugReporting/BugReporting.js +2 -2
  54. package/Libraries/BugReporting/NativeBugReporting.js +2 -2
  55. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  56. package/Libraries/BugReporting/getReactData.js +1 -1
  57. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  58. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
  59. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
  60. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  61. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  62. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  63. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
  64. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
  65. package/Libraries/Components/Button.js +6 -6
  66. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  67. package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
  68. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
  69. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
  70. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -3
  71. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
  72. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  73. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
  74. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
  75. package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
  76. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  77. package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
  78. package/Libraries/Components/Pressable/Pressable.js +36 -82
  79. package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
  80. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
  81. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +9 -5
  82. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
  83. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
  84. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  85. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
  86. package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
  87. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
  88. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
  89. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
  90. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  91. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
  92. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
  93. package/Libraries/Components/ScrollView/ScrollView.js +140 -136
  94. package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
  95. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
  96. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
  97. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
  98. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  99. package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
  100. package/Libraries/Components/Sound/SoundManager.js +1 -1
  101. package/Libraries/Components/StaticRenderer.js +4 -4
  102. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
  103. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
  104. package/Libraries/Components/StatusBar/StatusBar.js +57 -31
  105. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
  106. package/Libraries/Components/Switch/Switch.js +74 -45
  107. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
  108. package/Libraries/Components/TV/TVEventHandler.js +1 -1
  109. package/Libraries/Components/TV/TVFocusGuideView.js +3 -3
  110. package/Libraries/Components/TV/TVTextScrollView.js +2 -2
  111. package/Libraries/Components/TV/useTVEventHandler.js +1 -1
  112. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
  113. package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
  114. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
  115. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
  116. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
  117. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
  118. package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
  119. package/Libraries/Components/TextInput/TextInput.js +152 -149
  120. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  121. package/Libraries/Components/TextInput/TextInputState.js +6 -20
  122. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
  123. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  124. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  125. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  126. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  127. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  128. package/Libraries/Components/Touchable/Position.js +1 -1
  129. package/Libraries/Components/Touchable/Touchable.js +23 -23
  130. package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
  131. package/Libraries/Components/Touchable/TouchableHighlight.js +45 -21
  132. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +103 -55
  133. package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
  134. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +116 -62
  135. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
  136. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
  137. package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
  138. package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
  139. package/Libraries/Components/View/View.js +2 -2
  140. package/Libraries/Components/View/ViewAccessibility.js +245 -5
  141. package/Libraries/Components/View/ViewNativeComponent.js +2 -4
  142. package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
  143. package/Libraries/Components/View/ViewPropTypes.js +73 -261
  144. package/Libraries/Core/Devtools/getDevServer.js +1 -3
  145. package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
  146. package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
  147. package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
  148. package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
  149. package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
  150. package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
  151. package/Libraries/Core/ExceptionsManager.js +6 -4
  152. package/Libraries/Core/InitializeCore.js +7 -3
  153. package/Libraries/Core/NativeExceptionsManager.js +2 -2
  154. package/Libraries/Core/RawEventEmitter.js +2 -2
  155. package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
  156. package/Libraries/Core/ReactNativeVersion.js +2 -2
  157. package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
  158. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
  159. package/Libraries/Core/Timers/JSTimers.js +10 -8
  160. package/Libraries/Core/Timers/NativeTiming.js +2 -2
  161. package/Libraries/Core/Timers/immediateShim.js +2 -9
  162. package/Libraries/Core/polyfillPromise.js +1 -1
  163. package/Libraries/Core/registerCallableModule.js +1 -1
  164. package/Libraries/Core/setUpAlert.js +1 -1
  165. package/Libraries/Core/setUpBatchedBridge.js +13 -8
  166. package/Libraries/Core/setUpDeveloperTools.js +5 -38
  167. package/Libraries/Core/setUpErrorHandling.js +2 -2
  168. package/Libraries/Core/setUpReactDevTools.js +26 -6
  169. package/Libraries/Core/setUpReactRefresh.js +1 -1
  170. package/Libraries/Core/setUpTimers.js +45 -66
  171. package/Libraries/Core/setUpXHR.js +11 -8
  172. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
  173. package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
  174. package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
  175. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
  176. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  177. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  178. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
  179. package/Libraries/Events/CustomEvent.js +3 -3
  180. package/Libraries/Events/EventPolyfill.js +2 -2
  181. package/Libraries/Image/AssetRegistry.js +8 -1
  182. package/Libraries/Image/AssetSourceResolver.js +4 -4
  183. package/Libraries/Image/Image.android.js +4 -2
  184. package/Libraries/Image/Image.ios.js +1 -1
  185. package/Libraries/Image/Image.js.flow +15 -1
  186. package/Libraries/Image/ImageBackground.js +2 -2
  187. package/Libraries/Image/ImageProps.js +109 -39
  188. package/Libraries/Image/ImageTypes.flow.js +16 -6
  189. package/Libraries/Image/ImageViewNativeComponent.js +8 -11
  190. package/Libraries/Image/NativeImageEditor.js +2 -2
  191. package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
  192. package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
  193. package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
  194. package/Libraries/Image/NativeImageStoreIOS.js +2 -2
  195. package/Libraries/Image/RelativeImageStub.js +3 -1
  196. package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
  197. package/Libraries/Image/nativeImageSource.js +3 -3
  198. package/Libraries/Image/resolveAssetSource.js +4 -2
  199. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  200. package/Libraries/Interaction/InteractionManager.js +20 -9
  201. package/Libraries/Interaction/InteractionManagerStub.js +10 -2
  202. package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
  203. package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
  204. package/Libraries/Interaction/PanResponder.js +49 -46
  205. package/Libraries/Interaction/TaskQueue.js +4 -4
  206. package/Libraries/Interaction/TouchHistoryMath.js +27 -1
  207. package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
  208. package/Libraries/Linking/Linking.d.ts +3 -3
  209. package/Libraries/Linking/Linking.js +10 -9
  210. package/Libraries/Linking/NativeIntentAndroid.js +2 -2
  211. package/Libraries/Linking/NativeLinkingManager.js +2 -2
  212. package/Libraries/Lists/FillRateHelper.js +4 -4
  213. package/Libraries/Lists/FlatList.js +30 -30
  214. package/Libraries/Lists/SectionList.js +10 -10
  215. package/Libraries/Lists/SectionListModern.js +9 -7
  216. package/Libraries/Lists/ViewabilityHelper.js +4 -3
  217. package/Libraries/Lists/VirtualizeUtils.js +3 -5
  218. package/Libraries/Lists/VirtualizedList.js +6 -6
  219. package/Libraries/Lists/VirtualizedListContext.js +5 -5
  220. package/Libraries/Lists/VirtualizedSectionList.js +5 -3
  221. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
  222. package/Libraries/LogBox/Data/LogBoxData.js +15 -15
  223. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  224. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  225. package/Libraries/LogBox/LogBox.js +22 -2
  226. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  227. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  228. package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
  229. package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
  230. package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
  231. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  232. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  233. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
  234. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
  235. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
  236. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
  237. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
  238. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
  239. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  240. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
  241. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
  242. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  243. package/Libraries/LogBox/UI/LogBoxNotification.js +7 -2
  244. package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
  245. package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
  246. package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
  247. package/Libraries/Modal/Modal.js +82 -89
  248. package/Libraries/Modal/NativeModalManager.js +2 -2
  249. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
  250. package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
  251. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
  252. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  253. package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
  254. package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
  255. package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
  256. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
  257. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
  258. package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
  259. package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
  260. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
  261. package/Libraries/Network/FormData.js +1 -1
  262. package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
  263. package/Libraries/Network/NativeNetworkingIOS.js +2 -2
  264. package/Libraries/Network/RCTDataRequestHandler.mm +17 -3
  265. package/Libraries/Network/RCTFileRequestHandler.mm +17 -3
  266. package/Libraries/Network/RCTNetworking.android.js +1 -1
  267. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  268. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  269. package/Libraries/Network/RCTNetworking.mm +1 -1
  270. package/Libraries/Network/XMLHttpRequest.js +10 -685
  271. package/Libraries/Network/XMLHttpRequest_new.js +794 -0
  272. package/Libraries/Network/XMLHttpRequest_old.js +701 -0
  273. package/Libraries/Network/convertRequestBody.js +7 -4
  274. package/Libraries/Network/fetch.js +4 -3
  275. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
  276. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
  277. package/Libraries/Pressability/HoverState.js +1 -0
  278. package/Libraries/Pressability/Pressability.js +35 -35
  279. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  280. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  281. package/Libraries/Promise.js +2 -2
  282. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
  283. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
  284. package/Libraries/ReactNative/AppContainer-dev.js +4 -3
  285. package/Libraries/ReactNative/AppContainer.js +3 -3
  286. package/Libraries/ReactNative/AppRegistry.js +4 -4
  287. package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
  288. package/Libraries/ReactNative/FabricUIManager.js +22 -10
  289. package/Libraries/ReactNative/I18nManager.js +4 -3
  290. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
  291. package/Libraries/ReactNative/NativeI18nManager.js +2 -2
  292. package/Libraries/ReactNative/NativeUIManager.js +2 -2
  293. package/Libraries/ReactNative/PaperUIManager.js +6 -6
  294. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
  295. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
  296. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
  297. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
  298. package/Libraries/ReactNative/RendererImplementation.js +12 -5
  299. package/Libraries/ReactNative/RootTag.js +1 -1
  300. package/Libraries/ReactNative/UIManager.d.ts +1 -0
  301. package/Libraries/ReactNative/UIManager.js +3 -3
  302. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  303. package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
  304. package/Libraries/ReactNative/requireNativeComponent.js +3 -2
  305. package/Libraries/ReactNativeDependencies/Package.swift +26 -0
  306. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
  307. package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
  308. package/Libraries/Required/RCTRequired.h +1 -1
  309. package/Libraries/Settings/NativeSettingsManager.js +2 -2
  310. package/Libraries/Settings/Settings.ios.js +1 -1
  311. package/Libraries/Settings/Settings.js +3 -3
  312. package/Libraries/Share/NativeShareModule.js +2 -2
  313. package/Libraries/Share/Share.js +11 -4
  314. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  315. package/Libraries/StyleSheet/Rect.js +2 -2
  316. package/Libraries/StyleSheet/StyleSheet.js +4 -3
  317. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  318. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
  319. package/Libraries/StyleSheet/flattenStyle.js +1 -1
  320. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  321. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  322. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  323. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  324. package/Libraries/StyleSheet/processBoxShadow.js +4 -0
  325. package/Libraries/StyleSheet/processColor.js +2 -2
  326. package/Libraries/StyleSheet/processColorArray.js +1 -1
  327. package/Libraries/StyleSheet/processFilter.js +4 -0
  328. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  329. package/Libraries/StyleSheet/processTransform.js +1 -1
  330. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  331. package/Libraries/Text/Text.d.ts +1 -1
  332. package/Libraries/Text/Text.js +19 -17
  333. package/Libraries/Text/TextAncestor.js +2 -3
  334. package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +1 -1
  335. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +3 -0
  336. package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +7 -1
  337. package/Libraries/Text/TextNativeComponent.js +3 -3
  338. package/Libraries/Text/TextProps.js +134 -94
  339. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  340. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
  341. package/Libraries/Types/CodegenTypes.js +5 -4
  342. package/Libraries/Types/CoreEventTypes.js +132 -99
  343. package/Libraries/Types/ReactDevToolsTypes.js +4 -8
  344. package/Libraries/UTFSequence.js +4 -3
  345. package/Libraries/Utilities/Appearance.js +0 -8
  346. package/Libraries/Utilities/BackHandler.android.js +3 -3
  347. package/Libraries/Utilities/BackHandler.ios.js +6 -6
  348. package/Libraries/Utilities/BackHandler.js.flow +9 -7
  349. package/Libraries/Utilities/DevLoadingView.js +1 -1
  350. package/Libraries/Utilities/DevSettings.js +15 -1
  351. package/Libraries/Utilities/DeviceInfo.js +1 -1
  352. package/Libraries/Utilities/Dimensions.js +5 -0
  353. package/Libraries/Utilities/FeatureDetection.js +2 -4
  354. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
  355. package/Libraries/Utilities/HMRClient.js +7 -35
  356. package/Libraries/Utilities/HMRClientProdShim.js +1 -2
  357. package/Libraries/Utilities/NativeAppearance.js +2 -2
  358. package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
  359. package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
  360. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
  361. package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
  362. package/Libraries/Utilities/Platform.android.js +6 -6
  363. package/Libraries/Utilities/Platform.ios.js +6 -6
  364. package/Libraries/Utilities/Platform.js.flow +2 -2
  365. package/Libraries/Utilities/PlatformTypes.js +181 -0
  366. package/Libraries/Utilities/PolyfillFunctions.js +3 -5
  367. package/Libraries/Utilities/RCTLog.js +1 -1
  368. package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
  369. package/Libraries/Utilities/SceneTracker.js +1 -1
  370. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
  371. package/Libraries/Utilities/binaryToBase64.js +1 -1
  372. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  373. package/Libraries/Utilities/codegenNativeComponent.js +3 -3
  374. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  375. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  376. package/Libraries/Utilities/differ/deepDiffer.js +6 -6
  377. package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
  378. package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
  379. package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
  380. package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
  381. package/Libraries/Utilities/dismissKeyboard.js +3 -2
  382. package/Libraries/Utilities/infoLog.js +1 -1
  383. package/Libraries/Utilities/logError.js +1 -1
  384. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  385. package/Libraries/Utilities/stringifySafe.js +2 -2
  386. package/Libraries/Utilities/warnOnce.js +1 -1
  387. package/Libraries/Vibration/NativeVibration.js +2 -2
  388. package/Libraries/Vibration/Vibration.js +5 -4
  389. package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
  390. package/Libraries/WebSocket/WebSocket.js +8 -285
  391. package/Libraries/WebSocket/WebSocketEvent.js +2 -2
  392. package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
  393. package/Libraries/WebSocket/WebSocket_new.js +325 -0
  394. package/Libraries/WebSocket/WebSocket_old.js +297 -0
  395. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  396. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
  397. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  398. package/Libraries/vendor/emitter/EventEmitter.js +21 -9
  399. package/README-core.md +0 -3
  400. package/React/Base/RCTAssert.h +1 -1
  401. package/React/Base/RCTBridge.mm +14 -1
  402. package/React/Base/RCTBridgeDelegate.h +0 -9
  403. package/React/Base/RCTDefines.h +8 -4
  404. package/React/Base/RCTKeyCommands.m +1 -1
  405. package/React/Base/RCTModuleData.mm +1 -1
  406. package/React/Base/RCTRootView.h +2 -2
  407. package/React/Base/RCTRootViewInternal.h +1 -1
  408. package/React/Base/RCTUtils.m +1 -1
  409. package/React/Base/RCTVersion.m +2 -2
  410. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +5 -0
  411. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.h +30 -0
  412. package/React/Base/UIKitProxies/RCTInitialAccessibilityValuesProxy.mm +185 -0
  413. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.h +10 -0
  414. package/React/Base/UIKitProxies/RCTInitializeUIKitProxies.mm +23 -0
  415. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.h +25 -0
  416. package/React/Base/UIKitProxies/RCTKeyWindowValuesProxy.mm +129 -0
  417. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.h +26 -0
  418. package/React/Base/UIKitProxies/RCTTraitCollectionProxy.mm +80 -0
  419. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.h +26 -0
  420. package/React/Base/UIKitProxies/RCTWindowSafeAreaProxy.mm +70 -0
  421. package/React/CoreModules/CoreModulesPlugins.h +0 -1
  422. package/React/CoreModules/CoreModulesPlugins.mm +0 -1
  423. package/React/CoreModules/RCTAccessibilityManager.mm +11 -9
  424. package/React/CoreModules/RCTAppearance.mm +4 -7
  425. package/React/CoreModules/RCTDevMenu.mm +0 -18
  426. package/React/CoreModules/RCTDevSettings.h +0 -6
  427. package/React/CoreModules/RCTDevSettings.mm +1 -62
  428. package/React/CoreModules/RCTDeviceInfo.mm +43 -57
  429. package/React/CoreModules/RCTEventDispatcher.mm +1 -0
  430. package/React/CoreModules/RCTKeyboardObserver.mm +6 -0
  431. package/React/CoreModules/RCTPerfMonitor.mm +5 -0
  432. package/React/CoreModules/RCTPlatform.mm +19 -21
  433. package/React/CoreModules/RCTRedBox.mm +1 -1
  434. package/React/CoreModules/RCTStatusBarManager.mm +6 -0
  435. package/React/CoreModules/React-CoreModules.podspec +2 -1
  436. package/React/CxxBridge/RCTCxxBridge.mm +5 -63
  437. package/React/DevSupport/RCTInspectorDevServerHelper.mm +10 -5
  438. package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
  439. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -14
  440. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -2
  441. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +201 -178
  442. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +535 -421
  443. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +2 -2
  444. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +52 -16
  445. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +5 -0
  446. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +12 -8
  447. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.h +2 -0
  448. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +34 -2
  449. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +33 -45
  450. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -0
  451. package/React/Fabric/Utils/RCTBoxShadow.h +1 -1
  452. package/React/Fabric/Utils/RCTBoxShadow.mm +10 -10
  453. package/React/Fabric/Utils/RCTLinearGradient.mm +212 -15
  454. package/React/Fabric/Utils/RCTViewFinder.h +18 -0
  455. package/React/Fabric/Utils/RCTViewFinder.mm +34 -0
  456. package/React/I18n/FBXXHashUtils.h +48 -30
  457. package/React/I18n/strings/nb.lproj/fbt_language_pack.bin +0 -0
  458. package/React/I18n/strings/zh-Hant-HK.lproj/fbt_language_pack.bin +0 -0
  459. package/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +8 -11
  460. package/React/React-RCTFBReactNativeSpec.podspec +1 -6
  461. package/React/React-RCTFabric.podspec +3 -5
  462. package/React/Runtime/RCTHermesInstanceFactory.h +20 -0
  463. package/React/Runtime/RCTHermesInstanceFactory.mm +20 -0
  464. package/React/Runtime/RCTJscInstanceFactory.h +20 -0
  465. package/React/Runtime/RCTJscInstanceFactory.mm +20 -0
  466. package/React/Runtime/React-RCTRuntime.podspec +85 -0
  467. package/React/Views/ScrollView/RCTScrollView.m +2 -3
  468. package/React-Core.podspec +9 -8
  469. package/ReactAndroid/README.md +1 -1
  470. package/ReactAndroid/api/ReactAndroid.api +147 -568
  471. package/ReactAndroid/build.gradle.kts +64 -53
  472. package/ReactAndroid/external-artifacts/build.gradle.kts +37 -0
  473. package/ReactAndroid/gradle.properties +4 -1
  474. package/ReactAndroid/hermes-engine/build.gradle.kts +13 -12
  475. package/ReactAndroid/publish.gradle +1 -1
  476. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +2 -2
  477. package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/DebugOverlayTag.kt +3 -3
  478. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/HermesMemoryDumper.kt +5 -5
  479. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +55 -0
  480. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.kt +40 -0
  481. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +185 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.java +3 -1
  483. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +9 -0
  484. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +8 -0
  485. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +4 -4
  486. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -20
  487. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +3 -4
  488. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +4 -4
  489. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +2 -2
  490. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeWithUpdateableConfig.kt +2 -2
  491. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +2 -2
  492. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +9 -13
  493. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +2 -2
  494. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +15 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +25 -1
  496. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +6 -6
  497. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +1 -1
  498. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +2 -2
  499. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +3 -3
  500. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +8 -9
  501. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.java +3 -0
  502. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +4 -2
  503. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.kt +21 -0
  504. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{CxxModuleWrapper.java → CxxModuleWrapper.kt} +5 -8
  505. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{DefaultJSExceptionHandler.java → DefaultJSExceptionHandler.kt} +6 -8
  506. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.kt +27 -0
  507. package/ReactAndroid/src/main/java/com/facebook/react/bridge/InvalidIteratorException.kt +3 -3
  508. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoader.java +0 -15
  509. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +2 -2
  510. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ObjectAlreadyConsumedException.kt +5 -5
  511. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Promise.kt +1 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.kt +48 -0
  513. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactMarkerConstants.java → ReactMarkerConstants.kt} +5 -19
  514. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +1 -1
  515. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +2 -0
  516. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeArray.kt +1 -1
  517. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeExecutor.kt +14 -0
  519. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.kt +14 -0
  520. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +2 -2
  521. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/{MessageQueueThread.java → MessageQueueThread.kt} +24 -31
  522. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.kt +25 -0
  523. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.kt +186 -0
  524. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/{MessageQueueThreadPerfStats.java → MessageQueueThreadPerfStats.kt} +3 -3
  525. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.kt +42 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/{QueueThreadExceptionHandler.java → QueueThreadExceptionHandler.kt} +4 -5
  527. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfiguration.kt +30 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +51 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.kt +51 -0
  530. package/ReactAndroid/src/main/java/com/facebook/react/common/ReleaseLevel.kt +18 -0
  531. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitecture.kt +24 -0
  532. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/LegacyArchitectureLogLevel.kt +22 -0
  533. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +10 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +5 -5
  535. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +14 -35
  536. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +0 -6
  537. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +21 -14
  538. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +135 -8
  539. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +24 -10
  540. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +9 -73
  541. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +13 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +2 -2
  543. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +0 -7
  544. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +0 -35
  545. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSettingsActivity.kt +3 -2
  546. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +1 -36
  547. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportSoLoader.kt +1 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{HMRClient.java → HMRClient.kt} +16 -10
  549. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/IInspectorPackagerConnection.kt +16 -0
  550. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +3 -3
  551. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDebuggerWebSocketClient.java +1 -1
  552. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +96 -0
  553. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.kt +70 -0
  554. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +2 -2
  555. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReactInstanceDevHelper.java +0 -5
  556. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.kt +261 -0
  557. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.kt +159 -0
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +42 -47
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +88 -0
  560. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.kt +29 -0
  561. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +0 -3
  562. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +25 -16
  563. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +12 -14
  564. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.kt +73 -0
  565. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.kt +91 -0
  566. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +1 -1
  567. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +2 -0
  568. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +17 -10
  569. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +4 -10
  570. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DestroyUnmountedViewMountItem.kt +3 -6
  571. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +3 -3
  572. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +3 -3
  573. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +3 -3
  574. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +3 -3
  575. package/ReactAndroid/src/main/java/com/facebook/react/internal/AndroidChoreographerProvider.kt +5 -5
  576. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +45 -57
  577. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsAccessor.kt +4 -4
  578. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +81 -101
  579. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +17 -21
  580. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +17 -21
  581. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +91 -113
  582. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +37 -0
  583. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +27 -0
  584. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Stable_Android.kt +20 -0
  585. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +17 -21
  586. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +0 -7
  587. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.kt +70 -0
  588. package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +1 -1
  589. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +2 -2
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +12 -12
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.kt +31 -0
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +3 -3
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +0 -4
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +0 -4
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +1 -1
  596. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +0 -3
  597. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +1 -1
  598. package/ReactAndroid/src/main/java/com/facebook/react/modules/devloading/DevLoadingModule.kt +6 -6
  599. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +1 -4
  600. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +1 -1
  601. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +1 -1
  602. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +12 -20
  603. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/{ProgressListener.java → CustomClientBuilder.kt} +5 -3
  604. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/{HeaderUtil.java → HeaderUtil.kt} +15 -13
  605. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkInterceptorCreator.kt +18 -0
  606. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientFactory.kt +14 -0
  607. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.kt +79 -0
  608. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/{OkHttpClientFactory.java → ProgressListener.kt} +3 -6
  609. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.kt +80 -0
  610. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.kt +85 -0
  611. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +1 -1
  612. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.kt +179 -0
  613. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +132 -0
  614. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +6 -6
  615. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +3 -3
  616. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  617. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +4 -4
  618. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/NotificationOnlyHandler.kt +2 -2
  619. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/{RequestHandler.java → RequestHandler.kt} +3 -5
  620. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/RequestOnlyHandler.kt +2 -2
  621. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/{Responder.java → Responder.kt} +3 -3
  622. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactLegacyArchitectureProcessor.kt +48 -0
  623. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +31 -3
  624. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +10 -10
  625. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSTimerExecutor.kt +3 -3
  626. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +13 -50
  627. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +0 -5
  628. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +1 -1
  629. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +12 -15
  630. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +2 -2
  631. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/TaskCompletionSource.kt +7 -7
  632. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/UnobservedErrorNotifier.kt +1 -1
  633. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +2 -2
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +17 -41
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +2 -2
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +4 -3
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +2 -2
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.kt +1 -1
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverBinding.kt +1 -2
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +18 -35
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +1 -1
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +6 -5
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +0 -7
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +2 -2
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -0
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +1 -1
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +399 -625
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +52 -0
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactCompoundView.kt +3 -3
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +1 -1
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactOverflowViewWithInset.java → ReactOverflowViewWithInset.kt} +10 -10
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +3 -3
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +1 -1
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.kt +36 -0
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +6 -11
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ReactZIndexedViewGroup.java → ReactZIndexedViewGroup.kt} +4 -4
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +4 -4
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/SimpleViewManager.kt +7 -7
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{StateWrapper.java → StateWrapper.kt} +9 -13
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.kt +1 -1
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIConstantsProviderBinding.kt +7 -7
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIManagerModuleListener.java → UIManagerModuleListener.kt} +4 -7
  663. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +34 -16
  664. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +28 -6
  665. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +189 -0
  666. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.kt +20 -0
  667. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/ViewUtil.kt +2 -2
  668. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +1 -1
  669. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +18 -12
  670. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +141 -158
  671. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +4 -6
  672. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutlineDrawable.kt +4 -4
  673. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +3 -5
  674. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +15 -23
  675. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +10 -9
  676. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/SynchronousEventReceiver.kt +5 -4
  677. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +2 -1
  678. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +1 -1
  679. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +6 -3
  680. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.java +2 -0
  681. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/{LayoutAnimationListener.java → LayoutAnimationListener.kt} +3 -3
  682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/{LayoutHandlingAnimation.java → LayoutHandlingAnimation.kt} +3 -3
  683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +5 -5
  685. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderColors.kt +1 -1
  686. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +2 -2
  687. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +6 -6
  688. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +2 -19
  689. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LinearGradient.kt +231 -5
  690. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +1 -1
  691. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +3 -3
  692. package/ReactAndroid/src/main/java/com/facebook/react/util/ExceptionDataHelper.kt +3 -3
  693. package/ReactAndroid/src/main/java/com/facebook/react/util/RCTLog.kt +2 -2
  694. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlay.kt +5 -5
  695. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +9 -9
  696. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/TraceUpdate.kt +1 -1
  697. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +2 -2
  698. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +2 -2
  699. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +2 -2
  700. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +2 -2
  701. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +4 -4
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +1 -1
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +36 -7
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +1 -2
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +2 -2
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactAccessibleScrollView.kt +19 -0
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerLegacyView.kt +11 -10
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +3 -3
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +2 -0
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +3 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +6 -10
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +7 -5
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +3 -3
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.kt +2 -2
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +6 -6
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.kt +1 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +1 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +7 -7
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +26 -0
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +335 -0
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +17 -10
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +5 -5
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.java +10 -5
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.java +20 -19
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +3 -3
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.kt +21 -0
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactClickableSpan.kt +8 -1
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/{ContentSizeWatcher.java → ContentSizeWatcher.kt} +2 -2
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +41 -11
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/{ScrollWatcher.java → ScrollWatcher.kt} +2 -2
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/{SelectionWatcher.java → SelectionWatcher.kt} +3 -3
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/ReactUnimplementedViewManager.kt +5 -6
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -0
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +16 -1
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +3 -3
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +3 -3
  737. package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.kt +1 -1
  738. package/ReactAndroid/src/main/jni/CMakeLists.txt +61 -54
  739. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.cpp +10 -1
  740. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocketDelegate.h +2 -0
  741. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +17 -16
  742. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +1 -7
  743. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +1 -2
  744. package/ReactAndroid/src/main/jni/react/fabric/SurfaceHandlerBinding.cpp +3 -3
  745. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +108 -136
  746. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +23 -29
  747. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +1 -1
  748. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -37
  749. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +1 -1
  750. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JReadableMapBuffer.cpp +4 -8
  751. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/JReadableMapBuffer.h +2 -4
  752. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +1 -0
  753. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +1 -0
  754. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +2 -2
  755. package/ReactCommon/React-Fabric.podspec +11 -6
  756. package/ReactCommon/React-FabricComponents.podspec +4 -8
  757. package/ReactCommon/React-FabricImage.podspec +2 -6
  758. package/ReactCommon/ReactCommon.podspec +1 -1
  759. package/ReactCommon/cxxreact/React-cxxreact.podspec +2 -1
  760. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  761. package/ReactCommon/cxxreact/TraceSection.h +7 -4
  762. package/ReactCommon/hermes/React-hermes.podspec +4 -2
  763. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +168 -0
  764. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.h +22 -0
  765. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +34 -0
  766. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +6 -0
  767. package/ReactCommon/jsi/React-jsi.podspec +1 -1
  768. package/ReactCommon/jsi/jsi/decorator.h +16 -0
  769. package/ReactCommon/jsi/jsi/jsi.cpp +58 -0
  770. package/ReactCommon/jsi/jsi/jsi.h +34 -0
  771. package/ReactCommon/jsi/jsi/test/testlib.cpp +58 -8
  772. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +2 -2
  773. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -5
  774. package/ReactCommon/jsinspector-modern/CMakeLists.txt +2 -1
  775. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.cpp +14 -0
  776. package/ReactCommon/jsinspector-modern/FallbackRuntimeTargetDelegate.h +6 -0
  777. package/ReactCommon/jsinspector-modern/HostAgent.cpp +17 -0
  778. package/ReactCommon/jsinspector-modern/HostTarget.cpp +8 -1
  779. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +11 -11
  780. package/ReactCommon/jsinspector-modern/InspectorFlags.h +6 -0
  781. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.cpp +15 -1
  782. package/ReactCommon/jsinspector-modern/InspectorPackagerConnectionImpl.h +2 -0
  783. package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +20 -0
  784. package/ReactCommon/jsinspector-modern/InstanceAgent.h +19 -2
  785. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +14 -3
  786. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +2 -2
  787. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +16 -0
  788. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +23 -0
  789. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +36 -0
  790. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +60 -2
  791. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +67 -21
  792. package/ReactCommon/jsinspector-modern/TracingAgent.h +20 -0
  793. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +7 -1
  794. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +2 -0
  795. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +7 -0
  796. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +8 -4
  797. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +3 -2
  798. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +5 -0
  799. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -0
  800. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  801. package/ReactCommon/jsinspector-modern/tracing/EventLoopTaskReporter.cpp +49 -0
  802. package/ReactCommon/jsinspector-modern/tracing/EventLoopTaskReporter.h +31 -0
  803. package/ReactCommon/jsinspector-modern/tracing/InstanceTracingProfile.h +30 -0
  804. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +229 -79
  805. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +64 -55
  806. package/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h +111 -0
  807. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
  808. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +163 -0
  809. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +231 -0
  810. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +30 -0
  811. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +65 -0
  812. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +157 -0
  813. package/ReactCommon/jsinspector-modern/tracing/tests/ProfileTreeNodeTest.cpp +58 -0
  814. package/ReactCommon/jsitooling/CMakeLists.txt +30 -0
  815. package/ReactCommon/jsitooling/React-jsitooling.podspec +66 -0
  816. package/ReactCommon/{react → jsitooling/react}/runtime/JSRuntimeFactory.h +4 -0
  817. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.cpp +15 -0
  818. package/ReactCommon/jsitooling/react/runtime/JSRuntimeFactoryCAPI.h +26 -0
  819. package/ReactCommon/oscompat/CMakeLists.txt +14 -0
  820. package/ReactCommon/oscompat/OSCompat.h +18 -0
  821. package/ReactCommon/oscompat/OSCompatPosix.cpp +63 -0
  822. package/ReactCommon/oscompat/OSCompatWindows.cpp +26 -0
  823. package/ReactCommon/oscompat/React-oscompat.podspec +31 -0
  824. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +33 -41
  825. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +39 -49
  826. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +152 -188
  827. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +20 -24
  828. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +30 -38
  829. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +67 -85
  830. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +10 -12
  831. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +4 -9
  832. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +22 -4
  833. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +22 -1
  834. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +55 -23
  835. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.h +7 -0
  836. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +86 -31
  837. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +2 -2
  838. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -5
  839. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +2 -2
  840. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +214 -107
  841. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +55 -38
  842. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +3 -5
  843. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +39 -49
  844. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +17 -21
  845. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +3 -5
  846. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  847. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +3 -5
  848. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +1 -1
  849. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +3 -5
  850. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +1 -2
  851. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -7
  852. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.h +1 -10
  853. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.mm +1 -24
  854. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +2 -61
  855. package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
  856. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +95 -11
  857. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +4 -1
  858. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  859. package/ReactCommon/react/renderer/animations/CMakeLists.txt +10 -10
  860. package/ReactCommon/react/renderer/animations/utils.h +2 -6
  861. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +8 -8
  862. package/ReactCommon/react/renderer/attributedstring/conversions.h +107 -0
  863. package/ReactCommon/react/renderer/attributedstring/primitives.h +21 -1
  864. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +6 -6
  865. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +2 -2
  866. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +5 -5
  867. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  868. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +6 -6
  869. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +5 -5
  870. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +3 -3
  871. package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +5 -0
  872. package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
  873. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +5 -5
  874. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +4 -4
  875. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +1 -1
  876. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +1 -0
  877. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +5 -5
  878. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +7 -7
  879. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +2 -4
  880. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +10 -10
  881. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +2 -0
  882. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +8 -8
  883. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/primitives.h +7 -0
  884. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/propsConversions.h +7 -0
  885. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +3 -3
  886. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +3 -1
  887. package/ReactCommon/react/renderer/components/view/BoxShadowPropsConversions.h +276 -0
  888. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +4 -3
  889. package/ReactCommon/react/renderer/components/view/CSSConversions.h +96 -0
  890. package/ReactCommon/react/renderer/components/view/FilterPropsConversions.h +386 -0
  891. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +227 -222
  892. package/ReactCommon/react/renderer/components/view/conversions.h +185 -265
  893. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +798 -0
  894. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +6 -0
  895. package/ReactCommon/react/renderer/components/view/tests/ConversionsTest.cpp +239 -0
  896. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +3 -3
  897. package/ReactCommon/react/renderer/core/CMakeLists.txt +8 -8
  898. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -5
  899. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +10 -0
  900. package/ReactCommon/react/renderer/core/EventBeat.cpp +8 -0
  901. package/ReactCommon/react/renderer/core/EventBeat.h +10 -0
  902. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +1 -6
  903. package/ReactCommon/react/renderer/core/EventQueue.cpp +8 -1
  904. package/ReactCommon/react/renderer/core/LayoutMetrics.h +16 -0
  905. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +12 -5
  906. package/ReactCommon/react/renderer/core/Props.cpp +9 -0
  907. package/ReactCommon/react/renderer/core/Props.h +13 -0
  908. package/ReactCommon/react/renderer/core/RawProps.cpp +0 -16
  909. package/ReactCommon/react/renderer/core/RawProps.h +6 -5
  910. package/ReactCommon/react/renderer/core/ShadowNode.cpp +1 -2
  911. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +11 -5
  912. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +4 -7
  913. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +34 -0
  914. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +282 -1
  915. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +12 -44
  916. package/ReactCommon/react/renderer/css/CMakeLists.txt +36 -0
  917. package/ReactCommon/react/renderer/css/CSSAngle.h +42 -0
  918. package/ReactCommon/react/renderer/css/CSSColor.h +59 -0
  919. package/ReactCommon/react/renderer/css/CSSColorFunction.h +446 -0
  920. package/ReactCommon/react/renderer/css/CSSCompoundDataType.h +121 -0
  921. package/ReactCommon/react/renderer/css/CSSDataType.h +81 -0
  922. package/ReactCommon/react/renderer/css/CSSDummy.cpp +14 -0
  923. package/ReactCommon/react/renderer/css/CSSFilter.h +341 -0
  924. package/ReactCommon/react/renderer/css/CSSFontVariant.h +65 -0
  925. package/ReactCommon/react/renderer/css/CSSHexColor.h +104 -0
  926. package/ReactCommon/react/renderer/css/CSSKeyword.h +368 -0
  927. package/ReactCommon/react/renderer/css/CSSLength.h +58 -0
  928. package/ReactCommon/react/renderer/css/CSSLengthPercentage.h +21 -0
  929. package/ReactCommon/react/renderer/css/CSSList.h +77 -0
  930. package/ReactCommon/react/renderer/css/CSSNamedColor.h +328 -0
  931. package/ReactCommon/react/renderer/css/CSSNumber.h +40 -0
  932. package/ReactCommon/react/renderer/css/CSSPercentage.h +40 -0
  933. package/ReactCommon/react/renderer/css/CSSRatio.h +70 -0
  934. package/ReactCommon/react/renderer/css/CSSShadow.h +152 -0
  935. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +174 -81
  936. package/ReactCommon/react/renderer/css/CSSTokenizer.h +6 -4
  937. package/ReactCommon/react/renderer/css/CSSTransform.h +498 -0
  938. package/ReactCommon/react/renderer/css/CSSTransformOrigin.h +226 -0
  939. package/ReactCommon/react/renderer/css/CSSValueParser.h +151 -234
  940. package/ReactCommon/react/renderer/css/CSSZero.h +41 -0
  941. package/ReactCommon/react/renderer/css/React-renderercss.podspec +50 -0
  942. package/ReactCommon/react/renderer/css/tests/CSSAngleTest.cpp +44 -0
  943. package/ReactCommon/react/renderer/css/tests/CSSColorTest.cpp +493 -0
  944. package/ReactCommon/react/renderer/css/tests/CSSFilterTest.cpp +577 -0
  945. package/ReactCommon/react/renderer/css/tests/CSSFontVariantTest.cpp +75 -0
  946. package/ReactCommon/react/renderer/css/tests/CSSKeywordTest.cpp +52 -0
  947. package/ReactCommon/react/renderer/css/tests/CSSLengthPercentageTest.cpp +37 -0
  948. package/ReactCommon/react/renderer/css/tests/CSSLengthTest.cpp +58 -0
  949. package/ReactCommon/react/renderer/css/tests/CSSListTest.cpp +153 -0
  950. package/ReactCommon/react/renderer/css/tests/CSSNumberLengthTest.cpp +21 -0
  951. package/ReactCommon/react/renderer/css/tests/CSSNumberTest.cpp +30 -0
  952. package/ReactCommon/react/renderer/css/tests/CSSRatioTest.cpp +68 -0
  953. package/ReactCommon/react/renderer/css/tests/CSSShadowTest.cpp +339 -0
  954. package/ReactCommon/react/renderer/css/tests/CSSSyntaxParserTest.cpp +338 -45
  955. package/ReactCommon/react/renderer/css/tests/CSSTokenizerTest.cpp +10 -0
  956. package/ReactCommon/react/renderer/css/tests/CSSTransformOriginTest.cpp +428 -0
  957. package/ReactCommon/react/renderer/css/tests/CSSTransformTest.cpp +701 -0
  958. package/ReactCommon/react/renderer/css/tests/CSSValueParserTest.cpp +39 -392
  959. package/ReactCommon/react/renderer/debug/CMakeLists.txt +4 -4
  960. package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +1 -1
  961. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
  962. package/ReactCommon/react/renderer/dom/CMakeLists.txt +6 -6
  963. package/ReactCommon/react/renderer/dom/DOM.cpp +8 -6
  964. package/ReactCommon/react/renderer/dom/DOM.h +6 -0
  965. package/ReactCommon/react/renderer/element/CMakeLists.txt +6 -6
  966. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +4 -4
  967. package/ReactCommon/react/renderer/graphics/Filter.h +0 -1
  968. package/ReactCommon/react/renderer/graphics/LinearGradient.h +8 -1
  969. package/ReactCommon/react/renderer/graphics/Point.h +23 -17
  970. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +2 -6
  971. package/ReactCommon/react/renderer/graphics/Transform.h +2 -0
  972. package/ReactCommon/react/renderer/graphics/ValueUnit.h +4 -0
  973. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +9 -5
  974. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +112 -14
  975. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +1 -1
  976. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +7 -1
  977. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +1 -0
  978. package/ReactCommon/react/renderer/graphics/tests/PointTest.cpp +87 -0
  979. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +9 -9
  980. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +5 -5
  981. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +4 -4
  982. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +10 -9
  983. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +140 -341
  984. package/ReactCommon/react/renderer/mounting/Differentiator.h +0 -77
  985. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +2 -21
  986. package/ReactCommon/react/renderer/mounting/ShadowTree.h +0 -2
  987. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +48 -0
  988. package/ReactCommon/react/renderer/mounting/internal/CullingContext.h +29 -0
  989. package/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +62 -0
  990. package/ReactCommon/react/renderer/mounting/internal/TinyMap.h +143 -0
  991. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +191 -0
  992. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.h +53 -0
  993. package/ReactCommon/react/renderer/mounting/stubs/StubView.cpp +2 -0
  994. package/ReactCommon/react/renderer/mounting/stubs/StubView.h +1 -0
  995. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +127 -0
  996. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.h +15 -0
  997. package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +4 -2
  998. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +11 -9
  999. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +7 -7
  1000. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +8 -7
  1001. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -6
  1002. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +1 -2
  1003. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +3 -0
  1004. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +1 -1
  1005. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +12 -12
  1006. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +8 -13
  1007. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +3 -3
  1008. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +3 -3
  1009. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +6 -6
  1010. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +13 -13
  1011. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +24 -3
  1012. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +1 -43
  1013. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontProperties.h +20 -0
  1014. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +140 -0
  1015. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +16 -5
  1016. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +2 -2
  1017. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +14 -14
  1018. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +4 -3
  1019. package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -3
  1020. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +6 -6
  1021. package/ReactCommon/react/renderer/uimanager/primitives.h +3 -0
  1022. package/ReactCommon/react/runtime/CMakeLists.txt +1 -0
  1023. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +2 -6
  1024. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +5 -8
  1025. package/ReactCommon/react/runtime/ReactInstance.cpp +0 -8
  1026. package/ReactCommon/react/runtime/TimerManager.cpp +0 -58
  1027. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +1 -2
  1028. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +4 -2
  1029. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
  1030. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +33 -0
  1031. package/ReactCommon/react/utils/React-utils.podspec +1 -5
  1032. package/ReactCommon/react/utils/TemplateStringLiteral.h +35 -0
  1033. package/ReactCommon/react/utils/fnv1a.h +3 -4
  1034. package/ReactCommon/react/utils/iequals.h +34 -0
  1035. package/ReactCommon/react/utils/toLower.h +22 -0
  1036. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +31 -4
  1037. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +2 -0
  1038. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +22 -0
  1039. package/cli.js +11 -2
  1040. package/flow/jest.js +14 -14
  1041. package/gradle/libs.versions.toml +2 -2
  1042. package/index.js +176 -263
  1043. package/jest/mockScrollView.js +1 -1
  1044. package/jest/setup.js +314 -264
  1045. package/package.json +18 -15
  1046. package/react-native.config.js +24 -23
  1047. package/scripts/cocoapods/codegen.rb +4 -15
  1048. package/scripts/cocoapods/codegen_utils.rb +4 -267
  1049. package/scripts/cocoapods/jsengine.rb +17 -7
  1050. package/scripts/cocoapods/new_architecture.rb +6 -36
  1051. package/scripts/cocoapods/utils.rb +16 -5
  1052. package/scripts/codegen/generate-artifacts-executor.js +165 -29
  1053. package/scripts/codegen/templates/RCTAppDependencyProviderMM.template +9 -29
  1054. package/scripts/codegen/templates/RCTModuleProvidersH.template +16 -0
  1055. package/scripts/codegen/templates/RCTModuleProvidersMM.template +51 -0
  1056. package/scripts/codegen/templates/RCTModulesConformingToProtocolsProviderMM.template +30 -9
  1057. package/scripts/codegen/templates/RCTThirdPartyComponentsProviderMM.template +9 -2
  1058. package/scripts/codegen/templates/ReactCodegen.podspec.template +99 -0
  1059. package/scripts/hermes/hermes-utils.js +1 -1
  1060. package/scripts/react_native_pods.rb +47 -3
  1061. package/sdks/.hermesversion +1 -1
  1062. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  1063. package/sdks/hermesc/osx-bin/hermes +0 -0
  1064. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1065. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1066. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1067. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1068. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1069. package/src/private/animated/createAnimatedPropsHook.js +360 -0
  1070. package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
  1071. package/src/private/components/HScrollViewNativeComponents.js +2 -2
  1072. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
  1073. package/src/private/components/VScrollViewNativeComponents.js +1 -1
  1074. package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
  1075. package/src/private/devmenu/DevMenu.js +2 -2
  1076. package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
  1077. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
  1078. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
  1079. package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
  1080. package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
  1081. package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
  1082. package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
  1083. package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
  1084. package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
  1085. package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
  1086. package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
  1087. package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
  1088. package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
  1089. package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
  1090. package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
  1091. package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
  1092. package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
  1093. package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
  1094. package/src/private/setup/setUpDOM.js +43 -3
  1095. package/src/private/specs_DEPRECATED/README.md +7 -0
  1096. package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
  1097. package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
  1098. package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
  1099. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
  1100. package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
  1101. package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
  1102. package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
  1103. package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
  1104. package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
  1105. package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +5 -5
  1106. package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
  1107. package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
  1108. package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
  1109. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
  1110. package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
  1111. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
  1112. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
  1113. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
  1114. package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
  1115. package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
  1116. package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
  1117. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
  1118. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
  1119. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
  1120. package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
  1121. package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
  1122. package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
  1123. package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
  1124. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
  1125. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
  1126. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
  1127. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
  1128. package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
  1129. package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
  1130. package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
  1131. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
  1132. package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
  1133. package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
  1134. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
  1135. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
  1136. package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
  1137. package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
  1138. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
  1139. package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
  1140. package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
  1141. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
  1142. package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
  1143. package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
  1144. package/{flow/Position.js → src/private/types/HostComponent.js} +6 -6
  1145. package/src/private/types/HostInstance.js +50 -0
  1146. package/src/private/webapis/dom/events/CustomEvent.js +38 -0
  1147. package/src/private/webapis/dom/events/Event.js +236 -0
  1148. package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
  1149. package/src/private/webapis/dom/events/EventTarget.js +436 -0
  1150. package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
  1151. package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
  1152. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
  1153. package/src/private/webapis/dom/nodes/ReactNativeElement.js +82 -51
  1154. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
  1155. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
  1156. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
  1157. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
  1158. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
  1159. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
  1160. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
  1161. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  1162. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  1163. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  1164. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  1165. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
  1166. package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js.flow +2 -2
  1167. package/src/private/webapis/html/events/MessageEvent.js +56 -0
  1168. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
  1169. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
  1170. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
  1171. package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
  1172. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
  1173. package/src/private/webapis/performance/EventTiming.js +1 -1
  1174. package/src/private/webapis/performance/Performance.js +3 -3
  1175. package/src/private/webapis/performance/PerformanceObserver.js +8 -8
  1176. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  1177. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  1178. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
  1179. package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
  1180. package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
  1181. package/src/types/bom.js.flow +403 -0
  1182. package/src/types/dom.js.flow +6271 -0
  1183. package/src/types/globals.d.ts +628 -0
  1184. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  1185. package/third-party-podspecs/fmt.podspec +3 -2
  1186. package/types/index.d.ts +2 -58
  1187. package/types/public/ReactNativeTVTypes.d.ts +9 -7
  1188. package/Libraries/Animated/AnimatedWeb.js +0 -26
  1189. package/Libraries/JSInspector/InspectorAgent.js +0 -27
  1190. package/Libraries/JSInspector/JSInspector.js +0 -33
  1191. package/Libraries/JSInspector/NetworkAgent.js +0 -295
  1192. package/Libraries/Utilities/DebugEnvironment.js +0 -16
  1193. package/Libraries/Utilities/Platform.flow.js +0 -93
  1194. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
  1195. package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
  1196. package/React/CoreModules/RCTWebSocketExecutor.h +0 -19
  1197. package/React/CoreModules/RCTWebSocketExecutor.mm +0 -301
  1198. package/React/UIUtils/RCTUIUtils.h +0 -30
  1199. package/React/UIUtils/RCTUIUtils.m +0 -30
  1200. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +0 -50
  1201. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +0 -57
  1202. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.kt +0 -13
  1203. package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/AndroidUnicodeUtils.kt +0 -77
  1204. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +0 -208
  1205. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxCallbackImpl.java +0 -28
  1206. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DimensionPropConverter.java +0 -33
  1207. package/ReactAndroid/src/main/java/com/facebook/react/bridge/FallbackJSBundleLoader.java +0 -85
  1208. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaJSExecutor.kt +0 -50
  1209. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ProxyJavaScriptExecutor.java +0 -80
  1210. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactBridge.java +0 -48
  1211. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeExecutor.java +0 -21
  1212. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +0 -21
  1213. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadHandler.java +0 -32
  1214. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +0 -226
  1215. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadSpec.java +0 -65
  1216. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfiguration.java +0 -27
  1217. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +0 -65
  1218. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +0 -73
  1219. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBufferSoLoader.kt +0 -35
  1220. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/IInspectorPackagerConnection.java +0 -16
  1221. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +0 -102
  1222. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +0 -89
  1223. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxContentView.java +0 -325
  1224. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +0 -191
  1225. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ViewHierarchyUtil.java +0 -40
  1226. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/WebsocketJavaScriptExecutor.java +0 -183
  1227. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +0 -94
  1228. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +0 -34
  1229. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +0 -67
  1230. package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +0 -87
  1231. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModulePerfLogger.java +0 -93
  1232. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobCollector.java +0 -34
  1233. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CountingOutputStream.java +0 -67
  1234. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CustomClientBuilder.java +0 -14
  1235. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkInterceptorCreator.java +0 -18
  1236. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +0 -83
  1237. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressRequestBody.java +0 -79
  1238. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.java +0 -88
  1239. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +0 -166
  1240. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.java +0 -123
  1241. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/TLSSocketFactory.java +0 -78
  1242. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.java +0 -57
  1243. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStage.java +0 -38
  1244. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.java +0 -172
  1245. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +0 -26
  1246. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ViewUtils.kt +0 -24
  1247. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/ReactTextInlineImageShadowNode.java +0 -24
  1248. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +0 -138
  1249. package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +0 -64
  1250. package/ReactAndroid/src/main/jni/react/mapbuffer/react/common/mapbuffer/OnLoad.cpp +0 -16
  1251. package/ReactCommon/react/renderer/css/CSSColorUtils.h +0 -373
  1252. package/ReactCommon/react/renderer/css/CSSDeclaredStyle.h +0 -138
  1253. package/ReactCommon/react/renderer/css/CSSKeywords.h +0 -454
  1254. package/ReactCommon/react/renderer/css/CSSProperties.h +0 -1287
  1255. package/ReactCommon/react/renderer/css/CSSValue.h +0 -92
  1256. package/ReactCommon/react/renderer/css/CSSValueVariant.h +0 -267
  1257. package/ReactCommon/react/renderer/css/tests/CSSDeclaredStyleTest.cpp +0 -164
  1258. package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +0 -640
  1259. package/src/private/specs/modules/NativeCPUTime.js +0 -24
  1260. package/src/private/specs/modules/NativeFantom.js +0 -37
  1261. package/src/private/specs/modules/NativeUIManager.js +0 -111
  1262. package/types/modules/globals.d.ts +0 -599
  1263. /package/ReactCommon/{react → jsitooling/react}/runtime/JSRuntimeFactory.cpp +0 -0
  1264. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
  1265. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
  1266. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
  1267. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
  1268. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
  1269. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
  1270. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
  1271. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
  1272. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
  1273. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
  1274. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
  1275. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
  1276. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
  1277. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
  1278. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
  1279. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
  1280. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
  1281. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
  1282. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTVNavigationEventEmitter.js +0 -0
  1283. /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
  1284. /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
  1285. /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
  1286. /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
  1287. /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
@@ -8,22 +8,15 @@
8
8
  package com.facebook.react.uimanager;
9
9
 
10
10
  import android.content.Context;
11
- import android.graphics.Paint;
12
11
  import android.graphics.Rect;
13
12
  import android.os.Bundle;
14
13
  import android.os.Handler;
15
14
  import android.os.Message;
16
- import android.text.Layout;
17
- import android.text.Spannable;
18
- import android.text.Spanned;
19
15
  import android.text.TextUtils;
20
- import android.text.style.AbsoluteSizeSpan;
21
- import android.text.style.ClickableSpan;
22
16
  import android.view.View;
23
17
  import android.view.ViewGroup;
24
18
  import android.view.accessibility.AccessibilityEvent;
25
19
  import android.widget.EditText;
26
- import android.widget.TextView;
27
20
  import androidx.annotation.NonNull;
28
21
  import androidx.annotation.Nullable;
29
22
  import androidx.core.view.ViewCompat;
@@ -44,12 +37,10 @@ import com.facebook.react.bridge.ReadableMapKeySetIterator;
44
37
  import com.facebook.react.bridge.ReadableType;
45
38
  import com.facebook.react.bridge.UIManager;
46
39
  import com.facebook.react.bridge.WritableMap;
47
- import com.facebook.react.uimanager.ReactAccessibilityDelegate.AccessibilityRole;
48
40
  import com.facebook.react.uimanager.common.ViewUtil;
49
41
  import com.facebook.react.uimanager.events.Event;
50
42
  import com.facebook.react.uimanager.events.EventDispatcher;
51
43
  import com.facebook.react.uimanager.util.ReactFindViewUtil;
52
- import java.util.ArrayList;
53
44
  import java.util.HashMap;
54
45
  import java.util.List;
55
46
 
@@ -59,15 +50,25 @@ import java.util.List;
59
50
  */
60
51
  public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
61
52
 
62
- private static final String TAG = "ReactAccessibilityDelegate";
63
53
  public static final String TOP_ACCESSIBILITY_ACTION_EVENT = "topAccessibilityAction";
54
+ public static final HashMap<String, Integer> sActionIdMap = new HashMap<>();
55
+
56
+ private static final String TAG = "ReactAccessibilityDelegate";
64
57
  private static int sCounter = 0x3f000000;
65
58
  private static final int TIMEOUT_SEND_ACCESSIBILITY_EVENT = 200;
66
59
  private static final int SEND_EVENT = 1;
67
60
  private static final String delimiter = ", ";
68
61
  private static final int delimiterLength = delimiter.length();
62
+ // State constants for states which have analogs in AccessibilityNodeInfo
63
+ private static final String STATE_DISABLED = "disabled";
64
+ private static final String STATE_SELECTED = "selected";
65
+ private static final String STATE_CHECKED = "checked";
69
66
 
70
- public static final HashMap<String, Integer> sActionIdMap = new HashMap<>();
67
+ private final View mView;
68
+ private Handler mHandler;
69
+ private final HashMap<Integer, String> mAccessibilityActionsMap;
70
+
71
+ @Nullable View mAccessibilityLabelledBy;
71
72
 
72
73
  static {
73
74
  sActionIdMap.put("activate", AccessibilityActionCompat.ACTION_CLICK.getId());
@@ -79,375 +80,96 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
79
80
  sActionIdMap.put("accessibilityFocus", AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS.getId());
80
81
  }
81
82
 
82
- private final View mView;
83
- private final AccessibilityLinks mAccessibilityLinks;
83
+ public ReactAccessibilityDelegate(
84
+ final View view, boolean originalFocus, int originalImportantForAccessibility) {
85
+ super(view);
86
+ mView = view;
87
+ mAccessibilityActionsMap = new HashMap<Integer, String>();
88
+ mHandler =
89
+ new Handler() {
90
+ @Override
91
+ public void handleMessage(Message msg) {
92
+ View host = (View) msg.obj;
93
+ host.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
94
+ }
95
+ };
84
96
 
85
- private Handler mHandler;
97
+ // We need to reset these two properties, as ExploreByTouchHelper sets focusable to "true" and
98
+ // importantForAccessibility to "Yes" (if it is Auto). If we don't reset these it would force
99
+ // every element that has this delegate attached to be focusable, and not allow for
100
+ // announcement coalescing.
101
+ mView.setFocusable(originalFocus);
102
+ ViewCompat.setImportantForAccessibility(mView, originalImportantForAccessibility);
103
+ }
86
104
 
87
- /**
88
- * Schedule a command for sending an accessibility event. </br> Note: A command is used to ensure
89
- * that accessibility events are sent at most one in a given time frame to save system resources
90
- * while the progress changes quickly.
91
- */
92
- private void scheduleAccessibilityEventSender(View host) {
93
- if (mHandler.hasMessages(SEND_EVENT, host)) {
94
- mHandler.removeMessages(SEND_EVENT, host);
105
+ public static void setDelegate(
106
+ final View view, boolean originalFocus, int originalImportantForAccessibility) {
107
+ // if a view already has an accessibility delegate, replacing it could cause
108
+ // problems, so leave it alone.
109
+ if (!ViewCompat.hasAccessibilityDelegate(view)
110
+ && (view.getTag(R.id.accessibility_role) != null
111
+ || view.getTag(R.id.accessibility_state) != null
112
+ || view.getTag(R.id.accessibility_actions) != null
113
+ || view.getTag(R.id.react_test_id) != null
114
+ || view.getTag(R.id.accessibility_collection_item) != null
115
+ || view.getTag(R.id.accessibility_links) != null
116
+ || view.getTag(R.id.role) != null)) {
117
+ ViewCompat.setAccessibilityDelegate(
118
+ view,
119
+ new ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility));
95
120
  }
96
- Message msg = mHandler.obtainMessage(SEND_EVENT, host);
97
- mHandler.sendMessageDelayed(msg, TIMEOUT_SEND_ACCESSIBILITY_EVENT);
98
121
  }
99
122
 
100
- /**
101
- * An ARIA Role representable by View's `role` prop. Ordinals should be kept in sync with
102
- * `facebook::react::Role`.
103
- */
104
- public enum Role {
105
- ALERT,
106
- ALERTDIALOG,
107
- APPLICATION,
108
- ARTICLE,
109
- BANNER,
110
- BUTTON,
111
- CELL,
112
- CHECKBOX,
113
- COLUMNHEADER,
114
- COMBOBOX,
115
- COMPLEMENTARY,
116
- CONTENTINFO,
117
- DEFINITION,
118
- DIALOG,
119
- DIRECTORY,
120
- DOCUMENT,
121
- FEED,
122
- FIGURE,
123
- FORM,
124
- GRID,
125
- GROUP,
126
- HEADING,
127
- IMG,
128
- LINK,
129
- LIST,
130
- LISTITEM,
131
- LOG,
132
- MAIN,
133
- MARQUEE,
134
- MATH,
135
- MENU,
136
- MENUBAR,
137
- MENUITEM,
138
- METER,
139
- NAVIGATION,
140
- NONE,
141
- NOTE,
142
- OPTION,
143
- PRESENTATION,
144
- PROGRESSBAR,
145
- RADIO,
146
- RADIOGROUP,
147
- REGION,
148
- ROW,
149
- ROWGROUP,
150
- ROWHEADER,
151
- SCROLLBAR,
152
- SEARCHBOX,
153
- SEPARATOR,
154
- SLIDER,
155
- SPINBUTTON,
156
- STATUS,
157
- SUMMARY,
158
- SWITCH,
159
- TAB,
160
- TABLE,
161
- TABLIST,
162
- TABPANEL,
163
- TERM,
164
- TIMER,
165
- TOOLBAR,
166
- TOOLTIP,
167
- TREE,
168
- TREEGRID,
169
- TREEITEM;
123
+ // Explicitly re-set the delegate, even if one has already been set.
124
+ public static void resetDelegate(
125
+ final View view, boolean originalFocus, int originalImportantForAccessibility) {
126
+ ViewCompat.setAccessibilityDelegate(
127
+ view,
128
+ new ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility));
129
+ }
170
130
 
171
- public static @Nullable Role fromValue(@Nullable String value) {
172
- for (Role role : Role.values()) {
173
- if (role.name().equalsIgnoreCase(value)) {
174
- return role;
175
- }
131
+ // The View this delegate is attached to
132
+ protected View getHostView() {
133
+ return mView;
134
+ }
135
+
136
+ @Override
137
+ public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
138
+ super.onInitializeAccessibilityNodeInfo(host, info);
139
+ if (host.getTag(R.id.accessibility_state_expanded) != null) {
140
+ final boolean accessibilityStateExpanded =
141
+ (boolean) host.getTag(R.id.accessibility_state_expanded);
142
+ info.addAction(
143
+ accessibilityStateExpanded
144
+ ? AccessibilityNodeInfoCompat.ACTION_COLLAPSE
145
+ : AccessibilityNodeInfoCompat.ACTION_EXPAND);
146
+ }
147
+ final AccessibilityRole accessibilityRole = AccessibilityRole.fromViewTag(host);
148
+ final String accessibilityHint = (String) host.getTag(R.id.accessibility_hint);
149
+ if (accessibilityRole != null) {
150
+ setRole(info, accessibilityRole, host.getContext());
151
+ }
152
+
153
+ if (accessibilityHint != null) {
154
+ info.setTooltipText(accessibilityHint);
155
+ }
156
+
157
+ final Object accessibilityLabelledBy = host.getTag(R.id.labelled_by);
158
+ if (accessibilityLabelledBy != null) {
159
+ mAccessibilityLabelledBy =
160
+ ReactFindViewUtil.findView(host.getRootView(), (String) accessibilityLabelledBy);
161
+ if (mAccessibilityLabelledBy != null) {
162
+ info.setLabeledBy(mAccessibilityLabelledBy);
176
163
  }
177
- return null;
178
164
  }
179
- }
180
165
 
181
- /**
182
- * These roles are defined by Google's TalkBack screen reader, and this list should be kept up to
183
- * date with their implementation. Details can be seen in their source code here:
184
- *
185
- * <p>https://github.com/google/talkback/blob/master/utils/src/main/java/Role.java
186
- */
187
- public enum AccessibilityRole {
188
- NONE,
189
- BUTTON,
190
- DROPDOWNLIST,
191
- TOGGLEBUTTON,
192
- LINK,
193
- SEARCH,
194
- IMAGE,
195
- IMAGEBUTTON,
196
- KEYBOARDKEY,
197
- TEXT,
198
- ADJUSTABLE,
199
- SUMMARY,
200
- HEADER,
201
- ALERT,
202
- CHECKBOX,
203
- COMBOBOX,
204
- MENU,
205
- MENUBAR,
206
- MENUITEM,
207
- PROGRESSBAR,
208
- RADIO,
209
- RADIOGROUP,
210
- SCROLLBAR,
211
- SPINBUTTON,
212
- SWITCH,
213
- TAB,
214
- TABLIST,
215
- TIMER,
216
- LIST,
217
- GRID,
218
- PAGER,
219
- SCROLLVIEW,
220
- HORIZONTALSCROLLVIEW,
221
- VIEWGROUP,
222
- WEBVIEW,
223
- DRAWERLAYOUT,
224
- SLIDINGDRAWER,
225
- ICONMENU,
226
- TOOLBAR;
227
-
228
- public static String getValue(AccessibilityRole role) {
229
- switch (role) {
230
- case BUTTON:
231
- return "android.widget.Button";
232
- case DROPDOWNLIST:
233
- return "android.widget.Spinner";
234
- case TOGGLEBUTTON:
235
- return "android.widget.ToggleButton";
236
- case SEARCH:
237
- return "android.widget.EditText";
238
- case IMAGE:
239
- return "android.widget.ImageView";
240
- case IMAGEBUTTON:
241
- return "android.widget.ImageButton";
242
- case KEYBOARDKEY:
243
- return "android.inputmethodservice.Keyboard$Key";
244
- case TEXT:
245
- return "android.widget.TextView";
246
- case ADJUSTABLE:
247
- return "android.widget.SeekBar";
248
- case CHECKBOX:
249
- return "android.widget.CheckBox";
250
- case RADIO:
251
- return "android.widget.RadioButton";
252
- case SPINBUTTON:
253
- return "android.widget.SpinButton";
254
- case SWITCH:
255
- return "android.widget.Switch";
256
- case LIST:
257
- return "android.widget.AbsListView";
258
- case GRID:
259
- return "android.widget.GridView";
260
- case SCROLLVIEW:
261
- return "android.widget.ScrollView";
262
- case HORIZONTALSCROLLVIEW:
263
- return "android.widget.HorizontalScrollView";
264
- case PAGER:
265
- return "androidx.viewpager.widget.ViewPager";
266
- case DRAWERLAYOUT:
267
- return "androidx.drawerlayout.widget.DrawerLayout";
268
- case SLIDINGDRAWER:
269
- return "android.widget.SlidingDrawer";
270
- case ICONMENU:
271
- return "com.android.internal.view.menu.IconMenuView";
272
- case VIEWGROUP:
273
- return "android.view.ViewGroup";
274
- case WEBVIEW:
275
- return "android.webkit.WebView";
276
- case NONE:
277
- case LINK:
278
- case SUMMARY:
279
- case HEADER:
280
- case ALERT:
281
- case COMBOBOX:
282
- case MENU:
283
- case MENUBAR:
284
- case MENUITEM:
285
- case PROGRESSBAR:
286
- case RADIOGROUP:
287
- case SCROLLBAR:
288
- case TAB:
289
- case TABLIST:
290
- case TIMER:
291
- case TOOLBAR:
292
- return "android.view.View";
293
- default:
294
- throw new IllegalArgumentException("Invalid accessibility role value: " + role);
295
- }
296
- }
297
-
298
- public static AccessibilityRole fromValue(@Nullable String value) {
299
- if (value == null) {
300
- return NONE;
301
- }
302
-
303
- for (AccessibilityRole role : AccessibilityRole.values()) {
304
- if (role.name().equalsIgnoreCase(value)) {
305
- return role;
306
- }
307
- }
308
- throw new IllegalArgumentException("Invalid accessibility role value: " + value);
309
- }
310
-
311
- public static @Nullable AccessibilityRole fromRole(Role role) {
312
- switch (role) {
313
- case ALERT:
314
- return AccessibilityRole.ALERT;
315
- case BUTTON:
316
- return AccessibilityRole.BUTTON;
317
- case CHECKBOX:
318
- return AccessibilityRole.CHECKBOX;
319
- case COMBOBOX:
320
- return AccessibilityRole.COMBOBOX;
321
- case GRID:
322
- return AccessibilityRole.GRID;
323
- case HEADING:
324
- return AccessibilityRole.HEADER;
325
- case IMG:
326
- return AccessibilityRole.IMAGE;
327
- case LINK:
328
- return AccessibilityRole.LINK;
329
- case LIST:
330
- return AccessibilityRole.LIST;
331
- case MENU:
332
- return AccessibilityRole.MENU;
333
- case MENUBAR:
334
- return AccessibilityRole.MENUBAR;
335
- case MENUITEM:
336
- return AccessibilityRole.MENUITEM;
337
- case NONE:
338
- return AccessibilityRole.NONE;
339
- case PROGRESSBAR:
340
- return AccessibilityRole.PROGRESSBAR;
341
- case RADIO:
342
- return AccessibilityRole.RADIO;
343
- case RADIOGROUP:
344
- return AccessibilityRole.RADIOGROUP;
345
- case SCROLLBAR:
346
- return AccessibilityRole.SCROLLBAR;
347
- case SEARCHBOX:
348
- return AccessibilityRole.SEARCH;
349
- case SLIDER:
350
- return AccessibilityRole.ADJUSTABLE;
351
- case SPINBUTTON:
352
- return AccessibilityRole.SPINBUTTON;
353
- case SUMMARY:
354
- return AccessibilityRole.SUMMARY;
355
- case SWITCH:
356
- return AccessibilityRole.SWITCH;
357
- case TAB:
358
- return AccessibilityRole.TAB;
359
- case TABLIST:
360
- return AccessibilityRole.TABLIST;
361
- case TIMER:
362
- return AccessibilityRole.TIMER;
363
- case TOOLBAR:
364
- return AccessibilityRole.TOOLBAR;
365
- default:
366
- // No mapping from ARIA role to AccessibilityRole
367
- return null;
368
- }
369
- }
370
-
371
- public static @Nullable AccessibilityRole fromViewTag(View view) {
372
- Role role = (Role) view.getTag(R.id.role);
373
- if (role != null) {
374
- return AccessibilityRole.fromRole(role);
375
- } else {
376
- return (AccessibilityRole) view.getTag(R.id.accessibility_role);
377
- }
378
- }
379
- }
380
-
381
- private final HashMap<Integer, String> mAccessibilityActionsMap;
382
-
383
- // State constants for states which have analogs in AccessibilityNodeInfo
384
-
385
- private static final String STATE_DISABLED = "disabled";
386
- private static final String STATE_SELECTED = "selected";
387
- private static final String STATE_CHECKED = "checked";
388
-
389
- public ReactAccessibilityDelegate(
390
- final View view, boolean originalFocus, int originalImportantForAccessibility) {
391
- super(view);
392
- mView = view;
393
- mAccessibilityActionsMap = new HashMap<Integer, String>();
394
- mHandler =
395
- new Handler() {
396
- @Override
397
- public void handleMessage(Message msg) {
398
- View host = (View) msg.obj;
399
- host.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
400
- }
401
- };
402
-
403
- // We need to reset these two properties, as ExploreByTouchHelper sets focusable to "true" and
404
- // importantForAccessibility to "Yes" (if it is Auto). If we don't reset these it would force
405
- // every element that has this delegate attached to be focusable, and not allow for
406
- // announcement coalescing.
407
- mView.setFocusable(originalFocus);
408
- ViewCompat.setImportantForAccessibility(mView, originalImportantForAccessibility);
409
- mAccessibilityLinks = (AccessibilityLinks) mView.getTag(R.id.accessibility_links);
410
- }
411
-
412
- @Nullable View mAccessibilityLabelledBy;
413
-
414
- @Override
415
- public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
416
- super.onInitializeAccessibilityNodeInfo(host, info);
417
- if (host.getTag(R.id.accessibility_state_expanded) != null) {
418
- final boolean accessibilityStateExpanded =
419
- (boolean) host.getTag(R.id.accessibility_state_expanded);
420
- info.addAction(
421
- accessibilityStateExpanded
422
- ? AccessibilityNodeInfoCompat.ACTION_COLLAPSE
423
- : AccessibilityNodeInfoCompat.ACTION_EXPAND);
424
- }
425
- final AccessibilityRole accessibilityRole = AccessibilityRole.fromViewTag(host);
426
- final String accessibilityHint = (String) host.getTag(R.id.accessibility_hint);
427
- if (accessibilityRole != null) {
428
- setRole(info, accessibilityRole, host.getContext());
429
- }
430
-
431
- if (accessibilityHint != null) {
432
- info.setTooltipText(accessibilityHint);
433
- }
434
-
435
- final Object accessibilityLabelledBy = host.getTag(R.id.labelled_by);
436
- if (accessibilityLabelledBy != null) {
437
- mAccessibilityLabelledBy =
438
- ReactFindViewUtil.findView(host.getRootView(), (String) accessibilityLabelledBy);
439
- if (mAccessibilityLabelledBy != null) {
440
- info.setLabeledBy(mAccessibilityLabelledBy);
441
- }
442
- }
443
-
444
- // state is changeable.
445
- final ReadableMap accessibilityState = (ReadableMap) host.getTag(R.id.accessibility_state);
446
- if (accessibilityState != null) {
447
- setState(info, accessibilityState, host.getContext());
448
- }
449
- final ReadableArray accessibilityActions =
450
- (ReadableArray) host.getTag(R.id.accessibility_actions);
166
+ // state is changeable.
167
+ final ReadableMap accessibilityState = (ReadableMap) host.getTag(R.id.accessibility_state);
168
+ if (accessibilityState != null) {
169
+ setState(info, accessibilityState, host.getContext());
170
+ }
171
+ final ReadableArray accessibilityActions =
172
+ (ReadableArray) host.getTag(R.id.accessibility_actions);
451
173
 
452
174
  final ReadableMap accessibilityCollectionItem =
453
175
  (ReadableMap) host.getTag(R.id.accessibility_collection_item);
@@ -622,7 +344,6 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
622
344
  final AccessibilityRole accessibilityRole =
623
345
  (AccessibilityRole) host.getTag(R.id.accessibility_role);
624
346
  final ReadableMap accessibilityValue = (ReadableMap) host.getTag(R.id.accessibility_value);
625
-
626
347
  if (accessibilityRole == AccessibilityRole.ADJUSTABLE
627
348
  && (action == AccessibilityActionCompat.ACTION_SCROLL_FORWARD.getId()
628
349
  || action == AccessibilityActionCompat.ACTION_SCROLL_BACKWARD.getId())) {
@@ -631,18 +352,29 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
631
352
  }
632
353
  return super.performAccessibilityAction(host, action, args);
633
354
  }
634
-
635
355
  // When checking the accessibility focus action, we don't want to intercept the native event
636
356
  // otherwise it would intercept the change of focus
637
357
  if (action == AccessibilityActionCompat.ACTION_ACCESSIBILITY_FOCUS.getId()) {
638
358
  return super.performAccessibilityAction(host, action, args);
639
359
  }
640
-
641
360
  return true;
642
361
  }
643
362
  return super.performAccessibilityAction(host, action, args);
644
363
  }
645
364
 
365
+ /**
366
+ * Schedule a command for sending an accessibility event. </br> Note: A command is used to ensure
367
+ * that accessibility events are sent at most one in a given time frame to save system resources
368
+ * while the progress changes quickly.
369
+ */
370
+ private void scheduleAccessibilityEventSender(View host) {
371
+ if (mHandler.hasMessages(SEND_EVENT, host)) {
372
+ mHandler.removeMessages(SEND_EVENT, host);
373
+ }
374
+ Message msg = mHandler.obtainMessage(SEND_EVENT, host);
375
+ mHandler.sendMessageDelayed(msg, TIMEOUT_SEND_ACCESSIBILITY_EVENT);
376
+ }
377
+
646
378
  private static void setState(
647
379
  AccessibilityNodeInfoCompat info, ReadableMap accessibilityState, Context context) {
648
380
  final ReadableMapKeySetIterator i = accessibilityState.keySetIterator();
@@ -661,10 +393,7 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
661
393
  }
662
394
  }
663
395
 
664
- /** Strings for setting the Role Description in english */
665
-
666
396
  // TODO: Eventually support for other languages on talkback
667
-
668
397
  public static void setRole(
669
398
  AccessibilityNodeInfoCompat nodeInfo, AccessibilityRole role, final Context context) {
670
399
  if (role == null) {
@@ -716,173 +445,20 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
716
445
  }
717
446
  }
718
447
 
719
- public static void setDelegate(
720
- final View view, boolean originalFocus, int originalImportantForAccessibility) {
721
- // if a view already has an accessibility delegate, replacing it could cause
722
- // problems,
723
- // so leave it alone.
724
- if (!ViewCompat.hasAccessibilityDelegate(view)
725
- && (view.getTag(R.id.accessibility_role) != null
726
- || view.getTag(R.id.accessibility_state) != null
727
- || view.getTag(R.id.accessibility_actions) != null
728
- || view.getTag(R.id.react_test_id) != null
729
- || view.getTag(R.id.accessibility_collection_item) != null
730
- || view.getTag(R.id.accessibility_links) != null
731
- || view.getTag(R.id.role) != null)) {
732
- ViewCompat.setAccessibilityDelegate(
733
- view,
734
- new ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility));
735
- }
736
- }
737
-
738
- // Explicitly re-set the delegate, even if one has already been set.
739
- public static void resetDelegate(
740
- final View view, boolean originalFocus, int originalImportantForAccessibility) {
741
- ViewCompat.setAccessibilityDelegate(
742
- view,
743
- new ReactAccessibilityDelegate(view, originalFocus, originalImportantForAccessibility));
744
- }
745
-
746
448
  @Override
747
449
  protected int getVirtualViewAt(float x, float y) {
748
- if (mAccessibilityLinks == null
749
- || mAccessibilityLinks.size() == 0
750
- || !(mView instanceof TextView)) {
751
- return INVALID_ID;
752
- }
753
-
754
- TextView textView = (TextView) mView;
755
- if (!(textView.getText() instanceof Spanned)) {
756
- return INVALID_ID;
757
- }
758
-
759
- Layout layout = textView.getLayout();
760
- if (layout == null) {
761
- return INVALID_ID;
762
- }
763
-
764
- x -= textView.getTotalPaddingLeft();
765
- y -= textView.getTotalPaddingTop();
766
- x += textView.getScrollX();
767
- y += textView.getScrollY();
768
-
769
- int line = layout.getLineForVertical((int) y);
770
- int charOffset = layout.getOffsetForHorizontal(line, x);
771
-
772
- ClickableSpan clickableSpan = getFirstSpan(charOffset, charOffset, ClickableSpan.class);
773
- if (clickableSpan == null) {
774
- return INVALID_ID;
775
- }
776
-
777
- Spanned spanned = (Spanned) textView.getText();
778
- int start = spanned.getSpanStart(clickableSpan);
779
- int end = spanned.getSpanEnd(clickableSpan);
780
-
781
- final AccessibilityLinks.AccessibleLink link = mAccessibilityLinks.getLinkBySpanPos(start, end);
782
- return link != null ? link.id : INVALID_ID;
450
+ return INVALID_ID;
783
451
  }
784
452
 
785
453
  @Override
786
- protected void getVisibleVirtualViews(List<Integer> virtualViewIds) {
787
- if (mAccessibilityLinks == null) {
788
- return;
789
- }
790
-
791
- for (int i = 0; i < mAccessibilityLinks.size(); i++) {
792
- virtualViewIds.add(i);
793
- }
794
- }
454
+ protected void getVisibleVirtualViews(List<Integer> virtualViewIds) {}
795
455
 
796
456
  @Override
797
457
  protected void onPopulateNodeForVirtualView(
798
458
  int virtualViewId, @NonNull AccessibilityNodeInfoCompat node) {
799
- // If we get an invalid virtualViewId for some reason (which is known to happen in API 19 and
800
- // below), return an "empty" node to prevent from crashing. This will never be presented to
801
- // the user, as Talkback filters out nodes with no content to announce.
802
- if (mAccessibilityLinks == null) {
803
- node.setContentDescription("");
804
- node.setBoundsInParent(new Rect(0, 0, 1, 1));
805
- return;
806
- }
807
-
808
- final AccessibilityLinks.AccessibleLink accessibleTextSpan =
809
- mAccessibilityLinks.getLinkById(virtualViewId);
810
- if (accessibleTextSpan == null) {
811
- node.setContentDescription("");
812
- node.setBoundsInParent(new Rect(0, 0, 1, 1));
813
- return;
814
- }
815
-
816
- // NOTE: The span may not actually have visible bounds within its parent,
817
- // due to line limits, etc.
818
- final Rect bounds = getBoundsInParent(accessibleTextSpan);
819
- if (bounds == null) {
820
- node.setContentDescription("");
821
- node.setBoundsInParent(new Rect(0, 0, 1, 1));
822
- return;
823
- }
824
-
825
- node.setContentDescription(accessibleTextSpan.description);
826
- node.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK);
827
- node.setBoundsInParent(bounds);
828
- node.setRoleDescription(mView.getResources().getString(R.string.link_description));
829
- node.setClassName(AccessibilityRole.getValue(AccessibilityRole.BUTTON));
830
- }
831
-
832
- private Rect getBoundsInParent(AccessibilityLinks.AccessibleLink accessibleLink) {
833
- // This view is not a text view, so return the entire views bounds.
834
- if (!(mView instanceof TextView)) {
835
- return new Rect(0, 0, mView.getWidth(), mView.getHeight());
836
- }
837
-
838
- TextView textView = (TextView) mView;
839
- Layout textViewLayout = textView.getLayout();
840
- if (textViewLayout == null) {
841
- return new Rect(0, 0, textView.getWidth(), textView.getHeight());
842
- }
843
-
844
- double startOffset = accessibleLink.start;
845
- double endOffset = accessibleLink.end;
846
-
847
- // Ensure the link hasn't been ellipsized away; in such cases,
848
- // getPrimaryHorizontal will crash (and the link isn't rendered anyway).
849
- int startOffsetLineNumber = textViewLayout.getLineForOffset((int) startOffset);
850
- int lineEndOffset = textViewLayout.getLineEnd(startOffsetLineNumber);
851
- if (startOffset > lineEndOffset) {
852
- return null;
853
- }
854
-
855
- Rect rootRect = new Rect();
856
-
857
- double startXCoordinates = textViewLayout.getPrimaryHorizontal((int) startOffset);
858
-
859
- final Paint paint = new Paint();
860
- AbsoluteSizeSpan sizeSpan =
861
- getFirstSpan(accessibleLink.start, accessibleLink.end, AbsoluteSizeSpan.class);
862
- float textSize = sizeSpan != null ? sizeSpan.getSize() : textView.getTextSize();
863
- paint.setTextSize(textSize);
864
- int textWidth = (int) Math.ceil(paint.measureText(accessibleLink.description));
865
-
866
- int endOffsetLineNumber = textViewLayout.getLineForOffset((int) endOffset);
867
- boolean isMultiline = startOffsetLineNumber != endOffsetLineNumber;
868
- textViewLayout.getLineBounds(startOffsetLineNumber, rootRect);
869
-
870
- int verticalOffset = textView.getScrollY() + textView.getTotalPaddingTop();
871
- rootRect.top += verticalOffset;
872
- rootRect.bottom += verticalOffset;
873
- rootRect.left += startXCoordinates + textView.getTotalPaddingLeft() - textView.getScrollX();
874
-
875
- // The bounds for multi-line strings should *only* include the first line. This is because for
876
- // API 25 and below, Talkback's click is triggered at the center point of these bounds, and if
877
- // that center point is outside the spannable, it will click on something else. There is no
878
- // harm in not outlining the wrapped part of the string, as the text for the whole string will
879
- // be read regardless of the bounding box.
880
- if (isMultiline) {
881
- return new Rect(rootRect.left, rootRect.top, rootRect.right, rootRect.bottom);
882
- }
883
-
884
- return new Rect(rootRect.left, rootRect.top, rootRect.left + textWidth, rootRect.bottom);
885
- }
459
+ node.setContentDescription("");
460
+ node.setBoundsInParent(new Rect(0, 0, 1, 1));
461
+ }
886
462
 
887
463
  @Override
888
464
  protected boolean onPerformActionForVirtualView(
@@ -890,97 +466,17 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
890
466
  return false;
891
467
  }
892
468
 
893
- protected @Nullable <T> T getFirstSpan(int start, int end, Class<T> classType) {
894
- if (!(mView instanceof TextView) || !(((TextView) mView).getText() instanceof Spanned)) {
895
- return null;
896
- }
897
-
898
- Spanned spanned = (Spanned) ((TextView) mView).getText();
899
- T[] spans = spanned.getSpans(start, end, classType);
900
- return spans.length > 0 ? spans[0] : null;
901
- }
902
-
903
- public static class AccessibilityLinks {
904
- private final List<AccessibleLink> mLinks;
905
-
906
- public AccessibilityLinks(ClickableSpan[] spans, Spannable text) {
907
- ArrayList<AccessibleLink> links = new ArrayList<>();
908
- for (int i = 0; i < spans.length; i++) {
909
- ClickableSpan span = spans[i];
910
- int start = text.getSpanStart(span);
911
- int end = text.getSpanEnd(span);
912
- // zero length spans, and out of range spans should not be included.
913
- if (start == end || start < 0 || end < 0 || start > text.length() || end > text.length()) {
914
- continue;
915
- }
916
-
917
- final AccessibleLink link = new AccessibleLink();
918
- link.description = text.subSequence(start, end).toString();
919
- link.start = start;
920
- link.end = end;
921
-
922
- // ID is the reverse of what is expected, since the ClickableSpans are returned in reverse
923
- // order due to being added in reverse order. If we don't do this, focus will move to the
924
- // last link first and move backwards.
925
- //
926
- // If this approach becomes unreliable, we should instead look at their start position and
927
- // order them manually.
928
- link.id = spans.length - 1 - i;
929
- links.add(link);
930
- }
931
- mLinks = links;
932
- }
933
-
934
- @Nullable
935
- public AccessibleLink getLinkById(int id) {
936
- for (AccessibleLink link : mLinks) {
937
- if (link.id == id) {
938
- return link;
939
- }
940
- }
941
-
942
- return null;
943
- }
944
-
945
- @Nullable
946
- public AccessibleLink getLinkBySpanPos(int start, int end) {
947
- for (AccessibleLink link : mLinks) {
948
- if (link.start == start && link.end == end) {
949
- return link;
950
- }
951
- }
952
-
953
- return null;
954
- }
955
-
956
- public int size() {
957
- return mLinks.size();
958
- }
959
-
960
- private static class AccessibleLink {
961
- public String description;
962
- public int start;
963
- public int end;
964
- public int id;
965
- }
966
- }
967
-
968
469
  @Override
969
470
  public @Nullable AccessibilityNodeProviderCompat getAccessibilityNodeProvider(View host) {
970
- // Only set a NodeProvider if we have virtual views, otherwise just return null here so that
971
- // we fall back to the View class's default behavior. If we don't do this, then Views with
972
- // no virtual children will fall back to using ExploreByTouchHelper's onPopulateNodeForHost
973
- // method to populate their AccessibilityNodeInfo, which defaults to doing nothing, so no
974
- // AccessibilityNodeInfo will be created. Alternatively, we could override
975
- // onPopulateNodeForHost instead, and have it create an AccessibilityNodeInfo for the host
976
- // but this is what the default View class does by itself, so we may as well defer to it.
977
- if (mAccessibilityLinks != null) {
978
- return super.getAccessibilityNodeProvider(host);
979
- }
980
-
981
471
  return null;
982
472
  }
983
473
 
474
+ // This exists so classes that extend this can properly call super's impl of this method while
475
+ // still being able to override it properly for this class
476
+ public @Nullable AccessibilityNodeProviderCompat superGetAccessibilityNodeProvider(View host) {
477
+ return super.getAccessibilityNodeProvider(host);
478
+ }
479
+
984
480
  /**
985
481
  * Determines if the supplied {@link View} and {@link AccessibilityNodeInfoCompat} has any
986
482
  * children which are not independently accessibility focusable and also have a spoken
@@ -1224,11 +720,8 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
1224
720
  return talkbackSegments;
1225
721
  }
1226
722
 
1227
- // EditText
723
+ // TextView
1228
724
  if (hasNodeText) {
1229
- // skipped status checks above for EditText
1230
-
1231
- // description
1232
725
  talkbackSegments.append(nodeText);
1233
726
  return talkbackSegments;
1234
727
  }
@@ -1271,4 +764,285 @@ public class ReactAccessibilityDelegate extends ExploreByTouchHelper {
1271
764
  }
1272
765
  return builder.toString();
1273
766
  }
767
+
768
+ /**
769
+ * An ARIA Role representable by View's `role` prop. Ordinals should be kept in sync with
770
+ * `facebook::react::Role`.
771
+ */
772
+ public enum Role {
773
+ ALERT,
774
+ ALERTDIALOG,
775
+ APPLICATION,
776
+ ARTICLE,
777
+ BANNER,
778
+ BUTTON,
779
+ CELL,
780
+ CHECKBOX,
781
+ COLUMNHEADER,
782
+ COMBOBOX,
783
+ COMPLEMENTARY,
784
+ CONTENTINFO,
785
+ DEFINITION,
786
+ DIALOG,
787
+ DIRECTORY,
788
+ DOCUMENT,
789
+ FEED,
790
+ FIGURE,
791
+ FORM,
792
+ GRID,
793
+ GROUP,
794
+ HEADING,
795
+ IMG,
796
+ LINK,
797
+ LIST,
798
+ LISTITEM,
799
+ LOG,
800
+ MAIN,
801
+ MARQUEE,
802
+ MATH,
803
+ MENU,
804
+ MENUBAR,
805
+ MENUITEM,
806
+ METER,
807
+ NAVIGATION,
808
+ NONE,
809
+ NOTE,
810
+ OPTION,
811
+ PRESENTATION,
812
+ PROGRESSBAR,
813
+ RADIO,
814
+ RADIOGROUP,
815
+ REGION,
816
+ ROW,
817
+ ROWGROUP,
818
+ ROWHEADER,
819
+ SCROLLBAR,
820
+ SEARCHBOX,
821
+ SEPARATOR,
822
+ SLIDER,
823
+ SPINBUTTON,
824
+ STATUS,
825
+ SUMMARY,
826
+ SWITCH,
827
+ TAB,
828
+ TABLE,
829
+ TABLIST,
830
+ TABPANEL,
831
+ TERM,
832
+ TIMER,
833
+ TOOLBAR,
834
+ TOOLTIP,
835
+ TREE,
836
+ TREEGRID,
837
+ TREEITEM;
838
+
839
+ public static @Nullable Role fromValue(@Nullable String value) {
840
+ for (Role role : Role.values()) {
841
+ if (role.name().equalsIgnoreCase(value)) {
842
+ return role;
843
+ }
844
+ }
845
+ return null;
846
+ }
847
+ }
848
+
849
+ /**
850
+ * These roles are defined by Google's TalkBack screen reader, and this list should be kept up to
851
+ * date with their implementation. Details can be seen in their source code here:
852
+ *
853
+ * <p>https://github.com/google/talkback/blob/master/utils/src/main/java/Role.java
854
+ */
855
+ public enum AccessibilityRole {
856
+ NONE,
857
+ BUTTON,
858
+ DROPDOWNLIST,
859
+ TOGGLEBUTTON,
860
+ LINK,
861
+ SEARCH,
862
+ IMAGE,
863
+ IMAGEBUTTON,
864
+ KEYBOARDKEY,
865
+ TEXT,
866
+ ADJUSTABLE,
867
+ SUMMARY,
868
+ HEADER,
869
+ ALERT,
870
+ CHECKBOX,
871
+ COMBOBOX,
872
+ MENU,
873
+ MENUBAR,
874
+ MENUITEM,
875
+ PROGRESSBAR,
876
+ RADIO,
877
+ RADIOGROUP,
878
+ SCROLLBAR,
879
+ SPINBUTTON,
880
+ SWITCH,
881
+ TAB,
882
+ TABLIST,
883
+ TIMER,
884
+ LIST,
885
+ GRID,
886
+ PAGER,
887
+ SCROLLVIEW,
888
+ HORIZONTALSCROLLVIEW,
889
+ VIEWGROUP,
890
+ WEBVIEW,
891
+ DRAWERLAYOUT,
892
+ SLIDINGDRAWER,
893
+ ICONMENU,
894
+ TOOLBAR;
895
+
896
+ public static String getValue(AccessibilityRole role) {
897
+ switch (role) {
898
+ case BUTTON:
899
+ return "android.widget.Button";
900
+ case DROPDOWNLIST:
901
+ return "android.widget.Spinner";
902
+ case TOGGLEBUTTON:
903
+ return "android.widget.ToggleButton";
904
+ case SEARCH:
905
+ return "android.widget.EditText";
906
+ case IMAGE:
907
+ return "android.widget.ImageView";
908
+ case IMAGEBUTTON:
909
+ return "android.widget.ImageButton";
910
+ case KEYBOARDKEY:
911
+ return "android.inputmethodservice.Keyboard$Key";
912
+ case TEXT:
913
+ return "android.widget.TextView";
914
+ case ADJUSTABLE:
915
+ return "android.widget.SeekBar";
916
+ case CHECKBOX:
917
+ return "android.widget.CheckBox";
918
+ case RADIO:
919
+ return "android.widget.RadioButton";
920
+ case SPINBUTTON:
921
+ return "android.widget.SpinButton";
922
+ case SWITCH:
923
+ return "android.widget.Switch";
924
+ case LIST:
925
+ return "android.widget.AbsListView";
926
+ case GRID:
927
+ return "android.widget.GridView";
928
+ case SCROLLVIEW:
929
+ return "android.widget.ScrollView";
930
+ case HORIZONTALSCROLLVIEW:
931
+ return "android.widget.HorizontalScrollView";
932
+ case PAGER:
933
+ return "androidx.viewpager.widget.ViewPager";
934
+ case DRAWERLAYOUT:
935
+ return "androidx.drawerlayout.widget.DrawerLayout";
936
+ case SLIDINGDRAWER:
937
+ return "android.widget.SlidingDrawer";
938
+ case ICONMENU:
939
+ return "com.android.internal.view.menu.IconMenuView";
940
+ case VIEWGROUP:
941
+ return "android.view.ViewGroup";
942
+ case WEBVIEW:
943
+ return "android.webkit.WebView";
944
+ case NONE:
945
+ case LINK:
946
+ case SUMMARY:
947
+ case HEADER:
948
+ case ALERT:
949
+ case COMBOBOX:
950
+ case MENU:
951
+ case MENUBAR:
952
+ case MENUITEM:
953
+ case PROGRESSBAR:
954
+ case RADIOGROUP:
955
+ case SCROLLBAR:
956
+ case TAB:
957
+ case TABLIST:
958
+ case TIMER:
959
+ case TOOLBAR:
960
+ return "android.view.View";
961
+ default:
962
+ throw new IllegalArgumentException("Invalid accessibility role value: " + role);
963
+ }
964
+ }
965
+
966
+ public static AccessibilityRole fromValue(@Nullable String value) {
967
+ if (value == null) {
968
+ return NONE;
969
+ }
970
+
971
+ for (AccessibilityRole role : AccessibilityRole.values()) {
972
+ if (role.name().equalsIgnoreCase(value)) {
973
+ return role;
974
+ }
975
+ }
976
+ throw new IllegalArgumentException("Invalid accessibility role value: " + value);
977
+ }
978
+
979
+ public static @Nullable AccessibilityRole fromRole(Role role) {
980
+ switch (role) {
981
+ case ALERT:
982
+ return AccessibilityRole.ALERT;
983
+ case BUTTON:
984
+ return AccessibilityRole.BUTTON;
985
+ case CHECKBOX:
986
+ return AccessibilityRole.CHECKBOX;
987
+ case COMBOBOX:
988
+ return AccessibilityRole.COMBOBOX;
989
+ case GRID:
990
+ return AccessibilityRole.GRID;
991
+ case HEADING:
992
+ return AccessibilityRole.HEADER;
993
+ case IMG:
994
+ return AccessibilityRole.IMAGE;
995
+ case LINK:
996
+ return AccessibilityRole.LINK;
997
+ case LIST:
998
+ return AccessibilityRole.LIST;
999
+ case MENU:
1000
+ return AccessibilityRole.MENU;
1001
+ case MENUBAR:
1002
+ return AccessibilityRole.MENUBAR;
1003
+ case MENUITEM:
1004
+ return AccessibilityRole.MENUITEM;
1005
+ case NONE:
1006
+ return AccessibilityRole.NONE;
1007
+ case PROGRESSBAR:
1008
+ return AccessibilityRole.PROGRESSBAR;
1009
+ case RADIO:
1010
+ return AccessibilityRole.RADIO;
1011
+ case RADIOGROUP:
1012
+ return AccessibilityRole.RADIOGROUP;
1013
+ case SCROLLBAR:
1014
+ return AccessibilityRole.SCROLLBAR;
1015
+ case SEARCHBOX:
1016
+ return AccessibilityRole.SEARCH;
1017
+ case SLIDER:
1018
+ return AccessibilityRole.ADJUSTABLE;
1019
+ case SPINBUTTON:
1020
+ return AccessibilityRole.SPINBUTTON;
1021
+ case SUMMARY:
1022
+ return AccessibilityRole.SUMMARY;
1023
+ case SWITCH:
1024
+ return AccessibilityRole.SWITCH;
1025
+ case TAB:
1026
+ return AccessibilityRole.TAB;
1027
+ case TABLIST:
1028
+ return AccessibilityRole.TABLIST;
1029
+ case TIMER:
1030
+ return AccessibilityRole.TIMER;
1031
+ case TOOLBAR:
1032
+ return AccessibilityRole.TOOLBAR;
1033
+ default:
1034
+ // No mapping from ARIA role to AccessibilityRole
1035
+ return null;
1036
+ }
1037
+ }
1038
+
1039
+ public static @Nullable AccessibilityRole fromViewTag(View view) {
1040
+ Role role = (Role) view.getTag(R.id.role);
1041
+ if (role != null) {
1042
+ return AccessibilityRole.fromRole(role);
1043
+ } else {
1044
+ return (AccessibilityRole) view.getTag(R.id.accessibility_role);
1045
+ }
1046
+ }
1047
+ }
1274
1048
  }