react-native-tvos 0.75.3-0 → 0.76.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 (968) hide show
  1. package/Libraries/Alert/Alert.js +3 -0
  2. package/Libraries/Animated/AnimatedEvent.js +1 -1
  3. package/Libraries/Animated/AnimatedImplementation.js +7 -7
  4. package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
  5. package/Libraries/Animated/animations/Animation.js +11 -1
  6. package/Libraries/Animated/animations/DecayAnimation.js +1 -1
  7. package/Libraries/Animated/animations/SpringAnimation.js +1 -1
  8. package/Libraries/Animated/animations/TimingAnimation.js +2 -1
  9. package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
  10. package/Libraries/Animated/createAnimatedComponent.js +10 -9
  11. package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
  12. package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
  13. package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
  14. package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
  15. package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
  16. package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
  17. package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
  18. package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
  19. package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
  20. package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
  21. package/Libraries/Animated/useAnimatedProps.js +142 -7
  22. package/Libraries/AppDelegate/RCTAppDelegate.h +10 -5
  23. package/Libraries/AppDelegate/RCTAppDelegate.mm +24 -50
  24. package/Libraries/AppDelegate/RCTRootViewFactory.h +5 -23
  25. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -26
  26. package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +2 -3
  27. package/Libraries/BatchedBridge/NativeModules.js +2 -0
  28. package/Libraries/Blob/FileReader.js +1 -1
  29. package/Libraries/Blob/RCTFileReaderModule.mm +4 -3
  30. package/Libraries/Blob/URL.js +2 -62
  31. package/Libraries/Blob/URLSearchParams.js +71 -0
  32. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  33. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
  34. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -0
  35. package/Libraries/Components/Pressable/Pressable.js +3 -36
  36. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
  37. package/Libraries/Components/ScrollView/ScrollView.js +132 -171
  38. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -0
  39. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  40. package/Libraries/Components/StatusBar/StatusBar.js +3 -1
  41. package/Libraries/Components/TV/TVTextScrollView.js +1 -1
  42. package/Libraries/Components/TV/TVViewPropTypes.js +1 -0
  43. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
  44. package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
  45. package/Libraries/Components/TextInput/TextInput.js +230 -94
  46. package/Libraries/Components/View/ReactNativeStyleAttributes.js +23 -1
  47. package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
  48. package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
  49. package/Libraries/Components/View/ViewNativeComponent.js +5 -1
  50. package/Libraries/Components/View/ViewPropTypes.js +14 -0
  51. package/Libraries/Core/ExceptionsManager.js +2 -0
  52. package/Libraries/Core/InitializeCore.js +3 -1
  53. package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
  54. package/Libraries/Core/ReactNativeVersion.js +2 -2
  55. package/Libraries/Core/setUpDeveloperTools.js +5 -1
  56. package/Libraries/Core/setUpErrorHandling.js +7 -1
  57. package/Libraries/Core/setUpGlobals.js +1 -0
  58. package/Libraries/Core/setUpReactRefresh.js +0 -4
  59. package/Libraries/Image/AssetSourceResolver.js +28 -1
  60. package/Libraries/Image/Image.android.js +9 -14
  61. package/Libraries/Image/Image.ios.js +11 -22
  62. package/Libraries/Image/ImageBackground.js +1 -8
  63. package/Libraries/Image/ImageUtils.js +9 -9
  64. package/Libraries/Image/ImageViewNativeComponent.js +1 -0
  65. package/Libraries/Image/RCTImageLoader.mm +19 -10
  66. package/Libraries/Image/RCTImageView.mm +2 -2
  67. package/Libraries/Image/RCTResizeMode.h +28 -0
  68. package/Libraries/Image/React-RCTImage.podspec +1 -1
  69. package/Libraries/Inspector/Inspector.js +3 -2
  70. package/Libraries/Inspector/InspectorPanel.js +16 -10
  71. package/Libraries/Inspector/NetworkOverlay.js +1 -1
  72. package/Libraries/Interaction/TaskQueue.js +1 -0
  73. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -0
  74. package/Libraries/Lists/FlatList.js +1 -1
  75. package/Libraries/Lists/SectionList.js +2 -2
  76. package/Libraries/Lists/SectionListModern.js +3 -3
  77. package/Libraries/LogBox/Data/LogBoxData.js +24 -3
  78. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
  79. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
  80. package/Libraries/Modal/Modal.js +0 -1
  81. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +3 -1
  82. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +2 -0
  83. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +27 -0
  84. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +17 -1
  85. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -0
  86. package/Libraries/NativeComponent/BaseViewConfig.android.js +9 -1
  87. package/Libraries/NativeComponent/BaseViewConfig.ios.js +17 -1
  88. package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
  89. package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
  90. package/Libraries/NativeComponent/TVViewConfig.js +4 -0
  91. package/Libraries/Network/RCTNetworkTask.h +1 -1
  92. package/Libraries/Network/RCTNetworkTask.mm +13 -9
  93. package/Libraries/Network/RCTNetworking.mm +6 -0
  94. package/Libraries/Network/XMLHttpRequest.js +4 -2
  95. package/Libraries/Pressability/Pressability.js +37 -0
  96. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  97. package/Libraries/ReactNative/AppContainer-dev.js +1 -5
  98. package/Libraries/ReactNative/AppContainer-prod.js +1 -5
  99. package/Libraries/ReactNative/AppContainer.js +0 -1
  100. package/Libraries/ReactNative/AppRegistry.js +0 -6
  101. package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
  102. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
  103. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
  104. package/Libraries/ReactNative/RendererImplementation.js +26 -4
  105. package/Libraries/ReactNative/getNativeComponentAttributes.js +12 -0
  106. package/Libraries/ReactNative/renderApplication.js +0 -2
  107. package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
  108. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  109. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +152 -2
  110. package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
  111. package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
  112. package/Libraries/StyleSheet/processBoxShadow.js +209 -0
  113. package/Libraries/StyleSheet/processFilter.js +231 -42
  114. package/Libraries/Text/BaseText/RCTBaseTextViewManager.mm +1 -0
  115. package/Libraries/Text/RCTTextAttributes.h +1 -0
  116. package/Libraries/Text/RCTTextAttributes.mm +8 -0
  117. package/Libraries/Text/Text/RCTTextShadowView.mm +46 -0
  118. package/Libraries/Text/Text.js +394 -196
  119. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.mm +3 -1
  120. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +20 -9
  121. package/Libraries/Text/TextNativeComponent.js +2 -1
  122. package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
  123. package/Libraries/Types/CodegenTypes.js +3 -1
  124. package/Libraries/Utilities/Appearance.js +108 -84
  125. package/Libraries/Utilities/DevLoadingView.js +2 -4
  126. package/Libraries/Utilities/HMRClient.js +8 -6
  127. package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
  128. package/Libraries/Utilities/createPerformanceLogger.js +0 -9
  129. package/Libraries/Utilities/stringifyViewConfig.js +22 -0
  130. package/Libraries/Utilities/useColorScheme.js +3 -3
  131. package/Libraries/WebSocket/WebSocket.js +1 -1
  132. package/Libraries/promiseRejectionTrackingOptions.js +1 -1
  133. package/Libraries/vendor/emitter/EventEmitter.js +6 -5
  134. package/README.md +38 -26
  135. package/React/Base/RCTBridge.mm +20 -2
  136. package/React/Base/RCTBundleURLProvider.h +19 -0
  137. package/React/Base/RCTBundleURLProvider.mm +62 -8
  138. package/React/Base/RCTConvert.h +0 -3
  139. package/React/Base/RCTConvert.mm +0 -13
  140. package/React/Base/RCTKeyCommands.m +1 -2
  141. package/React/Base/RCTVersion.m +2 -2
  142. package/React/CoreModules/RCTAppearance.mm +5 -0
  143. package/React/CoreModules/RCTDevLoadingView.mm +5 -0
  144. package/React/CoreModules/RCTDevMenu.mm +1 -1
  145. package/React/CoreModules/RCTDeviceInfo.mm +15 -8
  146. package/React/CoreModules/RCTPerfMonitor.mm +7 -13
  147. package/React/CoreModules/RCTRedBox.mm +4 -0
  148. package/React/CoreModules/RCTStatusBarManager.mm +5 -1
  149. package/React/CoreModules/React-CoreModules.podspec +3 -1
  150. package/React/CxxBridge/NSDataBigString.mm +2 -25
  151. package/React/CxxBridge/RCTCxxBridge.mm +27 -5
  152. package/React/DevSupport/RCTInspectorDevServerHelper.mm +6 -0
  153. package/React/DevSupport/RCTInspectorNetworkHelper.h +29 -0
  154. package/React/DevSupport/RCTInspectorNetworkHelper.mm +115 -0
  155. package/React/DevSupport/RCTInspectorUtils.h +26 -0
  156. package/React/DevSupport/RCTInspectorUtils.mm +50 -0
  157. package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +4 -1
  158. package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +2 -2
  159. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +23 -1
  160. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +24 -2
  161. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.h +9 -0
  162. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +160 -10
  163. package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +74 -35
  164. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +61 -12
  165. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +8 -0
  166. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +356 -59
  167. package/React/Fabric/Mounting/RCTMountingManager.mm +0 -5
  168. package/React/Fabric/RCTScheduler.mm +2 -1
  169. package/React/Fabric/RCTSurfacePresenter.mm +0 -31
  170. package/React/Fabric/Utils/RCTBoxShadow.h +21 -0
  171. package/React/Fabric/Utils/RCTBoxShadow.mm +301 -0
  172. package/React/Modules/RCTRedBoxExtraDataViewController.m +105 -85
  173. package/React/Views/RCTBorderDrawing.h +9 -5
  174. package/React/Views/RCTBorderDrawing.m +29 -17
  175. package/React/Views/RCTModalHostView.m +2 -1
  176. package/React/Views/RCTModalHostViewController.m +1 -1
  177. package/React/Views/RCTModalHostViewManager.m +23 -3
  178. package/React/Views/RCTView.m +9 -5
  179. package/React/Views/RCTViewManager.h +3 -0
  180. package/React/Views/RCTViewManager.m +64 -8
  181. package/React/Views/RefreshControl/RCTRefreshControl.m +18 -0
  182. package/React/Views/ScrollView/RCTScrollView.m +20 -0
  183. package/React-Core.podspec +4 -1
  184. package/ReactAndroid/api/ReactAndroid.api +624 -268
  185. package/ReactAndroid/build.gradle.kts +109 -278
  186. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +10 -55
  187. package/ReactAndroid/gradle.properties +1 -1
  188. package/ReactAndroid/hermes-engine/build.gradle.kts +1 -2
  189. package/ReactAndroid/publish.gradle +1 -1
  190. package/ReactAndroid/src/main/AndroidManifest.xml +1 -1
  191. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.kt +23 -0
  192. package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +2 -2
  193. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +6 -1
  194. package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +1 -1
  195. package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +56 -12
  196. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +6 -0
  197. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -1
  198. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +10 -3
  199. package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +37 -4
  200. package/ReactAndroid/src/main/java/com/facebook/react/ReactHost.kt +26 -3
  201. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +117 -41
  202. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +13 -6
  203. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageTurboModuleManagerDelegate.java +2 -17
  204. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +6 -2
  205. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.kt +52 -0
  206. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.kt +74 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNodeValueListener.kt +13 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimatedNodeWithUpdateableConfig.java → AnimatedNodeWithUpdateableConfig.kt} +4 -4
  209. package/ReactAndroid/src/main/java/com/facebook/react/animated/{AnimationDriver.java → AnimationDriver.kt} +13 -14
  210. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.kt +111 -0
  211. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.kt +73 -0
  212. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.kt +51 -0
  213. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.kt +55 -0
  214. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +100 -0
  215. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.kt +104 -0
  216. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.kt +278 -0
  217. package/ReactAndroid/src/main/java/com/facebook/react/animated/ModulusAnimatedNode.kt +3 -3
  218. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.kt +50 -0
  219. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +40 -1
  220. package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +81 -52
  221. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.kt +120 -0
  222. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.kt +120 -0
  223. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.kt +187 -0
  224. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.kt +61 -0
  225. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.kt +52 -0
  226. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.kt +36 -0
  227. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.kt +87 -0
  228. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.kt +50 -0
  229. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ActivityEventListener.java +4 -0
  230. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +8 -0
  231. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +5 -0
  232. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromMap.java +2 -1
  233. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicFromObject.java +4 -1
  234. package/ReactAndroid/src/main/java/com/facebook/react/bridge/DynamicNative.kt +51 -0
  235. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.kt +52 -0
  236. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaJSExecutor.java → JavaJSExecutor.kt} +13 -18
  237. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{JavaScriptExecutorFactory.java → JavaScriptExecutorFactory.kt} +5 -5
  238. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.kt +24 -0
  239. package/ReactAndroid/src/main/java/com/facebook/react/{animated/AnimatedNodeValueListener.java → bridge/PerformanceCounter.kt} +4 -4
  240. package/ReactAndroid/src/main/java/com/facebook/react/bridge/{Promise.java → Promise.kt} +19 -29
  241. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +13 -0
  242. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactInstanceManagerInspectorTarget.java +10 -0
  243. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +2 -0
  244. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNoCrashSoftException.java +3 -1
  245. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.kt +179 -0
  246. package/ReactAndroid/src/main/java/com/facebook/react/bridge/interop/InteropModuleRegistry.java +2 -1
  247. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThread.java +2 -0
  248. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/MessageQueueThreadImpl.java +28 -47
  249. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationImpl.java +5 -19
  250. package/ReactAndroid/src/main/java/com/facebook/react/bridge/queue/ReactQueueConfigurationSpec.java +4 -6
  251. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.kt +51 -0
  252. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.kt +107 -0
  253. package/ReactAndroid/src/main/java/com/facebook/react/common/JavascriptException.kt +2 -10
  254. package/ReactAndroid/src/main/java/com/facebook/react/common/MapBuilder.java +6 -1
  255. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.kt +124 -0
  256. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.kt +197 -0
  257. package/ReactAndroid/src/main/java/com/facebook/react/common/build/{ReactBuildConfig.java → ReactBuildConfig.kt} +9 -6
  258. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.kt +111 -0
  259. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +38 -0
  260. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -62
  261. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +5 -20
  262. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +7 -55
  263. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +16 -16
  264. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +1 -1
  265. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -0
  266. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +0 -73
  267. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.java +29 -10
  268. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.kt +120 -0
  269. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevInternalSettings.kt +3 -7
  270. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +10 -1
  271. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +12 -5
  272. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialog.kt +29 -1
  273. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.kt +2 -3
  274. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.kt +10 -12
  275. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PausedInDebuggerOverlayDialogManager.java +19 -5
  276. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.kt +38 -0
  277. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +31 -0
  278. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.kt +168 -0
  279. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.java +94 -0
  280. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkRequestListener.java +34 -0
  281. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.kt +4 -1
  282. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.kt +2 -0
  283. package/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.kt +2 -0
  284. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.kt +45 -0
  285. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +75 -38
  286. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.kt +43 -0
  287. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +64 -0
  288. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.kt +3 -3
  289. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +23 -25
  290. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +110 -360
  291. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +16 -22
  292. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/MountItemFactory.kt +1 -4
  293. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -5
  294. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.kt +40 -0
  295. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.kt +40 -0
  296. package/ReactAndroid/src/main/java/com/facebook/react/flipper/ReactNativeFlipper.kt +2 -2
  297. package/ReactAndroid/src/main/java/com/facebook/react/internal/SystraceSection.kt +23 -0
  298. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +157 -13
  299. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +266 -26
  300. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +54 -6
  301. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +55 -7
  302. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +294 -30
  303. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +54 -6
  304. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeNewArchitectureFeatureFlagsDefaults.kt +43 -0
  305. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java +2 -5
  306. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java +19 -57
  307. package/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManagerDelegate.java +2 -15
  308. package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +13 -14
  309. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +14 -14
  310. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/FileReaderModule.java +6 -0
  311. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.kt +16 -0
  312. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{DefaultHardwareBackBtnHandler.java → DefaultHardwareBackBtnHandler.kt} +4 -6
  313. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.kt +65 -0
  314. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.kt +79 -0
  315. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.kt +51 -0
  316. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.kt +21 -0
  317. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerExecutor.java → JavaScriptTimerExecutor.kt} +7 -8
  318. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +363 -0
  319. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.kt +30 -0
  320. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{PermissionListener.java → PermissionListener.kt} +9 -9
  321. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.kt +17 -0
  322. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.kt +144 -0
  323. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.kt +83 -0
  324. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DevMenuModule.kt +46 -0
  325. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/DidJSUpdateUiDuringFrameDetector.kt +36 -48
  326. package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/interfaces/DeveloperSettings.kt +2 -0
  327. package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java +1 -0
  328. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +163 -0
  329. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.kt +31 -0
  330. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +56 -0
  331. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.kt +152 -0
  332. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.kt +2 -6
  333. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nUtil.kt +4 -3
  334. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpCompat.java +35 -0
  335. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +1 -7
  336. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.kt +189 -0
  337. package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/StatusBarModule.kt +4 -28
  338. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.java +48 -0
  339. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  340. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.kt +55 -0
  341. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.java +2 -2
  342. package/ReactAndroid/src/main/java/com/facebook/react/runtime/CoreReactPackage.java +7 -2
  343. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -18
  344. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +222 -184
  345. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +47 -45
  346. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactSurfaceView.kt +2 -1
  347. package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +11 -4
  348. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.kt +44 -0
  349. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +5 -2
  350. package/ReactAndroid/src/main/java/com/facebook/react/soloader/OpenSourceMergedSoMapping.kt +119 -0
  351. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +263 -0
  352. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +64 -32
  353. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +109 -0
  354. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.kt +85 -0
  355. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BlendModeHelper.kt +44 -0
  356. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FilterHelper.kt +89 -17
  357. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.kt +35 -0
  358. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{IViewManagerWithChildren.java → IViewManagerWithChildren.kt} +3 -3
  359. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +58 -11
  360. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +29 -0
  361. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +2 -2
  362. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt +8 -7
  363. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +23 -7
  364. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +4 -2
  365. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.kt +21 -0
  366. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +2 -1
  367. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
  368. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +14 -0
  369. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +16 -0
  370. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +9 -7
  371. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +33 -5
  372. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +20 -10
  373. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +41 -0
  374. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +4 -1
  375. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowBorderRadius.kt +29 -0
  376. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +151 -83
  377. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +85 -0
  378. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/InsetBoxShadowDrawable.kt +191 -0
  379. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/OutsetBoxShadowDrawable.kt +159 -0
  380. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.kt +57 -0
  381. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.kt +37 -0
  382. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -2
  383. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +55 -29
  384. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.kt +48 -0
  385. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BackgroundImageLayer.kt +28 -0
  386. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderInsets.kt +105 -0
  387. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +27 -12
  388. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderStyle.kt +26 -0
  389. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BoxShadow.kt +50 -0
  390. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/ComputedBorderRadius.kt +30 -6
  391. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/CornerRadii.kt +19 -0
  392. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Gradient.kt +76 -0
  393. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/LogicalEdge.kt +79 -0
  394. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/Overflow.kt +26 -0
  395. package/ReactAndroid/src/main/java/com/facebook/react/views/debuggingoverlay/DebuggingOverlayManager.kt +3 -13
  396. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.kt +125 -0
  397. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.kt +259 -0
  398. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.kt +61 -0
  399. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageDownloadListener.kt +1 -1
  400. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.kt +307 -0
  401. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.kt +725 -0
  402. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.kt +1 -1
  403. package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ResourceDrawableIdHelper.kt +35 -0
  404. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostHelper.kt +1 -0
  405. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ModalHostShadowNode.kt +1 -4
  406. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +13 -30
  407. package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +80 -99
  408. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +70 -0
  409. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.kt +165 -0
  410. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaView.kt +65 -0
  411. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewManager.kt +51 -0
  412. package/ReactAndroid/src/main/java/com/facebook/react/views/safeareaview/ReactSafeAreaViewShadowNode.kt +12 -0
  413. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.kt +50 -0
  414. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +80 -11
  415. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +64 -20
  416. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +79 -11
  417. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.kt +22 -33
  418. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +65 -19
  419. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.kt +51 -0
  420. package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +11 -0
  421. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.kt +110 -0
  422. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactRawTextManager.java +8 -0
  423. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +73 -20
  424. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +143 -77
  425. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +36 -32
  426. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +11 -0
  427. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +79 -104
  428. package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ReactOpacitySpan.kt +33 -0
  429. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +89 -9
  430. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +67 -38
  431. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.kt +95 -0
  432. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +2 -0
  433. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +6 -4
  434. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +257 -96
  435. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +87 -26
  436. package/ReactAndroid/src/main/java/com/facebook/react/views/view/WindowUtil.kt +63 -0
  437. package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.kt +23 -0
  438. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +1 -0
  439. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +2 -0
  440. package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +4 -0
  441. package/ReactAndroid/src/main/jni/CMakeLists.txt +182 -3
  442. package/ReactAndroid/src/main/jni/first-party/fbgloginit/CMakeLists.txt +1 -1
  443. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/CMakeLists.txt +24 -0
  444. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/SoMerging-utils.cmake +23 -0
  445. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.c +158 -0
  446. package/ReactAndroid/src/main/jni/first-party/jni-lib-merge/jni_lib_merge.h +108 -0
  447. package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +5 -1
  448. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +12 -1
  449. package/ReactAndroid/src/main/jni/react/devsupport/CMakeLists.txt +5 -1
  450. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +35 -19
  451. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +3 -0
  452. package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +9 -1
  453. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +6 -43
  454. package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.h +4 -27
  455. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +76 -40
  456. package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +25 -1
  457. package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +0 -7
  458. package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +1 -7
  459. package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
  460. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +49 -13
  461. package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +3 -2
  462. package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +5 -1
  463. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +369 -33
  464. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +79 -7
  465. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +7 -6
  466. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +5 -6
  467. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +0 -1
  468. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +41 -0
  469. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +3 -1
  470. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.cpp +76 -0
  471. package/ReactAndroid/src/main/jni/react/jni/InspectorNetworkRequestListener.h +44 -0
  472. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.cpp +46 -0
  473. package/ReactAndroid/src/main/jni/react/jni/JDynamicNative.h +56 -0
  474. package/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +1 -0
  475. package/ReactAndroid/src/main/jni/react/jni/JWeakRefUtils.h +23 -0
  476. package/ReactAndroid/src/main/jni/react/jni/MethodInvoker.cpp +3 -1
  477. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +4 -0
  478. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.cpp +71 -18
  479. package/ReactAndroid/src/main/jni/react/jni/ReactInstanceManagerInspectorTarget.h +17 -6
  480. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +6 -7
  481. package/ReactAndroid/src/main/jni/react/jsctooling/CMakeLists.txt +34 -0
  482. package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +5 -1
  483. package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +10 -2
  484. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +16 -33
  485. package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +2 -11
  486. package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +4 -1
  487. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +8 -4
  488. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +4 -3
  489. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +8 -3
  490. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +4 -1
  491. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +64 -22
  492. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +35 -6
  493. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -0
  494. package/ReactAndroid/src/main/jni/react/runtime/jsc/jni/CMakeLists.txt +7 -5
  495. package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +7 -2
  496. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +156 -166
  497. package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h +23 -17
  498. package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +17 -5
  499. package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -1
  500. package/ReactAndroid/src/main/jni/third-party/glog/CMakeLists.txt +1 -1
  501. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_background.xml +1 -1
  502. package/ReactAndroid/src/main/res/devsupport/drawable/paused_in_debugger_dialog_background.xml +7 -0
  503. package/ReactAndroid/src/main/res/devsupport/drawable-hdpi/ic_resume.png +0 -0
  504. package/ReactAndroid/src/main/res/devsupport/drawable-mdpi/ic_resume.png +0 -0
  505. package/ReactAndroid/src/main/res/devsupport/drawable-xhdpi/ic_resume.png +0 -0
  506. package/ReactAndroid/src/main/res/devsupport/drawable-xxhdpi/ic_resume.png +0 -0
  507. package/ReactAndroid/src/main/res/devsupport/drawable-xxxhdpi/ic_resume.png +0 -0
  508. package/ReactAndroid/src/main/res/devsupport/layout/paused_in_debugger_view.xml +19 -18
  509. package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -2
  510. package/ReactAndroid/src/main/res/devsupport/values/styles.xml +4 -0
  511. package/ReactAndroid/src/main/res/devsupport/xml/rn_dev_preferences.xml +0 -6
  512. package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +3 -0
  513. package/ReactCommon/cxxreact/CMakeLists.txt +2 -1
  514. package/ReactCommon/cxxreact/CxxModule.h +0 -2
  515. package/ReactCommon/cxxreact/JSExecutor.cpp +2 -7
  516. package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
  517. package/ReactCommon/cxxreact/ReactMarker.cpp +10 -2
  518. package/ReactCommon/cxxreact/ReactMarker.h +5 -1
  519. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  520. package/ReactCommon/cxxreact/SystraceSection.h +15 -10
  521. package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +1 -1
  522. package/ReactCommon/hermes/executor/CMakeLists.txt +3 -3
  523. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +2 -5
  524. package/ReactCommon/jsc/CMakeLists.txt +5 -3
  525. package/ReactCommon/jserrorhandler/CMakeLists.txt +1 -1
  526. package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +40 -1
  527. package/ReactCommon/jserrorhandler/JsErrorHandler.h +12 -1
  528. package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +6 -0
  529. package/ReactCommon/jsi/jsi/decorator.h +57 -4
  530. package/ReactCommon/jsi/jsi/instrumentation.h +15 -3
  531. package/ReactCommon/jsi/jsi/jsi.cpp +6 -2
  532. package/ReactCommon/jsiexecutor/CMakeLists.txt +1 -1
  533. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +10 -4
  534. package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +5 -1
  535. package/ReactCommon/jsinspector-modern/Base64.h +98 -0
  536. package/ReactCommon/jsinspector-modern/CMakeLists.txt +6 -1
  537. package/ReactCommon/jsinspector-modern/CdpJson.h +1 -1
  538. package/ReactCommon/jsinspector-modern/ExecutionContext.cpp +3 -4
  539. package/ReactCommon/jsinspector-modern/FallbackRuntimeAgentDelegate.h +5 -5
  540. package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -22
  541. package/ReactCommon/jsinspector-modern/HostAgent.h +7 -1
  542. package/ReactCommon/jsinspector-modern/HostTarget.cpp +36 -7
  543. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -5
  544. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +14 -3
  545. package/ReactCommon/jsinspector-modern/InspectorFlags.h +1 -1
  546. package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +5 -1
  547. package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +18 -1
  548. package/ReactCommon/jsinspector-modern/InspectorPackagerConnection.h +4 -5
  549. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +440 -0
  550. package/ReactCommon/jsinspector-modern/NetworkIOAgent.h +266 -0
  551. package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -0
  552. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +22 -0
  553. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +46 -0
  554. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +31 -0
  555. package/ReactCommon/jsinspector-modern/RuntimeTargetConsole.cpp +2 -2
  556. package/ReactCommon/jsinspector-modern/RuntimeTargetDebuggerSessionObserver.cpp +112 -0
  557. package/ReactCommon/jsinspector-modern/Utf8.h +56 -0
  558. package/ReactCommon/jsinspector-modern/WebSocketInterfaces.h +6 -0
  559. package/ReactCommon/jsinspector-modern/tests/ConsoleApiTest.cpp +54 -0
  560. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +801 -0
  561. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +6 -0
  562. package/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +29 -12
  563. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +38 -0
  564. package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +2 -1
  565. package/ReactCommon/jsinspector-modern/tests/RuntimeTargetDebuggerSessionObserverTest.cpp +214 -0
  566. package/ReactCommon/jsinspector-modern/tests/Utf8.cpp +58 -0
  567. package/ReactCommon/logger/CMakeLists.txt +1 -1
  568. package/ReactCommon/react/bridging/Bool.h +1 -1
  569. package/ReactCommon/react/bridging/CMakeLists.txt +1 -1
  570. package/ReactCommon/react/config/CMakeLists.txt +1 -1
  571. package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -3
  572. package/ReactCommon/react/debug/CMakeLists.txt +1 -1
  573. package/ReactCommon/react/featureflags/CMakeLists.txt +1 -1
  574. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +107 -11
  575. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +132 -12
  576. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +479 -47
  577. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +58 -10
  578. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +106 -10
  579. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +29 -5
  580. package/ReactCommon/react/nativemodule/core/CMakeLists.txt +2 -1
  581. package/ReactCommon/react/nativemodule/core/ReactCommon/CxxTurboModuleUtils.h +6 -38
  582. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +68 -66
  583. package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +2 -2
  584. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +21 -2
  585. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -0
  586. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -1
  587. package/ReactCommon/react/nativemodule/dom/CMakeLists.txt +5 -1
  588. package/ReactCommon/react/nativemodule/featureflags/CMakeLists.txt +1 -1
  589. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +132 -12
  590. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +54 -6
  591. package/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +1 -1
  592. package/ReactCommon/react/nativemodule/microtasks/CMakeLists.txt +1 -1
  593. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +0 -11
  594. package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +2 -0
  595. package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +2 -2
  596. package/ReactCommon/react/nativemodule/samples/platform/android/NativeSampleTurboModuleSpec.java +16 -0
  597. package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +9 -0
  598. package/ReactCommon/react/nativemodule/samples/platform/android/SampleTurboModule.java +20 -1
  599. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.h +11 -0
  600. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTNativeSampleTurboModuleSpec.mm +34 -0
  601. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h +1 -1
  602. package/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +4 -0
  603. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +28 -16
  604. package/ReactCommon/react/nativemodule/webperformance/NativePerformanceObserver.cpp +8 -1
  605. package/ReactCommon/react/performance/timeline/CMakeLists.txt +2 -1
  606. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +12 -2
  607. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +8 -4
  608. package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
  609. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1 -22
  610. package/ReactCommon/react/renderer/animations/utils.h +45 -0
  611. package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +1 -1
  612. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +4 -0
  613. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  614. package/ReactCommon/react/renderer/attributedstring/conversions.h +55 -2
  615. package/ReactCommon/react/renderer/attributedstring/primitives.h +9 -0
  616. package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +1 -1
  617. package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +1 -1
  618. package/ReactCommon/react/renderer/components/image/CMakeLists.txt +1 -1
  619. package/ReactCommon/react/renderer/components/image/conversions.h +9 -0
  620. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/CMakeLists.txt +1 -1
  621. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +2 -3
  622. package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +10 -1
  623. package/{ReactAndroid/src/main/java/com/facebook/react/bridge/PerformanceCounter.java → ReactCommon/react/renderer/components/modal/ModalHostViewUtils.h} +5 -6
  624. package/ReactCommon/react/renderer/components/modal/ModalHostViewUtils.mm +20 -0
  625. package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +1 -1
  626. package/ReactCommon/react/renderer/components/root/CMakeLists.txt +1 -1
  627. package/ReactCommon/react/renderer/components/safeareaview/CMakeLists.txt +46 -0
  628. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.cpp +10 -1
  629. package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewState.h +20 -0
  630. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +99 -0
  631. package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +44 -0
  632. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +16 -72
  633. package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +12 -18
  634. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
  635. package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
  636. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +8 -0
  637. package/ReactCommon/react/renderer/components/text/CMakeLists.txt +1 -2
  638. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +35 -17
  639. package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +3 -0
  640. package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +1 -1
  641. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +27 -0
  642. package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +3 -0
  643. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputEventEmitter.cpp +1 -1
  644. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +29 -0
  645. package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +3 -0
  646. package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +20 -0
  647. package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +2 -0
  648. package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +115 -75
  649. package/ReactCommon/react/renderer/components/view/BaseViewProps.h +18 -1
  650. package/ReactCommon/react/renderer/components/view/CMakeLists.txt +1 -1
  651. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +4 -1
  652. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -0
  653. package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -0
  654. package/ReactCommon/react/renderer/components/view/conversions.h +307 -23
  655. package/ReactCommon/react/renderer/components/view/primitives.h +8 -1
  656. package/ReactCommon/react/renderer/consistency/CMakeLists.txt +1 -1
  657. package/ReactCommon/react/renderer/core/CMakeLists.txt +1 -1
  658. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +21 -12
  659. package/ReactCommon/react/renderer/core/EventDispatcher.cpp +5 -3
  660. package/ReactCommon/react/renderer/core/EventDispatcher.h +1 -1
  661. package/ReactCommon/react/renderer/core/EventEmitter.cpp +1 -1
  662. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -0
  663. package/ReactCommon/react/renderer/core/EventListener.cpp +6 -3
  664. package/ReactCommon/react/renderer/core/EventListener.h +1 -1
  665. package/ReactCommon/react/renderer/core/EventLogger.h +4 -1
  666. package/ReactCommon/react/renderer/core/EventPayloadType.h +1 -1
  667. package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +35 -11
  668. package/ReactCommon/react/renderer/core/EventTarget.cpp +8 -1
  669. package/ReactCommon/react/renderer/core/EventTarget.h +6 -1
  670. package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +26 -6
  671. package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -3
  672. package/ReactCommon/react/renderer/core/Props.h +5 -0
  673. package/ReactCommon/react/renderer/core/PropsMacros.h +15 -11
  674. package/ReactCommon/react/renderer/core/RawProps.cpp +1 -6
  675. package/ReactCommon/react/renderer/core/RawProps.h +0 -8
  676. package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +1 -1
  677. package/ReactCommon/react/renderer/core/RawPropsParser.cpp +19 -73
  678. package/ReactCommon/react/renderer/core/RawPropsParser.h +0 -9
  679. package/ReactCommon/react/renderer/core/RawValue.h +6 -7
  680. package/ReactCommon/react/renderer/core/ShadowNode.cpp +5 -4
  681. package/ReactCommon/react/renderer/core/ShadowNode.h +5 -5
  682. package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +3 -0
  683. package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -1
  684. package/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp +3 -1
  685. package/ReactCommon/react/renderer/core/tests/FindNodeAtPointTest.cpp +49 -0
  686. package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +1 -1
  687. package/ReactCommon/react/renderer/debug/CMakeLists.txt +2 -2
  688. package/ReactCommon/react/renderer/dom/CMakeLists.txt +1 -1
  689. package/ReactCommon/react/renderer/element/CMakeLists.txt +1 -1
  690. package/ReactCommon/react/renderer/graphics/BackgroundImage.h +46 -0
  691. package/ReactCommon/react/renderer/graphics/BlendMode.h +72 -0
  692. package/ReactCommon/react/renderer/graphics/BoxShadow.h +25 -0
  693. package/ReactCommon/react/renderer/graphics/CMakeLists.txt +1 -1
  694. package/ReactCommon/react/renderer/graphics/Color.cpp +27 -0
  695. package/ReactCommon/react/renderer/graphics/Color.h +6 -0
  696. package/ReactCommon/react/renderer/graphics/Filter.h +19 -5
  697. package/ReactCommon/react/renderer/graphics/Isolation.h +31 -0
  698. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -0
  699. package/ReactCommon/react/renderer/graphics/Transform.cpp +3 -2
  700. package/ReactCommon/react/renderer/graphics/Transform.h +11 -0
  701. package/ReactCommon/react/renderer/graphics/ValueUnit.h +3 -2
  702. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +21 -0
  703. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +48 -20
  704. package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/HostPlatformColor.h +31 -8
  705. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +31 -0
  706. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +9 -0
  707. package/ReactCommon/react/renderer/graphics/tests/ColorTest.cpp +38 -0
  708. package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +1 -1
  709. package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImagePrimitivesConversions.h +7 -0
  710. package/ReactCommon/react/renderer/imagemanager/primitives.h +1 -0
  711. package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +1 -1
  712. package/ReactCommon/react/renderer/mounting/CMakeLists.txt +1 -1
  713. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -52
  714. package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +10 -3
  715. package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +22 -1
  716. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +4 -32
  717. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +2 -28
  718. package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +0 -5
  719. package/ReactCommon/react/renderer/observers/events/CMakeLists.txt +4 -1
  720. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +75 -18
  721. package/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.h +19 -2
  722. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +14 -10
  723. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +6 -3
  724. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +24 -8
  725. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +6 -3
  726. package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +2 -0
  727. package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +2 -0
  728. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +30 -7
  729. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +25 -3
  730. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerEventTimingDelegate.h +25 -0
  731. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +19 -6
  732. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.h +12 -2
  733. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +116 -53
  734. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.h +36 -12
  735. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +149 -2
  736. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +29 -22
  737. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -7
  738. package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +0 -10
  739. package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +1 -1
  740. package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
  741. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +44 -0
  742. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +70 -40
  743. package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  744. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +14 -7
  745. package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +16 -7
  746. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.h +2 -0
  747. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
  748. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +3 -2
  749. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +83 -13
  750. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextPrimitivesConversions.h +18 -0
  751. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -7
  752. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +34 -10
  753. package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +1 -1
  754. package/ReactCommon/react/renderer/uimanager/UIManager.cpp +9 -11
  755. package/ReactCommon/react/renderer/uimanager/UIManager.h +0 -6
  756. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +16 -72
  757. package/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +6 -0
  758. package/ReactCommon/react/renderer/uimanager/consistency/CMakeLists.txt +1 -1
  759. package/ReactCommon/react/renderer/uimanager/primitives.h +8 -3
  760. package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +1 -4
  761. package/ReactCommon/react/runtime/BufferedRuntimeExecutor.h +1 -1
  762. package/ReactCommon/react/runtime/CMakeLists.txt +2 -6
  763. package/ReactCommon/react/runtime/JSRuntimeFactory.h +8 -0
  764. package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -0
  765. package/ReactCommon/react/runtime/ReactInstance.cpp +117 -50
  766. package/ReactCommon/react/runtime/TimerManager.cpp +156 -75
  767. package/ReactCommon/react/runtime/TimerManager.h +16 -4
  768. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +3 -5
  769. package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +24 -15
  770. package/ReactCommon/react/runtime/hermes/HermesInstance.h +3 -2
  771. package/ReactCommon/react/runtime/nativeviewconfig/CMakeLists.txt +1 -1
  772. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +9 -4
  773. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +18 -7
  774. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +5 -0
  775. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +33 -52
  776. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.h +6 -3
  777. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +10 -10
  778. package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +22 -16
  779. package/ReactCommon/react/test_utils/ios/Shims/ShimRCTInstance.mm +4 -5
  780. package/ReactCommon/react/timing/CMakeLists.txt +18 -0
  781. package/ReactCommon/react/timing/React-timing.podspec +44 -0
  782. package/ReactCommon/react/timing/primitives.h +31 -0
  783. package/ReactCommon/react/timing/tests/PrimitivesTest.cpp +47 -0
  784. package/ReactCommon/react/utils/CMakeLists.txt +1 -1
  785. package/ReactCommon/react/utils/CoreFeatures.cpp +0 -1
  786. package/ReactCommon/react/utils/CoreFeatures.h +0 -4
  787. package/ReactCommon/reactperflogger/CMakeLists.txt +7 -2
  788. package/ReactCommon/reactperflogger/React-perflogger.podspec +15 -2
  789. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +117 -0
  790. package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +53 -0
  791. package/ReactCommon/reactperflogger/fusebox/tests/FuseboxTracerTest.cpp +90 -0
  792. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.cpp +19 -4
  793. package/ReactCommon/reactperflogger/reactperflogger/HermesPerfettoDataSource.h +9 -1
  794. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.cpp +42 -6
  795. package/ReactCommon/reactperflogger/reactperflogger/ReactPerfetto.h +6 -1
  796. package/ReactCommon/runtimeexecutor/CMakeLists.txt +1 -1
  797. package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +5 -0
  798. package/ReactCommon/yoga/yoga/YGNodeStyle.h +3 -1
  799. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +48 -19
  800. package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.h +2 -1
  801. package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +28 -2
  802. package/ReactCommon/yoga/yoga/config/Config.cpp +24 -5
  803. package/ReactCommon/yoga/yoga/config/Config.h +3 -0
  804. package/ReactCommon/yoga/yoga/node/LayoutResults.cpp +1 -0
  805. package/ReactCommon/yoga/yoga/node/LayoutResults.h +1 -0
  806. package/ReactCommon/yoga/yoga/node/Node.cpp +7 -1
  807. package/ReactCommon/yoga/yoga/style/Style.h +18 -0
  808. package/cli.js +23 -5
  809. package/flow/jest.js +2 -2
  810. package/gradle/libs.versions.toml +5 -5
  811. package/index.js +3 -1
  812. package/jest/mockComponent.js +4 -1
  813. package/jest/mockModal.js +1 -3
  814. package/jest/mockScrollView.js +1 -1
  815. package/jest/renderer.js +2 -2
  816. package/jest/setup.js +16 -13
  817. package/package.json +15 -16
  818. package/react-native.config.js +26 -5
  819. package/scripts/bundle.js +5 -2
  820. package/scripts/cocoapods/helpers.rb +73 -6
  821. package/scripts/cocoapods/new_architecture.rb +17 -3
  822. package/scripts/cocoapods/privacy_manifest_utils.rb +23 -8
  823. package/scripts/cocoapods/utils.rb +30 -18
  824. package/scripts/ios-configure-glog.sh +2 -0
  825. package/scripts/react-native-xcode.sh +3 -2
  826. package/scripts/react_native_pods.rb +73 -2
  827. package/sdks/.hermesversion +1 -1
  828. package/sdks/hermes-engine/hermes-engine.podspec +9 -3
  829. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -16
  830. package/sdks/hermes-engine/utils/build-ios-framework.sh +20 -5
  831. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  832. package/sdks/hermesc/osx-bin/hermes +0 -0
  833. package/sdks/hermesc/osx-bin/hermesc +0 -0
  834. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  835. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  836. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  837. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  838. package/src/private/animated/NativeAnimatedHelper.js +438 -0
  839. package/src/private/animated/NativeAnimatedValidation.js +64 -0
  840. package/src/private/components/HScrollViewNativeComponents.js +56 -0
  841. package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +29 -0
  842. package/src/private/components/VScrollViewNativeComponents.js +48 -0
  843. package/src/private/components/useSyncOnScroll.js +48 -0
  844. package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
  845. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
  846. package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
  847. package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
  848. package/src/private/setup/setUpDOM.js +28 -0
  849. package/src/private/setup/setUpIntersectionObserver.js +27 -0
  850. package/src/private/setup/setUpMutationObserver.js +26 -0
  851. package/src/private/setup/setUpPerformanceObserver.js +64 -0
  852. package/src/private/specs/modules/NativeAppearance.js +3 -3
  853. package/src/private/specs/modules/NativeLinkingManager.js +1 -1
  854. package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
  855. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
  856. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
  857. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
  858. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
  859. package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
  860. package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
  861. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
  862. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
  863. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
  864. package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
  865. package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
  866. package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
  867. package/src/private/webapis/performance/LongTasks.js +39 -0
  868. package/src/private/webapis/performance/Performance.js +22 -9
  869. package/src/private/webapis/performance/PerformanceEntry.js +36 -18
  870. package/src/private/webapis/performance/PerformanceObserver.js +29 -43
  871. package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
  872. package/src/private/webapis/performance/UserTiming.js +17 -12
  873. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
  874. package/third-party-podspecs/DoubleConversion.podspec +4 -1
  875. package/third-party-podspecs/RCT-Folly.podspec +3 -1
  876. package/third-party-podspecs/boost.podspec +4 -1
  877. package/third-party-podspecs/fmt.podspec +4 -1
  878. package/third-party-podspecs/glog.podspec +4 -1
  879. package/types/experimental.d.ts +12 -98
  880. package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
  881. package/Libraries/Core/setUpIntersectionObserver.js +0 -16
  882. package/Libraries/Core/setUpMutationObserver.js +0 -16
  883. package/Libraries/Core/setUpPerformanceObserver.js +0 -18
  884. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
  885. package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
  886. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
  887. package/ReactAndroid/src/main/java/com/facebook/annotationprocessors/common/ProcessorBase.java +0 -24
  888. package/ReactAndroid/src/main/java/com/facebook/react/animated/AdditionAnimatedNode.java +0 -56
  889. package/ReactAndroid/src/main/java/com/facebook/react/animated/AnimatedNode.java +0 -78
  890. package/ReactAndroid/src/main/java/com/facebook/react/animated/ColorAnimatedNode.java +0 -131
  891. package/ReactAndroid/src/main/java/com/facebook/react/animated/DecayAnimation.java +0 -79
  892. package/ReactAndroid/src/main/java/com/facebook/react/animated/DiffClampAnimatedNode.java +0 -66
  893. package/ReactAndroid/src/main/java/com/facebook/react/animated/DivisionAnimatedNode.java +0 -64
  894. package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +0 -116
  895. package/ReactAndroid/src/main/java/com/facebook/react/animated/FrameBasedAnimationDriver.java +0 -109
  896. package/ReactAndroid/src/main/java/com/facebook/react/animated/InterpolationAnimatedNode.java +0 -311
  897. package/ReactAndroid/src/main/java/com/facebook/react/animated/MultiplicationAnimatedNode.java +0 -56
  898. package/ReactAndroid/src/main/java/com/facebook/react/animated/ObjectAnimatedNode.java +0 -161
  899. package/ReactAndroid/src/main/java/com/facebook/react/animated/PropsAnimatedNode.java +0 -145
  900. package/ReactAndroid/src/main/java/com/facebook/react/animated/SpringAnimation.java +0 -207
  901. package/ReactAndroid/src/main/java/com/facebook/react/animated/StyleAnimatedNode.java +0 -70
  902. package/ReactAndroid/src/main/java/com/facebook/react/animated/SubtractionAnimatedNode.java +0 -60
  903. package/ReactAndroid/src/main/java/com/facebook/react/animated/TrackingAnimatedNode.java +0 -50
  904. package/ReactAndroid/src/main/java/com/facebook/react/animated/TransformAnimatedNode.java +0 -93
  905. package/ReactAndroid/src/main/java/com/facebook/react/animated/ValueAnimatedNode.java +0 -66
  906. package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +0 -64
  907. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSBundleLoaderDelegate.java +0 -51
  908. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaScriptModule.java +0 -25
  909. package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +0 -162
  910. package/ReactAndroid/src/main/java/com/facebook/react/common/ClearableSynchronizedPool.java +0 -53
  911. package/ReactAndroid/src/main/java/com/facebook/react/common/DebugServerException.java +0 -104
  912. package/ReactAndroid/src/main/java/com/facebook/react/common/HasJavascriptExceptionMetadata.java +0 -17
  913. package/ReactAndroid/src/main/java/com/facebook/react/common/LongArray.java +0 -75
  914. package/ReactAndroid/src/main/java/com/facebook/react/common/ShakeDetector.java +0 -144
  915. package/ReactAndroid/src/main/java/com/facebook/react/common/assets/ReactFontManager.java +0 -239
  916. package/ReactAndroid/src/main/java/com/facebook/react/common/futures/SimpleSettableFuture.java +0 -121
  917. package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.java +0 -36
  918. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevLoadingViewImplementation.java +0 -156
  919. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerftestDevSupportManager.java +0 -50
  920. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/ReleaseDevSupportManager.java +0 -214
  921. package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.kt +0 -30
  922. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -54
  923. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java +0 -48
  924. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +0 -74
  925. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +0 -56
  926. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEventMountItem.java +0 -57
  927. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ChoreographerCompat.java +0 -18
  928. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/DeviceEventManagerModule.java +0 -76
  929. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +0 -91
  930. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/HeadlessJsTaskSupportModule.java +0 -61
  931. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JSTimers.java +0 -21
  932. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +0 -428
  933. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/PermissionAwareActivity.java +0 -29
  934. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/RCTNativeAppEventEmitter.java +0 -18
  935. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +0 -172
  936. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +0 -104
  937. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +0 -225
  938. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactNetworkImageRequest.java +0 -33
  939. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.java +0 -80
  940. package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/SystraceRequestListener.java +0 -160
  941. package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +0 -204
  942. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/PackagerConnectionSettings.java +0 -65
  943. package/ReactAndroid/src/main/java/com/facebook/react/runtime/internal/bolts/Executors.java +0 -53
  944. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +0 -141
  945. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +0 -84
  946. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/IViewGroupManager.java +0 -42
  947. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewHierarchyDumper.java +0 -45
  948. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.java +0 -25
  949. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BoxShadowDrawable.kt +0 -102
  950. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/BlackHoleEventDispatcher.java +0 -62
  951. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +0 -52
  952. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/layoutanimation/SimpleSpringInterpolator.java +0 -50
  953. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +0 -123
  954. package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +0 -302
  955. package/ReactAndroid/src/main/java/com/facebook/react/views/image/MultiPostprocessor.java +0 -76
  956. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +0 -289
  957. package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +0 -638
  958. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.java +0 -99
  959. package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ReactProgressBarViewManager.java +0 -203
  960. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/OnScrollDispatchHelper.java +0 -58
  961. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VelocityHelper.java +0 -64
  962. package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +0 -124
  963. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +0 -87
  964. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +0 -28
  965. package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.h +0 -23
  966. package/src/private/core/setUpDOM.js +0 -18
  967. package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
  968. /package/src/private/{core → styles}/composeStyles.js +0 -0
