ydb-embedded-ui 17.2.0 → 18.0.1

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 (335) hide show
  1. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +6 -1
  2. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +30 -6
  3. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  4. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +230 -5
  5. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  6. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.d.ts +4 -3
  7. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js +31 -8
  8. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js.map +1 -1
  9. package/dist/components/LinkToSchemaObject/utils.d.ts +4 -0
  10. package/dist/components/LinkToSchemaObject/utils.js +19 -0
  11. package/dist/components/LinkToSchemaObject/utils.js.map +1 -0
  12. package/dist/components/LinkWithIcon/LinkWithIcon.js +1 -1
  13. package/dist/components/LinkWithIcon/LinkWithIcon.js.map +1 -1
  14. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  15. package/dist/components/ProgressWrapper/progressUtils.js +1 -1
  16. package/dist/components/ProgressWrapper/progressUtils.js.map +1 -1
  17. package/dist/components/SegmentedProgress/SegmentedProgress.d.ts +5 -1
  18. package/dist/components/SegmentedProgress/SegmentedProgress.js +3 -3
  19. package/dist/components/SegmentedProgress/SegmentedProgress.js.map +1 -1
  20. package/dist/components/SegmentedProgress/SegmentedProgress.scss +37 -4
  21. package/dist/components/Stack/Stack.scss +2 -0
  22. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  23. package/dist/components/VDisk/VDisk.d.ts +3 -1
  24. package/dist/components/VDisk/VDisk.js +21 -4
  25. package/dist/components/VDisk/VDisk.js.map +1 -1
  26. package/dist/components/VDisk/VDiskWithDonorsStack.js +6 -3
  27. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  28. package/dist/components/VDisk/i18n/en.json +1 -1
  29. package/dist/components/VDiskInfo/VDiskInfo.js +2 -2
  30. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  31. package/dist/containers/App/NavigationWrapper.js +4 -1
  32. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  33. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.js +1 -1
  34. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.js.map +1 -1
  35. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.js +1 -1
  36. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.js.map +1 -1
  37. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js +1 -1
  38. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js.map +1 -1
  39. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.js +1 -1
  40. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.js.map +1 -1
  41. package/dist/containers/Clusters/constants.d.ts +1 -1
  42. package/dist/containers/Configs/types.d.ts +1 -1
  43. package/dist/containers/Header/i18n/index.d.ts +1 -1
  44. package/dist/containers/Node/Node.js +7 -5
  45. package/dist/containers/Node/Node.js.map +1 -1
  46. package/dist/containers/Node/NodePages.d.ts +1 -1
  47. package/dist/containers/Node/Threads/Threads.d.ts +2 -1
  48. package/dist/containers/Node/Threads/Threads.js +2 -2
  49. package/dist/containers/Node/Threads/Threads.js.map +1 -1
  50. package/dist/containers/Operations/Operations.js +14 -3
  51. package/dist/containers/Operations/Operations.js.map +1 -1
  52. package/dist/containers/Operations/OperationsControls.d.ts +5 -1
  53. package/dist/containers/Operations/OperationsControls.js +2 -3
  54. package/dist/containers/Operations/OperationsControls.js.map +1 -1
  55. package/dist/containers/Operations/constants.d.ts +4 -0
  56. package/dist/containers/Operations/constants.js +4 -0
  57. package/dist/containers/Operations/constants.js.map +1 -1
  58. package/dist/containers/Operations/i18n/en.json +1 -0
  59. package/dist/containers/Operations/i18n/index.d.ts +1 -1
  60. package/dist/containers/Operations/useOperationsQueryParams.d.ts +1 -0
  61. package/dist/containers/Operations/useOperationsQueryParams.js +20 -9
  62. package/dist/containers/Operations/useOperationsQueryParams.js.map +1 -1
  63. package/dist/containers/Operations/utils.d.ts +12 -0
  64. package/dist/containers/Operations/utils.js +8 -0
  65. package/dist/containers/Operations/utils.js.map +1 -1
  66. package/dist/containers/PDiskPage/PDiskPage.js +2 -2
  67. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  68. package/dist/containers/Storage/Disks/Disks.d.ts +1 -0
  69. package/dist/containers/Storage/Disks/Disks.js +6 -4
  70. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  71. package/dist/containers/Storage/PaginatedStorage.js +3 -1
  72. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  73. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +1 -1
  74. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
  75. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +1 -1
  76. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -1
  77. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.d.ts +5 -2
  78. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +18 -8
  79. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  80. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/StorageGroupsColumns.scss +10 -0
  81. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +9 -4
  82. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  83. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -1
  84. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +9 -1
  85. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  86. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +37 -9
  87. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  88. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  89. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  90. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.d.ts +1 -1
  91. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js +1 -1
  92. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js.map +1 -1
  93. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.d.ts +6 -0
  94. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +28 -0
  95. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -0
  96. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +31 -0
  97. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.d.ts +5 -0
  98. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +5 -0
  99. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -0
  100. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.d.ts +5 -0
  101. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js +21 -0
  102. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js.map +1 -0
  103. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.d.ts +5 -0
  104. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js +21 -0
  105. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js.map +1 -0
  106. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.d.ts +6 -0
  107. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +65 -0
  108. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -0
  109. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +115 -0
  110. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.d.ts +5 -0
  111. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js +23 -0
  112. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js.map +1 -0
  113. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +7 -0
  114. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +26 -0
  115. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -0
  116. package/dist/containers/Storage/StorageExpertModePanel/components/index.d.ts +5 -0
  117. package/dist/containers/Storage/StorageExpertModePanel/components/index.js +6 -0
  118. package/dist/containers/Storage/StorageExpertModePanel/components/index.js.map +1 -0
  119. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts +7 -0
  120. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +21 -0
  121. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -0
  122. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +13 -0
  123. package/dist/containers/Storage/StorageExpertModePanel/constants.js +7 -0
  124. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -0
  125. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +33 -0
  126. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +2 -0
  127. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.js +5 -0
  128. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.js.map +1 -0
  129. package/dist/containers/Storage/i18n/en.json +1 -0
  130. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  131. package/dist/containers/Storage/useStorageQueryParams.d.ts +9 -0
  132. package/dist/containers/Storage/useStorageQueryParams.js +57 -6
  133. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  134. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.d.ts +2 -0
  135. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +46 -0
  136. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -0
  137. package/dist/containers/Storage/utils/index.d.ts +1 -1
  138. package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -1
  139. package/dist/containers/Tenant/Diagnostics/HotKeys/i18n/index.d.ts +1 -1
  140. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.d.ts +4 -3
  141. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +53 -28
  142. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  143. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.scss +4 -0
  144. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/en.json +2 -1
  145. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  146. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.d.ts +7 -0
  147. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +2 -2
  148. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.js.map +1 -1
  149. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.d.ts +19 -31
  150. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +48 -15
  151. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  152. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +9 -3
  153. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  154. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +3 -1
  155. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  156. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +1 -0
  157. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -1
  158. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.d.ts +2 -2
  159. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js +3 -3
  160. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js.map +1 -1
  161. package/dist/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.js +3 -2
  162. package/dist/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.js.map +1 -1
  163. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.d.ts +13 -0
  164. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.js +13 -0
  165. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.js.map +1 -0
  166. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.scss +51 -0
  167. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.d.ts +4 -20
  168. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +8 -51
  169. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
  170. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +24 -35
  171. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.d.ts +3 -6
  172. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js +4 -7
  173. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js.map +1 -1
  174. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.d.ts +2 -4
  175. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js +3 -3
  176. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js.map +1 -1
  177. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.d.ts +3 -3
  178. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js +4 -6
  179. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js.map +1 -1
  180. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js +1 -3
  181. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js.map +1 -1
  182. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.d.ts +3 -6
  183. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js +4 -21
  184. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js.map +1 -1
  185. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.d.ts +11 -0
  186. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js +10 -0
  187. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js.map +1 -0
  188. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.d.ts +3 -3
  189. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js +3 -4
  190. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js.map +1 -1
  191. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +21 -13
  192. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.d.ts +3 -1
  193. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +5 -2
  194. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
  195. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.d.ts +3 -1
  196. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +5 -2
  197. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
  198. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +4 -0
  199. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.d.ts +4 -1
  200. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +12 -2
  201. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
  202. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +30 -11
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +3 -3
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.d.ts +2 -1
  207. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js +20 -13
  208. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  210. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +12 -0
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.d.ts +37 -0
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.js +115 -0
  214. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.js.map +1 -0
  215. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.d.ts +5 -1
  216. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.d.ts +7 -1
  217. package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
  218. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js +2 -3
  219. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js.map +1 -1
  220. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -2
  221. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  222. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.d.ts +1 -0
  223. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.js +5 -0
  224. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.js.map +1 -1
  225. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +1 -1
  226. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  227. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.d.ts +2 -2
  228. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.js +1 -2
  229. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.js.map +1 -1
  230. package/dist/containers/Tenant/Tenant.js +2 -1
  231. package/dist/containers/Tenant/Tenant.js.map +1 -1
  232. package/dist/containers/Tenant/TenantPages.d.ts +1 -0
  233. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  234. package/dist/containers/UserSettings/i18n/en.json +3 -1
  235. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  236. package/dist/containers/UserSettings/settings.d.ts +2 -0
  237. package/dist/containers/UserSettings/settings.js +12 -0
  238. package/dist/containers/UserSettings/settings.js.map +1 -1
  239. package/dist/containers/VDiskPage/VDiskPage.js +2 -2
  240. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  241. package/dist/containers/VDiskPage/VDiskStorageDetails.js +2 -2
  242. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
  243. package/dist/lib.d.ts +1 -0
  244. package/dist/lib.js +1 -0
  245. package/dist/lib.js.map +1 -1
  246. package/dist/routes.d.ts +4 -1
  247. package/dist/store/reducers/capabilities/capabilities.d.ts +118 -1
  248. package/dist/store/reducers/capabilities/capabilities.js +1 -0
  249. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  250. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  251. package/dist/store/reducers/capabilities/hooks.js +10 -1
  252. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  253. package/dist/store/reducers/settings/constants.d.ts +7 -0
  254. package/dist/store/reducers/settings/constants.js +6 -0
  255. package/dist/store/reducers/settings/constants.js.map +1 -1
  256. package/dist/store/reducers/settings/utils.d.ts +2 -1
  257. package/dist/store/reducers/storage/types.d.ts +2 -2
  258. package/dist/store/reducers/storage/utils.js +9 -3
  259. package/dist/store/reducers/storage/utils.js.map +1 -1
  260. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +1 -1
  261. package/dist/store/reducers/tenant/types.d.ts +1 -1
  262. package/dist/styles/index.scss +1 -0
  263. package/dist/styles/mixins.scss +10 -6
  264. package/dist/styles/space-colors.scss +60 -0
  265. package/dist/types/api/capabilities.d.ts +3 -1
  266. package/dist/types/api/operations.d.ts +1 -1
  267. package/dist/uiFactory/types.d.ts +15 -0
  268. package/dist/uiFactory/uiFactory.js +1 -0
  269. package/dist/uiFactory/uiFactory.js.map +1 -1
  270. package/dist/utils/capacityAlerts.d.ts +2 -4
  271. package/dist/utils/capacityAlerts.js +11 -11
  272. package/dist/utils/capacityAlerts.js.map +1 -1
  273. package/dist/utils/disks/calculatePDiskSeverity.d.ts +1 -1
  274. package/dist/utils/disks/constants.d.ts +57 -20
  275. package/dist/utils/disks/constants.js +68 -7
  276. package/dist/utils/disks/constants.js.map +1 -1
  277. package/dist/utils/disks/displayState.d.ts +11 -0
  278. package/dist/utils/disks/displayState.js +11 -0
  279. package/dist/utils/disks/displayState.js.map +1 -0
  280. package/dist/utils/disks/getIconStrategy.d.ts +6 -0
  281. package/dist/utils/disks/getIconStrategy.js +21 -0
  282. package/dist/utils/disks/getIconStrategy.js.map +1 -0
  283. package/dist/utils/disks/getSeverityStrategy.d.ts +6 -0
  284. package/dist/utils/disks/getSeverityStrategy.js +21 -0
  285. package/dist/utils/disks/getSeverityStrategy.js.map +1 -0
  286. package/dist/utils/disks/groupBy.d.ts +8 -0
  287. package/dist/utils/disks/groupBy.js +8 -0
  288. package/dist/utils/disks/groupBy.js.map +1 -0
  289. package/dist/utils/disks/helpers.d.ts +19 -4
  290. package/dist/utils/disks/helpers.js +84 -4
  291. package/dist/utils/disks/helpers.js.map +1 -1
  292. package/dist/utils/disks/iconCalculators.d.ts +51 -0
  293. package/dist/utils/disks/iconCalculators.js +184 -0
  294. package/dist/utils/disks/iconCalculators.js.map +1 -0
  295. package/dist/utils/disks/severityCalculators.d.ts +47 -0
  296. package/dist/utils/disks/severityCalculators.js +143 -0
  297. package/dist/utils/disks/severityCalculators.js.map +1 -0
  298. package/dist/utils/disks/types.d.ts +31 -0
  299. package/dist/utils/docs.d.ts +14 -0
  300. package/dist/utils/docs.js +25 -0
  301. package/dist/utils/docs.js.map +1 -0
  302. package/dist/utils/generateEvaluator.d.ts +1 -1
  303. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  304. package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +2 -2
  305. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +1 -1
  306. package/dist/utils/metrics/formatMetricLegend.d.ts +2 -0
  307. package/dist/utils/metrics/formatMetricLegend.js +11 -4
  308. package/dist/utils/metrics/formatMetricLegend.js.map +1 -1
  309. package/dist/utils/metrics/getDiagramValues.d.ts +48 -0
  310. package/dist/utils/metrics/getDiagramValues.js +59 -0
  311. package/dist/utils/metrics/getDiagramValues.js.map +1 -0
  312. package/dist/utils/metrics.d.ts +1 -0
  313. package/dist/utils/metrics.js +3 -0
  314. package/dist/utils/metrics.js.map +1 -1
  315. package/dist/utils/nodes.d.ts +1 -1
  316. package/dist/utils/query.d.ts +22 -61
  317. package/dist/utils/query.js +16 -10
  318. package/dist/utils/query.js.map +1 -1
  319. package/dist/utils/storageMetrics.d.ts +2 -0
  320. package/dist/utils/storageMetrics.js +17 -0
  321. package/dist/utils/storageMetrics.js.map +1 -1
  322. package/dist/utils/zod/configureZod.d.ts +6 -0
  323. package/dist/utils/zod/configureZod.js +14 -0
  324. package/dist/utils/zod/configureZod.js.map +1 -0
  325. package/dist/utils/zod/zodParsers.d.ts +1 -1
  326. package/package.json +4 -4
  327. package/dist/containers/Cluster/ClusterOverview/utils.d.ts +0 -19
  328. package/dist/containers/Cluster/ClusterOverview/utils.js +0 -46
  329. package/dist/containers/Cluster/ClusterOverview/utils.js.map +0 -1
  330. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.d.ts +0 -15
  331. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.js +0 -22
  332. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.js.map +0 -1
  333. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.d.ts +0 -10
  334. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.js +0 -16
  335. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ .ydb-tenant-metric-page-summary {
2
+ box-sizing: border-box;
3
+ width: 100%;
4
+ padding: var(--g-spacing-4);
5
+
6
+ border-radius: var(--g-border-radius-s);
7
+ background-color: var(--g-color-base-generic);
8
+
9
+ &__content {
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: var(--g-spacing-2);
13
+ }
14
+
15
+ &__header {
16
+ display: flex;
17
+ flex-wrap: wrap;
18
+ justify-content: space-between;
19
+ align-items: center;
20
+ gap: var(--g-spacing-2) var(--g-spacing-3);
21
+
22
+ min-width: 0;
23
+ }
24
+
25
+ &__description {
26
+ flex: 1 1 280px;
27
+
28
+ min-width: 0;
29
+ }
30
+
31
+ &__values {
32
+ display: flex;
33
+ flex: 0 0 auto;
34
+ align-items: center;
35
+ gap: var(--g-spacing-3);
36
+
37
+ white-space: nowrap;
38
+ }
39
+
40
+ &__divider {
41
+ height: 12px;
42
+ }
43
+
44
+ &__progress {
45
+ --ydb-segmented-progress-height: 8px;
46
+ --ydb-segmented-progress-section-min-width: 8px;
47
+ --ydb-segmented-progress-empty-opacity: 0.75;
48
+
49
+ border-radius: var(--g-border-radius-xs);
50
+ }
51
+ }
@@ -1,26 +1,10 @@
1
1
  import type { TenantMetricsTab } from '../../../../../store/reducers/tenant/types';
