react-native-tvos 0.80.1-0 → 0.81.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 (1773) hide show
  1. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
  2. package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
  3. package/Libraries/Alert/Alert.js +3 -3
  4. package/Libraries/Alert/NativeAlertManager.js +1 -0
  5. package/Libraries/Alert/RCTAlertManager.android.js +19 -13
  6. package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
  7. package/Libraries/Alert/RCTAlertManager.js +1 -3
  8. package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
  9. package/Libraries/Animated/Animated.js +0 -1
  10. package/Libraries/Animated/Animated.js.flow +0 -1
  11. package/Libraries/Animated/AnimatedEvent.js +4 -3
  12. package/Libraries/Animated/AnimatedExports.js +0 -1
  13. package/Libraries/Animated/AnimatedExports.js.flow +5 -1
  14. package/Libraries/Animated/AnimatedImplementation.js +44 -44
  15. package/Libraries/Animated/AnimatedMock.js +2 -2
  16. package/Libraries/Animated/Easing.js +1 -1
  17. package/Libraries/Animated/NativeAnimatedModule.js +1 -0
  18. package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
  19. package/Libraries/Animated/SpringConfig.js +1 -1
  20. package/Libraries/Animated/animations/Animation.js +10 -2
  21. package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
  22. package/Libraries/Animated/components/AnimatedText.js +2 -5
  23. package/Libraries/Animated/components/AnimatedView.js +2 -1
  24. package/Libraries/Animated/createAnimatedComponent.js +39 -37
  25. package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
  26. package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
  27. package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
  28. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
  29. package/Libraries/AppDelegate/RCTAppSetupUtils.h +1 -7
  30. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +4 -16
  31. package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +2 -8
  32. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +8 -7
  33. package/Libraries/AppState/NativeAppState.js +1 -0
  34. package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
  35. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  36. package/Libraries/Blob/BlobManager.js +4 -0
  37. package/Libraries/Blob/NativeBlobModule.js +1 -0
  38. package/Libraries/Blob/NativeFileReaderModule.js +1 -0
  39. package/Libraries/Blob/React-RCTBlob.podspec +3 -2
  40. package/Libraries/Blob/URL.js +1 -1
  41. package/Libraries/Blob/URLSearchParams.js +5 -1
  42. package/Libraries/Blob/URLSearchParams.js.flow +2 -1
  43. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
  44. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
  45. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  46. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  47. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
  48. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
  49. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
  50. package/Libraries/Components/Button.js +10 -7
  51. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  52. package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
  53. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
  54. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -4
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
  56. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  57. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
  58. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
  59. package/Libraries/Components/Keyboard/Keyboard.js +1 -1
  60. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
  61. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
  62. package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
  63. package/Libraries/Components/Pressable/Pressable.js +21 -18
  64. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
  65. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  66. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
  67. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
  68. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
  69. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  70. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
  71. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
  72. package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
  73. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
  74. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  75. package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
  76. package/Libraries/Components/ScrollView/ScrollView.js +25 -15
  77. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  78. package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
  79. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
  80. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
  81. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  82. package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
  83. package/Libraries/Components/Sound/SoundManager.js +1 -1
  84. package/Libraries/Components/StaticRenderer.js +1 -1
  85. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
  86. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
  87. package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
  88. package/Libraries/Components/StatusBar/StatusBar.js +6 -1
  89. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
  90. package/Libraries/Components/Switch/Switch.js +10 -3
  91. package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
  92. package/Libraries/Components/TV/TVEventControl.js +7 -6
  93. package/Libraries/Components/TV/TVFocusGuideView.js +29 -24
  94. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -12
  95. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
  96. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
  97. package/Libraries/Components/TextInput/TextInput.flow.js +2 -6
  98. package/Libraries/Components/TextInput/TextInput.js +36 -37
  99. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  100. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
  101. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
  102. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
  103. package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
  104. package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
  105. package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
  106. package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
  107. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  108. package/Libraries/Components/Touchable/Position.js +1 -1
  109. package/Libraries/Components/Touchable/Touchable.js +17 -3
  110. package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
  111. package/Libraries/Components/Touchable/TouchableHighlight.js +16 -11
  112. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
  113. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
  114. package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
  115. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  116. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
  117. package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
  118. package/Libraries/Components/View/View.js +144 -54
  119. package/Libraries/Components/View/ViewAccessibility.js +1 -8
  120. package/Libraries/Components/View/ViewPropTypes.d.ts +4 -0
  121. package/Libraries/Components/View/ViewPropTypes.js +8 -1
  122. package/Libraries/Core/Devtools/getDevServer.js +1 -1
  123. package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
  124. package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
  125. package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
  126. package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
  127. package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
  128. package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
  129. package/Libraries/Core/ExceptionsManager.js +27 -16
  130. package/Libraries/Core/InitializeCore.js +2 -23
  131. package/Libraries/Core/NativeExceptionsManager.js +1 -0
  132. package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
  133. package/Libraries/Core/ReactNativeVersion.js +4 -6
  134. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
  135. package/Libraries/Core/Timers/JSTimers.js +1 -1
  136. package/Libraries/Core/Timers/NativeTiming.js +1 -0
  137. package/Libraries/Core/Timers/immediateShim.js +1 -1
  138. package/Libraries/Core/Timers/queueMicrotask.js +1 -1
  139. package/Libraries/Core/checkNativeVersion.js +1 -0
  140. package/Libraries/Core/setUpDeveloperTools.js +13 -11
  141. package/Libraries/Core/setUpReactDevTools.js +21 -4
  142. package/Libraries/Debugging/DebuggingOverlay.js +12 -14
  143. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
  144. package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
  145. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -1
  146. package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
  147. package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
  148. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
  149. package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
  150. package/Libraries/Image/AssetRegistry.js +4 -10
  151. package/Libraries/Image/Image.android.js +113 -107
  152. package/Libraries/Image/Image.ios.js +10 -2
  153. package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
  154. package/Libraries/Image/ImageInjection.js +1 -1
  155. package/Libraries/Image/ImageSource.d.ts +5 -0
  156. package/Libraries/Image/ImageViewNativeComponent.js +3 -3
  157. package/Libraries/Image/NativeImageEditor.js +1 -0
  158. package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
  159. package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
  160. package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
  161. package/Libraries/Image/NativeImageStoreIOS.js +1 -0
  162. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +2 -1
  163. package/Libraries/Image/RCTImageUtils.mm +1 -1
  164. package/Libraries/Image/RCTResizeMode.h +3 -7
  165. package/Libraries/Image/React-RCTImage.podspec +4 -2
  166. package/Libraries/Image/RelativeImageStub.js +2 -1
  167. package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
  168. package/Libraries/Image/resolveAssetSource.js +1 -1
  169. package/Libraries/Interaction/FrameRateLogger.js +1 -1
  170. package/Libraries/Interaction/InteractionManager.js +64 -54
  171. package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
  172. package/Libraries/Interaction/TaskQueue.js +8 -9
  173. package/Libraries/Interaction/TouchHistoryMath.js +1 -1
  174. package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
  175. package/Libraries/Linking/Linking.js +1 -1
  176. package/Libraries/Linking/NativeIntentAndroid.js +1 -0
  177. package/Libraries/Linking/NativeLinkingManager.js +1 -0
  178. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  179. package/Libraries/Lists/FlatList.d.ts +9 -5
  180. package/Libraries/Lists/FlatList.js +6 -7
  181. package/Libraries/Lists/SectionList.js +4 -4
  182. package/Libraries/Lists/SectionListModern.js +9 -3
  183. package/Libraries/Lists/VirtualizedList.js +3 -2
  184. package/Libraries/LogBox/Data/LogBoxData.js +7 -4
  185. package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
  186. package/Libraries/LogBox/LogBox.js +72 -99
  187. package/Libraries/LogBox/UI/LogBoxButton.js +2 -1
  188. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
  189. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
  190. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
  191. package/Libraries/Modal/Modal.d.ts +8 -2
  192. package/Libraries/Modal/Modal.js +24 -3
  193. package/Libraries/Modal/NativeModalManager.js +1 -0
  194. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
  195. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +2 -1
  196. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -18
  197. package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
  198. package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
  199. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
  200. package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
  201. package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
  202. package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
  203. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
  204. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
  205. package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
  206. package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
  207. package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
  208. package/Libraries/Network/FormData.js +1 -1
  209. package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
  210. package/Libraries/Network/NativeNetworkingIOS.js +1 -0
  211. package/Libraries/Network/RCTInspectorNetworkReporter.h +64 -0
  212. package/Libraries/Network/RCTInspectorNetworkReporter.mm +105 -0
  213. package/Libraries/Network/RCTNetworkConversions.h +23 -0
  214. package/Libraries/Network/RCTNetworking.android.js +2 -2
  215. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  216. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  217. package/Libraries/Network/RCTNetworking.mm +31 -4
  218. package/Libraries/Network/React-RCTNetwork.podspec +2 -1
  219. package/Libraries/Network/XMLHttpRequest.js +3 -3
  220. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
  221. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
  222. package/Libraries/Pressability/Pressability.js +1 -1
  223. package/Libraries/Promise.js +1 -1
  224. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
  225. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
  226. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +2 -0
  227. package/Libraries/ReactNative/AppContainer-dev.js +2 -3
  228. package/Libraries/ReactNative/AppContainer-prod.js +0 -1
  229. package/Libraries/ReactNative/AppContainer.js +1 -1
  230. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  231. package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
  232. package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
  233. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
  234. package/Libraries/ReactNative/NativeI18nManager.js +1 -0
  235. package/Libraries/ReactNative/NativeUIManager.js +1 -0
  236. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  237. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
  238. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
  239. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +81 -62
  240. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
  241. package/Libraries/ReactNative/RendererImplementation.js +1 -1
  242. package/Libraries/ReactNative/RendererProxy.js +1 -1
  243. package/Libraries/ReactNative/RootTag.js +2 -2
  244. package/Libraries/ReactNative/renderApplication.js +1 -1
  245. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  246. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
  247. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
  248. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
  249. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
  250. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
  251. package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -36
  252. package/Libraries/Required/RCTRequired.podspec +1 -1
  253. package/Libraries/Settings/NativeSettingsManager.js +1 -0
  254. package/Libraries/Settings/React-RCTSettings.podspec +2 -1
  255. package/Libraries/Settings/Settings.ios.js +1 -1
  256. package/Libraries/Settings/Settings.js +1 -1
  257. package/Libraries/Settings/SettingsFallback.js +1 -1
  258. package/Libraries/Share/NativeShareModule.js +1 -0
  259. package/Libraries/Share/Share.js +1 -1
  260. package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
  261. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
  262. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
  263. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
  264. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
  265. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
  266. package/Libraries/StyleSheet/PointPropType.js +1 -1
  267. package/Libraries/StyleSheet/Rect.js +1 -1
  268. package/Libraries/StyleSheet/StyleSheet.js +1 -0
  269. package/Libraries/StyleSheet/StyleSheetTypes.js +0 -1
  270. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  271. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  272. package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
  273. package/Libraries/StyleSheet/processBoxShadow.js +0 -1
  274. package/Libraries/StyleSheet/processColor.js +1 -1
  275. package/Libraries/StyleSheet/processColorArray.js +1 -1
  276. package/Libraries/StyleSheet/processFilter.js +1 -2
  277. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  278. package/Libraries/StyleSheet/processTransform.js +1 -1
  279. package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
  280. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  281. package/Libraries/Text/React-RCTText.podspec +1 -1
  282. package/Libraries/Text/Text.d.ts +9 -0
  283. package/Libraries/Text/Text.js +255 -246
  284. package/Libraries/Text/TextAncestor.js +3 -9
  285. package/Libraries/Text/TextAncestorContext.js +23 -0
  286. package/Libraries/Text/TextNativeComponent.js +4 -0
  287. package/Libraries/Text/TextProps.js +2 -5
  288. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
  289. package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
  290. package/Libraries/Types/CodegenTypes.js +1 -1
  291. package/Libraries/Types/CodegenTypesNamespace.js +2 -1
  292. package/Libraries/Types/CoreEventTypes.d.ts +0 -4
  293. package/Libraries/Types/ReactDevToolsTypes.js +0 -1
  294. package/Libraries/Utilities/Appearance.js +1 -1
  295. package/Libraries/Utilities/BackHandler.js.flow +1 -1
  296. package/Libraries/Utilities/DevLoadingView.js +1 -1
  297. package/Libraries/Utilities/DeviceInfo.js +1 -1
  298. package/Libraries/Utilities/Dimensions.js +1 -1
  299. package/Libraries/Utilities/HMRClient.js +13 -3
  300. package/Libraries/Utilities/HMRClientProdShim.js +1 -1
  301. package/Libraries/Utilities/NativeAppearance.js +1 -0
  302. package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
  303. package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
  304. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
  305. package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
  306. package/Libraries/Utilities/PerformanceLoggerContext.js +2 -2
  307. package/Libraries/Utilities/PixelRatio.js +1 -1
  308. package/Libraries/Utilities/Platform.android.js +2 -5
  309. package/Libraries/Utilities/Platform.ios.js +2 -5
  310. package/Libraries/Utilities/Platform.js +1 -1
  311. package/Libraries/Utilities/Platform.js.flow +2 -2
  312. package/Libraries/Utilities/PlatformTypes.js +2 -2
  313. package/Libraries/Utilities/RCTLog.js +1 -1
  314. package/Libraries/Utilities/SceneTracker.js +1 -1
  315. package/Libraries/Utilities/binaryToBase64.js +1 -1
  316. package/Libraries/Utilities/codegenNativeCommands.js +5 -3
  317. package/Libraries/Utilities/codegenNativeComponent.js +4 -4
  318. package/Libraries/Utilities/createPerformanceLogger.js +27 -20
  319. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
  320. package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
  321. package/Libraries/Utilities/differ/deepDiffer.js +1 -1
  322. package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
  323. package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
  324. package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
  325. package/Libraries/Utilities/logError.js +1 -1
  326. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  327. package/Libraries/Utilities/stringifySafe.js +1 -1
  328. package/Libraries/Utilities/stringifyViewConfig.js +1 -1
  329. package/Libraries/Utilities/useColorScheme.js +1 -1
  330. package/Libraries/Utilities/useWindowDimensions.js +1 -1
  331. package/Libraries/Utilities/warnOnce.js +1 -1
  332. package/Libraries/Vibration/NativeVibration.js +1 -0
  333. package/Libraries/Vibration/React-RCTVibration.podspec +2 -1
  334. package/Libraries/Vibration/Vibration.js +1 -2
  335. package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
  336. package/Libraries/WebSocket/WebSocket.js +1 -1
  337. package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
  338. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  339. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  340. package/Libraries/vendor/emitter/EventEmitter.js +6 -6
  341. package/React/Base/RCTBridge+Private.h +5 -0
  342. package/React/Base/RCTBridge.mm +108 -0
  343. package/React/Base/RCTBridgeDelegate.h +2 -0
  344. package/React/Base/RCTBridgeMethod.h +3 -2
  345. package/React/Base/RCTBridgeModule.h +6 -0
  346. package/React/Base/RCTBridgeProxy.mm +2 -0
  347. package/React/Base/RCTBundleManager.h +2 -0
  348. package/React/Base/RCTBundleManager.m +10 -0
  349. package/React/Base/RCTCallInvokerModule.h +2 -0
  350. package/React/Base/RCTCallableJSModules.m +6 -0
  351. package/React/Base/RCTDisplayLink.h +8 -1
  352. package/React/Base/RCTDisplayLink.m +15 -14
  353. package/React/Base/RCTJavaScriptExecutor.h +2 -0
  354. package/React/Base/RCTModuleData.mm +37 -0
  355. package/React/Base/RCTModuleMethod.mm +1 -0
  356. package/React/Base/RCTModuleRegistry.m +8 -0
  357. package/React/Base/RCTRootContentView.h +4 -0
  358. package/React/Base/RCTRootContentView.m +4 -0
  359. package/React/Base/RCTRootView.m +32 -0
  360. package/React/Base/RCTRootViewInternal.h +4 -0
  361. package/React/Base/RCTTVNavigationEventNotification.h +2 -0
  362. package/React/Base/RCTTVRemoteHandler.h +3 -0
  363. package/React/Base/RCTTVRemoteHandler.m +2 -0
  364. package/React/Base/RCTTVRemoteHandlerConstants.h +2 -0
  365. package/React/Base/RCTTVRemoteSelectHandler.h +2 -0
  366. package/React/Base/RCTTVRemoteSelectHandler.m +2 -0
  367. package/React/Base/RCTTouchHandler.m +2 -0
  368. package/React/Base/RCTTouchHandlerTV.m +2 -0
  369. package/React/Base/RCTUtils.h +0 -2
  370. package/React/Base/RCTUtils.mm +65 -35
  371. package/React/Base/RCTVersion.m +2 -2
  372. package/React/Base/RCTViewRegistry.m +16 -7
  373. package/React/Base/Surface/RCTSurface.mm +68 -0
  374. package/React/Base/Surface/RCTSurfaceRootShadowView.m +17 -0
  375. package/React/Base/Surface/RCTSurfaceView.h +3 -3
  376. package/React/Base/Surface/RCTSurfaceView.mm +2 -1
  377. package/React/CoreModules/RCTDeviceInfo.mm +4 -3
  378. package/React/CoreModules/RCTLogBox.mm +4 -1
  379. package/React/CoreModules/RCTLogBoxView.h +2 -0
  380. package/React/CoreModules/RCTLogBoxView.mm +6 -0
  381. package/React/CoreModules/RCTStatusBarManager.mm +2 -0
  382. package/React/CoreModules/RCTTVNavigationEventEmitter.mm +3 -1
  383. package/React/CoreModules/React-CoreModules.podspec +4 -1
  384. package/React/CxxBridge/RCTCxxBridge.mm +47 -11
  385. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.h +4 -0
  386. package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +4 -0
  387. package/React/CxxBridge/RCTObjcExecutor.h +4 -0
  388. package/React/CxxBridge/RCTObjcExecutor.mm +5 -1
  389. package/React/CxxModule/DispatchMessageQueueThread.h +4 -0
  390. package/React/CxxModule/RCTCxxMethod.mm +1 -1
  391. package/React/CxxModule/RCTCxxModule.mm +1 -1
  392. package/React/CxxModule/RCTCxxUtils.h +4 -0
  393. package/React/CxxModule/RCTCxxUtils.mm +4 -1
  394. package/React/CxxModule/RCTNativeModule.h +4 -0
  395. package/React/CxxModule/RCTNativeModule.mm +5 -1
  396. package/React/CxxUtils/RCTFollyConvert.h +8 -6
  397. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -31
  398. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +3 -28
  399. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +153 -40
  400. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +243 -108
  401. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ComponentDescriptors.cpp +2 -2
  402. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +30 -0
  403. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/EventEmitters.cpp +26 -1
  404. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/EventEmitters.h +194 -0
  405. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.cpp +663 -0
  406. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/Props.h +535 -0
  407. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/RCTComponentViewHelpers.h +4 -0
  408. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/ShadowNodes.cpp +1 -1
  409. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +98 -0
  410. package/{ReactCommon/react/renderer/components/rncore → React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec}/States.cpp +1 -1
  411. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +32 -0
  412. package/React/Fabric/Mounting/ComponentViews/ActivityIndicator/RCTActivityIndicatorViewComponentView.mm +3 -3
  413. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h +1 -1
  414. package/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm +4 -4
  415. package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryComponentView.mm +1 -1
  416. package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -1
  417. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +0 -2
  418. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +18 -2
  419. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +4 -4
  420. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -1
  421. package/React/Fabric/Mounting/ComponentViews/Switch/RCTSwitchComponentView.mm +4 -4
  422. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +2 -1
  423. package/React/Fabric/Mounting/ComponentViews/UnimplementedComponent/RCTUnimplementedNativeComponentView.mm +3 -3
  424. package/React/Fabric/Mounting/ComponentViews/UnimplementedView/RCTUnimplementedViewComponentView.mm +3 -3
  425. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +20 -7
  426. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.h +24 -0
  427. package/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +384 -0
  428. package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
  429. package/React/Fabric/Mounting/RCTMountingManager.mm +15 -6
  430. package/React/Fabric/RCTScheduler.h +1 -0
  431. package/React/Fabric/RCTScheduler.mm +6 -2
  432. package/React/Fabric/RCTSurfacePointerHandler.mm +2 -0
  433. package/React/Fabric/RCTSurfacePointerHandlerTV.mm +2 -0
  434. package/React/Fabric/RCTSurfacePresenter.h +2 -1
  435. package/React/Fabric/RCTSurfacePresenter.mm +14 -8
  436. package/React/Fabric/RCTSurfaceTouchHandler.mm +2 -0
  437. package/React/Fabric/RCTSurfaceTouchHandlerTV.mm +2 -0
  438. package/React/Fabric/Surface/RCTFabricSurface.mm +4 -4
  439. package/React/Fabric/Utils/RCTGradientUtils.h +12 -0
  440. package/React/Fabric/Utils/RCTGradientUtils.mm +213 -6
  441. package/React/Fabric/Utils/RCTLinearGradient.mm +37 -42
  442. package/React/Fabric/Utils/RCTRadialGradient.mm +29 -64
  443. package/React/Modules/RCTSurfacePresenterStub.h +1 -1
  444. package/React/Modules/RCTUIManager.mm +206 -93
  445. package/React/React-RCTFBReactNativeSpec.podspec +33 -8
  446. package/React/React-RCTFabric.podspec +8 -3
  447. package/React/Runtime/React-RCTRuntime.podspec +7 -6
  448. package/React/Views/RCTBorderDrawing.h +5 -0
  449. package/React/Views/RCTBorderDrawing.m +37 -4
  450. package/React/Views/RCTModalHostView.h +1 -0
  451. package/React/Views/RCTModalHostView.m +16 -0
  452. package/React/Views/RCTModalHostViewController.m +0 -1
  453. package/React/Views/RCTModalHostViewManager.m +1 -0
  454. package/React/Views/RCTSwitch.h +2 -0
  455. package/React/Views/RCTSwitch.m +2 -0
  456. package/React/Views/RCTSwitchManager.h +2 -0
  457. package/React/Views/RCTSwitchManager.m +2 -0
  458. package/React/Views/RCTTVView.h +2 -0
  459. package/React/Views/RCTTVView.m +2 -0
  460. package/React/Views/RCTView.m +4 -1
  461. package/React/Views/RefreshControl/RCTRefreshControl.h +2 -0
  462. package/React/Views/RefreshControl/RCTRefreshControl.m +2 -0
  463. package/React/Views/RefreshControl/RCTRefreshControlManager.h +2 -0
  464. package/React/Views/RefreshControl/RCTRefreshControlManager.m +2 -0
  465. package/React/Views/RefreshControl/RCTRefreshableProtocol.h +2 -0
  466. package/React/Views/ScrollView/RCTScrollView.h +2 -0
  467. package/React/Views/ScrollView/RCTScrollView.m +2 -0
  468. package/React/Views/ScrollView/RCTScrollViewManager.m +2 -0
  469. package/React-Core-prebuilt.podspec +78 -0
  470. package/React-Core.podspec +29 -28
  471. package/ReactAndroid/api/ReactAndroid.api +294 -506
  472. package/ReactAndroid/build.gradle.kts +20 -55
  473. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +1 -1
  474. package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -2
  475. package/ReactAndroid/external-artifacts/build.gradle.kts +52 -0
  476. package/ReactAndroid/gradle.properties +1 -1
  477. package/ReactAndroid/hermes-engine/build.gradle.kts +25 -0
  478. package/ReactAndroid/publish.gradle +2 -2
  479. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  480. package/ReactAndroid/src/main/java/com/facebook/debug/tags/ReactDebugOverlayTags.kt +0 -9
  481. package/ReactAndroid/src/main/java/com/facebook/react/BaseReactPackage.kt +1 -0
  482. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +194 -0
  483. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.kt +1 -5
  484. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.kt +5 -4
  485. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.kt +146 -0
  486. package/ReactAndroid/src/main/java/com/facebook/react/MemoryPressureRouter.kt +6 -5
  487. package/ReactAndroid/src/main/java/com/facebook/react/NativeModuleRegistryBuilder.kt +2 -2
  488. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
  489. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +57 -30
  490. package/ReactAndroid/src/main/java/com/facebook/react/ReactApplication.kt +4 -0
  491. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +451 -0
  492. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.kt +237 -0
  493. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +11 -10
  494. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.kt +396 -0
  495. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +7 -16
  496. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackage.kt +3 -3
  497. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageHelper.kt +1 -0
  498. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +2 -1
  499. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.kt +244 -0
  500. package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.kt +1 -1
  501. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +4 -3
  502. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +1 -1
  503. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.kt +59 -77
  504. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.kt +43 -37
  505. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseActivityEventListener.kt +2 -2
  506. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +0 -2
  507. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BridgeReactContext.java +20 -11
  508. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CallbackImpl.kt +2 -2
  509. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.kt +3 -4
  510. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.kt +2 -0
  511. package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.kt +1 -1
  512. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSONArguments.kt +37 -40
  513. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +399 -0
  514. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.kt +2 -2
  515. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaOnlyArray.kt +8 -9
  516. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.kt +93 -0
  517. package/ReactAndroid/src/main/java/com/facebook/react/bridge/MemoryPressureListener.kt +1 -1
  518. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.kt +227 -0
  519. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.kt +59 -0
  520. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +4 -2
  521. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +4 -2
  522. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.kt +156 -0
  523. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +2 -1
  524. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.kt +240 -0
  525. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.kt +20 -0
  526. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.kt +33 -0
  527. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.kt +69 -0
  528. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.kt +212 -0
  529. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactModuleWithSpec.kt +2 -1
  530. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashBridgeNotAllowedSoftException.kt +4 -2
  531. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.kt +4 -3
  532. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +30 -21
  533. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableArrayBuilder.kt +8 -0
  534. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableMapBuilder.kt +21 -7
  535. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.kt +3 -3
  536. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RetryableMountingLayerException.kt +4 -4
  537. package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +4 -4
  538. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManagerProvider.kt +2 -1
  539. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.kt +3 -3
  540. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +8 -8
  541. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.kt +107 -0
  542. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +2 -1
  543. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/LegacyArchitectureShadowNodeWithCxxImpl.kt +6 -4
  544. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/internal/InteropLegacyArchitecture.kt +1 -1
  545. package/ReactAndroid/src/main/java/com/facebook/react/common/build/ReactBuildConfig.kt +1 -1
  546. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +16 -4
  547. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +53 -1
  548. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +4 -3
  549. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +9 -15
  550. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.kt +2 -2
  551. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +0 -3
  552. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +5 -7
  553. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +0 -4
  554. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +1 -3
  555. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DoubleTapReloadRecognizer.kt +3 -2
  556. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/FpsView.kt +16 -7
  557. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.kt +1 -1
  558. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.kt +1 -1
  559. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevOptionHandler.kt +1 -1
  560. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/RedBoxHandler.kt +1 -1
  561. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/StackFrame.kt +3 -3
  562. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +65 -68
  563. package/ReactAndroid/src/main/java/com/facebook/react/fabric/LongStreamingStats.kt +6 -5
  564. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +1 -1
  565. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +4 -2
  566. package/ReactAndroid/src/main/java/com/facebook/react/fabric/internal/interop/InteropUiBlockListener.kt +27 -16
  567. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +365 -0
  568. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.kt +373 -0
  569. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +48 -50
  570. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchIntCommandMountItem.kt +1 -1
  571. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.kt +1 -1
  572. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +2 -2
  573. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +77 -5
  574. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +131 -11
  575. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +27 -3
  576. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +27 -3
  577. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +145 -13
  578. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +2 -2
  579. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +27 -3
  580. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.kt +2 -2
  581. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.kt +4 -4
  582. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +1 -1
  583. package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.kt +21 -30
  584. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +4 -11
  585. package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.kt +2 -2
  586. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +6 -4
  587. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.kt +1 -1
  588. package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/ImageStoreManager.kt +1 -1
  589. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.kt +2 -2
  590. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +3 -4
  591. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +6 -2
  592. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +2 -2
  593. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevSettingsModule.kt +2 -3
  594. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +10 -9
  595. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/FpsDebugFrameCallback.kt +23 -55
  596. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/SourceCodeModule.kt +1 -1
  597. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +0 -5
  598. package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.kt +8 -3
  599. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.kt +0 -2
  600. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +9 -5
  601. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +5 -2
  602. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +4 -4
  603. package/ReactAndroid/src/main/java/com/facebook/react/modules/image/ImageLoaderModule.kt +23 -21
  604. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +7 -10
  605. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +9 -9
  606. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ProgressiveStringDecoder.kt +5 -5
  607. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ResponseUtil.kt +24 -23
  608. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +2 -2
  609. package/ReactAndroid/src/main/java/com/facebook/react/modules/share/ShareModule.kt +3 -4
  610. package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/SoundManagerModule.kt +1 -1
  611. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +17 -20
  612. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  613. package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/ToastModule.kt +11 -14
  614. package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/VibrationModule.kt +2 -2
  615. package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +52 -40
  616. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessAtomicRef.kt +1 -1
  617. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessCatalystInstance.kt +22 -18
  618. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +6 -4
  619. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSRuntimeFactory.kt +6 -1
  620. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +1472 -0
  621. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +4 -0
  622. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +4 -0
  623. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +14 -14
  624. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceImpl.kt +3 -1
  625. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +6 -2
  626. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/ExecutorException.kt +1 -1
  627. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Task.kt +1 -1
  628. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.kt +9 -2
  629. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +0 -17
  630. package/ReactAndroid/src/main/java/com/facebook/react/touch/OnInterceptTouchEventListener.kt +2 -2
  631. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/CallInvokerHolderImpl.kt +1 -1
  632. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/NativeMethodCallInvokerHolderImpl.kt +1 -1
  633. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +80 -63
  634. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +1 -5
  635. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.kt +17 -5
  636. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FloatUtil.kt +2 -2
  637. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +238 -0
  638. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +4 -10
  639. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  640. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/MatrixMathHelper.kt +25 -20
  641. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeKind.kt +2 -1
  642. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +2 -2
  643. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +2 -2
  644. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NoSuchNativeViewException.kt +4 -2
  645. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.kt +9 -9
  646. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PointerEvents.kt +6 -7
  647. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +0 -14
  648. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +63 -106
  649. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroup.kt +1 -1
  650. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.kt +5 -4
  651. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -2
  652. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactStylesDiffMap.kt +7 -7
  653. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactYogaConfigProvider.kt +2 -1
  654. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.kt +3 -3
  655. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/Spacing.kt +4 -6
  656. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.kt +151 -0
  657. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +2 -2
  658. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.kt +232 -0
  659. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +5 -5
  660. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.kt +0 -4
  661. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.kt +238 -0
  662. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +2 -1
  663. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -2
  664. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewAtIndex.kt +2 -2
  665. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewGroupDrawingOrderHelper.kt +5 -6
  666. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +15 -62
  667. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +18 -4
  668. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerPropertyUpdater.kt +2 -3
  669. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.kt +161 -0
  670. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt +1 -1
  671. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +1 -2
  672. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/YogaNodePool.kt +4 -2
  673. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/ReactProp.kt +1 -1
  674. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/UIManagerType.kt +0 -2
  675. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/debug/NotThreadSafeViewHierarchyUpdateDebugListener.kt +2 -1
  676. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +0 -5
  677. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +0 -2
  678. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.kt +8 -6
  679. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.kt +334 -0
  680. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventEmitterImpl.kt +3 -1
  681. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +12 -12
  682. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +340 -0
  683. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +2 -2
  684. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/internal/LegacyArchitectureShadowNodeLogger.kt +3 -2
  685. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AbstractLayoutAnimation.kt +2 -2
  686. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/AnimatedPropertyType.kt +2 -1
  687. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/BaseLayoutAnimation.kt +2 -2
  688. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/InterpolatorType.kt +2 -1
  689. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationController.kt +2 -2
  690. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationListener.kt +2 -1
  691. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutAnimationType.kt +2 -2
  692. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutCreateAnimation.kt +2 -2
  693. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutDeleteAnimation.kt +2 -2
  694. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutHandlingAnimation.kt +2 -1
  695. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/LayoutUpdateAnimation.kt +8 -8
  696. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/OpacityAnimation.kt +2 -2
  697. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/PositionAndSizeAnimation.kt +4 -2
  698. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +9 -11
  699. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +1 -1
  700. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ColorStop.kt +1 -1
  701. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +1 -1
  702. package/ReactAndroid/src/main/java/com/facebook/react/views/common/ContextUtils.kt +2 -2
  703. package/ReactAndroid/src/main/java/com/facebook/react/views/common/UiModeUtils.kt +26 -0
  704. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +5 -17
  705. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +4 -15
  706. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.kt +1 -1
  707. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.kt +1 -1
  708. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.kt +1 -1
  709. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.kt +1 -1
  710. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +2 -1
  711. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  712. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/MultiSourceHelper.kt +3 -2
  713. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +6 -6
  714. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -9
  715. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarShadowNode.kt +10 -1
  716. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +3 -1
  717. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.kt +1 -1
  718. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerViewManager.kt +1 -1
  719. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +52 -4
  720. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +37 -7
  721. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +45 -5
  722. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +19 -28
  723. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +34 -6
  724. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +28 -17
  725. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.kt +2 -1
  726. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.kt +0 -14
  727. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +0 -7
  728. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +10 -1
  729. package/ReactAndroid/src/main/java/com/facebook/react/views/text/DefaultStyleValuesUtil.kt +7 -0
  730. package/ReactAndroid/src/main/java/com/facebook/react/views/text/FontMetricsUtil.kt +15 -21
  731. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayout.kt +5 -1
  732. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextView.kt +103 -159
  733. package/ReactAndroid/src/main/java/com/facebook/react/views/text/PreparedLayoutTextViewManager.kt +29 -21
  734. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +11 -10
  735. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.kt +4 -1
  736. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextShadowNode.kt +2 -1
  737. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.kt +25 -22
  738. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.kt +349 -0
  739. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewAccessibilityDelegate.kt +87 -84
  740. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.kt +181 -0
  741. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextShadowNode.kt +10 -1
  742. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactVirtualTextViewManager.kt +8 -1
  743. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.kt +137 -0
  744. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.kt +1203 -0
  745. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextTransform.kt +2 -6
  746. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageShadowNode.kt +17 -10
  747. package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageSpan.kt +7 -7
  748. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/CustomLetterSpacingSpan.kt +1 -2
  749. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.kt +5 -5
  750. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +4 -4
  751. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +8 -15
  752. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.kt +5 -5
  753. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.kt +8 -1
  754. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.kt +1586 -0
  755. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +38 -44
  756. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.kt +1 -5
  757. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +77 -43
  758. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/ReactVirtualView.kt +382 -0
  759. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/ReactVirtualViewManager.kt +102 -0
  760. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewMode.kt +14 -0
  761. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewModeChangeEvent.kt +49 -0
  762. package/ReactAndroid/src/main/java/com/facebook/react/views/virtualview/VirtualViewRenderState.kt +20 -0
  763. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +1 -1
  764. package/ReactAndroid/src/main/jni/CMakeLists.txt +1 -98
  765. package/ReactAndroid/src/main/jni/first-party/fbgloginit/fb/glog_init.h +1 -3
  766. package/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +2 -4
  767. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +4 -0
  768. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +1 -1
  769. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +1 -1
  770. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +4 -1
  771. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +4 -2
  772. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +13 -10
  773. package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +6 -1
  774. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.cpp +105 -13
  775. package/ReactAndroid/src/main/jni/react/fabric/FocusOrderingHelper.h +8 -6
  776. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +1 -1
  777. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +181 -13
  778. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +39 -3
  779. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +11 -9
  780. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.h +2 -6
  781. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +10 -2
  782. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +0 -1
  783. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +4 -0
  784. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +4 -0
  785. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +4 -0
  786. package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +4 -0
  787. package/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +4 -0
  788. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +4 -0
  789. package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +4 -0
  790. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +4 -0
  791. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +4 -0
  792. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.cpp +4 -0
  793. package/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +4 -0
  794. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +2 -0
  795. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +1 -1
  796. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +1 -1
  797. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +1 -1
  798. package/ReactAndroid/src/main/jni/react/newarchdefaults/rncore.h +20 -0
  799. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/BindingsInstallerHolder.h +1 -1
  800. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +1 -1
  801. package/ReactAndroid/src/main/res/systeminfo/values-am/strings.xml +6 -0
  802. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -9
  803. package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
  804. package/ReactCommon/React-Fabric.podspec +32 -43
  805. package/ReactCommon/React-FabricComponents.podspec +54 -57
  806. package/ReactCommon/React-FabricImage.podspec +2 -1
  807. package/ReactCommon/React-Mapbuffer.podspec +2 -2
  808. package/ReactCommon/ReactCommon.podspec +6 -7
  809. package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
  810. package/ReactCommon/callinvoker/ReactCommon/CallInvoker.h +5 -5
  811. package/ReactCommon/callinvoker/ReactCommon/SchedulerPriority.h +0 -2
  812. package/ReactCommon/cmake-utils/internal/react-native-platform-selector.cmake +24 -0
  813. package/ReactCommon/cmake-utils/react-native-flags.cmake +7 -11
  814. package/ReactCommon/cxxreact/CMakeLists.txt +1 -1
  815. package/ReactCommon/cxxreact/CxxModule.h +3 -7
  816. package/ReactCommon/cxxreact/CxxNativeModule.cpp +5 -0
  817. package/ReactCommon/cxxreact/CxxNativeModule.h +4 -0
  818. package/ReactCommon/cxxreact/Instance.cpp +4 -0
  819. package/ReactCommon/cxxreact/Instance.h +5 -1
  820. package/ReactCommon/cxxreact/JSBigString.cpp +3 -3
  821. package/ReactCommon/cxxreact/JSBigString.h +3 -2
  822. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -6
  823. package/ReactCommon/cxxreact/JSExecutor.h +5 -4
  824. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +7 -1
  825. package/ReactCommon/cxxreact/JSIndexedRAMBundle.h +6 -0
  826. package/ReactCommon/cxxreact/JSModulesUnbundle.h +5 -1
  827. package/ReactCommon/cxxreact/JsArgumentHelpers.h +2 -4
  828. package/ReactCommon/cxxreact/MessageQueueThread.h +1 -3
  829. package/ReactCommon/cxxreact/MethodCall.cpp +4 -0
  830. package/ReactCommon/cxxreact/MethodCall.h +4 -0
  831. package/ReactCommon/cxxreact/ModuleRegistry.cpp +4 -0
  832. package/ReactCommon/cxxreact/ModuleRegistry.h +4 -0
  833. package/ReactCommon/cxxreact/NativeModule.h +5 -1
  834. package/ReactCommon/cxxreact/NativeToJsBridge.cpp +4 -0
  835. package/ReactCommon/cxxreact/NativeToJsBridge.h +4 -0
  836. package/ReactCommon/cxxreact/RAMBundleRegistry.cpp +4 -0
  837. package/ReactCommon/cxxreact/RAMBundleRegistry.h +5 -1
  838. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -4
  839. package/ReactCommon/cxxreact/ReactMarker.cpp +2 -4
  840. package/ReactCommon/cxxreact/ReactMarker.h +2 -4
  841. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  842. package/ReactCommon/cxxreact/SharedProxyCxxModule.h +2 -6
  843. package/ReactCommon/devtoolsruntimesettings/CMakeLists.txt +5 -5
  844. package/ReactCommon/hermes/React-hermes.podspec +6 -3
  845. package/ReactCommon/hermes/executor/CMakeLists.txt +4 -1
  846. package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
  847. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +4 -1
  848. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.cpp +10 -6
  849. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeSamplingProfileSerializer.h +11 -1
  850. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.cpp +58 -9
  851. package/ReactCommon/jsc/JSCRuntime.cpp +2 -4
  852. package/ReactCommon/jsc/JSCRuntime.h +2 -4
  853. package/ReactCommon/jserrorhandler/CMakeLists.txt +3 -1
  854. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +4 -9
  855. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +4 -3
  856. package/ReactCommon/jserrorhandler/StackTraceParser.cpp +3 -1
  857. package/ReactCommon/jsi/CMakeLists.txt +1 -1
  858. package/ReactCommon/jsi/React-jsi.podspec +3 -6
  859. package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
  860. package/ReactCommon/jsi/jsi/decorator.h +33 -0
  861. package/ReactCommon/jsi/jsi/jsi-inl.h +14 -0
  862. package/ReactCommon/jsi/jsi/jsi.cpp +119 -0
  863. package/ReactCommon/jsi/jsi/jsi.h +153 -1
  864. package/ReactCommon/jsi/jsi/test/testlib.cpp +111 -4
  865. package/ReactCommon/jsi/jsi/test/testlib.h +2 -2
  866. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -2
  867. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +54 -1
  868. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +4 -0
  869. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -0
  870. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.h +4 -0
  871. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +0 -6
  872. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +54 -2
  873. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +16 -0
  874. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +4 -3
  875. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +1 -1
  876. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +157 -27
  877. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +4 -3
  878. package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -2
  879. package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +3 -2
  880. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.cpp +77 -0
  881. package/ReactCommon/jsinspector-modern/network/BoundedRequestBuffer.h +67 -0
  882. package/ReactCommon/jsinspector-modern/network/CMakeLists.txt +3 -1
  883. package/ReactCommon/jsinspector-modern/network/CdpNetwork.cpp +35 -0
  884. package/ReactCommon/jsinspector-modern/network/CdpNetwork.h +43 -0
  885. package/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +144 -23
  886. package/ReactCommon/jsinspector-modern/network/NetworkReporter.h +91 -19
  887. package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +6 -2
  888. package/ReactCommon/jsinspector-modern/tests/ConsoleTimeStampTest.cpp +146 -0
  889. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +37 -36
  890. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +9 -9
  891. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  892. package/ReactCommon/jsinspector-modern/tracing/ConsoleTimeStamp.h +91 -0
  893. package/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.cpp +5 -18
  894. package/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h +4 -2
  895. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +141 -84
  896. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +59 -18
  897. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -2
  898. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfile.h +28 -8
  899. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.cpp +41 -32
  900. package/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h +9 -7
  901. package/ReactCommon/jsinspector-modern/tracing/Timing.h +42 -0
  902. package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +6 -8
  903. package/ReactCommon/jsinspector-modern/tracing/TraceEventProfile.h +10 -2
  904. package/ReactCommon/jsinspector-modern/tracing/tests/RuntimeSamplingProfileTraceEventSerializerTest.cpp +13 -13
  905. package/ReactCommon/jsitooling/CMakeLists.txt +1 -1
  906. package/ReactCommon/jsitooling/React-jsitooling.podspec +4 -2
  907. package/ReactCommon/logger/React-logger.podspec +2 -1
  908. package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
  909. package/ReactCommon/react/bridging/Base.h +45 -34
  910. package/ReactCommon/react/bridging/Bool.h +1 -1
  911. package/ReactCommon/react/bridging/Bridging.h +1 -0
  912. package/ReactCommon/react/bridging/CMakeLists.txt +2 -2
  913. package/ReactCommon/react/bridging/Class.h +36 -33
  914. package/ReactCommon/react/bridging/HighResTimeStamp.h +41 -0
  915. package/ReactCommon/react/bridging/Number.h +10 -10
  916. package/ReactCommon/react/bridging/Promise.h +14 -8
  917. package/ReactCommon/react/bridging/tests/BridgingTest.cpp +35 -6
  918. package/ReactCommon/react/bridging/tests/ClassTest.cpp +58 -0
  919. package/ReactCommon/react/debug/CMakeLists.txt +6 -2
  920. package/ReactCommon/react/debug/React-debug.podspec +2 -2
  921. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  922. package/ReactCommon/react/featureflags/React-featureflags.podspec +3 -2
  923. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +53 -5
  924. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +65 -5
  925. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +269 -53
  926. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +30 -6
  927. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +52 -4
  928. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +115 -7
  929. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +4 -2
  930. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +15 -3
  931. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +9 -5
  932. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.cpp +2 -4
  933. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModulePerfLogger.h +2 -4
  934. package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +0 -19
  935. package/ReactCommon/react/nativemodule/core/iostests/RCTTurboModuleTests.mm +108 -0
  936. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +7 -2
  937. package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +4 -3
  938. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.h +2 -4
  939. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +2 -4
  940. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +3 -4
  941. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +25 -26
  942. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +1 -1
  943. package/ReactCommon/react/nativemodule/cputime/CMakeLists.txt +20 -0
  944. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +3 -1
  945. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +2 -1
  946. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/CMakeLists.txt +2 -2
  947. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.cpp +2 -0
  948. package/ReactCommon/react/nativemodule/devtoolsruntimesettings/DevToolsRuntimeSettingsModule.h +1 -1
  949. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +2 -1
  950. package/ReactCommon/react/nativemodule/dom/NativeDOM.cpp +62 -51
  951. package/ReactCommon/react/nativemodule/dom/NativeDOM.h +33 -18
  952. package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +4 -1
  953. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/CMakeLists.txt +29 -0
  954. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/NativeFantomTestSpecificMethods.cpp +52 -0
  955. package/ReactCommon/react/nativemodule/{fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.h → fantomtestspecificmethods/NativeFantomTestSpecificMethods.h} +7 -6
  956. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.cpp +56 -0
  957. package/ReactCommon/react/nativemodule/fantomtestspecificmethods/internal/FantomForcedCloneCommitHook.h +29 -0
  958. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  959. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +66 -6
  960. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +31 -8
  961. package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +2 -1
  962. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  963. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.cpp +10 -17
  964. package/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h +3 -4
  965. package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +3 -1
  966. package/ReactCommon/react/nativemodule/intersectionobserver/CMakeLists.txt +28 -0
  967. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +66 -11
  968. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +20 -4
  969. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  970. package/ReactCommon/react/nativemodule/microtasks/NativeMicrotasks.h +1 -3
  971. package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +2 -1
  972. package/ReactCommon/react/nativemodule/mutationobserver/CMakeLists.txt +27 -0
  973. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +7 -8
  974. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +5 -5
  975. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -0
  976. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +1 -1
  977. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +21 -0
  978. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +45 -12
  979. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +20 -22
  980. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  981. package/ReactCommon/react/performance/timeline/PerformanceEntry.h +11 -10
  982. package/ReactCommon/react/performance/timeline/PerformanceEntryBuffer.h +2 -2
  983. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +56 -47
  984. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +33 -20
  985. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +8 -5
  986. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +3 -2
  987. package/ReactCommon/react/performance/timeline/tests/PerformanceEntryReporterTest.cpp +196 -79
  988. package/ReactCommon/react/performance/timeline/tests/PerformanceObserverTest.cpp +238 -44
  989. package/ReactCommon/react/renderer/animations/CMakeLists.txt +1 -1
  990. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +5 -4
  991. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -6
  992. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  993. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +9 -3
  994. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +8 -1
  995. package/ReactCommon/react/renderer/attributedstring/PlaceholderAttributedString.h +34 -0
  996. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +3 -16
  997. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -5
  998. package/ReactCommon/react/renderer/attributedstring/conversions.h +14 -7
  999. package/ReactCommon/react/renderer/bridging/CMakeLists.txt +15 -0
  1000. package/ReactCommon/react/renderer/bridging/bridging.h +52 -0
  1001. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  1002. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  1003. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  1004. package/ReactCommon/react/renderer/components/image/ImageProps.cpp +108 -0
  1005. package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -0
  1006. package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +16 -0
  1007. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryShadowNode.h +2 -2
  1008. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  1009. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +18 -7
  1010. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +1 -1
  1011. package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +9 -2
  1012. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +3 -2
  1013. package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.h +5 -2
  1014. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +1 -1
  1015. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +7 -15
  1016. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h +2 -2
  1017. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +1 -1
  1018. package/ReactCommon/react/renderer/components/modal/platform/android/JReactModalHostView.h +38 -0
  1019. package/ReactCommon/react/renderer/components/modal/platform/android/ModalHostViewUtils.cpp +18 -0
  1020. package/ReactCommon/react/renderer/components/modal/platform/cxx/ModalHostViewUtils.cpp +17 -0
  1021. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  1022. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -12
  1023. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +1 -5
  1024. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +2 -2
  1025. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/conversions.h +2 -2
  1026. package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +10 -26
  1027. package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +10 -165
  1028. package/ReactCommon/react/renderer/components/rncore/Props.h +10 -393
  1029. package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +10 -94
  1030. package/ReactCommon/react/renderer/components/rncore/States.h +10 -97
  1031. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  1032. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +1 -1
  1033. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewShadowNode.h +2 -2
  1034. package/ReactCommon/react/renderer/components/scrollview/{ScrollViewProps.cpp → BaseScrollViewProps.cpp} +29 -22
  1035. package/ReactCommon/react/renderer/components/scrollview/BaseScrollViewProps.h +87 -0
  1036. package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +16 -3
  1037. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +3 -73
  1038. package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +2 -2
  1039. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.cpp +354 -0
  1040. package/ReactCommon/react/renderer/components/scrollview/platform/android/react/renderer/components/scrollview/HostPlatformScrollViewProps.h +46 -0
  1041. package/{React/Runtime/RCTJscInstanceFactory.h → ReactCommon/react/renderer/components/scrollview/platform/cxx/react/renderer/components/scrollview/HostPlatformScrollViewProps.h} +4 -10
  1042. package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +1 -1
  1043. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +32 -41
  1044. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +0 -3
  1045. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +2 -2
  1046. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +192 -13
  1047. package/ReactCommon/react/renderer/components/text/BaseTextProps.h +6 -0
  1048. package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.h +0 -7
  1049. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +15 -6
  1050. package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +93 -0
  1051. package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -0
  1052. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +143 -80
  1053. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +26 -7
  1054. package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +28 -0
  1055. package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -0
  1056. package/ReactCommon/react/renderer/components/text/TextProps.cpp +21 -0
  1057. package/ReactCommon/react/renderer/components/text/TextProps.h +5 -0
  1058. package/ReactCommon/react/renderer/components/text/conversions.h +2 -2
  1059. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.cpp +8 -0
  1060. package/ReactCommon/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +23 -2
  1061. package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +6 -0
  1062. package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +9 -15
  1063. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  1064. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.cpp +11 -7
  1065. package/ReactCommon/react/renderer/components/textinput/TextInputEventEmitter.h +2 -1
  1066. package/ReactCommon/react/renderer/components/textinput/TextInputState.h +5 -22
  1067. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +4 -2
  1068. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +277 -0
  1069. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -1
  1070. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +10 -21
  1071. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +2 -2
  1072. package/ReactCommon/react/renderer/components/textinput/{TextInputState.cpp → platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp} +3 -32
  1073. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +83 -0
  1074. package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +1 -1
  1075. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +21 -0
  1076. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +4 -0
  1077. package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +33 -0
  1078. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +28 -1
  1079. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
  1080. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +8 -0
  1081. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +11 -7
  1082. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +51 -27
  1083. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +14 -3
  1084. package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +144 -516
  1085. package/ReactCommon/react/renderer/components/view/conversions.h +114 -0
  1086. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +119 -5
  1087. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +2 -3
  1088. package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/NativeDrawable.h +1 -0
  1089. package/ReactCommon/react/renderer/components/view/propsConversions.h +537 -2
  1090. package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +6 -2
  1091. package/ReactCommon/react/renderer/components/virtualview/VirtualViewComponentDescriptor.h +20 -0
  1092. package/ReactCommon/react/renderer/components/virtualview/VirtualViewShadowNode.h +37 -0
  1093. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  1094. package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
  1095. package/ReactCommon/react/renderer/core/CMakeLists.txt +3 -2
  1096. package/ReactCommon/react/renderer/core/ComponentDescriptor.h +3 -3
  1097. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +9 -6
  1098. package/ReactCommon/react/renderer/core/ConcreteState.h +7 -9
  1099. package/ReactCommon/react/renderer/core/EventEmitter.cpp +7 -0
  1100. package/ReactCommon/react/renderer/core/EventEmitter.h +7 -0
  1101. package/ReactCommon/react/renderer/core/EventLogger.h +3 -2
  1102. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +24 -2
  1103. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +12 -3
  1104. package/ReactCommon/react/renderer/core/Props.cpp +1 -1
  1105. package/ReactCommon/react/renderer/core/Props.h +5 -2
  1106. package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -0
  1107. package/ReactCommon/react/renderer/core/RawEvent.h +6 -1
  1108. package/ReactCommon/react/renderer/core/ShadowNode.cpp +127 -23
  1109. package/ReactCommon/react/renderer/core/ShadowNode.h +69 -26
  1110. package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +8 -0
  1111. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -1
  1112. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +26 -16
  1113. package/ReactCommon/react/renderer/core/State.cpp +2 -2
  1114. package/ReactCommon/react/renderer/core/State.h +3 -5
  1115. package/ReactCommon/react/renderer/core/StateData.h +2 -2
  1116. package/ReactCommon/react/renderer/core/graphicsConversions.h +47 -5
  1117. package/ReactCommon/react/renderer/core/propsConversions.h +37 -0
  1118. package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +7 -6
  1119. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +9 -1
  1120. package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +5 -0
  1121. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +38 -5
  1122. package/ReactCommon/react/renderer/css/CMakeLists.txt +2 -2
  1123. package/ReactCommon/react/renderer/css/CSSTokenizer.h +0 -1
  1124. package/ReactCommon/react/renderer/css/React-renderercss.podspec +3 -3
  1125. package/ReactCommon/react/renderer/debug/CMakeLists.txt +1 -1
  1126. package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +3 -2
  1127. package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +0 -2
  1128. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  1129. package/ReactCommon/react/renderer/dom/DOM.cpp +28 -31
  1130. package/ReactCommon/react/renderer/dom/DOM.h +3 -4
  1131. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  1132. package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +4 -3
  1133. package/ReactCommon/react/renderer/element/ComponentBuilder.h +2 -1
  1134. package/ReactCommon/react/renderer/element/Element.h +7 -5
  1135. package/ReactCommon/react/renderer/element/ElementFragment.h +1 -1
  1136. package/ReactCommon/react/renderer/element/tests/ElementTest.cpp +4 -2
  1137. package/ReactCommon/react/renderer/graphics/BlendMode.h +37 -0
  1138. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +12 -4
  1139. package/ReactCommon/react/renderer/graphics/Color.cpp +1 -1
  1140. package/ReactCommon/react/renderer/graphics/Color.h +10 -0
  1141. package/ReactCommon/react/renderer/graphics/Filter.h +25 -0
  1142. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -3
  1143. package/ReactCommon/react/renderer/graphics/Transform.cpp +2 -15
  1144. package/ReactCommon/react/renderer/graphics/Transform.h +0 -7
  1145. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +5 -2
  1146. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +5 -2
  1147. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +4 -0
  1148. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.h +2 -4
  1149. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +14 -5
  1150. package/ReactCommon/react/renderer/imagemanager/ImageRequest.h +11 -0
  1151. package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +1 -1
  1152. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -2
  1153. package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +2 -1
  1154. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +1 -1
  1155. package/ReactCommon/react/renderer/imagemanager/primitives.h +59 -0
  1156. package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +1 -1
  1157. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  1158. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +0 -2
  1159. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -2
  1160. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +2 -1
  1161. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +34 -21
  1162. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +0 -1
  1163. package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +67 -25
  1164. package/ReactCommon/react/renderer/mounting/ShadowTree.h +13 -0
  1165. package/ReactCommon/react/renderer/mounting/internal/CullingContext.cpp +11 -6
  1166. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +6 -2
  1167. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +3 -53
  1168. package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +9 -7
  1169. package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +2 -2
  1170. package/ReactCommon/react/renderer/mounting/updateMountedFlag.cpp +9 -6
  1171. package/ReactCommon/react/renderer/mounting/updateMountedFlag.h +4 -2
  1172. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -2
  1173. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +27 -10
  1174. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +9 -7
  1175. package/ReactCommon/react/renderer/observers/intersection/CMakeLists.txt +28 -0
  1176. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +74 -31
  1177. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +19 -13
  1178. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +136 -63
  1179. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +34 -8
  1180. package/ReactCommon/react/renderer/observers/mutation/CMakeLists.txt +24 -0
  1181. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.cpp +34 -46
  1182. package/ReactCommon/react/renderer/observers/mutation/MutationObserver.h +15 -15
  1183. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +17 -32
  1184. package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.h +2 -4
  1185. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +1 -1
  1186. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +4 -3
  1187. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +12 -6
  1188. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +16 -10
  1189. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +3 -5
  1190. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +1 -0
  1191. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerIntersectionObserverDelegate.h +25 -0
  1192. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -4
  1193. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +11 -8
  1194. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +61 -62
  1195. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +25 -21
  1196. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +8 -7
  1197. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +17 -5
  1198. package/ReactCommon/react/renderer/runtimescheduler/Task.h +6 -4
  1199. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +43 -31
  1200. package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +6 -11
  1201. package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +1 -1
  1202. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +10 -3
  1203. package/ReactCommon/react/renderer/scheduler/Scheduler.h +5 -3
  1204. package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +3 -0
  1205. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +5 -4
  1206. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  1207. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +16 -6
  1208. package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManagerExtended.h +6 -0
  1209. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +81 -10
  1210. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +116 -104
  1211. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +5 -0
  1212. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +5 -2
  1213. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +23 -6
  1214. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +1 -1
  1215. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +27 -28
  1216. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +2 -1
  1217. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.cpp +15 -10
  1218. package/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +6 -7
  1219. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.cpp +2 -3
  1220. package/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +5 -3
  1221. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +21 -19
  1222. package/ReactCommon/react/renderer/uimanager/UIManager.h +13 -12
  1223. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +47 -23
  1224. package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +9 -3
  1225. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +2 -2
  1226. package/ReactCommon/react/renderer/uimanager/UIManagerUpdateShadowTree.cpp +6 -1
  1227. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  1228. package/ReactCommon/react/renderer/uimanager/consistency/tests/LazyShadowTreeRevisionConsistencyManagerTest.cpp +1 -1
  1229. package/ReactCommon/react/renderer/uimanager/primitives.h +10 -18
  1230. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -1
  1231. package/ReactCommon/react/runtime/BridgelessNativeMethodCallInvoker.h +0 -1
  1232. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -0
  1233. package/ReactCommon/react/runtime/CMakeLists.txt +8 -3
  1234. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +4 -3
  1235. package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +4 -2
  1236. package/ReactCommon/react/runtime/ReactInstance.cpp +2 -1
  1237. package/ReactCommon/react/runtime/ReactInstance.h +1 -0
  1238. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +5 -2
  1239. package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +8 -10
  1240. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +43 -20
  1241. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTLegacyUIManagerConstantsProvider.mm +1 -1
  1242. package/ReactCommon/react/test_utils/shadowTreeGeneration.h +16 -16
  1243. package/ReactCommon/react/timing/React-timing.podspec +1 -1
  1244. package/ReactCommon/react/timing/primitives.h +280 -15
  1245. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +82 -24
  1246. package/ReactCommon/react/utils/CMakeLists.txt +13 -3
  1247. package/ReactCommon/react/utils/FloatComparison.h +8 -2
  1248. package/ReactCommon/react/utils/ManagedObjectWrapper.mm +2 -4
  1249. package/ReactCommon/react/utils/OnScopeExit.h +1 -1
  1250. package/ReactCommon/react/utils/PackTraits.h +0 -2
  1251. package/ReactCommon/react/utils/React-utils.podspec +4 -3
  1252. package/ReactCommon/react/utils/SimpleThreadSafeCache.h +40 -28
  1253. package/ReactCommon/react/utils/iequals.h +1 -3
  1254. package/ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.h +18 -0
  1255. package/{React/CxxUtils/RCTFollyConvert.mm → ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.mm} +17 -1
  1256. package/ReactCommon/react/utils/tests/SimpleThreadSafeCacheTest.cpp +40 -0
  1257. package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -1
  1258. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.cpp +2 -4
  1259. package/ReactCommon/reactperflogger/reactperflogger/BridgeNativeModulePerfLogger.h +2 -6
  1260. package/ReactCommon/reactperflogger/reactperflogger/FuseboxPerfettoDataSource.cpp +6 -2
  1261. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +10 -4
  1262. package/ReactCommon/reactperflogger/reactperflogger/NativeModulePerfLogger.h +1 -1
  1263. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +10 -6
  1264. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +2 -1
  1265. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
  1266. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.h +4 -3
  1267. package/ReactCommon/runtimeexecutor/CMakeLists.txt +2 -2
  1268. package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +24 -1
  1269. package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +0 -72
  1270. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.cpp +61 -0
  1271. package/ReactCommon/runtimeexecutor/platform/cxx/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +36 -0
  1272. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.h +39 -0
  1273. package/ReactCommon/runtimeexecutor/platform/ios/ReactCommon/RuntimeExecutorSyncUIThreadUtils.mm +260 -0
  1274. package/ReactCommon/yoga/Yoga.podspec +1 -1
  1275. package/ReactCommon/yoga/yoga/YGNodeLayout.cpp +8 -0
  1276. package/ReactCommon/yoga/yoga/YGNodeLayout.h +10 -0
  1277. package/ReactCommon/yoga/yoga/YGValue.h +2 -2
  1278. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +21 -16
  1279. package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +6 -6
  1280. package/ReactCommon/yoga/yoga/node/LayoutResults.h +9 -0
  1281. package/ReactCommon/yoga/yoga/node/Node.cpp +29 -0
  1282. package/ReactCommon/yoga/yoga/node/Node.h +6 -4
  1283. package/cli.js +52 -33
  1284. package/{src/types → flow}/bom.js.flow +0 -10
  1285. package/{src/types → flow}/cssom.js.flow +0 -1
  1286. package/{src/types → flow}/dom.js.flow +0 -1
  1287. package/{src/types → flow}/streams.js.flow +0 -1
  1288. package/gradle/libs.versions.toml +6 -5
  1289. package/index.js +22 -2
  1290. package/index.js.flow +10 -1
  1291. package/interface.js +1 -1
  1292. package/jest/MockNativeMethods.js +9 -3
  1293. package/jest/assetFileTransformer.js +1 -0
  1294. package/jest/local-setup.js +4 -3
  1295. package/jest/mock.js +39 -0
  1296. package/jest/mockComponent.js +47 -17
  1297. package/jest/mockNativeComponent.js +26 -15
  1298. package/jest/mocks/AccessibilityInfo.js +62 -0
  1299. package/jest/mocks/ActivityIndicator.js +23 -0
  1300. package/jest/mocks/AppState.js +19 -0
  1301. package/jest/mocks/Clipboard.js +16 -0
  1302. package/jest/mocks/Image.js +23 -0
  1303. package/jest/mocks/InitializeCore.js +9 -0
  1304. package/jest/mocks/Linking.js +28 -0
  1305. package/jest/mocks/Modal.js +33 -0
  1306. package/jest/mocks/NativeComponentRegistry.js +30 -0
  1307. package/jest/mocks/NativeModules.js +239 -0
  1308. package/jest/mocks/RefreshControl.js +31 -0
  1309. package/jest/mocks/RendererProxy.js +45 -0
  1310. package/jest/mocks/ScrollView.js +58 -0
  1311. package/jest/mocks/Text.js +27 -0
  1312. package/jest/mocks/TextInput.js +32 -0
  1313. package/jest/mocks/UIManager.js +60 -0
  1314. package/jest/mocks/Vibration.js +16 -0
  1315. package/jest/mocks/View.js +27 -0
  1316. package/jest/mocks/ViewNativeComponent.js +23 -0
  1317. package/jest/mocks/requireNativeComponent.js +22 -0
  1318. package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
  1319. package/jest/react-native-env.js +1 -0
  1320. package/jest/renderer.js +1 -2
  1321. package/jest/resolver.js +1 -0
  1322. package/jest/setup.js +64 -443
  1323. package/jest-preset.js +1 -0
  1324. package/package.json +16 -22
  1325. package/react-native.config.js +18 -5
  1326. package/scripts/bundle.js +10 -2
  1327. package/scripts/cocoapods/helpers.rb +1 -1
  1328. package/scripts/cocoapods/jsengine.rb +28 -16
  1329. package/scripts/cocoapods/new_architecture.rb +1 -0
  1330. package/scripts/cocoapods/rncore.rb +247 -0
  1331. package/scripts/cocoapods/rndependencies.rb +86 -26
  1332. package/scripts/cocoapods/utils.rb +73 -44
  1333. package/scripts/codegen/codegen-utils.js +9 -4
  1334. package/scripts/codegen/generate-artifacts-executor/constants.js +30 -36
  1335. package/scripts/codegen/generate-artifacts-executor/generateAppDependencyProvider.js +2 -1
  1336. package/scripts/codegen/generate-artifacts-executor/generateCustomURLHandlers.js +10 -4
  1337. package/scripts/codegen/generate-artifacts-executor/generateFBReactNativeSpecIOS.js +8 -4
  1338. package/scripts/codegen/generate-artifacts-executor/generateNativeCode.js +21 -29
  1339. package/scripts/codegen/generate-artifacts-executor/generateRCTModuleProviders.js +7 -6
  1340. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +13 -6
  1341. package/scripts/codegen/generate-artifacts-executor/generateReactCodegenPodspec.js +8 -7
  1342. package/scripts/codegen/generate-artifacts-executor/generateSchemaInfos.js +15 -5
  1343. package/scripts/codegen/generate-artifacts-executor/generateUnstableModulesRequiringMainQueueSetupProvider.js +4 -3
  1344. package/scripts/codegen/generate-artifacts-executor/index.js +24 -10
  1345. package/scripts/codegen/generate-artifacts-executor/utils.js +51 -23
  1346. package/scripts/codegen/generate-specs-cli-executor.js +36 -30
  1347. package/scripts/codegen/templates/ReactCodegen.podspec.template +5 -2
  1348. package/scripts/compose-source-maps.js +3 -2
  1349. package/scripts/generate-codegen-artifacts.js +2 -0
  1350. package/scripts/generate-provider-cli.js +11 -5
  1351. package/scripts/generate-specs-cli.js +7 -0
  1352. package/scripts/hermes/hermes-utils.js +2 -2
  1353. package/scripts/hermes/prepare-hermes-for-build.js +2 -1
  1354. package/scripts/packager-reporter.js +9 -3
  1355. package/scripts/react_native_pods.rb +56 -24
  1356. package/scripts/replace-rncore-version.js +120 -0
  1357. package/sdks/.hermesversion +1 -1
  1358. package/sdks/hermes-engine/hermes-utils.rb +25 -23
  1359. package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +11 -3
  1360. package/sdks/hermes-engine/utils/replace_hermes_version.js +1 -0
  1361. package/sdks/hermesc/osx-bin/hermes +0 -0
  1362. package/sdks/hermesc/osx-bin/hermesc +0 -0
  1363. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  1364. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  1365. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  1366. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  1367. package/src/private/animated/NativeAnimatedHelper.js +8 -1
  1368. package/src/private/animated/createAnimatedPropsHook.js +14 -4
  1369. package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
  1370. package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
  1371. package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
  1372. package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
  1373. package/src/private/components/virtualview/VirtualView.js +145 -0
  1374. package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -0
  1375. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
  1376. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
  1377. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
  1378. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  1379. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
  1380. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
  1381. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
  1382. package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
  1383. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
  1384. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  1385. package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
  1386. package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
  1387. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  1388. package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
  1389. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
  1390. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
  1391. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
  1392. package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.js.flow +3 -7
  1393. package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
  1394. package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
  1395. package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -8
  1396. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
  1397. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +16 -3
  1398. package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
  1399. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
  1400. package/src/private/setup/setUpPerformanceObserver.js +7 -0
  1401. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
  1402. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
  1403. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
  1404. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
  1405. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
  1406. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
  1407. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
  1408. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
  1409. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
  1410. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
  1411. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
  1412. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
  1413. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
  1414. package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
  1415. package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
  1416. package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
  1417. package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
  1418. package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
  1419. package/src/private/styles/composeStyles.js +5 -12
  1420. package/src/private/types/HostInstance.js +1 -1
  1421. package/src/private/webapis/dom/events/Event.js +3 -0
  1422. package/src/private/webapis/dom/events/EventTarget.js +3 -0
  1423. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
  1424. package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
  1425. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  1426. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  1427. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +4 -2
  1428. package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
  1429. package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
  1430. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
  1431. package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
  1432. package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
  1433. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +38 -0
  1434. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
  1435. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js.flow +1 -1
  1436. package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
  1437. package/src/private/webapis/dom/oldstylecollections/NodeList.js.flow +1 -1
  1438. package/src/private/webapis/errors/DOMException.js +166 -0
  1439. package/src/private/webapis/geometry/DOMRect.js +5 -0
  1440. package/src/private/webapis/geometry/DOMRectList.js +4 -1
  1441. package/src/private/webapis/geometry/DOMRectList.js.flow +1 -1
  1442. package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
  1443. package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
  1444. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
  1445. package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
  1446. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
  1447. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
  1448. package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
  1449. package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
  1450. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
  1451. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
  1452. package/src/private/webapis/performance/EventTiming.js +1 -1
  1453. package/src/private/webapis/performance/LongTasks.js +1 -1
  1454. package/src/private/webapis/performance/MemoryInfo.js +4 -1
  1455. package/src/private/webapis/performance/Performance.js +20 -9
  1456. package/src/private/webapis/performance/PerformanceEntry.js +5 -1
  1457. package/src/private/webapis/performance/PerformanceObserver.js +32 -28
  1458. package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
  1459. package/src/private/webapis/performance/ResourceTiming.js +108 -0
  1460. package/src/private/webapis/performance/UserTiming.js +1 -1
  1461. package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
  1462. package/src/private/webapis/performance/internals/Utilities.js +1 -1
  1463. package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
  1464. package/src/private/webapis/structuredClone/structuredClone.js +233 -0
  1465. package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
  1466. package/src/private/webapis/webidl/PlatformObjects.js +59 -0
  1467. package/third-party-podspecs/ReactNativeDependencies.podspec +14 -1
  1468. package/third-party-podspecs/replace_dependencies_version.js +37 -6
  1469. package/types/modules/Devtools.d.ts +23 -9
  1470. package/types_generated/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +101 -0
  1471. package/types_generated/Libraries/Alert/Alert.d.ts +55 -0
  1472. package/types_generated/Libraries/Animated/Animated.d.ts +14 -0
  1473. package/types_generated/Libraries/Animated/AnimatedEvent.d.ts +30 -0
  1474. package/types_generated/Libraries/Animated/AnimatedExports.d.ts +190 -0
  1475. package/types_generated/Libraries/Animated/AnimatedImplementation.d.ts +128 -0
  1476. package/types_generated/Libraries/Animated/AnimatedPlatformConfig.d.ts +13 -0
  1477. package/types_generated/Libraries/Animated/Easing.d.ts +171 -0
  1478. package/types_generated/Libraries/Animated/animations/Animation.d.ts +35 -0
  1479. package/types_generated/Libraries/Animated/animations/DecayAnimation.d.ts +42 -0
  1480. package/types_generated/Libraries/Animated/animations/SpringAnimation.d.ts +130 -0
  1481. package/types_generated/Libraries/Animated/animations/TimingAnimation.d.ts +54 -0
  1482. package/types_generated/Libraries/Animated/components/AnimatedFlatList.d.ts +22 -0
  1483. package/types_generated/Libraries/Animated/components/AnimatedImage.d.ts +18 -0
  1484. package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +23 -0
  1485. package/types_generated/Libraries/Animated/components/AnimatedSectionList.d.ts +22 -0
  1486. package/types_generated/Libraries/Animated/components/AnimatedText.d.ts +18 -0
  1487. package/types_generated/Libraries/Animated/components/AnimatedView.d.ts +19 -0
  1488. package/types_generated/Libraries/Animated/createAnimatedComponent.d.ts +42 -0
  1489. package/types_generated/Libraries/Animated/nodes/AnimatedAddition.d.ts +22 -0
  1490. package/types_generated/Libraries/Animated/nodes/AnimatedColor.d.ts +76 -0
  1491. package/types_generated/Libraries/Animated/nodes/AnimatedDiffClamp.d.ts +22 -0
  1492. package/types_generated/Libraries/Animated/nodes/AnimatedDivision.d.ts +22 -0
  1493. package/types_generated/Libraries/Animated/nodes/AnimatedInterpolation.d.ts +36 -0
  1494. package/types_generated/Libraries/Animated/nodes/AnimatedModulo.d.ts +22 -0
  1495. package/types_generated/Libraries/Animated/nodes/AnimatedMultiplication.d.ts +22 -0
  1496. package/types_generated/Libraries/Animated/nodes/AnimatedNode.d.ts +46 -0
  1497. package/types_generated/Libraries/Animated/nodes/AnimatedProps.d.ts +29 -0
  1498. package/types_generated/Libraries/Animated/nodes/AnimatedStyle.d.ts +32 -0
  1499. package/types_generated/Libraries/Animated/nodes/AnimatedSubtraction.d.ts +22 -0
  1500. package/types_generated/Libraries/Animated/nodes/AnimatedTracking.d.ts +21 -0
  1501. package/types_generated/Libraries/Animated/nodes/AnimatedValue.d.ts +126 -0
  1502. package/types_generated/Libraries/Animated/nodes/AnimatedValueXY.d.ts +135 -0
  1503. package/types_generated/Libraries/Animated/nodes/AnimatedWithChildren.d.ts +15 -0
  1504. package/types_generated/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  1505. package/types_generated/Libraries/AppState/AppState.d.ts +63 -0
  1506. package/types_generated/Libraries/BatchedBridge/BatchedBridge.d.ts +17 -0
  1507. package/types_generated/Libraries/BatchedBridge/MessageQueue.d.ts +39 -0
  1508. package/types_generated/Libraries/BatchedBridge/NativeModules.d.ts +20 -0
  1509. package/types_generated/Libraries/Blob/Blob.d.ts +80 -0
  1510. package/types_generated/Libraries/Blob/BlobTypes.d.ts +27 -0
  1511. package/types_generated/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +220 -0
  1512. package/types_generated/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.d.ts +20 -0
  1513. package/types_generated/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +84 -0
  1514. package/types_generated/Libraries/Components/Button.d.ts +251 -0
  1515. package/types_generated/Libraries/Components/Clipboard/Clipboard.d.ts +38 -0
  1516. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +17 -0
  1517. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.d.ts +27 -0
  1518. package/types_generated/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.d.ts +176 -0
  1519. package/types_generated/Libraries/Components/Keyboard/Keyboard.d.ts +146 -0
  1520. package/types_generated/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +73 -0
  1521. package/types_generated/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +24 -0
  1522. package/types_generated/Libraries/Components/Pressable/Pressable.d.ts +141 -0
  1523. package/types_generated/Libraries/Components/Pressable/useAndroidRippleForView.d.ts +45 -0
  1524. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +32 -0
  1525. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.d.ts +14 -0
  1526. package/types_generated/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.d.ts +50 -0
  1527. package/types_generated/Libraries/Components/RefreshControl/RefreshControl.d.ts +113 -0
  1528. package/types_generated/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +33 -0
  1529. package/types_generated/Libraries/Components/ScrollView/ScrollView.d.ts +560 -0
  1530. package/types_generated/Libraries/Components/ScrollView/ScrollViewContext.d.ts +24 -0
  1531. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponent.d.ts +21 -0
  1532. package/types_generated/Libraries/Components/ScrollView/ScrollViewNativeComponentType.d.ts +134 -0
  1533. package/types_generated/Libraries/Components/ScrollView/ScrollViewStickyHeader.d.ts +36 -0
  1534. package/types_generated/Libraries/Components/StatusBar/StatusBar.d.ts +222 -0
  1535. package/types_generated/Libraries/Components/Switch/AndroidSwitchNativeComponent.d.ts +14 -0
  1536. package/types_generated/Libraries/Components/Switch/Switch.d.ts +138 -0
  1537. package/types_generated/Libraries/Components/Switch/SwitchNativeComponent.d.ts +14 -0
  1538. package/types_generated/Libraries/Components/TV/TVEventControl.d.ts +23 -0
  1539. package/types_generated/Libraries/Components/TV/TVEventHandler.d.ts +21 -0
  1540. package/types_generated/Libraries/Components/TV/TVFocusGuideView.d.ts +71 -0
  1541. package/types_generated/Libraries/Components/TV/TVTextScrollView.d.ts +97 -0
  1542. package/types_generated/Libraries/Components/TV/TVViewPropTypes.d.ts +79 -0
  1543. package/types_generated/Libraries/Components/TV/tagForComponentOrHandle.d.ts +24 -0
  1544. package/types_generated/Libraries/Components/TV/useTVEventHandler.d.ts +20 -0
  1545. package/types_generated/Libraries/Components/TextInput/InputAccessoryView.d.ts +86 -0
  1546. package/types_generated/Libraries/Components/TextInput/TextInput.d.ts +47 -0
  1547. package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +984 -0
  1548. package/types_generated/Libraries/Components/TextInput/TextInputState.d.ts +54 -0
  1549. package/types_generated/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +99 -0
  1550. package/types_generated/Libraries/Components/Touchable/Touchable.d.ts +257 -0
  1551. package/types_generated/Libraries/Components/Touchable/TouchableHighlight.d.ts +71 -0
  1552. package/types_generated/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +228 -0
  1553. package/types_generated/Libraries/Components/Touchable/TouchableOpacity.d.ts +76 -0
  1554. package/types_generated/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +121 -0
  1555. package/types_generated/Libraries/Components/View/View.d.ts +30 -0
  1556. package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +415 -0
  1557. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +29 -0
  1558. package/types_generated/Libraries/Components/View/ViewPropTypes.d.ts +431 -0
  1559. package/types_generated/Libraries/Core/Devtools/symbolicateStackTrace.d.ts +27 -0
  1560. package/types_generated/Libraries/Core/ExceptionsManager.d.ts +43 -0
  1561. package/types_generated/Libraries/Core/ExtendedError.d.ts +26 -0
  1562. package/types_generated/Libraries/Core/NativeExceptionsManager.d.ts +17 -0
  1563. package/types_generated/Libraries/Core/RawEventEmitter.d.ts +26 -0
  1564. package/types_generated/Libraries/Core/ReactFiberErrorDialog.d.ts +27 -0
  1565. package/types_generated/Libraries/Core/registerCallableModule.d.ts +18 -0
  1566. package/types_generated/Libraries/EventEmitter/NativeEventEmitter.d.ts +42 -0
  1567. package/types_generated/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +19 -0
  1568. package/types_generated/Libraries/EventEmitter/RCTEventEmitter.d.ts +18 -0
  1569. package/types_generated/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +21 -0
  1570. package/types_generated/Libraries/Image/AssetSourceResolver.d.ts +71 -0
  1571. package/types_generated/Libraries/Image/Image.d.ts +18 -0
  1572. package/types_generated/Libraries/Image/ImageBackground.d.ts +44 -0
  1573. package/types_generated/Libraries/Image/ImageProps.d.ts +512 -0
  1574. package/types_generated/Libraries/Image/ImageResizeMode.d.ts +17 -0
  1575. package/types_generated/Libraries/Image/ImageSource.d.ts +94 -0
  1576. package/types_generated/Libraries/Image/ImageTypes.flow.d.ts +64 -0
  1577. package/types_generated/Libraries/Image/ImageViewNativeComponent.d.ts +68 -0
  1578. package/types_generated/Libraries/Image/TextInlineImageNativeComponent.d.ts +42 -0
  1579. package/types_generated/Libraries/Interaction/InteractionManager.d.ts +100 -0
  1580. package/types_generated/Libraries/Interaction/PanResponder.d.ts +231 -0
  1581. package/types_generated/Libraries/Interaction/TaskQueue.d.ts +73 -0
  1582. package/types_generated/Libraries/LayoutAnimation/LayoutAnimation.d.ts +76 -0
  1583. package/types_generated/Libraries/Linking/Linking.d.ts +68 -0
  1584. package/types_generated/Libraries/Lists/FlatList.d.ts +317 -0
  1585. package/types_generated/Libraries/Lists/SectionList.d.ts +172 -0
  1586. package/types_generated/Libraries/Lists/VirtualizedList.d.ts +19 -0
  1587. package/types_generated/Libraries/Lists/VirtualizedSectionList.d.ts +19 -0
  1588. package/types_generated/Libraries/LogBox/Data/LogBoxData.d.ts +78 -0
  1589. package/types_generated/Libraries/LogBox/Data/LogBoxLog.d.ts +88 -0
  1590. package/types_generated/Libraries/LogBox/Data/LogBoxSymbolication.d.ts +17 -0
  1591. package/types_generated/Libraries/LogBox/Data/parseLogBoxLog.d.ts +53 -0
  1592. package/types_generated/Libraries/LogBox/LogBox.d.ts +29 -0
  1593. package/types_generated/Libraries/Modal/Modal.d.ts +110 -0
  1594. package/types_generated/Libraries/NativeModules/specs/NativeDialogManagerAndroid.d.ts +17 -0
  1595. package/types_generated/Libraries/Network/FormData.d.ts +56 -0
  1596. package/types_generated/Libraries/Network/RCTNetworking.d.ts +25 -0
  1597. package/types_generated/Libraries/Network/RCTNetworkingEventDefinitions.flow.d.ts +22 -0
  1598. package/types_generated/Libraries/Network/XMLHttpRequest.d.ts +96 -0
  1599. package/types_generated/Libraries/Network/convertRequestBody.d.ts +21 -0
  1600. package/types_generated/Libraries/Performance/Systrace.d.ts +61 -0
  1601. package/types_generated/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +129 -0
  1602. package/types_generated/Libraries/Pressability/Pressability.d.ts +241 -0
  1603. package/types_generated/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +323 -0
  1604. package/types_generated/Libraries/ReactNative/AppRegistry.d.ts +14 -0
  1605. package/types_generated/Libraries/ReactNative/AppRegistry.flow.d.ts +44 -0
  1606. package/types_generated/Libraries/ReactNative/AppRegistryImpl.d.ts +73 -0
  1607. package/types_generated/Libraries/ReactNative/DisplayMode.d.ts +24 -0
  1608. package/types_generated/Libraries/ReactNative/I18nManager.d.ts +23 -0
  1609. package/types_generated/Libraries/ReactNative/NativeI18nManager.d.ts +17 -0
  1610. package/types_generated/Libraries/ReactNative/NativeUIManager.d.ts +17 -0
  1611. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.d.ts +28 -0
  1612. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.d.ts +32 -0
  1613. package/types_generated/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.d.ts +15 -0
  1614. package/types_generated/Libraries/ReactNative/RendererImplementation.d.ts +37 -0
  1615. package/types_generated/Libraries/ReactNative/RendererProxy.d.ts +28 -0
  1616. package/types_generated/Libraries/ReactNative/RootTag.d.ts +22 -0
  1617. package/types_generated/Libraries/ReactNative/UIManager.d.ts +17 -0
  1618. package/types_generated/Libraries/ReactNative/requireNativeComponent.d.ts +25 -0
  1619. package/types_generated/Libraries/ReactPrivate/ReactNativePrivateInterface.d.ts +33 -0
  1620. package/types_generated/Libraries/Renderer/shims/ReactNativeTypes.d.ts +169 -0
  1621. package/types_generated/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.d.ts +41 -0
  1622. package/types_generated/Libraries/Settings/Settings.d.ts +21 -0
  1623. package/types_generated/Libraries/Share/Share.d.ts +85 -0
  1624. package/types_generated/Libraries/StyleSheet/EdgeInsetsPropType.d.ts +15 -0
  1625. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +17 -0
  1626. package/types_generated/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +27 -0
  1627. package/types_generated/Libraries/StyleSheet/PointPropType.d.ts +16 -0
  1628. package/types_generated/Libraries/StyleSheet/Rect.d.ts +22 -0
  1629. package/types_generated/Libraries/StyleSheet/StyleSheet.d.ts +153 -0
  1630. package/types_generated/Libraries/StyleSheet/StyleSheetExports.d.ts +107 -0
  1631. package/types_generated/Libraries/StyleSheet/StyleSheetTypes.d.ts +826 -0
  1632. package/types_generated/Libraries/StyleSheet/flattenStyle.d.ts +19 -0
  1633. package/types_generated/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.d.ts +17 -0
  1634. package/types_generated/Libraries/StyleSheet/private/_TransformStyle.d.ts +76 -0
  1635. package/types_generated/Libraries/StyleSheet/processColor.d.ts +18 -0
  1636. package/types_generated/Libraries/Text/Text.d.ts +30 -0
  1637. package/types_generated/Libraries/Text/TextAncestorContext.d.ts +20 -0
  1638. package/types_generated/Libraries/Text/TextNativeComponent.d.ts +31 -0
  1639. package/types_generated/Libraries/Text/TextProps.d.ts +220 -0
  1640. package/types_generated/Libraries/TurboModule/RCTExport.d.ts +35 -0
  1641. package/types_generated/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
  1642. package/types_generated/Libraries/Types/CodegenTypes.d.ts +24 -0
  1643. package/types_generated/Libraries/Types/CodegenTypesNamespace.d.ts +14 -0
  1644. package/types_generated/Libraries/Types/CoreEventTypes.d.ts +327 -0
  1645. package/types_generated/Libraries/Types/RootTagTypes.d.ts +13 -0
  1646. package/types_generated/Libraries/Types/UIManagerJSInterface.d.ts +17 -0
  1647. package/types_generated/Libraries/UTFSequence.d.ts +39 -0
  1648. package/types_generated/Libraries/Utilities/Appearance.d.ts +31 -0
  1649. package/types_generated/Libraries/Utilities/BackHandler.d.ts +23 -0
  1650. package/types_generated/Libraries/Utilities/DevSettings.d.ts +34 -0
  1651. package/types_generated/Libraries/Utilities/DeviceInfo.d.ts +17 -0
  1652. package/types_generated/Libraries/Utilities/Dimensions.d.ts +54 -0
  1653. package/types_generated/Libraries/Utilities/IPerformanceLogger.d.ts +51 -0
  1654. package/types_generated/Libraries/Utilities/NativeAppearance.d.ts +17 -0
  1655. package/types_generated/Libraries/Utilities/NativeDeviceInfo.d.ts +14 -0
  1656. package/types_generated/Libraries/Utilities/PixelRatio.d.ts +110 -0
  1657. package/types_generated/Libraries/Utilities/Platform.d.ts +16 -0
  1658. package/types_generated/Libraries/Utilities/PlatformTypes.d.ts +134 -0
  1659. package/types_generated/Libraries/Utilities/codegenNativeCommands.d.ts +19 -0
  1660. package/types_generated/Libraries/Utilities/codegenNativeComponent.d.ts +24 -0
  1661. package/types_generated/Libraries/Utilities/createPerformanceLogger.d.ts +23 -0
  1662. package/types_generated/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.d.ts +33 -0
  1663. package/types_generated/Libraries/Utilities/differ/deepDiffer.d.ts +19 -0
  1664. package/types_generated/Libraries/Utilities/useColorScheme.d.ts +15 -0
  1665. package/types_generated/Libraries/Utilities/useWindowDimensions.d.ts +15 -0
  1666. package/types_generated/Libraries/Vibration/Vibration.d.ts +29 -0
  1667. package/types_generated/Libraries/vendor/core/ErrorUtils.d.ts +39 -0
  1668. package/types_generated/Libraries/vendor/emitter/EventEmitter.d.ts +67 -0
  1669. package/types_generated/index.d.ts +164 -0
  1670. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +70 -0
  1671. package/types_generated/src/private/components/virtualview/VirtualViewNativeComponent.d.ts +97 -0
  1672. package/types_generated/src/private/devsupport/devmenu/DevMenu.d.ts +28 -0
  1673. package/types_generated/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.d.ts +53 -0
  1674. package/types_generated/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.d.ts +36 -0
  1675. package/types_generated/src/private/specs_DEPRECATED/components/SwitchNativeComponent.d.ts +51 -0
  1676. package/types_generated/src/private/specs_DEPRECATED/modules/NativeAppearance.d.ts +26 -0
  1677. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.d.ts +46 -0
  1678. package/types_generated/src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid.d.ts +37 -0
  1679. package/types_generated/src/private/specs_DEPRECATED/modules/NativeExceptionsManager.d.ts +45 -0
  1680. package/types_generated/src/private/specs_DEPRECATED/modules/NativeI18nManager.d.ts +27 -0
  1681. package/types_generated/src/private/specs_DEPRECATED/modules/NativeUIManager.d.ts +109 -0
  1682. package/types_generated/src/private/styles/composeStyles.d.ts +19 -0
  1683. package/types_generated/src/private/types/HostComponent.d.ts +19 -0
  1684. package/types_generated/src/private/types/HostInstance.d.ts +91 -0
  1685. package/types_generated/src/private/webapis/dom/events/CustomEvent.d.ts +27 -0
  1686. package/types_generated/src/private/webapis/dom/events/Event.d.ts +58 -0
  1687. package/types_generated/src/private/webapis/dom/events/EventTarget.d.ts +48 -0
  1688. package/types_generated/src/private/webapis/dom/nodes/ReactNativeDocument.d.ts +32 -0
  1689. package/types_generated/src/private/webapis/dom/nodes/ReactNativeElement.d.ts +36 -0
  1690. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyCharacterData.d.ts +30 -0
  1691. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyElement.d.ts +54 -0
  1692. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyNode.d.ts +126 -0
  1693. package/types_generated/src/private/webapis/dom/nodes/ReadOnlyText.d.ts +24 -0
  1694. package/types_generated/src/private/webapis/dom/nodes/internals/NodeInternals.d.ts +29 -0
  1695. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.d.ts +23 -0
  1696. package/types_generated/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.d.ts +22 -0
  1697. package/types_generated/src/private/webapis/dom/nodes/specs/NativeDOM.d.ts +222 -0
  1698. package/types_generated/src/private/webapis/dom/oldstylecollections/HTMLCollection.d.ts +22 -0
  1699. package/types_generated/src/private/webapis/dom/oldstylecollections/NodeList.d.ts +25 -0
  1700. package/types_generated/src/private/webapis/geometry/DOMRect.d.ts +46 -0
  1701. package/types_generated/src/private/webapis/geometry/DOMRectReadOnly.d.ts +73 -0
  1702. package/types_generated/src/private/webapis/utils/ArrayLikeUtils.d.ts +27 -0
  1703. package/types_generated/tsconfig.json +3 -0
  1704. package/types_generated/tsconfig.test.json +16 -0
  1705. package/Libraries/BugReporting/BugReporting.js +0 -140
  1706. package/Libraries/BugReporting/NativeBugReporting.js +0 -13
  1707. package/Libraries/BugReporting/dumpReactTree.js +0 -151
  1708. package/Libraries/BugReporting/getReactData.js +0 -187
  1709. package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
  1710. package/React/CxxBridge/JSCExecutorFactory.h +0 -27
  1711. package/React/CxxBridge/JSCExecutorFactory.mm +0 -24
  1712. package/React/Runtime/RCTJscInstanceFactory.mm +0 -20
  1713. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +0 -222
  1714. package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.kt +0 -21
  1715. package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +0 -144
  1716. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +0 -420
  1717. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +0 -270
  1718. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +0 -421
  1719. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +0 -269
  1720. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.java +0 -413
  1721. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModuleRegistry.java +0 -102
  1722. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +0 -247
  1723. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +0 -75
  1724. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +0 -169
  1725. package/ReactAndroid/src/main/java/com/facebook/react/bridge/PromiseImpl.java +0 -257
  1726. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactApplicationContext.java +0 -25
  1727. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +0 -44
  1728. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +0 -75
  1729. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarker.java +0 -233
  1730. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +0 -136
  1731. package/ReactAndroid/src/main/java/com/facebook/react/common/annotations/DeprecatedInNewArchitecture.kt +0 -16
  1732. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +0 -410
  1733. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +0 -474
  1734. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.kt +0 -41
  1735. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutorFactory.kt +0 -44
  1736. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +0 -38
  1737. package/ReactAndroid/src/main/java/com/facebook/react/runtime/JSCInstance.kt +0 -24
  1738. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +0 -1825
  1739. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +0 -247
  1740. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ThemedReactContext.java +0 -203
  1741. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +0 -235
  1742. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +0 -244
  1743. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +0 -190
  1744. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +0 -372
  1745. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +0 -417
  1746. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +0 -383
  1747. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +0 -235
  1748. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributes.java +0 -208
  1749. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +0 -968
  1750. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +0 -1559
  1751. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +0 -37
  1752. package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +0 -74
  1753. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +0 -36
  1754. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +0 -26
  1755. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/OnLoad.cpp +0 -48
  1756. package/ReactCommon/React-rncore.podspec +0 -52
  1757. package/ReactCommon/cxxreact/SampleCxxModule.cpp +0 -182
  1758. package/ReactCommon/cxxreact/SampleCxxModule.h +0 -59
  1759. package/ReactCommon/jsc/CMakeLists.txt +0 -34
  1760. package/ReactCommon/jsc/React-jsc.podspec +0 -37
  1761. package/ReactCommon/react/nativemodule/fantomforcedclonecommithook/NativeFantomForcedCloneCommitHook.cpp +0 -84
  1762. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.h +0 -18
  1763. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboCxxModule.mm +0 -31
  1764. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.cpp +0 -177
  1765. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/SampleTurboCxxModuleLegacyImpl.h +0 -46
  1766. package/ReactCommon/react/renderer/components/rncore/Props.cpp +0 -156
  1767. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +0 -22
  1768. package/jest/mockModal.js +0 -32
  1769. package/jest/mockScrollView.js +0 -35
  1770. package/scripts/codegen/generate-artifacts-executor/generateRNCoreComponentsIOS.js +0 -38
  1771. package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
  1772. package/types/tsconfig.test.json +0 -16
  1773. package/types/tslint.json +0 -24