@@ -8,6 +8,8 @@
8
8
  package com.facebook.react.views.text;
9
9
 
10
10
  import android.view.View;
11
+ import androidx.annotation.NonNull;
12
+ import androidx.annotation.Nullable;
11
13
  import com.facebook.react.common.annotations.VisibleForTesting;
12
14
  import com.facebook.react.module.annotations.ReactModule;
13
15
  import com.facebook.react.uimanager.ThemedReactContext;
@@ -32,6 +34,12 @@ public class ReactRawTextManager extends ViewManager<View, ReactRawTextShadowNod
32
34
  throw new IllegalStateException("Attempt to create a native view for RCTRawText");
33
35
  }
34
36
 
37
+ @Override
38
+ protected @Nullable View prepareToRecycleView(
39
+ @NonNull ThemedReactContext reactContext, @NonNull View view) {
40
+ throw new IllegalStateException("Attempt to recycle a native view for RCTRawText");
41
+ }
42
+
35
43
  @Override
36
44
  public void updateExtraData(View view, Object extraData) {}
37
45
 
@@ -13,17 +13,25 @@ import android.text.TextUtils;
13
13
  import android.text.util.Linkify;
14
14
  import android.view.Gravity;
15
15
  import android.view.View;
16
+ import androidx.annotation.ColorInt;
16
17
  import androidx.annotation.Nullable;