2
- import type { TenantMetricStats, TenantPoolsStats, TenantStorageStats } from '../../../../../store/reducers/tenants/utils';
3
- import type { ETenantType } from '../../../../../types/api/tenant';
2
+ import type { TenantOverviewMetrics } from '../metricOverview';
4
3
  import './MetricsTabs.scss';
5
- interface SelectStorageStatsForMetricCardParams {
6
- blobStorageStats?: TenantStorageStats[];
7
- tabletStorageStats?: TenantStorageStats[];
8
- isServerless: boolean;
9
- }
10
- export declare function selectStorageStatsForMetricCard({ blobStorageStats, tabletStorageStats, isServerless, }: SelectStorageStatsForMetricCardParams): TenantStorageStats[];
11
4
  interface MetricsTabsProps {
12
- poolsCpuStats?: TenantPoolsStats[];
13
- memoryStats?: TenantMetricStats[];
14
- storageMetricStats?: TenantStorageStats[];
15
- blobStorageStats?: TenantStorageStats[];
16
- tabletStorageStats?: TenantStorageStats[];
17
- networkUtilization?: number;
18
- networkThroughput?: number;
19
- storageGroupsCount?: number;
20
- controlPlaneNodesCount?: number;
21
- coresTotal?: number;
22
- databaseType?: ETenantType;
23
5
  activeTab: TenantMetricsTab;
6
+ isServerless: boolean;
7
+ metrics: TenantOverviewMetrics;
24
8
  }