@@ -0,0 +1,1203 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ package com.facebook.react.views.text
9
+
10
+ import android.content.Context
11
+ import android.graphics.Color
12
+ import android.graphics.Typeface
13
+ import android.os.Build
14
+ import android.text.BoringLayout
15
+ import android.text.Layout
16
+ import android.text.Spannable
17
+ import android.text.SpannableString
18
+ import android.text.SpannableStringBuilder
19
+ import android.text.Spanned
20
+ import android.text.StaticLayout
21
+ import android.text.TextDirectionHeuristics
22
+ import android.text.TextPaint
23
+ import android.text.TextUtils
24
+ import android.util.LayoutDirection
25
+ import android.view.Gravity
26
+ import android.view.View
27
+ import com.facebook.common.logging.FLog
28
+ import com.facebook.infer.annotation.Assertions
29
+ import com.facebook.react.bridge.WritableArray
30
+ import com.facebook.react.common.ReactConstants
31
+ import com.facebook.react.common.mapbuffer.MapBuffer
32
+ import com.facebook.react.common.mapbuffer.ReadableMapBuffer
33
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags
34
+ import com.facebook.react.uimanager.PixelUtil
35
+ import com.facebook.react.uimanager.PixelUtil.dpToPx
36
+ import com.facebook.react.uimanager.PixelUtil.pxToDp
37
+ import com.facebook.react.uimanager.ReactAccessibilityDelegate
38
+ import com.facebook.react.views.text.internal.span.CustomLetterSpacingSpan
39
+ import com.facebook.react.views.text.internal.span.CustomLineHeightSpan
40
+ import com.facebook.react.views.text.internal.span.CustomStyleSpan
41
+ import com.facebook.react.views.text.internal.span.ReactAbsoluteSizeSpan
42
+ import com.facebook.react.views.text.internal.span.ReactBackgroundColorSpan
43
+ import com.facebook.react.views.text.internal.span.ReactClickableSpan
44
+ import com.facebook.react.views.text.internal.span.ReactForegroundColorSpan
45
+ import com.facebook.react.views.text.internal.span.ReactOpacitySpan
46
+ import com.facebook.react.views.text.internal.span.ReactStrikethroughSpan
47
+ import com.facebook.react.views.text.internal.span.ReactTagSpan
48
+ import com.facebook.react.views.text.internal.span.ReactTextPaintHolderSpan
49
+ import com.facebook.react.views.text.internal.span.ReactUnderlineSpan
50
+ import com.facebook.react.views.text.internal.span.SetSpanOperation
51
+ import com.facebook.react.views.text.internal.span.ShadowStyleSpan
52
+ import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan
53
+ import com.facebook.yoga.YogaMeasureMode
54
+ import com.facebook.yoga.YogaMeasureOutput
55
+ import java.util.concurrent.ConcurrentHashMap
56
+ import kotlin.math.ceil
57
+ import kotlin.math.floor
58
+ import kotlin.math.max
59
+ import kotlin.math.min
60
+
61
+ /** Class responsible of creating [Spanned] object for the JS representation of Text */
62
+ internal object TextLayoutManager {
63
+
64
+ // constants for AttributedString serialization
65
+ const val AS_KEY_HASH: Int = 0
66
+ const val AS_KEY_STRING: Int = 1
67
+ const val AS_KEY_FRAGMENTS: Int = 2
68
+ const val AS_KEY_CACHE_ID: Int = 3
69
+ const val AS_KEY_BASE_ATTRIBUTES: Int = 4
70
+
71
+ // constants for Fragment serialization
72
+ const val FR_KEY_STRING: Int = 0
73
+ const val FR_KEY_REACT_TAG: Int = 1
74
+ const val FR_KEY_IS_ATTACHMENT: Int = 2
75
+ const val FR_KEY_WIDTH: Int = 3
76
+ const val FR_KEY_HEIGHT: Int = 4
77
+ const val FR_KEY_TEXT_ATTRIBUTES: Int = 5
78
+
79
+ // constants for ParagraphAttributes serialization
80
+ const val PA_KEY_MAX_NUMBER_OF_LINES: Int = 0
81
+ const val PA_KEY_ELLIPSIZE_MODE: Int = 1
82
+ const val PA_KEY_TEXT_BREAK_STRATEGY: Int = 2
83
+ const val PA_KEY_ADJUST_FONT_SIZE_TO_FIT: Int = 3
84
+ const val PA_KEY_INCLUDE_FONT_PADDING: Int = 4
85
+ const val PA_KEY_HYPHENATION_FREQUENCY: Int = 5
86
+ const val PA_KEY_MINIMUM_FONT_SIZE: Int = 6
87
+ const val PA_KEY_MAXIMUM_FONT_SIZE: Int = 7
88
+ const val PA_KEY_TEXT_ALIGN_VERTICAL: Int = 8
89
+
90
+ private val TAG: String = TextLayoutManager::class.java.simpleName
91
+
92
+ // Each thread has its own copy of scratch TextPaint so that TextLayoutManager
93
+ // measurement/Spannable creation can be free-threaded.
94
+ private val textPaintInstance: ThreadLocal<TextPaint> =
95
+ object : ThreadLocal<TextPaint>() {
96
+ override fun initialValue(): TextPaint = TextPaint(TextPaint.ANTI_ALIAS_FLAG)
97
+ }
98
+
99
+ private const val DEFAULT_INCLUDE_FONT_PADDING = true
100
+
101
+ private const val DEFAULT_ADJUST_FONT_SIZE_TO_FIT = false
102
+
103
+ private val tagToSpannableCache = ConcurrentHashMap<Int, Spannable>()
104
+
105
+ fun setCachedSpannableForTag(reactTag: Int, sp: Spannable): Unit {
106
+ tagToSpannableCache[reactTag] = sp
107
+ }
108
+
109
+ fun deleteCachedSpannableForTag(reactTag: Int): Unit {
110
+ tagToSpannableCache.remove(reactTag)
111
+ }
112
+
113
+ fun isRTL(attributedString: MapBuffer): Boolean {
114
+ // TODO: Don't read AS_KEY_FRAGMENTS, which may be expensive, and is not present when using
115
+ // cached Spannable
116
+ if (!attributedString.contains(AS_KEY_FRAGMENTS)) {
117
+ return false
118
+ }
119
+
120
+ val fragments = attributedString.getMapBuffer(AS_KEY_FRAGMENTS)
121
+ if (fragments.count == 0) {
122
+ return false
123
+ }
124
+
125
+ val fragment = fragments.getMapBuffer(0)
126
+ val textAttributes = fragment.getMapBuffer(FR_KEY_TEXT_ATTRIBUTES)
127
+
128
+ if (!textAttributes.contains(TextAttributeProps.TA_KEY_LAYOUT_DIRECTION.toInt())) {
129
+ return false
130
+ }
131
+
132
+ return TextAttributeProps.getLayoutDirection(
133
+ textAttributes.getString(TextAttributeProps.TA_KEY_LAYOUT_DIRECTION.toInt())) ==
134
+ LayoutDirection.RTL
135
+ }
136
+
137
+ private fun getTextAlignmentAttr(attributedString: MapBuffer): String? {
138
+ // TODO: Don't read AS_KEY_FRAGMENTS, which may be expensive, and is not present when using
139
+ // cached Spannable
140
+ if (!attributedString.contains(AS_KEY_FRAGMENTS)) {
141
+ return null
142
+ }
143
+
144
+ val fragments = attributedString.getMapBuffer(AS_KEY_FRAGMENTS)
145
+ if (fragments.count != 0) {
146
+ val fragment = fragments.getMapBuffer(0)
147
+ val textAttributes = fragment.getMapBuffer(FR_KEY_TEXT_ATTRIBUTES)
148
+
149
+ if (textAttributes.contains(TextAttributeProps.TA_KEY_ALIGNMENT.toInt())) {
150
+ return textAttributes.getString(TextAttributeProps.TA_KEY_ALIGNMENT.toInt())
151
+ }
152
+ }
153
+
154
+ return null
155
+ }
156
+
157
+ private fun getTextJustificationMode(alignmentAttr: String?): Int {
158
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
159
+ return -1
160
+ }
161
+
162
+ if (alignmentAttr != null && alignmentAttr == "justified") {
163
+ return Layout.JUSTIFICATION_MODE_INTER_WORD
164
+ }
165
+
166
+ return Layout.JUSTIFICATION_MODE_NONE
167
+ }
168
+
169
+ private fun getTextAlignment(
170
+ attributedString: MapBuffer,
171
+ spanned: Spannable,
172
+ alignmentAttr: String?
173
+ ): Layout.Alignment {
174
+ // Android will align text based on the script, so normal and opposite alignment needs to be
175
+ // swapped when the directions of paragraph and script don't match.
176
+ // I.e. paragraph is LTR but script is RTL, text needs to be aligned to the left, which means
177
+ // ALIGN_OPPOSITE needs to be used to align RTL script to the left
178
+ val isParagraphRTL = isRTL(attributedString)
179
+ val isScriptRTL = TextDirectionHeuristics.FIRSTSTRONG_LTR.isRtl(spanned, 0, spanned.length)
180
+ val swapNormalAndOpposite = isParagraphRTL != isScriptRTL
181
+
182
+ var alignment =
183
+ if (swapNormalAndOpposite) Layout.Alignment.ALIGN_OPPOSITE
184
+ else Layout.Alignment.ALIGN_NORMAL
185
+
186
+ if (alignmentAttr == null) {
187
+ return alignment
188
+ }
189
+
190
+ if (alignmentAttr == "center") {
191
+ alignment = Layout.Alignment.ALIGN_CENTER
192
+ } else if (alignmentAttr == "right") {
193
+ alignment =
194
+ if (swapNormalAndOpposite) Layout.Alignment.ALIGN_NORMAL
195
+ else Layout.Alignment.ALIGN_OPPOSITE
196
+ }
197
+
198
+ return alignment
199
+ }
200
+
201
+ @JvmStatic
202
+ fun getTextGravity(attributedString: MapBuffer, spanned: Spannable): Int {
203
+ val alignmentAttr = getTextAlignmentAttr(attributedString)
204
+ val alignment = getTextAlignment(attributedString, spanned, alignmentAttr)
205
+
206
+ // depending on whether the script is LTR or RTL, ALIGN_NORMAL and ALIGN_OPPOSITE may mean
207
+ // different things
208
+ val swapLeftAndRight = TextDirectionHeuristics.FIRSTSTRONG_LTR.isRtl(spanned, 0, spanned.length)
209
+
210
+ return when (alignment) {
211
+ Layout.Alignment.ALIGN_NORMAL -> if (swapLeftAndRight) Gravity.RIGHT else Gravity.LEFT
212
+ Layout.Alignment.ALIGN_OPPOSITE -> if (swapLeftAndRight) Gravity.LEFT else Gravity.RIGHT
213
+ Layout.Alignment.ALIGN_CENTER -> Gravity.CENTER_HORIZONTAL
214
+ }
215
+ }
216
+
217
+ private fun buildSpannableFromFragments(
218
+ context: Context,
219
+ fragments: MapBuffer,
220
+ sb: SpannableStringBuilder,
221
+ ops: MutableList<SetSpanOperation>
222
+ ) {
223
+ for (i in 0 until fragments.count) {
224
+ val fragment = fragments.getMapBuffer(i)
225
+ val start = sb.length
226
+
227
+ val textAttributes =
228
+ TextAttributeProps.fromMapBuffer(fragment.getMapBuffer(FR_KEY_TEXT_ATTRIBUTES))
229
+
230
+ sb.append(
231
+ TextTransform.apply(fragment.getString(FR_KEY_STRING), textAttributes.mTextTransform))
232
+
233
+ val end = sb.length
234
+ val reactTag =
235
+ if (fragment.contains(FR_KEY_REACT_TAG)) fragment.getInt(FR_KEY_REACT_TAG) else View.NO_ID
236
+ if (fragment.contains(FR_KEY_IS_ATTACHMENT) && fragment.getBoolean(FR_KEY_IS_ATTACHMENT)) {
237
+ val width = PixelUtil.toPixelFromSP(fragment.getDouble(FR_KEY_WIDTH))
238
+ val height = PixelUtil.toPixelFromSP(fragment.getDouble(FR_KEY_HEIGHT))
239
+ ops.add(
240
+ SetSpanOperation(
241
+ sb.length - 1,
242
+ sb.length,
243
+ TextInlineViewPlaceholderSpan(reactTag, width.toInt(), height.toInt())))
244
+ } else if (end >= start) {
245
+ val roleIsLink =
246
+ if (textAttributes.mRole != null)
247
+ (textAttributes.mRole == ReactAccessibilityDelegate.Role.LINK)
248
+ else
249
+ (textAttributes.mAccessibilityRole ==
250
+ ReactAccessibilityDelegate.AccessibilityRole.LINK)
251
+ if (roleIsLink) {
252
+ ops.add(SetSpanOperation(start, end, ReactClickableSpan(reactTag)))
253
+ }
254
+ if (textAttributes.mIsColorSet) {
255
+ ops.add(SetSpanOperation(start, end, ReactForegroundColorSpan(textAttributes.mColor)))
256
+ }
257
+ if (textAttributes.mIsBackgroundColorSet) {
258
+ ops.add(
259
+ SetSpanOperation(
260
+ start, end, ReactBackgroundColorSpan(textAttributes.mBackgroundColor)))
261
+ }
262
+ if (!textAttributes.opacity.isNaN()) {
263
+ ops.add(SetSpanOperation(start, end, ReactOpacitySpan(textAttributes.opacity)))
264
+ }
265
+ if (!textAttributes.letterSpacing.isNaN()) {
266
+ ops.add(
267
+ SetSpanOperation(start, end, CustomLetterSpacingSpan(textAttributes.letterSpacing)))
268
+ }
269
+ ops.add(SetSpanOperation(start, end, ReactAbsoluteSizeSpan(textAttributes.mFontSize)))
270
+ if (textAttributes.mFontStyle != ReactConstants.UNSET ||
271
+ textAttributes.mFontWeight != ReactConstants.UNSET ||
272
+ textAttributes.mFontFamily != null) {
273
+ ops.add(
274
+ SetSpanOperation(
275
+ start,
276
+ end,
277
+ CustomStyleSpan(
278
+ textAttributes.mFontStyle,
279
+ textAttributes.mFontWeight,
280
+ textAttributes.mFontFeatureSettings,
281
+ textAttributes.mFontFamily,
282
+ context.assets)))
283
+ }
284
+ if (textAttributes.mIsUnderlineTextDecorationSet) {
285
+ ops.add(SetSpanOperation(start, end, ReactUnderlineSpan()))
286
+ }
287
+ if (textAttributes.mIsLineThroughTextDecorationSet) {
288
+ ops.add(SetSpanOperation(start, end, ReactStrikethroughSpan()))
289
+ }
290
+ if ((textAttributes.mTextShadowOffsetDx != 0f ||
291
+ textAttributes.mTextShadowOffsetDy != 0f ||
292
+ textAttributes.mTextShadowRadius != 0f) &&
293
+ Color.alpha(textAttributes.mTextShadowColor) != 0) {
294
+ ops.add(
295
+ SetSpanOperation(
296
+ start,
297
+ end,
298
+ ShadowStyleSpan(
299
+ textAttributes.mTextShadowOffsetDx,
300
+ textAttributes.mTextShadowOffsetDy,
301
+ textAttributes.mTextShadowRadius,
302
+ textAttributes.mTextShadowColor)))
303
+ }
304
+ if (!textAttributes.effectiveLineHeight.isNaN()) {
305
+ ops.add(
306
+ SetSpanOperation(
307
+ start, end, CustomLineHeightSpan(textAttributes.effectiveLineHeight)))
308
+ }
309
+
310
+ ops.add(SetSpanOperation(start, end, ReactTagSpan(reactTag)))
311
+ }
312
+ }
313
+ }
314
+
315
+ private class FragmentAttributes(
316
+ val props: TextAttributeProps,
317
+ val length: Int,
318
+ val reactTag: Int,
319
+ val isAttachment: Boolean,
320
+ val width: Double,
321
+ val height: Double
322
+ )
323
+
324
+ private fun buildSpannableFromFragmentsOptimized(
325
+ context: Context,
326
+ fragments: MapBuffer
327
+ ): Spannable {
328
+ val text = StringBuilder()
329
+ val parsedFragments = ArrayList<FragmentAttributes>(fragments.count)
330
+
331
+ for (i in 0 until fragments.count) {
332
+ val fragment = fragments.getMapBuffer(i)
333
+ val props = TextAttributeProps.fromMapBuffer(fragment.getMapBuffer(FR_KEY_TEXT_ATTRIBUTES))
334
+ val fragmentText = TextTransform.apply(fragment.getString(FR_KEY_STRING), props.textTransform)
335
+ text.append(fragmentText)
336
+ parsedFragments.add(
337
+ FragmentAttributes(
338
+ props = props,
339
+ length = fragmentText.length,
340
+ reactTag =
341
+ if (fragment.contains(FR_KEY_REACT_TAG)) {
342
+ fragment.getInt(FR_KEY_REACT_TAG)
343
+ } else {
344
+ View.NO_ID
345
+ },
346
+ isAttachment =
347
+ fragment.contains(FR_KEY_IS_ATTACHMENT) &&
348
+ fragment.getBoolean(FR_KEY_IS_ATTACHMENT),
349
+ width =
350
+ if (fragment.contains(FR_KEY_WIDTH)) {
351
+ fragment.getDouble(FR_KEY_WIDTH)
352
+ } else {
353
+ Double.NaN
354
+ },
355
+ height =
356
+ if (fragment.contains(FR_KEY_HEIGHT)) {
357
+ fragment.getDouble(FR_KEY_HEIGHT)
358
+ } else {
359
+ Double.NaN
360
+ }))
361
+ }
362
+
363
+ val spannable = SpannableString(text)
364
+
365
+ var start = 0
366
+ for (fragment in parsedFragments) {
367
+ val end = start + fragment.length
368
+ val spanFlags =
369
+ if (start == 0) Spannable.SPAN_INCLUSIVE_INCLUSIVE else Spannable.SPAN_EXCLUSIVE_INCLUSIVE
370
+
371
+ if (fragment.isAttachment) {
372
+ spannable.setSpan(
373
+ TextInlineViewPlaceholderSpan(
374
+ fragment.reactTag,
375
+ PixelUtil.toPixelFromSP(fragment.width).toInt(),
376
+ PixelUtil.toPixelFromSP(fragment.height).toInt()),
377
+ start,
378
+ end,
379
+ spanFlags)
380
+ } else {
381
+ val roleIsLink =
382
+ if (fragment.props.role != null)
383
+ (fragment.props.role == ReactAccessibilityDelegate.Role.LINK)
384
+ else
385
+ (fragment.props.accessibilityRole ==
386
+ ReactAccessibilityDelegate.AccessibilityRole.LINK)
387
+
388
+ if (roleIsLink) {
389
+ spannable.setSpan(ReactClickableSpan(fragment.reactTag), start, end, spanFlags)
390
+ }
391
+
392
+ if (fragment.props.isColorSet) {
393
+ spannable.setSpan(ReactForegroundColorSpan(fragment.props.color), start, end, spanFlags)
394
+ }
395
+
396
+ if (fragment.props.isBackgroundColorSet) {
397
+ spannable.setSpan(
398
+ ReactBackgroundColorSpan(fragment.props.backgroundColor), start, end, spanFlags)
399
+ }
400
+
401
+ if (!fragment.props.opacity.isNaN()) {
402
+ spannable.setSpan(ReactOpacitySpan(fragment.props.opacity), start, end, spanFlags)
403
+ }
404
+
405
+ if (!fragment.props.letterSpacing.isNaN()) {
406
+ spannable.setSpan(
407
+ CustomLetterSpacingSpan(fragment.props.letterSpacing), start, end, spanFlags)
408
+ }
409
+
410
+ // TODO: Should this be using effectiveFontSize instead of fontSize?
411
+ spannable.setSpan(ReactAbsoluteSizeSpan(fragment.props.mFontSize), start, end, spanFlags)
412
+
413
+ if (fragment.props.fontStyle != ReactConstants.UNSET ||
414
+ fragment.props.fontWeight != ReactConstants.UNSET ||
415
+ fragment.props.fontFamily != null) {
416
+ spannable.setSpan(
417
+ CustomStyleSpan(
418
+ fragment.props.fontStyle,
419
+ fragment.props.fontWeight,
420
+ fragment.props.fontFeatureSettings,
421
+ fragment.props.fontFamily,
422
+ context.assets),
423
+ start,
424
+ end,
425
+ spanFlags)
426
+ }
427
+
428
+ if (fragment.props.isUnderlineTextDecorationSet) {
429
+ spannable.setSpan(ReactUnderlineSpan(), start, end, spanFlags)
430
+ }
431
+
432
+ if (fragment.props.isLineThroughTextDecorationSet) {
433
+ spannable.setSpan(ReactStrikethroughSpan(), start, end, spanFlags)
434
+ }
435
+
436
+ if ((fragment.props.textShadowOffsetDx != 0f ||
437
+ fragment.props.textShadowOffsetDy != 0f ||
438
+ fragment.props.textShadowRadius != 0f) &&
439
+ Color.alpha(fragment.props.textShadowColor) != 0) {
440
+ spannable.setSpan(
441
+ ShadowStyleSpan(
442
+ fragment.props.textShadowOffsetDx,
443
+ fragment.props.textShadowOffsetDy,
444
+ fragment.props.textShadowRadius,
445
+ fragment.props.textShadowColor),
446
+ start,
447
+ end,
448
+ spanFlags)
449
+ }
450
+
451
+ if (!fragment.props.effectiveLineHeight.isNaN()) {
452
+ spannable.setSpan(
453
+ CustomLineHeightSpan(fragment.props.effectiveLineHeight), start, end, spanFlags)
454
+ }
455
+
456
+ spannable.setSpan(ReactTagSpan(fragment.reactTag), start, end, spanFlags)
457
+ }
458
+
459
+ start = end
460
+ }
461
+
462
+ return spannable
463
+ }
464
+
465
+ fun getOrCreateSpannableForText(
466
+ context: Context,
467
+ attributedString: MapBuffer,
468
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
469
+ ): Spannable {
470
+ var text: Spannable?
471
+ if (attributedString.contains(AS_KEY_CACHE_ID)) {
472
+ val cacheId = attributedString.getInt(AS_KEY_CACHE_ID)
473
+ text = checkNotNull(tagToSpannableCache[cacheId])
474
+ } else {
475
+ text =
476
+ createSpannableFromAttributedString(
477
+ context, attributedString, reactTextViewManagerCallback)
478
+ }
479
+
480
+ return text
481
+ }
482
+
483
+ private fun createSpannableFromAttributedString(
484
+ context: Context,
485
+ attributedString: MapBuffer,
486
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
487
+ ): Spannable {
488
+ if (ReactNativeFeatureFlags.enableAndroidTextMeasurementOptimizations()) {
489
+ val spannable =
490
+ buildSpannableFromFragmentsOptimized(
491
+ context, attributedString.getMapBuffer(AS_KEY_FRAGMENTS))
492
+
493
+ reactTextViewManagerCallback?.onPostProcessSpannable(spannable)
494
+ return spannable
495
+ } else {
496
+ val sb = SpannableStringBuilder()
497
+
498
+ // The [SpannableStringBuilder] implementation require setSpan operation to be called
499
+ // up-to-bottom, otherwise all the spannables that are within the region for which one may set
500
+ // a new spannable will be wiped out
501
+ val ops: MutableList<SetSpanOperation> = ArrayList()
502
+
503
+ buildSpannableFromFragments(context, attributedString.getMapBuffer(AS_KEY_FRAGMENTS), sb, ops)
504
+
505
+ // TODO T31905686: add support for inline Images
506
+ // While setting the Spans on the final text, we also check whether any of them are images.
507
+ for (priorityIndex in ops.indices) {
508
+ val op = ops[ops.size - priorityIndex - 1]
509
+
510
+ // Actual order of calling {@code execute} does NOT matter,
511
+ // but the {@code priorityIndex} DOES matter.
512
+ op.execute(sb, priorityIndex)
513
+ }
514
+
515
+ reactTextViewManagerCallback?.onPostProcessSpannable(sb)
516
+ return sb
517
+ }
518
+ }
519
+
520
+ private fun createLayout(
521
+ text: Spannable,
522
+ boring: BoringLayout.Metrics?,
523
+ width: Float,
524
+ widthYogaMeasureMode: YogaMeasureMode,
525
+ includeFontPadding: Boolean,
526
+ textBreakStrategy: Int,
527
+ hyphenationFrequency: Int,
528
+ alignment: Layout.Alignment,
529
+ justificationMode: Int,
530
+ ellipsizeMode: TextUtils.TruncateAt?,
531
+ maxNumberOfLines: Int,
532
+ paint: TextPaint
533
+ ): Layout {
534
+ // If our text is boring, and fully fits in the available space, we can represent the text
535
+ // layout as a BoringLayout
536
+ if (boring != null &&
537
+ (widthYogaMeasureMode == YogaMeasureMode.UNDEFINED || boring.width <= floor(width))) {
538
+ val layoutWidth =
539
+ if (widthYogaMeasureMode == YogaMeasureMode.EXACTLY) floor(width).toInt()
540
+ else boring.width
541
+ return BoringLayout.make(
542
+ text, paint, layoutWidth, alignment, 1f, 0f, boring, includeFontPadding)
543
+ }
544
+
545
+ val desiredWidth = ceil(Layout.getDesiredWidth(text, paint)).toInt()
546
+
547
+ val layoutWidth =
548
+ when (widthYogaMeasureMode) {
549
+ YogaMeasureMode.EXACTLY -> floor(width).toInt()
550
+ YogaMeasureMode.AT_MOST -> min(desiredWidth, floor(width).toInt())
551
+ else -> desiredWidth
552
+ }
553
+
554
+ val builder =
555
+ StaticLayout.Builder.obtain(text, 0, text.length, paint, layoutWidth)
556
+ .setAlignment(alignment)
557
+ .setLineSpacing(0f, 1f)
558
+ .setIncludePad(includeFontPadding)
559
+ .setBreakStrategy(textBreakStrategy)
560
+ .setHyphenationFrequency(hyphenationFrequency)
561
+
562
+ if (maxNumberOfLines != ReactConstants.UNSET && maxNumberOfLines != 0) {
563
+ builder.setEllipsize(ellipsizeMode).setMaxLines(maxNumberOfLines)
564
+ }
565
+
566
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
567
+ builder.setJustificationMode(justificationMode)
568
+ }
569
+
570
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
571
+ builder.setUseLineSpacingFromFallbacks(true)
572
+ }
573
+
574
+ return builder.build()
575
+ }
576
+
577
+ /**
578
+ * Sets attributes on the TextPaint, used for content outside the Spannable text, like for empty
579
+ * strings, or newlines after the last trailing character
580
+ */
581
+ private fun updateTextPaint(
582
+ paint: TextPaint,
583
+ baseTextAttributes: TextAttributeProps,
584
+ context: Context
585
+ ) {
586
+ if (baseTextAttributes.effectiveFontSize != ReactConstants.UNSET) {
587
+ paint.textSize = baseTextAttributes.effectiveFontSize.toFloat()
588
+ }
589
+
590
+ if (baseTextAttributes.fontStyle != ReactConstants.UNSET ||
591
+ baseTextAttributes.fontWeight != ReactConstants.UNSET ||
592
+ baseTextAttributes.fontFamily != null) {
593
+ val typeface =
594
+ ReactTypefaceUtils.applyStyles(
595
+ null,
596
+ baseTextAttributes.fontStyle,
597
+ baseTextAttributes.fontWeight,
598
+ baseTextAttributes.fontFamily,
599
+ context.assets)
600
+ paint.setTypeface(typeface)
601
+
602
+ if (baseTextAttributes.fontStyle != ReactConstants.UNSET &&
603
+ baseTextAttributes.fontStyle != typeface.style) {
604
+ // https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/widget/TextView.java;l=2536;drc=d262a68a1e0c3b640274b094a7f1e3a5b75563e9
605
+ val missingStyle = baseTextAttributes.fontStyle and typeface.style.inv()
606
+ paint.isFakeBoldText = missingStyle and Typeface.BOLD != 0
607
+ paint.textSkewX = if ((missingStyle and Typeface.ITALIC) != 0) -0.25f else 0f
608
+ }
609
+ }
610
+ }
611
+
612
+ /**
613
+ * WARNING: This paint should not be used for any layouts which may escape TextLayoutManager, as
614
+ * they may need to be drawn later, and may not safely be reused
615
+ */
616
+ private fun scratchPaintWithAttributes(
617
+ baseTextAttributes: TextAttributeProps,
618
+ context: Context
619
+ ): TextPaint {
620
+ val paint = checkNotNull(textPaintInstance.get())
621
+ paint.setTypeface(null)
622
+ paint.textSize = 12f
623
+ paint.isFakeBoldText = false
624
+ paint.textSkewX = 0f
625
+ updateTextPaint(paint, baseTextAttributes, context)
626
+ return paint
627
+ }
628
+
629
+ private fun newPaintWithAttributes(
630
+ baseTextAttributes: TextAttributeProps,
631
+ context: Context
632
+ ): TextPaint {
633
+ val paint = TextPaint(TextPaint.ANTI_ALIAS_FLAG)
634
+ updateTextPaint(paint, baseTextAttributes, context)
635
+ return paint
636
+ }
637
+
638
+ private fun createLayoutForMeasurement(
639
+ context: Context,
640
+ attributedString: MapBuffer,
641
+ paragraphAttributes: MapBuffer,
642
+ width: Float,
643
+ widthYogaMeasureMode: YogaMeasureMode,
644
+ height: Float,
645
+ heightYogaMeasureMode: YogaMeasureMode,
646
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
647
+ ): Layout {
648
+ val text = getOrCreateSpannableForText(context, attributedString, reactTextViewManagerCallback)
649
+
650
+ val paint: TextPaint
651
+ if (attributedString.contains(AS_KEY_CACHE_ID)) {
652
+ paint = text.getSpans(0, 0, ReactTextPaintHolderSpan::class.java)[0].textPaint
653
+ } else {
654
+ val baseTextAttributes =
655
+ TextAttributeProps.fromMapBuffer(attributedString.getMapBuffer(AS_KEY_BASE_ATTRIBUTES))
656
+ paint = scratchPaintWithAttributes(baseTextAttributes, context)
657
+ }
658
+
659
+ return createLayout(
660
+ text,
661
+ paint,
662
+ attributedString,
663
+ paragraphAttributes,
664
+ width,
665
+ widthYogaMeasureMode,
666
+ height,
667
+ heightYogaMeasureMode)
668
+ }
669
+
670
+ private fun createLayout(
671
+ text: Spannable,
672
+ paint: TextPaint,
673
+ attributedString: MapBuffer,
674
+ paragraphAttributes: MapBuffer,
675
+ width: Float,
676
+ widthYogaMeasureMode: YogaMeasureMode,
677
+ height: Float,
678
+ heightYogaMeasureMode: YogaMeasureMode
679
+ ): Layout {
680
+ val boring = isBoring(text, paint)
681
+
682
+ val textBreakStrategy =
683
+ TextAttributeProps.getTextBreakStrategy(
684
+ paragraphAttributes.getString(PA_KEY_TEXT_BREAK_STRATEGY))
685
+ val includeFontPadding =
686
+ if (paragraphAttributes.contains(PA_KEY_INCLUDE_FONT_PADDING))
687
+ paragraphAttributes.getBoolean(PA_KEY_INCLUDE_FONT_PADDING)
688
+ else DEFAULT_INCLUDE_FONT_PADDING
689
+ val hyphenationFrequency =
690
+ TextAttributeProps.getHyphenationFrequency(
691
+ paragraphAttributes.getString(PA_KEY_HYPHENATION_FREQUENCY))
692
+ val adjustFontSizeToFit =
693
+ if (paragraphAttributes.contains(PA_KEY_ADJUST_FONT_SIZE_TO_FIT))
694
+ paragraphAttributes.getBoolean(PA_KEY_ADJUST_FONT_SIZE_TO_FIT)
695
+ else DEFAULT_ADJUST_FONT_SIZE_TO_FIT
696
+ val maximumNumberOfLines =
697
+ if (paragraphAttributes.contains(PA_KEY_MAX_NUMBER_OF_LINES))
698
+ paragraphAttributes.getInt(PA_KEY_MAX_NUMBER_OF_LINES)
699
+ else ReactConstants.UNSET
700
+ val ellipsizeMode =
701
+ if (paragraphAttributes.contains(PA_KEY_ELLIPSIZE_MODE))
702
+ TextAttributeProps.getEllipsizeMode(
703
+ paragraphAttributes.getString(PA_KEY_ELLIPSIZE_MODE))
704
+ else null
705
+
706
+ // T226571629: textAlign should be moved to ParagraphAttributes
707
+ val alignmentAttr = getTextAlignmentAttr(attributedString)
708
+ val alignment = getTextAlignment(attributedString, text, alignmentAttr)
709
+ val justificationMode = getTextJustificationMode(alignmentAttr)
710
+
711
+ if (adjustFontSizeToFit) {
712
+ val minimumFontSize =
713
+ if (paragraphAttributes.contains(PA_KEY_MINIMUM_FONT_SIZE))
714
+ paragraphAttributes.getDouble(PA_KEY_MINIMUM_FONT_SIZE).toFloat()
715
+ else Float.NaN
716
+
717
+ adjustSpannableFontToFit(
718
+ text,
719
+ width,
720
+ YogaMeasureMode.EXACTLY,
721
+ height,
722
+ heightYogaMeasureMode,
723
+ minimumFontSize,
724
+ maximumNumberOfLines,
725
+ includeFontPadding,
726
+ textBreakStrategy,
727
+ hyphenationFrequency,
728
+ alignment,
729
+ justificationMode,
730
+ paint)
731
+ }
732
+
733
+ return createLayout(
734
+ text,
735
+ boring,
736
+ width,
737
+ widthYogaMeasureMode,
738
+ includeFontPadding,
739
+ textBreakStrategy,
740
+ hyphenationFrequency,
741
+ alignment,
742
+ justificationMode,
743
+ ellipsizeMode,
744
+ maximumNumberOfLines,
745
+ paint)
746
+ }
747
+
748
+ @JvmStatic
749
+ fun createPreparedLayout(
750
+ context: Context,
751
+ attributedString: ReadableMapBuffer,
752
+ paragraphAttributes: ReadableMapBuffer,
753
+ width: Float,
754
+ widthYogaMeasureMode: YogaMeasureMode,
755
+ height: Float,
756
+ heightYogaMeasureMode: YogaMeasureMode,
757
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
758
+ ): PreparedLayout {
759
+ val text = getOrCreateSpannableForText(context, attributedString, reactTextViewManagerCallback)
760
+ val baseTextAttributes =
761
+ TextAttributeProps.fromMapBuffer(attributedString.getMapBuffer(AS_KEY_BASE_ATTRIBUTES))
762
+ val layout =
763
+ createLayout(
764
+ text,
765
+ newPaintWithAttributes(baseTextAttributes, context),
766
+ attributedString,
767
+ paragraphAttributes,
768
+ width,
769
+ widthYogaMeasureMode,
770
+ height,
771
+ heightYogaMeasureMode)
772
+
773
+ val maximumNumberOfLines =
774
+ if (paragraphAttributes.contains(PA_KEY_MAX_NUMBER_OF_LINES))
775
+ paragraphAttributes.getInt(PA_KEY_MAX_NUMBER_OF_LINES)
776
+ else ReactConstants.UNSET
777
+
778
+ val verticalOffset =
779
+ getVerticalOffset(
780
+ layout, paragraphAttributes, height, heightYogaMeasureMode, maximumNumberOfLines)
781
+
782
+ return PreparedLayout(layout, maximumNumberOfLines, verticalOffset)
783
+ }
784
+
785
+ @JvmStatic
786
+ fun adjustSpannableFontToFit(
787
+ text: Spannable,
788
+ width: Float,
789
+ widthYogaMeasureMode: YogaMeasureMode,
790
+ height: Float,
791
+ heightYogaMeasureMode: YogaMeasureMode,
792
+ minimumFontSizeAttr: Float,
793
+ maximumNumberOfLines: Int,
794
+ includeFontPadding: Boolean,
795
+ textBreakStrategy: Int,
796
+ hyphenationFrequency: Int,
797
+ alignment: Layout.Alignment,
798
+ justificationMode: Int,
799
+ paint: TextPaint
800
+ ): Unit {
801
+ var boring = isBoring(text, paint)
802
+ var layout =
803
+ createLayout(
804
+ text,
805
+ boring,
806
+ width,
807
+ widthYogaMeasureMode,
808
+ includeFontPadding,
809
+ textBreakStrategy,
810
+ hyphenationFrequency,
811
+ alignment,
812
+ justificationMode,
813
+ null,
814
+ ReactConstants.UNSET,
815
+ paint)
816
+
817
+ // Minimum font size is 4pts to match the iOS implementation.
818
+ val minimumFontSize =
819
+ (if (minimumFontSizeAttr.isNaN()) 4.dpToPx() else minimumFontSizeAttr).toInt()
820
+
821
+ // Find the largest font size used in the spannable to use as a starting point.
822
+ var currentFontSize = minimumFontSize
823
+ val spans = text.getSpans(0, text.length, ReactAbsoluteSizeSpan::class.java)
824
+ for (span in spans) {
825
+ currentFontSize = max(currentFontSize, span.size).toInt()
826
+ }
827
+
828
+ val initialFontSize = currentFontSize
829
+ while (currentFontSize > minimumFontSize &&
830
+ ((maximumNumberOfLines != ReactConstants.UNSET &&
831
+ maximumNumberOfLines != 0 &&
832
+ layout.lineCount > maximumNumberOfLines) ||
833
+ (heightYogaMeasureMode != YogaMeasureMode.UNDEFINED && layout.height > height) ||
834
+ (text.length == 1 && layout.getLineWidth(0) > width))) {
835
+ // TODO: We could probably use a smarter algorithm here. This will require 0(n)
836
+ // measurements based on the number of points the font size needs to be reduced by.
837
+ currentFontSize -= max(1, 1.dpToPx().toInt())
838
+
839
+ val ratio = currentFontSize.toFloat() / initialFontSize.toFloat()
840
+ paint.textSize = max((paint.textSize * ratio).toInt(), minimumFontSize).toFloat()
841
+
842
+ val sizeSpans = text.getSpans(0, text.length, ReactAbsoluteSizeSpan::class.java)
843
+ for (span in sizeSpans) {
844
+ text.setSpan(
845
+ ReactAbsoluteSizeSpan(max((span.size * ratio).toInt(), minimumFontSize)),
846
+ text.getSpanStart(span),
847
+ text.getSpanEnd(span),
848
+ text.getSpanFlags(span))
849
+ text.removeSpan(span)
850
+ }
851
+ if (boring != null) {
852
+ boring = isBoring(text, paint)
853
+ }
854
+ layout =
855
+ createLayout(
856
+ text,
857
+ boring,
858
+ width,
859
+ widthYogaMeasureMode,
860
+ includeFontPadding,
861
+ textBreakStrategy,
862
+ hyphenationFrequency,
863
+ alignment,
864
+ justificationMode,
865
+ null,
866
+ ReactConstants.UNSET,
867
+ paint)
868
+ }
869
+ }
870
+
871
+ @JvmStatic
872
+ fun measureText(
873
+ context: Context,
874
+ attributedString: MapBuffer,
875
+ paragraphAttributes: MapBuffer,
876
+ width: Float,
877
+ widthYogaMeasureMode: YogaMeasureMode,
878
+ height: Float,
879
+ heightYogaMeasureMode: YogaMeasureMode,
880
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?,
881
+ attachmentsPositions: FloatArray?
882
+ ): Long {
883
+ // TODO(5578671): Handle text direction (see View#getTextDirectionHeuristic)
884
+ val layout =
885
+ createLayoutForMeasurement(
886
+ context,
887
+ attributedString,
888
+ paragraphAttributes,
889
+ width,
890
+ widthYogaMeasureMode,
891
+ height,
892
+ heightYogaMeasureMode,
893
+ reactTextViewManagerCallback)
894
+
895
+ val maximumNumberOfLines =
896
+ if (paragraphAttributes.contains(PA_KEY_MAX_NUMBER_OF_LINES))
897
+ paragraphAttributes.getInt(PA_KEY_MAX_NUMBER_OF_LINES)
898
+ else ReactConstants.UNSET
899
+
900
+ val text = layout.text as Spanned
901
+
902
+ val calculatedLineCount = calculateLineCount(layout, maximumNumberOfLines)
903
+ val calculatedWidth =
904
+ calculateWidth(layout, text, width, widthYogaMeasureMode, calculatedLineCount)
905
+ val calculatedHeight =
906
+ calculateHeight(layout, height, heightYogaMeasureMode, calculatedLineCount)
907
+
908
+ if (attachmentsPositions != null) {
909
+ var attachmentIndex = 0
910
+ var lastAttachmentFoundInSpan: Int
911
+
912
+ val metrics = AttachmentMetrics()
913
+ var i = 0
914
+ while (i < text.length) {
915
+ lastAttachmentFoundInSpan =
916
+ nextAttachmentMetrics(
917
+ layout, text, calculatedWidth, calculatedLineCount, i, 0f, metrics)
918
+ if (metrics.wasFound) {
919
+ attachmentsPositions[attachmentIndex] = metrics.top.pxToDp()
920
+ attachmentsPositions[attachmentIndex + 1] = metrics.left.pxToDp()
921
+ attachmentIndex += 2
922
+ }
923
+ i = lastAttachmentFoundInSpan
924
+ }
925
+ }
926
+
927
+ val widthInSP = calculatedWidth.pxToDp()
928
+ val heightInSP = calculatedHeight.pxToDp()
929
+
930
+ return YogaMeasureOutput.make(widthInSP, heightInSP)
931
+ }
932
+
933
+ @JvmStatic
934
+ fun measurePreparedLayout(
935
+ preparedLayout: PreparedLayout,
936
+ width: Float,
937
+ widthYogaMeasureMode: YogaMeasureMode,
938
+ height: Float,
939
+ heightYogaMeasureMode: YogaMeasureMode
940
+ ): FloatArray {
941
+ val layout = preparedLayout.layout
942
+ val text = layout.text as Spanned
943
+ val maximumNumberOfLines = preparedLayout.maximumNumberOfLines
944
+
945
+ val calculatedLineCount = calculateLineCount(layout, maximumNumberOfLines)
946
+ val calculatedWidth =
947
+ calculateWidth(layout, text, width, widthYogaMeasureMode, calculatedLineCount)
948
+ val calculatedHeight =
949
+ calculateHeight(layout, height, heightYogaMeasureMode, calculatedLineCount)
950
+
951
+ val retList = ArrayList<Float>()
952
+ retList.add(calculatedWidth.pxToDp())
953
+ retList.add(calculatedHeight.pxToDp())
954
+
955
+ val metrics = AttachmentMetrics()
956
+ var lastAttachmentFoundInSpan: Int
957
+ run {
958
+ var i = 0
959
+ while (i < text.length) {
960
+ lastAttachmentFoundInSpan =
961
+ nextAttachmentMetrics(
962
+ layout,
963
+ text,
964
+ calculatedWidth,
965
+ calculatedLineCount,
966
+ i,
967
+ preparedLayout.verticalOffset,
968
+ metrics)
969
+ if (metrics.wasFound) {
970
+ retList.add(metrics.top.pxToDp())
971
+ retList.add(metrics.left.pxToDp())
972
+ retList.add(metrics.width.pxToDp())
973
+ retList.add(metrics.height.pxToDp())
974
+ }
975
+ i = lastAttachmentFoundInSpan
976
+ }
977
+ }
978
+
979
+ val ret = FloatArray(retList.size)
980
+ for (i in retList.indices) {
981
+ ret[i] = retList[i]
982
+ }
983
+ return ret
984
+ }
985
+
986
+ private fun getVerticalOffset(
987
+ layout: Layout,
988
+ paragraphAttributes: ReadableMapBuffer,
989
+ height: Float,
990
+ heightMeasureMode: YogaMeasureMode,
991
+ maximumNumberOfLines: Int
992
+ ): Float {
993
+ val textAlignVertical =
994
+ if (paragraphAttributes.contains(PA_KEY_TEXT_ALIGN_VERTICAL))
995
+ paragraphAttributes.getString(PA_KEY_TEXT_ALIGN_VERTICAL)
996
+ else null
997
+
998
+ if (textAlignVertical == null) {
999
+ return 0f
1000
+ }
1001
+
1002
+ val textHeight = layout.height
1003
+ val calculatedLineCount = calculateLineCount(layout, maximumNumberOfLines)
1004
+ val boxHeight = calculateHeight(layout, height, heightMeasureMode, calculatedLineCount)
1005
+
1006
+ if (textHeight > boxHeight) {
1007
+ return 0f
1008
+ }
1009
+
1010
+ when (textAlignVertical) {
1011
+ "auto",
1012
+ "top" -> return 0f
1013
+ "center" -> return (boxHeight - textHeight) / 2f
1014
+ "bottom" -> return boxHeight - textHeight
1015
+ else -> {
1016
+ FLog.w(ReactConstants.TAG, "Invalid textAlignVertical: $textAlignVertical")
1017
+ return 0f
1018
+ }
1019
+ }
1020
+ }
1021
+
1022
+ private fun calculateLineCount(layout: Layout, maximumNumberOfLines: Int): Int =
1023
+ if (maximumNumberOfLines == ReactConstants.UNSET || maximumNumberOfLines == 0)
1024
+ layout.lineCount
1025
+ else min(maximumNumberOfLines, layout.lineCount)
1026
+
1027
+ private fun calculateWidth(
1028
+ layout: Layout,
1029
+ text: Spanned,
1030
+ width: Float,
1031
+ widthYogaMeasureMode: YogaMeasureMode,
1032
+ calculatedLineCount: Int
1033
+ ): Float {
1034
+ // Our layout must be created at a physical pixel boundary, so may be sized smaller by a
1035
+ // subpixel compared to the assigned layout width.
1036
+ if (widthYogaMeasureMode == YogaMeasureMode.EXACTLY) {
1037
+ return width
1038
+ }
1039
+
1040
+ return layout.width.toFloat()
1041
+ }
1042
+
1043
+ private fun calculateHeight(
1044
+ layout: Layout,
1045
+ height: Float,
1046
+ heightYogaMeasureMode: YogaMeasureMode,
1047
+ calculatedLineCount: Int
1048
+ ): Float {
1049
+ var calculatedHeight = height
1050
+ if (heightYogaMeasureMode != YogaMeasureMode.EXACTLY) {
1051
+ // StaticLayout only seems to change its height in response to maxLines when ellipsizing, so
1052
+ // we must truncate
1053
+ calculatedHeight = layout.getLineBottom(calculatedLineCount - 1).toFloat()
1054
+ if (heightYogaMeasureMode == YogaMeasureMode.AT_MOST && calculatedHeight > height) {
1055
+ calculatedHeight = height
1056
+ }
1057
+ }
1058
+ return calculatedHeight
1059
+ }
1060
+
1061
+ private fun nextAttachmentMetrics(
1062
+ layout: Layout,
1063
+ text: Spanned,
1064
+ calculatedWidth: Float,
1065
+ calculatedLineCount: Int,
1066
+ i: Int,
1067
+ verticalOffset: Float,
1068
+ metrics: AttachmentMetrics
1069
+ ): Int {
1070
+ // Calculate the positions of the attachments (views) that will be rendered inside the
1071
+ // Spanned Text. The following logic is only executed when a text contains views inside.
1072
+ // This follows a similar logic than used in pre-fabric (see ReactTextView.onLayout method).
1073
+ val lastAttachmentFoundInSpan =
1074
+ text.nextSpanTransition(i, text.length, TextInlineViewPlaceholderSpan::class.java)
1075
+ val placeholders =
1076
+ text.getSpans(i, lastAttachmentFoundInSpan, TextInlineViewPlaceholderSpan::class.java)
1077
+
1078
+ if (placeholders.size == 0) {
1079
+ metrics.wasFound = false
1080
+ return lastAttachmentFoundInSpan
1081
+ }
1082
+
1083
+ Assertions.assertCondition(placeholders.size == 1)
1084
+ val placeholder = placeholders[0]
1085
+
1086
+ val start = text.getSpanStart(placeholder)
1087
+ val line = layout.getLineForOffset(start)
1088
+ val isLineTruncated = layout.getEllipsisCount(line) > 0
1089
+ val isAttachmentTruncated =
1090
+ line > calculatedLineCount ||
1091
+ (isLineTruncated && start >= layout.getLineStart(line) + layout.getEllipsisStart(line))
1092
+ if (isAttachmentTruncated) {
1093
+ metrics.top = Float.NaN
1094
+ metrics.left = Float.NaN
1095
+ } else {
1096
+ val placeholderWidth = placeholder.width.toFloat()
1097
+ val placeholderHeight = placeholder.height.toFloat()
1098
+ // Calculate if the direction of the placeholder character is Right-To-Left.
1099
+ val isRtlChar = layout.isRtlCharAt(start)
1100
+ val isRtlParagraph = layout.getParagraphDirection(line) == Layout.DIR_RIGHT_TO_LEFT
1101
+ var placeholderLeftPosition: Float
1102
+ // There's a bug on Samsung devices where calling getPrimaryHorizontal on
1103
+ // the last offset in the layout will result in an endless loop. Work around
1104
+ // this bug by avoiding getPrimaryHorizontal in that case.
1105
+ if (start == text.length - 1) {
1106
+ val endsWithNewLine = text.length > 0 && text[layout.getLineEnd(line) - 1] == '\n'
1107
+ val lineWidth = if (endsWithNewLine) layout.getLineMax(line) else layout.getLineWidth(line)
1108
+ placeholderLeftPosition =
1109
+ if (isRtlParagraph // Equivalent to `layout.getLineLeft(line)` but `getLineLeft` returns
1110
+ // incorrect
1111
+ // values when the paragraph is RTL and `setSingleLine(true)`.
1112
+ )
1113
+ ( // Equivalent to `layout.getLineLeft(line)` but `getLineLeft` returns
1114
+ // incorrect
1115
+ // values when the paragraph is RTL and `setSingleLine(true)`.
1116
+ calculatedWidth - lineWidth)
1117
+ else (layout.getLineRight(line) - placeholderWidth)
1118
+ } else {
1119
+ // The direction of the paragraph may not be exactly the direction the string is
1120
+ // heading
1121
+ // in at the
1122
+ // position of the placeholder. So, if the direction of the character is the same
1123
+ // as the
1124
+ // paragraph
1125
+ // use primary, secondary otherwise.
1126
+ val characterAndParagraphDirectionMatch = isRtlParagraph == isRtlChar
1127
+ placeholderLeftPosition =
1128
+ if (characterAndParagraphDirectionMatch) layout.getPrimaryHorizontal(start)
1129
+ else layout.getSecondaryHorizontal(start)
1130
+ if (isRtlParagraph && !isRtlChar) {
1131
+ // Adjust `placeholderLeftPosition` to work around an Android bug.
1132
+ // The bug is when the paragraph is RTL and `setSingleLine(true)`, some layout
1133
+ // methods such as `getPrimaryHorizontal`, `getSecondaryHorizontal`, and
1134
+ // `getLineRight` return incorrect values. Their return values seem to be off
1135
+ // by the same number of pixels so subtracting these values cancels out the
1136
+ // error.
1137
+ //
1138
+ // The result is equivalent to bugless versions of
1139
+ // `getPrimaryHorizontal`/`getSecondaryHorizontal`.
1140
+ placeholderLeftPosition =
1141
+ calculatedWidth - (layout.getLineRight(line) - placeholderLeftPosition)
1142
+ }
1143
+ if (isRtlChar) {
1144
+ placeholderLeftPosition -= placeholderWidth
1145
+ }
1146
+ }
1147
+ // Vertically align the inline view to the baseline of the line of text.
1148
+ val placeholderTopPosition = layout.getLineBaseline(line) - placeholderHeight
1149
+
1150
+ // The attachment array returns the positions of each of the attachments as
1151
+ metrics.top = placeholderTopPosition
1152
+ metrics.left = placeholderLeftPosition
1153
+ }
1154
+
1155
+ // The text may be vertically aligned to the top, center, or bottom of the container. This is
1156
+ // not captured in the Layout, but rather applied separately. We need to account for this here.
1157
+ metrics.top += verticalOffset
1158
+
1159
+ metrics.wasFound = true
1160
+ metrics.width = placeholder.width.toFloat()
1161
+ metrics.height = placeholder.height.toFloat()
1162
+ return lastAttachmentFoundInSpan
1163
+ }
1164
+
1165
+ @JvmStatic
1166
+ fun measureLines(
1167
+ context: Context,
1168
+ attributedString: MapBuffer,
1169
+ paragraphAttributes: MapBuffer,
1170
+ width: Float,
1171
+ height: Float,
1172
+ reactTextViewManagerCallback: ReactTextViewManagerCallback?
1173
+ ): WritableArray {
1174
+ val layout =
1175
+ createLayoutForMeasurement(
1176
+ context,
1177
+ attributedString,
1178
+ paragraphAttributes,
1179
+ width,
1180
+ YogaMeasureMode.EXACTLY,
1181
+ height,
1182
+ YogaMeasureMode.EXACTLY,
1183
+ reactTextViewManagerCallback)
1184
+ return FontMetricsUtil.getFontMetrics(layout.text, layout, context)
1185
+ }
1186
+
1187
+ private fun isBoring(text: Spannable, paint: TextPaint): BoringLayout.Metrics? =
1188
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
1189
+ BoringLayout.isBoring(text, paint)
1190
+ } else {
1191
+ // Default to include fallback line spacing on Android 13+, like TextView
1192
+ // https://cs.android.com/android/_/android/platform/frameworks/base/+/78c774defb238c05c42b34a12b6b3b0c64844ed7
1193
+ BoringLayout.isBoring(text, paint, TextDirectionHeuristics.FIRSTSTRONG_LTR, true, null)
1194
+ }
1195
+
1196
+ private class AttachmentMetrics {
1197
+ var wasFound: Boolean = false
1198
+ var top: Float = 0f
1199
+ var left: Float = 0f
1200
+ var width: Float = 0f
1201
+ var height: Float = 0f
1202
+ }
1203
+ }