17
18
  import com.facebook.common.logging.FLog;
19
+ import com.facebook.react.bridge.ReadableArray;
18
20
  import com.facebook.react.common.ReactConstants;
21
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
22
+ import com.facebook.react.uimanager.BackgroundStyleApplicator;
19
23
  import com.facebook.react.uimanager.BaseViewManager;
24
+ import com.facebook.react.uimanager.LengthPercentage;
25
+ import com.facebook.react.uimanager.LengthPercentageType;
20
26
  import com.facebook.react.uimanager.PixelUtil;
21
27
  import com.facebook.react.uimanager.Spacing;
22
28
  import com.facebook.react.uimanager.ViewDefaults;
23
29
  import com.facebook.react.uimanager.ViewProps;
24
30
  import com.facebook.react.uimanager.annotations.ReactProp;
25
31
  import com.facebook.react.uimanager.annotations.ReactPropGroup;
26
- import com.facebook.yoga.YogaConstants;
32
+ import com.facebook.react.uimanager.style.BorderRadiusProp;
33
+ import com.facebook.react.uimanager.style.BorderStyle;
34
+ import com.facebook.react.uimanager.style.LogicalEdge;
27
35
 
28
36
  /**
29
37
  * Abstract class for anchor {@code <Text>}-ish spannable views, such as {@link TextView} or {@link
@@ -38,7 +46,13 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
38
46
  extends BaseViewManager<T, C> {
39
47
 
40
48
  private static final int[] SPACING_TYPES = {
41
- Spacing.ALL, Spacing.LEFT, Spacing.RIGHT, Spacing.TOP, Spacing.BOTTOM,
49
+ Spacing.ALL,
50
+ Spacing.LEFT,
51
+ Spacing.RIGHT,
52
+ Spacing.TOP,
53
+ Spacing.BOTTOM,
54
+ Spacing.START,
55
+ Spacing.END
42
56
  };
43
57
  private static final String TAG = "ReactTextAnchorViewManager";
44
58
 
@@ -137,22 +151,38 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
137
151
  ViewProps.BORDER_BOTTOM_RIGHT_RADIUS,
138
152
  ViewProps.BORDER_BOTTOM_LEFT_RADIUS
139
153
  },
140
- defaultFloat = YogaConstants.UNDEFINED)
154
+ defaultFloat = Float.NaN)
141
155
  public void setBorderRadius(ReactTextView view, int index, float borderRadius) {
142
- if (!YogaConstants.isUndefined(borderRadius)) {
143
- borderRadius = PixelUtil.toPixelFromDIP(borderRadius);
144
- }
145
-
146
- if (index == 0) {
147
- view.setBorderRadius(borderRadius);
156
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
157
+ @Nullable
158
+ LengthPercentage radius =
159
+ Float.isNaN(borderRadius)
160
+ ? null
161
+ : new LengthPercentage(borderRadius, LengthPercentageType.POINT);
162
+ BackgroundStyleApplicator.setBorderRadius(view, BorderRadiusProp.values()[index], radius);
148
163
  } else {
149
- view.setBorderRadius(borderRadius, index - 1);
164
+ if (!Float.isNaN(borderRadius)) {
165
+ borderRadius = PixelUtil.toPixelFromDIP(borderRadius);
166
+ }
167
+
168
+ if (index == 0) {
169
+ view.setBorderRadius(borderRadius);
170
+ } else {
171
+ view.setBorderRadius(borderRadius, index - 1);
172
+ }
150
173
  }
151
174
  }
152
175
 
153
176
  @ReactProp(name = "borderStyle")
154
177
  public void setBorderStyle(ReactTextView view, @Nullable String borderStyle) {
155
- view.setBorderStyle(borderStyle);
178
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
179
+ @Nullable
180
+ BorderStyle parsedBorderStyle =
181
+ borderStyle == null ? null : BorderStyle.fromString(borderStyle);
182
+ BackgroundStyleApplicator.setBorderStyle(view, parsedBorderStyle);
183
+ } else {
184
+ view.setBorderStyle(borderStyle);
185
+ }
156
186
  }
157
187
 
158
188
  @ReactPropGroup(
@@ -162,13 +192,19 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
162
192
  ViewProps.BORDER_RIGHT_WIDTH,
163
193
  ViewProps.BORDER_TOP_WIDTH,
164
194
  ViewProps.BORDER_BOTTOM_WIDTH,
195
+ ViewProps.BORDER_START_WIDTH,
196
+ ViewProps.BORDER_END_WIDTH,
165
197
  },
166
- defaultFloat = YogaConstants.UNDEFINED)
198
+ defaultFloat = Float.NaN)
167
199
  public void setBorderWidth(ReactTextView view, int index, float width) {
168
- if (!YogaConstants.isUndefined(width)) {
169
- width = PixelUtil.toPixelFromDIP(width);
200
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
201
+ BackgroundStyleApplicator.setBorderWidth(view, LogicalEdge.values()[index], width);
202
+ } else {
203
+ if (!Float.isNaN(width)) {
204
+ width = PixelUtil.toPixelFromDIP(width);
205
+ }
206
+ view.setBorderWidth(SPACING_TYPES[index], width);
170
207
  }
171
- view.setBorderWidth(SPACING_TYPES[index], width);
172
208
  }
173
209
 
174
210
  @ReactPropGroup(
@@ -180,11 +216,12 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
180
216
  "borderBottomColor"
181
217
  },
182
218
  customType = "Color")
183
- public void setBorderColor(ReactTextView view, int index, Integer color) {
184
- float rgbComponent =
185
- color == null ? YogaConstants.UNDEFINED : (float) ((int) color & 0x00FFFFFF);
186
- float alphaComponent = color == null ? YogaConstants.UNDEFINED : (float) ((int) color >>> 24);
187
- view.setBorderColor(SPACING_TYPES[index], rgbComponent, alphaComponent);
219
+ public void setBorderColor(ReactTextView view, int index, @Nullable Integer color) {
220
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
221
+ BackgroundStyleApplicator.setBorderColor(view, LogicalEdge.ALL, color);
222
+ } else {
223
+ view.setBorderColor(SPACING_TYPES[index], color);
224
+ }
188
225
  }
189
226
 
190
227
  @ReactProp(name = ViewProps.INCLUDE_FONT_PADDING, defaultBoolean = true)
@@ -224,4 +261,20 @@ public abstract class ReactTextAnchorViewManager<T extends View, C extends React
224
261
  public void setNotifyOnInlineViewLayout(ReactTextView view, boolean notifyOnInlineViewLayout) {
225
262
  view.setNotifyOnInlineViewLayout(notifyOnInlineViewLayout);
226
263
  }
264
+
265
+ @ReactProp(name = ViewProps.BOX_SHADOW, customType = "BoxShadow")
266
+ public void setBoxShadow(ReactTextView view, @Nullable ReadableArray shadows) {
267
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
268
+ BackgroundStyleApplicator.setBoxShadow(view, shadows);
269
+ }
270
+ }
271
+
272
+ @Override
273
+ public void setBackgroundColor(T view, @ColorInt int backgroundColor) {
274
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
275
+ BackgroundStyleApplicator.setBackgroundColor(view, backgroundColor);
276
+ } else {
277
+ super.setBackgroundColor(view, backgroundColor);
278
+ }
279
+ }
227
280
  }
@@ -35,12 +35,21 @@ import com.facebook.react.bridge.ReactContext;
35
35
  import com.facebook.react.bridge.WritableArray;
36
36
  import com.facebook.react.bridge.WritableMap;
37
37
  import com.facebook.react.common.ReactConstants;
38
+ import com.facebook.react.internal.SystraceSection;
39
+ import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags;
40
+ import com.facebook.react.uimanager.BackgroundStyleApplicator;
41
+ import com.facebook.react.uimanager.LengthPercentage;
42
+ import com.facebook.react.uimanager.LengthPercentageType;
38
43
  import com.facebook.react.uimanager.PixelUtil;
39
44
  import com.facebook.react.uimanager.ReactCompoundView;
40
45
  import com.facebook.react.uimanager.UIManagerModule;
41
46
  import com.facebook.react.uimanager.ViewDefaults;
42
47
  import com.facebook.react.uimanager.common.UIManagerType;
43
48
  import com.facebook.react.uimanager.common.ViewUtil;
49
+ import com.facebook.react.uimanager.style.BorderRadiusProp;
50
+ import com.facebook.react.uimanager.style.BorderStyle;
51
+ import com.facebook.react.uimanager.style.LogicalEdge;
52
+ import com.facebook.react.uimanager.style.Overflow;
44
53
  import com.facebook.react.views.text.internal.span.ReactTagSpan;
45
54
  import com.facebook.react.views.text.internal.span.TextInlineImageSpan;
46
55
  import com.facebook.react.views.text.internal.span.TextInlineViewPlaceholderSpan;
@@ -69,6 +78,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
69
78
  private boolean mNotifyOnInlineViewLayout;
70
79
  private boolean mTextIsSelectable;
71
80
  private boolean mShouldAdjustSpannableFontSize;
81
+ private Overflow mOverflow = Overflow.VISIBLE;
72
82
 
73
83
  private ReactViewBackgroundManager mReactBackgroundManager;
74
84
  private Spannable mSpanned;
@@ -88,7 +98,6 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
88
98
  // make sure old background manager doesn't have any references back to this View
89
99
  mReactBackgroundManager.cleanup();
90
100
  }
91
-
92
101
  mReactBackgroundManager = new ReactViewBackgroundManager(this);
93
102
 
94
103
  mNumberOfLines = ViewDefaults.NUMBER_OF_LINES;
@@ -101,7 +110,7 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
101
110
  mFontSize = Float.NaN;
102
111
  mMinimumFontSize = Float.NaN;
103
112
  mLetterSpacing = 0.f;
104
-
113
+ mOverflow = Overflow.VISIBLE;
105
114
  mSpanned = null;
106
115
  }
107
116
 
@@ -109,6 +118,10 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
109
118
  // Set default field values
110
119
  initView();
111
120
 
121
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
122
+ BackgroundStyleApplicator.reset(this);
123
+ }
124
+
112
125
  // Defaults for these fields:
113
126
  // https://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/TextView.java#L1061
114
127
  setBreakStrategy(Layout.BREAK_STRATEGY_SIMPLE);
@@ -363,79 +376,96 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
363
376
 
364
377
  @Override
365
378
  protected void onDraw(Canvas canvas) {
366
- if (mAdjustsFontSizeToFit && getSpanned() != null && mShouldAdjustSpannableFontSize) {
367
- mShouldAdjustSpannableFontSize = false;
368
- TextLayoutManager.adjustSpannableFontToFit(
369
- getSpanned(),
370
- getWidth(),
371
- YogaMeasureMode.EXACTLY,
372
- getHeight(),
373
- YogaMeasureMode.EXACTLY,
374
- mMinimumFontSize,
375
- mNumberOfLines,
376
- getIncludeFontPadding(),
377
- getBreakStrategy(),
378
- getHyphenationFrequency(),
379
- // always passing ALIGN_NORMAL here should be fine, since this method doesn't depend on
380
- // how exacly lines are aligned, just their width
381
- Layout.Alignment.ALIGN_NORMAL);
382
- setText(getSpanned());
383
- }
384
-
385
- mReactBackgroundManager.maybeClipToPaddingBox(canvas);
386
-
387
- super.onDraw(canvas);
379
+ try (SystraceSection s = new SystraceSection("ReactTextView.onDraw")) {
380
+ if (mAdjustsFontSizeToFit && getSpanned() != null && mShouldAdjustSpannableFontSize) {
381
+ mShouldAdjustSpannableFontSize = false;
382
+ TextLayoutManager.adjustSpannableFontToFit(
383
+ getSpanned(),
384
+ getWidth(),
385
+ YogaMeasureMode.EXACTLY,
386
+ getHeight(),
387
+ YogaMeasureMode.EXACTLY,
388
+ mMinimumFontSize,
389
+ mNumberOfLines,
390
+ getIncludeFontPadding(),
391
+ getBreakStrategy(),
392
+ getHyphenationFrequency(),
393
+ // always passing ALIGN_NORMAL here should be fine, since this method doesn't depend on
394
+ // how exacly lines are aligned, just their width
395
+ Layout.Alignment.ALIGN_NORMAL);
396
+ setText(getSpanned());
397
+ }
398
+
399
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
400
+ if (mOverflow != Overflow.VISIBLE) {
401
+ BackgroundStyleApplicator.clipToPaddingBox(this, canvas);
402
+ }
403
+ } else {
404
+ mReactBackgroundManager.maybeClipToPaddingBox(canvas);
405
+ }
406
+
407
+ super.onDraw(canvas);
408
+ }
388
409
  }
389
410
 
390
- public void setText(ReactTextUpdate update) {
391
- mContainsImages = update.containsImages();
392
- // Android's TextView crashes when it tries to relayout if LayoutParams are
393
- // null; explicitly set the LayoutParams to prevent this crash. See:
394
- // https://github.com/facebook/react-native/pull/7011
395
- if (getLayoutParams() == null) {
396
- setLayoutParams(EMPTY_LAYOUT_PARAMS);
397
- }
398
- Spannable spannable = update.getText();
399
- if (mLinkifyMaskType > 0) {
400
- Linkify.addLinks(spannable, mLinkifyMaskType);
401
- setMovementMethod(LinkMovementMethod.getInstance());
402
- }
403
- setText(spannable);
404
- float paddingLeft = update.getPaddingLeft();
405
- float paddingTop = update.getPaddingTop();
406
- float paddingRight = update.getPaddingRight();
407
- float paddingBottom = update.getPaddingBottom();
408
-
409
- // In Fabric padding is set by the update of Layout Metrics and not as part of the "setText"
410
- // operation
411
- // TODO T56559197: remove this condition when we migrate 100% to Fabric
412
- if (paddingLeft != ReactConstants.UNSET
413
- && paddingTop != ReactConstants.UNSET
414
- && paddingRight != ReactConstants.UNSET
415
- && paddingBottom != ReactConstants.UNSET) {
416
-
417
- setPadding(
418
- (int) Math.floor(paddingLeft),
419
- (int) Math.floor(paddingTop),
420
- (int) Math.floor(paddingRight),
421
- (int) Math.floor(paddingBottom));
422
- }
423
-
424
- int nextTextAlign = update.getTextAlign();
425
- if (nextTextAlign != getGravityHorizontal()) {
426
- setGravityHorizontal(nextTextAlign);
427
- }
428
- if (getBreakStrategy() != update.getTextBreakStrategy()) {
429
- setBreakStrategy(update.getTextBreakStrategy());
411
+ @Override
412
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
413
+ try (SystraceSection s = new SystraceSection("ReactTextView.onMeasure")) {
414
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
430
415
  }
431
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
432
- if (getJustificationMode() != update.getJustificationMode()) {
433
- setJustificationMode(update.getJustificationMode());
416
+ }
417
+
418
+ public void setText(ReactTextUpdate update) {
419
+ try (SystraceSection s = new SystraceSection("ReactTextView.setText(ReactTextUpdate)")) {
420
+ mContainsImages = update.containsImages();
421
+ // Android's TextView crashes when it tries to relayout if LayoutParams are
422
+ // null; explicitly set the LayoutParams to prevent this crash. See:
423
+ // https://github.com/facebook/react-native/pull/7011
424
+ if (getLayoutParams() == null) {
425
+ setLayoutParams(EMPTY_LAYOUT_PARAMS);
426
+ }
427
+ Spannable spannable = update.getText();
428
+ if (mLinkifyMaskType > 0) {
429
+ Linkify.addLinks(spannable, mLinkifyMaskType);
430
+ setMovementMethod(LinkMovementMethod.getInstance());
431
+ }
432
+ setText(spannable);
433
+ float paddingLeft = update.getPaddingLeft();
434
+ float paddingTop = update.getPaddingTop();
435
+ float paddingRight = update.getPaddingRight();
436
+ float paddingBottom = update.getPaddingBottom();
437
+
438
+ // In Fabric padding is set by the update of Layout Metrics and not as part of the "setText"
439
+ // operation
440
+ // TODO T56559197: remove this condition when we migrate 100% to Fabric
441
+ if (paddingLeft != ReactConstants.UNSET
442
+ && paddingTop != ReactConstants.UNSET
443
+ && paddingRight != ReactConstants.UNSET
444
+ && paddingBottom != ReactConstants.UNSET) {
445
+
446
+ setPadding(
447
+ (int) Math.floor(paddingLeft),
448
+ (int) Math.floor(paddingTop),
449
+ (int) Math.floor(paddingRight),
450
+ (int) Math.floor(paddingBottom));
434
451
  }
435
- }
436
452
 
437
- // Ensure onLayout is called so the inline views can be repositioned.
438
- requestLayout();
453
+ int nextTextAlign = update.getTextAlign();
454
+ if (nextTextAlign != getGravityHorizontal()) {
455
+ setGravityHorizontal(nextTextAlign);
456
+ }
457
+ if (getBreakStrategy() != update.getTextBreakStrategy()) {
458
+ setBreakStrategy(update.getTextBreakStrategy());
459
+ }
460
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
461
+ if (getJustificationMode() != update.getJustificationMode()) {
462
+ setJustificationMode(update.getJustificationMode());
463
+ }
464
+ }
465
+
466
+ // Ensure onLayout is called so the inline views can be repositioned.
467
+ requestLayout();
468
+ }
439
469
  }
440
470
 
441
471
  @Override
@@ -679,27 +709,55 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
679
709
 
680
710
  @Override
681
711
  public void setBackgroundColor(int color) {
682
- mReactBackgroundManager.setBackgroundColor(color);
712
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
713
+ BackgroundStyleApplicator.setBackgroundColor(this, color);
714
+ } else {
715
+ mReactBackgroundManager.setBackgroundColor(color);
716
+ }
683
717
  }
684
718
 
685
719
  public void setBorderWidth(int position, float width) {
686
- mReactBackgroundManager.setBorderWidth(position, width);
720
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
721
+ BackgroundStyleApplicator.setBorderWidth(
722
+ this, LogicalEdge.values()[position], PixelUtil.toDIPFromPixel(width));
723
+ } else {
724
+ mReactBackgroundManager.setBorderWidth(position, width);
725
+ }
687
726
  }
688
727
 
689
- public void setBorderColor(int position, float color, float alpha) {
690
- mReactBackgroundManager.setBorderColor(position, color, alpha);
728
+ public void setBorderColor(int position, @Nullable Integer color) {
729
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
730
+ BackgroundStyleApplicator.setBorderColor(this, LogicalEdge.values()[position], color);
731
+ } else {
732
+ mReactBackgroundManager.setBorderColor(position, color);
733
+ }
691
734
  }
692
735
 
693
736
  public void setBorderRadius(float borderRadius) {
694
- mReactBackgroundManager.setBorderRadius(borderRadius);
737
+ setBorderRadius(borderRadius, BorderRadiusProp.BORDER_RADIUS.ordinal());
695
738
  }
696
739
 
697
740
  public void setBorderRadius(float borderRadius, int position) {
698
- mReactBackgroundManager.setBorderRadius(borderRadius, position);
741
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
742
+ @Nullable
743
+ LengthPercentage radius =
744
+ Float.isNaN(borderRadius)
745
+ ? null
746
+ : new LengthPercentage(
747
+ PixelUtil.toDIPFromPixel(borderRadius), LengthPercentageType.POINT);
748
+ BackgroundStyleApplicator.setBorderRadius(this, BorderRadiusProp.values()[position], radius);
749
+ } else {
750
+ mReactBackgroundManager.setBorderRadius(borderRadius, position);
751
+ }
699
752
  }
700
753
 
701
754
  public void setBorderStyle(@Nullable String style) {
702
- mReactBackgroundManager.setBorderStyle(style);
755
+ if (ReactNativeFeatureFlags.enableBackgroundStyleApplicator()) {
756
+ BackgroundStyleApplicator.setBorderStyle(
757
+ this, style == null ? null : BorderStyle.fromString(style));
758
+ } else {
759
+ mReactBackgroundManager.setBorderStyle(style);
760
+ }
703
761
  }
704
762
 
705
763
  public void setSpanned(Spannable spanned) {
@@ -745,6 +803,14 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
745
803
  }
746
804
 
747
805
  public void setOverflow(@Nullable String overflow) {
806
+ if (overflow == null) {
807
+ mOverflow = Overflow.VISIBLE;
808
+ } else {
809
+ @Nullable Overflow parsedOverflow = Overflow.fromString(overflow);
810
+ mOverflow = parsedOverflow == null ? Overflow.VISIBLE : parsedOverflow;
811
+ }
812
+
748
813
  mReactBackgroundManager.setOverflow(overflow);
814
+ invalidate();
749
815
  }
750
816
  }
@@ -17,6 +17,7 @@ import com.facebook.react.R;
17
17
  import com.facebook.react.common.MapBuilder;
18
18
  import com.facebook.react.common.annotations.VisibleForTesting;
19
19
  import com.facebook.react.common.mapbuffer.MapBuffer;
20
+ import com.facebook.react.internal.SystraceSection;
20
21
  import com.facebook.react.module.annotations.ReactModule;
21
22
  import com.facebook.react.uimanager.IViewManagerWithChildren;
22
23
  import com.facebook.react.uimanager.ReactAccessibilityDelegate;
@@ -61,17 +62,16 @@ public class ReactTextViewManager
61
62
  }
62
63
 
63
64
  @Override
64
- protected ReactTextView prepareToRecycleView(
65
+ protected @Nullable ReactTextView prepareToRecycleView(
65
66
  @NonNull ThemedReactContext reactContext, ReactTextView view) {
66
67
  // BaseViewManager
67
- super.prepareToRecycleView(reactContext, view);
68
-
69
- // Resets background and borders
70
- view.recycleView();
71
-
72
- // Defaults from ReactTextAnchorViewManager
73
- setSelectionColor(view, null);
74
-
68
+ ReactTextView preparedView = super.prepareToRecycleView(reactContext, view);
69
+ if (preparedView != null) {
70
+ // Resets background and borders
71
+ preparedView.recycleView();
72
+ // Defaults from ReactTextAnchorViewManager
73
+ setSelectionColor(preparedView, null);
74
+ }
75
75
  return view;
76
76
  }
77
77
 
@@ -87,24 +87,26 @@ public class ReactTextViewManager
87
87
 
88
88
  @Override
89
89
  public void updateExtraData(ReactTextView view, Object extraData) {
90
- ReactTextUpdate update = (ReactTextUpdate) extraData;
91
- Spannable spannable = update.getText();
92
- if (update.containsImages()) {
93
- TextInlineImageSpan.possiblyUpdateInlineImageSpans(spannable, view);
94
- }
95
- view.setText(update);
96
-
97
- // If this text view contains any clickable spans, set a view tag and reset the accessibility
98
- // delegate so that these can be picked up by the accessibility system.
99
- ReactClickableSpan[] clickableSpans =
100
- spannable.getSpans(0, update.getText().length(), ReactClickableSpan.class);
101
-
102
- if (clickableSpans.length > 0) {
103
- view.setTag(
104
- R.id.accessibility_links,
105
- new ReactAccessibilityDelegate.AccessibilityLinks(clickableSpans, spannable));
106
- ReactAccessibilityDelegate.resetDelegate(
107
- view, view.isFocusable(), view.getImportantForAccessibility());
90
+ try (SystraceSection s = new SystraceSection("ReactTextViewManager.updateExtraData")) {
91
+ ReactTextUpdate update = (ReactTextUpdate) extraData;
92
+ Spannable spannable = update.getText();
93
+ if (update.containsImages()) {
94
+ TextInlineImageSpan.possiblyUpdateInlineImageSpans(spannable, view);
95
+ }
96
+ view.setText(update);
97
+
98
+ // If this text view contains any clickable spans, set a view tag and reset the accessibility
99
+ // delegate so that these can be picked up by the accessibility system.
100
+ ReactClickableSpan[] clickableSpans =
101
+ spannable.getSpans(0, update.getText().length(), ReactClickableSpan.class);
102
+
103
+ if (clickableSpans.length > 0) {
104
+ view.setTag(
105
+ R.id.accessibility_links,
106
+ new ReactAccessibilityDelegate.AccessibilityLinks(clickableSpans, spannable));
107
+ ReactAccessibilityDelegate.resetDelegate(
108
+ view, view.isFocusable(), view.getImportantForAccessibility());
109
+ }
108
110
  }
109
111
  }
110
112
 
@@ -136,11 +138,13 @@ public class ReactTextViewManager
136
138
  @Override
137
139
  public Object updateState(
138
140
  ReactTextView view, ReactStylesDiffMap props, StateWrapper stateWrapper) {
139
- MapBuffer stateMapBuffer = stateWrapper.getStateDataMapBuffer();
140
- if (stateMapBuffer != null) {
141
- return getReactTextUpdate(view, props, stateMapBuffer);
142
- } else {
143
- return null;
141
+ try (SystraceSection s = new SystraceSection("ReactTextViewManager.updateState")) {
142
+ MapBuffer stateMapBuffer = stateWrapper.getStateDataMapBuffer();
143
+ if (stateMapBuffer != null) {
144
+ return getReactTextUpdate(view, props, stateMapBuffer);
145
+ } else {
146
+ return null;
147
+ }
144
148
  }
145
149
  }
146
150
 
@@ -84,6 +84,7 @@ public class TextAttributeProps {
84
84
  protected int mColor;
85
85
  protected boolean mIsBackgroundColorSet = false;
86
86
  protected int mBackgroundColor;
87
+ protected float mOpacity = Float.NaN;
87
88
 
88
89
  protected int mNumberOfLines = ReactConstants.UNSET;
89
90
  protected int mFontSize = ReactConstants.UNSET;
@@ -161,6 +162,7 @@ public class TextAttributeProps {
161
162
  result.setBackgroundColor(entry.getIntValue());
162
163
  break;
163
164
  case TA_KEY_OPACITY:
165
+ result.setOpacity((float) entry.getDoubleValue());
164
166
  break;
165
167
  case TA_KEY_FONT_FAMILY:
166
168
  result.setFontFamily(entry.getStringValue());
@@ -251,6 +253,7 @@ public class TextAttributeProps {
251
253
  props.hasKey(ViewProps.BACKGROUND_COLOR)
252
254
  ? props.getInt(ViewProps.BACKGROUND_COLOR, 0)
253
255
  : null);
256
+ result.setOpacity(getFloatProp(props, ViewProps.OPACITY, Float.NaN));
254
257
  result.setFontFamily(getStringProp(props, ViewProps.FONT_FAMILY));
255
258
  result.setFontWeight(getStringProp(props, ViewProps.FONT_WEIGHT));
256
259
  result.setFontStyle(getStringProp(props, ViewProps.FONT_STYLE));
@@ -453,6 +456,14 @@ public class TextAttributeProps {
453
456
  // }
454
457
  }
455
458
 
459
+ public float getOpacity() {
460
+ return mOpacity;
461
+ }
462
+
463
+ private void setOpacity(float opacity) {
464
+ mOpacity = opacity;
465
+ }
466
+
456
467
  public boolean isBackgroundColorSet() {
457
468
  return mIsBackgroundColorSet;
458
469
  }