25
- export declare function MetricsTabs({ poolsCpuStats, memoryStats, storageMetricStats, blobStorageStats, tabletStorageStats, networkUtilization, networkThroughput, storageGroupsCount, controlPlaneNodesCount, coresTotal, databaseType, activeTab, }: MetricsTabsProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function MetricsTabs({ activeTab, isServerless, metrics: { network, cpu, storage, memory }, }: MetricsTabsProps): import("react/jsx-runtime").JSX.Element;
26
10
  export {};
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
2
  import { Flex } from '@gravity-ui/uikit';
4
3
  import { useLocation } from 'react-router-dom';
5
4
  import { getTenantPath, parseQuery } from '../../../../../routes';
@@ -7,8 +6,6 @@ import { SETTING_KEYS } from '../../../../../store/reducers/settings/constants';
7
6
  import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
8
7
  import { cn } from '../../../../../utils/cn';
9
8
  import { useSetting } from '../../../../../utils/hooks';
10
- import { calculateMetricAggregates } from '../../../../../utils/metrics';
11
- // no direct legend formatters needed here – handled in subcomponents
12
9
  import { TenantTabsGroups } from '../../../TenantPages';
13
10
  import { CpuTab } from './components/CpuTab';
14
11
  import { MemoryTab } from './components/MemoryTab';
@@ -17,20 +14,7 @@ import { PlaceholderTab } from './components/PlaceholderTab';
17
14
  import { StorageTab } from './components/StorageTab';
18
15
  import './MetricsTabs.scss';
19
16
  const b = cn('tenant-metrics-tabs');
20
- export function selectStorageStatsForMetricCard({ blobStorageStats, tabletStorageStats, isServerless, }) {
21
- if (isServerless) {
22
- return tabletStorageStats || blobStorageStats || [];
23
- }
24
- const hasLimit = (stats) => Boolean(stats === null || stats === void 0 ? void 0 : stats.some((item) => Number(item.limit) > 0));
25
- if (hasLimit(tabletStorageStats)) {
26
- return tabletStorageStats || [];
27
- }
28
- if (hasLimit(blobStorageStats)) {
29
- return blobStorageStats || [];
30
- }
31
- return blobStorageStats || tabletStorageStats || [];
32
- }
33
- export function MetricsTabs({ poolsCpuStats, memoryStats, storageMetricStats, blobStorageStats, tabletStorageStats, networkUtilization, networkThroughput, storageGroupsCount, controlPlaneNodesCount, coresTotal, databaseType, activeTab, }) {
17
+ export function MetricsTabs({ activeTab, isServerless, metrics: { network, cpu, storage, memory }, }) {
34
18
  const location = useLocation();
35
19
  const queryParams = parseQuery(location);
36
20
  const tabLinks = {
@@ -51,47 +35,20 @@ export function MetricsTabs({ poolsCpuStats, memoryStats, storageMetricStats, bl
51
35
  [TenantTabsGroups.metricsTab]: TENANT_METRICS_TABS_IDS.network,
52
36
  }),
53
37
  };
54
- // Sum CPU usage from all pools except the IO pool
55
- const cpuPools = React.useMemo(() => (poolsCpuStats || []).filter((pool) => pool.name !== 'IO'), [poolsCpuStats]);
56
- const cpuMetrics = React.useMemo(() => calculateMetricAggregates(cpuPools), [cpuPools]);
57
- const isServerless = databaseType === 'Serverless';
58
- // Calculate storage metrics using utility
59
- const storageStats = React.useMemo(() => storageMetricStats !== null && storageMetricStats !== void 0 ? storageMetricStats : selectStorageStatsForMetricCard({
60
- blobStorageStats,
61
- tabletStorageStats,
62
- isServerless,
63
- }), [blobStorageStats, isServerless, storageMetricStats, tabletStorageStats]);
64
- const storageMetrics = React.useMemo(() => calculateMetricAggregates(storageStats), [storageStats]);
65
- // Calculate memory metrics using utility
66
- const memoryMetrics = React.useMemo(() => calculateMetricAggregates(memoryStats), [memoryStats]);
67
- // Pass raw network values; DedicatedMetricsTabs computes percent and legend
68
38
  const [showNetworkUtilization] = useSetting(SETTING_KEYS.SHOW_NETWORK_UTILIZATION);
69
39
  // card variant is handled within subcomponents
70
40
  const renderNetworkTab = () => {
71
- if (!showNetworkUtilization) {
41
+ if (isServerless || !showNetworkUtilization || !network) {
72
42
  return null;
73
43
  }
74
- const canShow = networkUtilization !== undefined &&
75
- networkThroughput !== undefined &&
76
- isFinite(networkUtilization) &&
77
- isFinite(networkThroughput);
78
- if (!canShow) {
44
+ return (_jsx(NetworkTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.network], active: activeTab === TENANT_METRICS_TABS_IDS.network, network: network }));
45
+ };
46
+ const renderMemoryTab = () => {
47
+ if (isServerless || !memory) {
79
48
  return null;
80
49
  }
81
- if (isServerless) {
82
- return _jsx(PlaceholderTab, {});
83
- }
84
- return (_jsx(NetworkTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.network], active: activeTab === TENANT_METRICS_TABS_IDS.network, networkUtilization: networkUtilization, networkThroughput: networkThroughput }));
50
+ return (_jsx(MemoryTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.memory], active: activeTab === TENANT_METRICS_TABS_IDS.memory, memory: memory }));
85
51
  };
86
- return (_jsxs(Flex, { className: b({ serverless: Boolean(isServerless) }), alignItems: "center", children: [_jsx(CpuTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.cpu], active: activeTab === TENANT_METRICS_TABS_IDS.cpu, isServerless: Boolean(isServerless), cpu: {
87
- totalUsed: cpuMetrics.totalUsed,
88
- totalLimit: coresTotal && coresTotal > 0 ? coresTotal : cpuMetrics.totalLimit,
89
- }, controlPlaneNodesCount: controlPlaneNodesCount }), _jsx(StorageTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.storage], active: activeTab === TENANT_METRICS_TABS_IDS.storage, isServerless: Boolean(isServerless), storage: {
90
- totalUsed: storageMetrics.totalUsed,
91
- totalLimit: storageMetrics.totalLimit,
92
- }, storageGroupsCount: storageGroupsCount }), isServerless ? (_jsx(PlaceholderTab, {})) : (_jsx(MemoryTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.memory], active: activeTab === TENANT_METRICS_TABS_IDS.memory, memory: {
93
- totalUsed: memoryMetrics.totalUsed,
94
- totalLimit: memoryMetrics.totalLimit,
95
- } })), renderNetworkTab()] }));
52
+ return (_jsxs(Flex, { className: b({ serverless: isServerless }), alignItems: "start", children: [_jsx(CpuTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.cpu], active: activeTab === TENANT_METRICS_TABS_IDS.cpu, cpu: cpu, isServerless: isServerless }), _jsx(StorageTab, { to: tabLinks[TENANT_METRICS_TABS_IDS.storage], active: activeTab === TENANT_METRICS_TABS_IDS.storage, storage: storage, isServerless: isServerless }), renderMemoryTab(), renderNetworkTab(), _jsx(PlaceholderTab, {})] }));
96
53
  }
97
54
  //# sourceMappingURL=MetricsTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetricsTabs.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.tsx"],"names":[],"mappings":"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"}
@@ -93,12 +93,13 @@
93
93
  --tab-border-width: 1px;
94
94
  --tab-filler-size: 10px;
95
95
  --tab-overlap: -1px;
96
- --tab-lift-offset: -6px;
97
- --tab-border-compensation: 1px;
98
96
  --tab-adjusted-spacing: calc(var(--g-spacing-3) - var(--tab-border-width));
99
97
  --z-tab-base: 100;
100
98
  --z-tab-active: 110;
101
99
  --g-border-radius-xxl: 12px;
100
+ --metric-tab-card-width: 225px;
101
+ --metric-tab-card-width-narrow: 210px;
102
+ --metric-tab-card-height: 70px;
102
103
 
103
104
  // Fallback for browsers without :has() support
104
105
  @supports not selector(:has(*)) {
@@ -111,6 +112,8 @@
111
112
  }
112
113
 
113
114
  &__link {
115
+ display: block;
116
+
114
117
  text-decoration: none;
115
118
 
116
119
  color: inherit;
@@ -124,7 +127,7 @@
124
127
  position: relative;
125
128
  z-index: var(--z-tab-base);
126
129
 
127
- flex: 1;
130
+ flex: 0 0 auto;
128
131
 
129
132
  margin-left: var(--tab-overlap);
130
133
  padding: 0 var(--g-spacing-3) var(--g-spacing-3) var(--g-spacing-3);
@@ -132,15 +135,6 @@
132
135
  border-bottom: var(--tab-border-width) solid var(--g-color-line-generic);
133
136
  background: var(--g-color-base-background);
134
137
 
135
- .tenant-tab-card__card-container {
136
- border: 1px solid transparent;
137
- border-top: none;
138
-
139
- & > div {
140
- transform: translateY(1px);
141
- }
142
- }
143
-
144
138
  &:nth-child(1) {
145
139
  z-index: calc(var(--z-tab-base) + 3);
146
140
  }
@@ -172,34 +166,31 @@
172
166
  padding-right: 0;
173
167
  @include tab-edge-filler(right);
174
168
  }
175
- }
176
169
 
177
- &__link {
178
- display: block;
170
+ &_placeholder {
171
+ z-index: 1;
172
+
173
+ flex: 1 1 auto;
174
+
175
+ pointer-events: none;
176
+
177
+ .tenant-metrics-tabs__link {
178
+ height: var(--metric-tab-card-height);
179
+ }
180
+ }
179
181
  }
180
182
 
181
183
  // Active state styling
182
184
  &__link-container_active {
183
185
  z-index: var(--z-tab-active) !important;
184
186
 
187
+ width: var(--metric-tab-card-width);
188
+ height: var(--metric-tab-card-height);
185
189
  padding: 0;
186
190
 
187
191
  border-bottom: 0;
188
- background: var(--g-color-base-background);
189
-
190
- transform: translateY(var(--tab-lift-offset));
191
-
192
- .tenant-tab-card__card-container {
193
- border: none;
194
- border-radius: var(--g-border-radius-xs);
195
-
196
- & > div {
197
- transform: translateY(0);
198
- }
199
- }
200
192
 
201
193
  .tenant-metrics-tabs__link {
202
- padding-bottom: var(--tab-border-compensation);
203
194
  @include tab-border-base(var(--g-color-line-generic));
204
195
  }
205
196
  }
@@ -223,14 +214,12 @@
223
214
  &__link-container:not(:has(+ &__link-container_active)) {
224
215
  padding-right: 0;
225
216
  }
226
- }
227
217
 
228
- .tenant-metrics-tabs_serverless {
229
- .tenant-metrics-tabs__link-container_placeholder {
230
- pointer-events: none;
218
+ &_serverless {
219
+ --metric-tab-card-width: 242px;
220
+ }
231
221
 
232
- .tenant-tab-card__card-container {
233
- opacity: 0;
234
- }
222
+ @media (max-width: 1200px) {
223
+ --metric-tab-card-width: var(--metric-tab-card-width-narrow);
235
224
  }
236
225
  }
@@ -1,13 +1,10 @@
1
+ import type { TenantOverviewMetric } from '../../metricOverview';
1
2
  import '../MetricsTabs.scss';
2
3
  interface CpuTabProps {
3
4
  to: string;
4
5
  active: boolean;
6
+ cpu?: TenantOverviewMetric;
5
7
  isServerless: boolean;
6
- cpu: {
7
- totalUsed: number;
8
- totalLimit: number;
9
- };
10
- controlPlaneNodesCount?: number;
11
8
  }
12
- export declare function CpuTab({ to, active, isServerless, cpu, controlPlaneNodesCount }: CpuTabProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function CpuTab({ to, active, cpu, isServerless }: CpuTabProps): import("react/jsx-runtime").JSX.Element;
13
10
  export {};
@@ -1,16 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from 'react-router-dom';
3
3
  import { cn } from '../../../../../../utils/cn';
4
- import { formatCoresLegend } from '../../../../../../utils/metrics/formatMetricLegend';
4
+ import { MetricTabCard } from '../../TabCard/MetricTabCard';
5
5
  import { ServerlessTabCard } from '../../TabCard/ServerlessTabCard';
6
- import { UsageTabCard } from '../../TabCard/UsageTabCard';
7
6
  import i18n from '../../i18n';
8
7
  import '../MetricsTabs.scss';
9
8
  const b = cn('tenant-metrics-tabs');
10
- export function CpuTab({ to, active, isServerless, cpu, controlPlaneNodesCount }) {
11
- const dedicatedDatabaseUsageText = !controlPlaneNodesCount
12
- ? i18n('context_cpu-load')
13
- : i18n('context_cpu-nodes-count', { count: controlPlaneNodesCount });
14
- return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: isServerless ? (_jsx(ServerlessTabCard, { text: i18n('context_cpu-load'), active: active, helpText: i18n('context_cpu-description'), subtitle: i18n('context_serverless-autoscaled') })) : (_jsx(UsageTabCard, { text: dedicatedDatabaseUsageText, value: cpu.totalUsed, limit: cpu.totalLimit, legendFormatter: formatCoresLegend, active: active, helpText: i18n('context_cpu-description') })) }) }));
9
+ export function CpuTab({ to, active, cpu, isServerless }) {
10
+ var _a;
11
+ return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: isServerless || !cpu ? (_jsx(ServerlessTabCard, { title: i18n('title_cpu-load'), active: active, description: i18n('context_serverless-autoscaled'), helpText: i18n('context_cpu-description') })) : (_jsx(MetricTabCard, { title: i18n('title_cpu'), status: cpu.status, value: (_a = cpu.percentText) !== null && _a !== void 0 ? _a : i18n('value_unavailable-percent'), active: active, description: i18n('context_cpu-tab-description') })) }) }));
15
12
  }
16
13
  //# sourceMappingURL=CpuTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CpuTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAUpC,MAAM,UAAU,MAAM,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,sBAAsB,EAAc;IACvF,MAAM,0BAA0B,GAAG,CAAC,sBAAsB;QACtD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAC,KAAK,EAAE,sBAAsB,EAAC,CAAC,CAAC;IAEvE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC7B,YAAY,CAAC,CAAC,CAAC,CACZ,KAAC,iBAAiB,IACd,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,EACzC,QAAQ,EAAE,IAAI,CAAC,+BAA+B,CAAC,GACjD,CACL,CAAC,CAAC,CAAC,CACA,KAAC,YAAY,IACT,IAAI,EAAE,0BAA0B,EAChC,KAAK,EAAE,GAAG,CAAC,SAAS,EACpB,KAAK,EAAE,GAAG,CAAC,UAAU,EACrB,eAAe,EAAE,iBAAiB,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAC3C,CACL,GACE,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"CpuTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AASpC,MAAM,UAAU,MAAM,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAc;;IAC/D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC7B,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACpB,KAAC,iBAAiB,IACd,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,+BAA+B,CAAC,EAClD,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAC3C,CACL,CAAC,CAAC,CAAC,CACA,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,MAAA,GAAG,CAAC,WAAW,mCAAI,IAAI,CAAC,2BAA2B,CAAC,EAC3D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC,GAClD,CACL,GACE,GACL,CACT,CAAC;AACN,CAAC"}
@@ -1,11 +1,9 @@
1
+ import type { TenantOverviewMetric } from '../../metricOverview';
1
2
  import '../MetricsTabs.scss';
2
3
  interface MemoryTabProps {
3
4
  to: string;
4
5
  active: boolean;
5
- memory: {
6
- totalUsed: number;
7
- totalLimit: number;
8
- };
6
+ memory: TenantOverviewMetric;
9
7
  }
10
8
  export declare function MemoryTab({ to, active, memory }: MemoryTabProps): import("react/jsx-runtime").JSX.Element;
11
9
  export {};
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from 'react-router-dom';
3
3
  import { cn } from '../../../../../../utils/cn';
4
- import { formatStorageLegend } from '../../../../../../utils/metrics/formatMetricLegend';
5
- import { UsageTabCard } from '../../TabCard/UsageTabCard';
4
+ import { MetricTabCard } from '../../TabCard/MetricTabCard';
6
5
  import i18n from '../../i18n';
7
6
  import '../MetricsTabs.scss';
8
7
  const b = cn('tenant-metrics-tabs');
9
8
  export function MemoryTab({ to, active, memory }) {
10
- return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: _jsx(UsageTabCard, { text: i18n('context_memory-used'), value: memory.totalUsed, limit: memory.totalLimit, legendFormatter: formatStorageLegend, active: active, helpText: i18n('context_memory-description') }) }) }));
9
+ var _a;
10
+ return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: _jsx(MetricTabCard, { title: i18n('title_memory'), status: memory.status, value: (_a = memory.percentText) !== null && _a !== void 0 ? _a : i18n('value_unavailable-percent'), active: active, description: i18n('context_memory-tab-description') }) }) }));
11
11
  }
12
12
  //# sourceMappingURL=MemoryTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAQpC,MAAM,UAAU,SAAS,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAiB;IAC1D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,KAAC,YAAY,IACT,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,EACjC,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,KAAK,EAAE,MAAM,CAAC,UAAU,EACxB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,4BAA4B,CAAC,GAC9C,GACC,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"MemoryTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAQpC,MAAM,UAAU,SAAS,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAiB;;IAC1D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,MAAA,MAAM,CAAC,WAAW,mCAAI,IAAI,CAAC,2BAA2B,CAAC,EAC9D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,gCAAgC,CAAC,GACrD,GACC,GACL,CACT,CAAC;AACN,CAAC"}
@@ -1,9 +1,9 @@
1
+ import type { TenantOverviewMetric } from '../../metricOverview';
1
2
  import '../MetricsTabs.scss';
2
3
  interface NetworkTabProps {
3
4
  to: string;
4
5
  active: boolean;
5
- networkUtilization: number;
6
- networkThroughput: number;
6
+ network: TenantOverviewMetric;
7
7
  }
8
- export declare function NetworkTab({ to, active, networkUtilization, networkThroughput }: NetworkTabProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function NetworkTab({ to, active, network }: NetworkTabProps): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -1,14 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from 'react-router-dom';
3
3
  import { cn } from '../../../../../../utils/cn';
4
- import { formatNetworkMetric } from '../../../../../../utils/metrics/formatMetricLegend';
5
- import { UtilizationTabCard } from '../../TabCard/UtilizationTabCard';
4
+ import { MetricTabCard } from '../../TabCard/MetricTabCard';
6
5
  import i18n from '../../i18n';
7
6
  import '../MetricsTabs.scss';
8
7
  const b = cn('tenant-metrics-tabs');
9
- export function NetworkTab({ to, active, networkUtilization, networkThroughput }) {
10
- const fillPercent = networkUtilization * 100;
11
- const legendText = formatNetworkMetric(networkThroughput);
12
- return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: _jsx(UtilizationTabCard, { text: i18n('context_network-usage'), fillPercent: fillPercent, legendText: legendText, active: active, helpText: i18n('context_network-description') }) }) }));
8
+ export function NetworkTab({ to, active, network }) {
9
+ var _a;
10
+ return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: _jsx(MetricTabCard, { title: i18n('title_network'), status: network.status, value: (_a = network.percentText) !== null && _a !== void 0 ? _a : i18n('value_unavailable-percent'), active: active, description: i18n('context_network-tab-description') }) }) }));
13
11
  }
14
12
  //# sourceMappingURL=NetworkTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACpE,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AASpC,MAAM,UAAU,UAAU,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAkB;IAC3F,MAAM,WAAW,GAAG,kBAAkB,GAAG,GAAG,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAE1D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,KAAC,kBAAkB,IACf,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,EACnC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,GAC/C,GACC,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"NetworkTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAQpC,MAAM,UAAU,UAAU,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAkB;;IAC7D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC9B,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,KAAK,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI,CAAC,2BAA2B,CAAC,EAC/D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,iCAAiC,CAAC,GACtD,GACC,GACL,CACT,CAAC;AACN,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from '../../../../../../utils/cn';
3
- import { UNBREAKABLE_GAP } from '../../../../../../utils/constants';
4
- import { ServerlessTabCard } from '../../TabCard/ServerlessTabCard';
5
3
  import '../MetricsTabs.scss';
6
4
  const b = cn('tenant-metrics-tabs');
7
5
  export function PlaceholderTab() {
8
- return (_jsx("div", { className: b('link-container', { placeholder: true }), children: _jsx("div", { className: b('link'), children: _jsx(ServerlessTabCard, { text: UNBREAKABLE_GAP, active: false, helpText: undefined, subtitle: UNBREAKABLE_GAP }) }) }));
6
+ return (_jsx("div", { className: b('link-container', { placeholder: true }), children: _jsx("div", { className: b('link') }) }));
9
7
  }
10
8
  //# sourceMappingURL=PlaceholderTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaceholderTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAElE,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,UAAU,cAAc;IAC1B,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,YACpD,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,KAAC,iBAAiB,IACd,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,eAAe,GAC3B,GACA,GACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"PlaceholderTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAE9C,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,UAAU,cAAc;IAC1B,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,YACpD,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAI,GAC3B,CACT,CAAC;AACN,CAAC"}
@@ -1,13 +1,10 @@
1
+ import type { TenantOverviewMetric } from '../../metricOverview';
1
2
  import '../MetricsTabs.scss';
2
3
  interface StorageTabProps {
3
4
  to: string;
4
5
  active: boolean;
5
6
  isServerless: boolean;
6
- storage: {
7
- totalUsed: number;
8
- totalLimit: number;
9
- };
10
- storageGroupsCount?: number;
7
+ storage?: TenantOverviewMetric;
11
8
  }
12
- export declare function StorageTab({ to, active, isServerless, storage, storageGroupsCount, }: StorageTabProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function StorageTab({ to, active, isServerless, storage }: StorageTabProps): import("react/jsx-runtime").JSX.Element;
13
10
  export {};
@@ -1,30 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Link } from 'react-router-dom';
3
3
  import { cn } from '../../../../../../utils/cn';
4
- import { formatStorageLegend } from '../../../../../../utils/metrics/formatMetricLegend';
4
+ import { MetricTabCard } from '../../TabCard/MetricTabCard';
5
5
  import { ServerlessTabCard } from '../../TabCard/ServerlessTabCard';
6
- import { UsageTabCard } from '../../TabCard/UsageTabCard';
7
6
  import i18n from '../../i18n';
8
7
  import '../MetricsTabs.scss';
9
8
  const b = cn('tenant-metrics-tabs');
10
- export function StorageTab({ to, active, isServerless, storage, storageGroupsCount, }) {
11
- const text = storageGroupsCount === undefined || isServerless
12
- ? i18n('cards.storage-label')
13
- : i18n('context_storage-groups', { count: storageGroupsCount });
14
- return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: isServerless ? (_jsx(ServerlessTabCard, { text: text, active: active, helpText: i18n('context_storage-description'), subtitle: storage.totalLimit
15
- ? i18n('context_serverless-storage-subtitle', {
16
- groups: String(storageGroupsCount !== null && storageGroupsCount !== void 0 ? storageGroupsCount : 0),
17
- legend: formatStorageLegend({
18
- value: storage.totalUsed,
19
- capacity: storage.totalLimit,
20
- }),
21
- })
22
- : undefined })) : (_jsx(UsageTabCard, { text: text, value: storage.totalUsed, limit: storage.totalLimit, legendFormatter: formatStorageLegend, active: active, helpText: i18n('context_storage-description'),
23
- // Never show the "danger" (red) status for the storage
24
- // doughnut, regardless of usage. The doughnut stays
25
- // "warning" (yellow) above the warning threshold and
26
- // never turns red, even at high usage below 100%
27
- // (e.g. 91-99%) or on overflow above 100%.
28
- dangerThreshold: Infinity })) }) }));
9
+ export function StorageTab({ to, active, isServerless, storage }) {
10
+ var _a;
11
+ return (_jsx("div", { className: b('link-container', { active }), children: _jsx(Link, { to: to, className: b('link'), children: isServerless || !storage ? (_jsx(ServerlessTabCard, { title: i18n('title_storage'), active: active, description: i18n('context_storage-serverless-tab-description'), helpText: i18n('context_storage-description') })) : (_jsx(MetricTabCard, { title: i18n('title_storage'), status: storage.status, value: (_a = storage.percentText) !== null && _a !== void 0 ? _a : i18n('value_unavailable-percent'), active: active, description: i18n('context_storage-tab-description') })) }) }));
29
12
  }
30
13
  //# sourceMappingURL=StorageTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorageTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAUpC,MAAM,UAAU,UAAU,CAAC,EACvB,EAAE,EACF,MAAM,EACN,YAAY,EACZ,OAAO,EACP,kBAAkB,GACJ;IACd,MAAM,IAAI,GACN,kBAAkB,KAAK,SAAS,IAAI,YAAY;QAC5C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAC,CAAC,CAAC;IACtE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC7B,YAAY,CAAC,CAAC,CAAC,CACZ,KAAC,iBAAiB,IACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,EAC7C,QAAQ,EACJ,OAAO,CAAC,UAAU;oBACd,CAAC,CAAC,IAAI,CAAC,qCAAqC,EAAE;wBACxC,MAAM,EAAE,MAAM,CAAC,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,CAAC,CAAC;wBACvC,MAAM,EAAE,mBAAmB,CAAC;4BACxB,KAAK,EAAE,OAAO,CAAC,SAAS;4BACxB,QAAQ,EAAE,OAAO,CAAC,UAAU;yBAC/B,CAAC;qBACL,CAAC;oBACJ,CAAC,CAAC,SAAS,GAErB,CACL,CAAC,CAAC,CAAC,CACA,KAAC,YAAY,IACT,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,CAAC,SAAS,EACxB,KAAK,EAAE,OAAO,CAAC,UAAU,EACzB,eAAe,EAAE,mBAAmB,EACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC;gBAC7C,uDAAuD;gBACvD,oDAAoD;gBACpD,qDAAqD;gBACrD,iDAAiD;gBACjD,2CAA2C;gBAC3C,eAAe,EAAE,QAAQ,GAC3B,CACL,GACE,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"StorageTab.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AASpC,MAAM,UAAU,UAAU,CAAC,EAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAkB;;IAC3E,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,YACzC,KAAC,IAAI,IAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAC7B,YAAY,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACxB,KAAC,iBAAiB,IACd,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,4CAA4C,CAAC,EAC/D,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,GAC/C,CACL,CAAC,CAAC,CAAC,CACA,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,KAAK,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI,CAAC,2BAA2B,CAAC,EAC/D,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,iCAAiC,CAAC,GACtD,CACL,GACE,GACL,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { EFlag } from '../../../../../types/api/enums';
2
+ import './TabCard.scss';
3
+ interface MetricTabCardProps {
4
+ title: string;
5
+ status: EFlag;
6
+ value: string;
7
+ description: string;
8
+ active?: boolean;
9
+ }
10
+ export declare function MetricTabCard({ title, status, value, description, active }: MetricTabCardProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, Flex, Text } from '@gravity-ui/uikit';
3
+ import { StatusIcon } from '../../../../../components/StatusIcon/StatusIcon';
4
+ import { cn } from '../../../../../utils/cn';
5
+ import './TabCard.scss';
6
+ const b = cn('tenant-tab-card');
7
+ export function MetricTabCard({ title, status, value, description, active }) {
8
+ return (_jsx(Card, { className: b({ active }), type: "container", view: active ? 'outlined' : 'filled', children: _jsxs(Flex, { direction: "column", gap: 0.5, children: [_jsxs(Flex, { alignItems: "center", gap: 1, children: [_jsx(Text, { variant: "subheader-2", "data-qa": "tenant-metric-tab-title", children: title }), _jsxs(Flex, { alignItems: "center", gap: 1, children: [_jsx(Text, { variant: "body-1", color: "secondary", "data-qa": "tenant-metric-tab-value", children: value }), _jsx(StatusIcon, { status: status, mode: "icons", size: "s" })] })] }), _jsx(Text, { variant: "caption-2", color: "secondary", className: b('description'), "data-qa": "tenant-metric-tab-description", children: description })] }) }));
9
+ }
10
+ //# sourceMappingURL=MetricTabCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricTabCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,iDAAiD,CAAC;AAE3E,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAE3C,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAUhC,MAAM,UAAU,aAAa,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAqB;IACzF,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAE,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAC/E,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,aAC7B,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,aAAS,yBAAyB,YACxD,KAAK,GACH,EACP,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,aAAS,yBAAyB,YACrE,KAAK,GACH,EACP,KAAC,UAAU,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,GAAG,IACjD,IACJ,EACP,KAAC,IAAI,IACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,aACnB,+BAA+B,YAEtC,WAAW,GACT,IACJ,GACJ,CACV,CAAC;AACN,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import './TabCard.scss';
2
2
  interface ServerlessTabCardProps {
3
- text: string;
3
+ title: string;
4
4
  active?: boolean;
5
+ description: string;
5
6
  helpText?: string;
6
- subtitle?: string;
7
7
  }
8
- export declare function ServerlessTabCard({ text, active, helpText, subtitle }: ServerlessTabCardProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function ServerlessTabCard({ title, active, description, helpText }: ServerlessTabCardProps): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -1,10 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Card } from '@gravity-ui/uikit';
3
- import { DoughnutMetrics } from '../../../../../components/DoughnutMetrics/DoughnutMetrics';
2
+ import { Card, Flex, HelpMark, Text } from '@gravity-ui/uikit';
4
3
  import { cn } from '../../../../../utils/cn';
5
4
  import './TabCard.scss';
6
5
  const b = cn('tenant-tab-card');
7
- export function ServerlessTabCard({ text, active, helpText, subtitle }) {
8
- return (_jsx("div", { className: b({ active }), children: _jsx(Card, { className: b('card-container', { active }), type: "container", view: active ? 'outlined' : 'raised', children: _jsxs("div", { className: b('legend-wrapper'), children: [_jsx(DoughnutMetrics.Legend, { variant: "subheader-2", note: helpText, noteIconSize: "s", children: text }), subtitle ? (_jsx(DoughnutMetrics.Legend, { variant: "body-1", color: "secondary", children: subtitle })) : null] }) }) }));
6
+ export function ServerlessTabCard({ title, active, description, helpText }) {
7
+ return (_jsx(Card, { className: b({ active }), type: "container", view: active ? 'outlined' : 'filled', children: _jsxs(Flex, { direction: "column", gap: 0.5, children: [_jsxs(Flex, { alignItems: "center", gap: 1, children: [_jsx(Text, { variant: "subheader-2", "data-qa": "tenant-metric-tab-title", children: title }), helpText ? (_jsx(HelpMark, { iconSize: "s", popoverProps: { placement: 'right' }, children: helpText })) : null] }), _jsx(Text, { variant: "caption-2", color: "secondary", className: b('description'), "data-qa": "tenant-metric-tab-description", children: description })] }) }));
9
8
  }
10
9
  //# sourceMappingURL=ServerlessTabCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerlessTabCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,eAAe,EAAC,MAAM,2DAA2D,CAAC;AAC1F,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAE3C,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAShC,MAAM,UAAU,iBAAiB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAyB;IACxF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,YACvB,KAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAC,CAAC,EACxC,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAEpC,eAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAC/B,KAAC,eAAe,CAAC,MAAM,IAAC,OAAO,EAAC,aAAa,EAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAC,GAAG,YACzE,IAAI,GACgB,EACxB,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,eAAe,CAAC,MAAM,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,YACrD,QAAQ,GACY,CAC5B,CAAC,CAAC,CAAC,IAAI,IACN,GACH,GACL,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"ServerlessTabCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAE3C,OAAO,gBAAgB,CAAC;AAExB,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAShC,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAyB;IAC5F,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAE,IAAI,EAAC,WAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAC/E,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,GAAG,aAC7B,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,aAAS,yBAAyB,YACxD,KAAK,GACH,EACN,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,QAAQ,IAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,YACpD,QAAQ,GACF,CACd,CAAC,CAAC,CAAC,IAAI,IACL,EACP,KAAC,IAAI,IACD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,WAAW,EACjB,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,aACnB,+BAA+B,YAEtC,WAAW,GACT,IACJ,GACJ,CACV,CAAC;AACN,CAAC"}