ydb-embedded-ui 17.2.0 → 18.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 (345) 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/GetUserWrapper/GetUserWrapper.d.ts +4 -2
  44. package/dist/containers/GetUserWrapper/GetUserWrapper.js +4 -6
  45. package/dist/containers/GetUserWrapper/GetUserWrapper.js.map +1 -1
  46. package/dist/containers/Header/hooks/useHeaderPageContext.js +4 -4
  47. package/dist/containers/Header/hooks/useHeaderPageContext.js.map +1 -1
  48. package/dist/containers/Header/i18n/index.d.ts +1 -1
  49. package/dist/containers/HomePage/HomePage.js +15 -6
  50. package/dist/containers/HomePage/HomePage.js.map +1 -1
  51. package/dist/containers/HomePage/useHomePageTab.d.ts +4 -0
  52. package/dist/containers/HomePage/useHomePageTab.js +16 -1
  53. package/dist/containers/HomePage/useHomePageTab.js.map +1 -1
  54. package/dist/containers/Node/Node.js +7 -5
  55. package/dist/containers/Node/Node.js.map +1 -1
  56. package/dist/containers/Node/NodePages.d.ts +1 -1
  57. package/dist/containers/Node/Threads/Threads.d.ts +2 -1
  58. package/dist/containers/Node/Threads/Threads.js +2 -2
  59. package/dist/containers/Node/Threads/Threads.js.map +1 -1
  60. package/dist/containers/Operations/Operations.js +14 -3
  61. package/dist/containers/Operations/Operations.js.map +1 -1
  62. package/dist/containers/Operations/OperationsControls.d.ts +5 -1
  63. package/dist/containers/Operations/OperationsControls.js +2 -3
  64. package/dist/containers/Operations/OperationsControls.js.map +1 -1
  65. package/dist/containers/Operations/constants.d.ts +4 -0
  66. package/dist/containers/Operations/constants.js +4 -0
  67. package/dist/containers/Operations/constants.js.map +1 -1
  68. package/dist/containers/Operations/i18n/en.json +1 -0
  69. package/dist/containers/Operations/i18n/index.d.ts +1 -1
  70. package/dist/containers/Operations/useOperationsQueryParams.d.ts +1 -0
  71. package/dist/containers/Operations/useOperationsQueryParams.js +20 -9
  72. package/dist/containers/Operations/useOperationsQueryParams.js.map +1 -1
  73. package/dist/containers/Operations/utils.d.ts +12 -0
  74. package/dist/containers/Operations/utils.js +8 -0
  75. package/dist/containers/Operations/utils.js.map +1 -1
  76. package/dist/containers/PDiskPage/PDiskPage.js +2 -2
  77. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  78. package/dist/containers/Storage/Disks/Disks.d.ts +1 -0
  79. package/dist/containers/Storage/Disks/Disks.js +6 -4
  80. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  81. package/dist/containers/Storage/PaginatedStorage.js +3 -1
  82. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  83. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +1 -1
  84. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
  85. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +1 -1
  86. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -1
  87. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.d.ts +5 -2
  88. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +18 -8
  89. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  90. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/StorageGroupsColumns.scss +10 -0
  91. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +9 -4
  92. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  93. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -1
  94. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +9 -1
  95. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  96. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +37 -9
  97. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  98. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  99. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  100. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.d.ts +1 -1
  101. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js +1 -1
  102. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/constants.js.map +1 -1
  103. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.d.ts +6 -0
  104. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +28 -0
  105. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -0
  106. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +31 -0
  107. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.d.ts +5 -0
  108. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +5 -0
  109. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -0
  110. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.d.ts +5 -0
  111. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js +21 -0
  112. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js.map +1 -0
  113. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.d.ts +5 -0
  114. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js +21 -0
  115. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js.map +1 -0
  116. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.d.ts +6 -0
  117. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +65 -0
  118. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -0
  119. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +115 -0
  120. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.d.ts +5 -0
  121. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js +23 -0
  122. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js.map +1 -0
  123. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +7 -0
  124. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +26 -0
  125. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -0
  126. package/dist/containers/Storage/StorageExpertModePanel/components/index.d.ts +5 -0
  127. package/dist/containers/Storage/StorageExpertModePanel/components/index.js +6 -0
  128. package/dist/containers/Storage/StorageExpertModePanel/components/index.js.map +1 -0
  129. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts +7 -0
  130. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +21 -0
  131. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -0
  132. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +13 -0
  133. package/dist/containers/Storage/StorageExpertModePanel/constants.js +7 -0
  134. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -0
  135. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +33 -0
  136. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +2 -0
  137. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.js +5 -0
  138. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.js.map +1 -0
  139. package/dist/containers/Storage/i18n/en.json +1 -0
  140. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  141. package/dist/containers/Storage/useStorageQueryParams.d.ts +9 -0
  142. package/dist/containers/Storage/useStorageQueryParams.js +57 -6
  143. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  144. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.d.ts +2 -0
  145. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +46 -0
  146. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -0
  147. package/dist/containers/Storage/utils/index.d.ts +1 -1
  148. package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -1
  149. package/dist/containers/Tenant/Diagnostics/HotKeys/i18n/index.d.ts +1 -1
  150. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.d.ts +4 -3
  151. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +53 -28
  152. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  153. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.scss +4 -0
  154. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/en.json +2 -1
  155. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  156. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/types.d.ts +7 -0
  157. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +2 -2
  158. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.js.map +1 -1
  159. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.d.ts +19 -31
  160. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +48 -15
  161. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  162. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +9 -3
  163. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  164. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +3 -1
  165. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  166. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +1 -0
  167. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -1
  168. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.d.ts +2 -2
  169. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js +3 -3
  170. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/utils.js.map +1 -1
  171. package/dist/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.js +3 -2
  172. package/dist/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.js.map +1 -1
  173. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.d.ts +13 -0
  174. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.js +13 -0
  175. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.js.map +1 -0
  176. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.scss +51 -0
  177. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.d.ts +4 -20
  178. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +8 -51
  179. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
  180. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +24 -35
  181. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.d.ts +3 -6
  182. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js +4 -7
  183. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js.map +1 -1
  184. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.d.ts +2 -4
  185. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js +3 -3
  186. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js.map +1 -1
  187. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.d.ts +3 -3
  188. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js +4 -6
  189. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js.map +1 -1
  190. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js +1 -3
  191. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/PlaceholderTab.js.map +1 -1
  192. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.d.ts +3 -6
  193. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js +4 -21
  194. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js.map +1 -1
  195. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.d.ts +11 -0
  196. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js +10 -0
  197. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js.map +1 -0
  198. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.d.ts +3 -3
  199. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js +3 -4
  200. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js.map +1 -1
  201. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +21 -13
  202. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.d.ts +3 -1
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +5 -2
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.d.ts +3 -1
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +5 -2
  207. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
  208. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +4 -0
  209. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.d.ts +4 -1
  210. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +12 -2
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +30 -11
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  214. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +3 -3
  215. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  216. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.d.ts +2 -1
  217. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js +20 -13
  218. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +12 -0
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  222. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.d.ts +37 -0
  223. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.js +115 -0
  224. package/dist/containers/Tenant/Diagnostics/TenantOverview/metricOverview.js.map +1 -0
  225. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.d.ts +5 -1
  226. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.d.ts +7 -1
  227. package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
  228. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js +2 -3
  229. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js.map +1 -1
  230. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -2
  231. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  232. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.d.ts +1 -0
  233. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.js +5 -0
  234. package/dist/containers/Tenant/ObjectSummary/UpdateTreeContext.js.map +1 -1
  235. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +1 -1
  236. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  237. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.d.ts +2 -2
  238. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.js +1 -2
  239. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsTimeout.js.map +1 -1
  240. package/dist/containers/Tenant/Tenant.js +2 -1
  241. package/dist/containers/Tenant/Tenant.js.map +1 -1
  242. package/dist/containers/Tenant/TenantPages.d.ts +1 -0
  243. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  244. package/dist/containers/UserSettings/i18n/en.json +3 -1
  245. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  246. package/dist/containers/UserSettings/settings.d.ts +2 -0
  247. package/dist/containers/UserSettings/settings.js +12 -0
  248. package/dist/containers/UserSettings/settings.js.map +1 -1
  249. package/dist/containers/VDiskPage/VDiskPage.js +2 -2
  250. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  251. package/dist/containers/VDiskPage/VDiskStorageDetails.js +2 -2
  252. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
  253. package/dist/lib.d.ts +1 -0
  254. package/dist/lib.js +1 -0
  255. package/dist/lib.js.map +1 -1
  256. package/dist/routes.d.ts +4 -1
  257. package/dist/store/reducers/capabilities/capabilities.d.ts +118 -1
  258. package/dist/store/reducers/capabilities/capabilities.js +1 -0
  259. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  260. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  261. package/dist/store/reducers/capabilities/hooks.js +10 -1
  262. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  263. package/dist/store/reducers/settings/constants.d.ts +7 -0
  264. package/dist/store/reducers/settings/constants.js +6 -0
  265. package/dist/store/reducers/settings/constants.js.map +1 -1
  266. package/dist/store/reducers/settings/utils.d.ts +2 -1
  267. package/dist/store/reducers/storage/types.d.ts +2 -2
  268. package/dist/store/reducers/storage/utils.js +9 -3
  269. package/dist/store/reducers/storage/utils.js.map +1 -1
  270. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +1 -1
  271. package/dist/store/reducers/tenant/types.d.ts +1 -1
  272. package/dist/styles/index.scss +1 -0
  273. package/dist/styles/mixins.scss +10 -6
  274. package/dist/styles/space-colors.scss +60 -0
  275. package/dist/types/api/capabilities.d.ts +3 -1
  276. package/dist/types/api/operations.d.ts +1 -1
  277. package/dist/uiFactory/types.d.ts +15 -0
  278. package/dist/uiFactory/uiFactory.js +1 -0
  279. package/dist/uiFactory/uiFactory.js.map +1 -1
  280. package/dist/utils/capacityAlerts.d.ts +2 -4
  281. package/dist/utils/capacityAlerts.js +11 -11
  282. package/dist/utils/capacityAlerts.js.map +1 -1
  283. package/dist/utils/disks/calculatePDiskSeverity.d.ts +1 -1
  284. package/dist/utils/disks/constants.d.ts +57 -20
  285. package/dist/utils/disks/constants.js +68 -7
  286. package/dist/utils/disks/constants.js.map +1 -1
  287. package/dist/utils/disks/displayState.d.ts +11 -0
  288. package/dist/utils/disks/displayState.js +11 -0
  289. package/dist/utils/disks/displayState.js.map +1 -0
  290. package/dist/utils/disks/getIconStrategy.d.ts +6 -0
  291. package/dist/utils/disks/getIconStrategy.js +21 -0
  292. package/dist/utils/disks/getIconStrategy.js.map +1 -0
  293. package/dist/utils/disks/getSeverityStrategy.d.ts +6 -0
  294. package/dist/utils/disks/getSeverityStrategy.js +21 -0
  295. package/dist/utils/disks/getSeverityStrategy.js.map +1 -0
  296. package/dist/utils/disks/groupBy.d.ts +8 -0
  297. package/dist/utils/disks/groupBy.js +8 -0
  298. package/dist/utils/disks/groupBy.js.map +1 -0
  299. package/dist/utils/disks/helpers.d.ts +19 -4
  300. package/dist/utils/disks/helpers.js +84 -4
  301. package/dist/utils/disks/helpers.js.map +1 -1
  302. package/dist/utils/disks/iconCalculators.d.ts +51 -0
  303. package/dist/utils/disks/iconCalculators.js +184 -0
  304. package/dist/utils/disks/iconCalculators.js.map +1 -0
  305. package/dist/utils/disks/severityCalculators.d.ts +47 -0
  306. package/dist/utils/disks/severityCalculators.js +143 -0
  307. package/dist/utils/disks/severityCalculators.js.map +1 -0
  308. package/dist/utils/disks/types.d.ts +31 -0
  309. package/dist/utils/docs.d.ts +14 -0
  310. package/dist/utils/docs.js +25 -0
  311. package/dist/utils/docs.js.map +1 -0
  312. package/dist/utils/generateEvaluator.d.ts +1 -1
  313. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  314. package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +2 -2
  315. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +1 -1
  316. package/dist/utils/metrics/formatMetricLegend.d.ts +2 -0
  317. package/dist/utils/metrics/formatMetricLegend.js +11 -4
  318. package/dist/utils/metrics/formatMetricLegend.js.map +1 -1
  319. package/dist/utils/metrics/getDiagramValues.d.ts +48 -0
  320. package/dist/utils/metrics/getDiagramValues.js +59 -0
  321. package/dist/utils/metrics/getDiagramValues.js.map +1 -0
  322. package/dist/utils/metrics.d.ts +1 -0
  323. package/dist/utils/metrics.js +3 -0
  324. package/dist/utils/metrics.js.map +1 -1
  325. package/dist/utils/nodes.d.ts +1 -1
  326. package/dist/utils/query.d.ts +22 -61
  327. package/dist/utils/query.js +16 -10
  328. package/dist/utils/query.js.map +1 -1
  329. package/dist/utils/storageMetrics.d.ts +2 -0
  330. package/dist/utils/storageMetrics.js +17 -0
  331. package/dist/utils/storageMetrics.js.map +1 -1
  332. package/dist/utils/zod/configureZod.d.ts +6 -0
  333. package/dist/utils/zod/configureZod.js +14 -0
  334. package/dist/utils/zod/configureZod.js.map +1 -0
  335. package/dist/utils/zod/zodParsers.d.ts +1 -1
  336. package/package.json +4 -4
  337. package/dist/containers/Cluster/ClusterOverview/utils.d.ts +0 -19
  338. package/dist/containers/Cluster/ClusterOverview/utils.js +0 -46
  339. package/dist/containers/Cluster/ClusterOverview/utils.js.map +0 -1
  340. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.d.ts +0 -15
  341. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.js +0 -22
  342. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UsageTabCard.js.map +0 -1
  343. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.d.ts +0 -10
  344. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.js +0 -16
  345. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/UtilizationTabCard.js.map +0 -1
@@ -2,15 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Flex, HelpMark, Text } from '@gravity-ui/uikit';
3
3
  import { cn } from '../../../../utils/cn';
4
4
  import { formatNumber } from '../../../../utils/dataFormatters/dataFormatters';
5
+ import { getMetricBytesCommonSize } from '../../../../utils/storageMetrics';
5
6
  import i18n from '../i18n';
6
- import { formatMetricBytes, formatOverhead, getConsistentMetricBytesSize, } from './storageUsageFormatters';
7
+ import { formatMetricBytes, formatOverhead } from './storageUsageFormatters';
7
8
  import './MediaSectionSummary.scss';
8
9
  const b = cn('ydb-media-section-summary');
9
10
  function MetricCard({ title, value, note }) {
10
11
  return (_jsxs("div", { className: b('metric-card'), children: [_jsx(Text, { variant: "subheader-2", children: value }), _jsxs(Flex, { className: b('metric-card-subtitle'), alignItems: "center", gap: "1", children: [_jsx(Text, { color: "secondary", children: title }), note ? (_jsx(HelpMark, { iconSize: "s", className: b('metric-card-help-mark'), children: note })) : null] })] }));
11
12
  }
12
13
  export function MediaSectionSummary({ section }) {
13
- const metricBytesSize = getConsistentMetricBytesSize([section.dataSize, section.diskUsage]);
14
+ const metricBytesSize = getMetricBytesCommonSize([section.dataSize, section.diskUsage]);
14
15
  return (_jsxs("div", { className: b('cards'), children: [_jsx("div", { className: b('card'), children: _jsxs("div", { className: b('main'), children: [_jsx(MetricCard, { title: i18n('field_storage-usage-data-size'), value: formatMetricBytes(section.dataSize, metricBytesSize), note: i18n('context_storage-usage-data-size-description') }), _jsx(MetricCard, { title: i18n('field_storage-usage-disk-usage'), value: formatMetricBytes(section.diskUsage, metricBytesSize) }), _jsx(MetricCard, { title: i18n('field_storage-usage-overhead'), value: formatOverhead(section.diskUsage, section.dataSize), note: i18n('context_storage-usage-overhead-description') })] }) }), _jsx("div", { className: b('card', { groups: true }), children: _jsx(MetricCard, { title: i18n('field_storage-usage-storage-groups'), value: formatNumber(section.storageGroupsCount) || '0' }) })] }));
15
16
  }
16
17
  //# sourceMappingURL=MediaSectionSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MediaSectionSummary.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,iDAAiD,CAAC;AAC7E,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,4BAA4B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAY1C,SAAS,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAkB;IACrD,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,aAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YAAE,KAAK,GAAQ,EAC1C,MAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aACnE,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,KAAK,GAAQ,EACrC,IAAI,CAAC,CAAC,CAAC,CACJ,KAAC,QAAQ,IAAC,QAAQ,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,YACvD,IAAI,GACE,CACd,CAAC,CAAC,CAAC,IAAI,IACL,IACL,CACT,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAC,OAAO,EAA2B;IACnE,MAAM,eAAe,GAAG,4BAA4B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5F,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,+BAA+B,CAAC,EAC5C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3D,IAAI,EAAE,IAAI,CAAC,6CAA6C,CAAC,GAC3D,EACF,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAC7C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,GAC9D,EACF,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAC3C,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1D,IAAI,EAAE,IAAI,CAAC,4CAA4C,CAAC,GAC1D,IACA,GACJ,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,YACrC,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,oCAAoC,CAAC,EACjD,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,GACxD,GACA,IACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"MediaSectionSummary.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/StorageUsage/MediaSectionSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAE3E,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAY1C,SAAS,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAkB;IACrD,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,aAC5B,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YAAE,KAAK,GAAQ,EAC1C,MAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aACnE,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,KAAK,GAAQ,EACrC,IAAI,CAAC,CAAC,CAAC,CACJ,KAAC,QAAQ,IAAC,QAAQ,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,uBAAuB,CAAC,YACvD,IAAI,GACE,CACd,CAAC,CAAC,CAAC,IAAI,IACL,IACL,CACT,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAC,OAAO,EAA2B;IACnE,MAAM,eAAe,GAAG,wBAAwB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAExF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,+BAA+B,CAAC,EAC5C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3D,IAAI,EAAE,IAAI,CAAC,6CAA6C,CAAC,GAC3D,EACF,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,gCAAgC,CAAC,EAC7C,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,GAC9D,EACF,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAC3C,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC1D,IAAI,EAAE,IAAI,CAAC,4CAA4C,CAAC,GAC1D,IACA,GACJ,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,YACrC,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,oCAAoC,CAAC,EACjD,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,GACxD,GACA,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,13 @@
1
+ import './MetricPageSummary.scss';
2
+ type MetricPageSummaryProgressTheme = 'neutral' | 'success' | 'warning' | 'danger';
3
+ interface MetricPageSummaryProps {
4
+ className?: string;
5
+ dataQa: string;
6
+ description: string;
7
+ legend?: string;
8
+ percentText: string;
9
+ progressTheme: MetricPageSummaryProgressTheme;
10
+ progressValue: number;
11
+ }
12
+ export declare function MetricPageSummary({ className, dataQa, description, legend, percentText, progressTheme, progressValue, }: MetricPageSummaryProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Divider, Text } from '@gravity-ui/uikit';
4
+ import { SegmentedProgress } from '../../../../../components/SegmentedProgress/SegmentedProgress';
5
+ import { cn } from '../../../../../utils/cn';
6
+ import i18n from '../i18n';
7
+ import './MetricPageSummary.scss';
8
+ const b = cn('ydb-tenant-metric-page-summary');
9
+ export function MetricPageSummary({ className, dataQa, description, legend, percentText, progressTheme, progressValue, }) {
10
+ const hasLegend = legend !== undefined;
11
+ return (_jsx("div", { className: b(null, className), "data-qa": dataQa, children: _jsxs("div", { className: b('content'), children: [_jsxs("div", { className: b('header'), children: [_jsx(Text, { className: b('description'), color: "secondary", "data-qa": "tenant-page-metric-summary-description", children: description }), _jsxs("div", { className: b('values'), children: [_jsx(Text, { color: "secondary", "data-qa": "tenant-page-metric-summary-percent", children: i18n('context_metric-summary-used', { value: percentText }) }), hasLegend && (_jsxs(React.Fragment, { children: [_jsx(Divider, { className: b('divider'), orientation: "vertical" }), _jsx(Text, { color: "secondary", "data-qa": "tenant-page-metric-summary-value", children: legend })] }))] })] }), _jsx(SegmentedProgress, { className: b('progress'), dataQa: "tenant-page-metric-summary-progress", value: progressValue, total: 100, theme: progressTheme, hideLabels: true, ariaLabel: description })] }) }));
12
+ }
13
+ //# sourceMappingURL=MetricPageSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricPageSummary.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricPageSummary/MetricPageSummary.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,+DAA+D,CAAC;AAChG,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;AAc/C,MAAM,UAAU,iBAAiB,CAAC,EAC9B,SAAS,EACT,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,aAAa,EACb,aAAa,GACQ;IACrB,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC;IAEvC,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,aAAW,MAAM,YAC/C,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aACxB,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACvB,KAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,EAC3B,KAAK,EAAC,WAAW,aACT,wCAAwC,YAE/C,WAAW,GACT,EACP,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACvB,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,aAAS,oCAAoC,YAC/D,IAAI,CAAC,6BAA6B,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,GACvD,EACN,SAAS,IAAI,CACV,MAAC,KAAK,CAAC,QAAQ,eACX,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,EAAC,UAAU,GAAG,EAC3D,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,aAAS,kCAAkC,YAC7D,MAAM,GACJ,IACM,CACpB,IACC,IACJ,EACN,KAAC,iBAAiB,IACd,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EACxB,MAAM,EAAC,qCAAqC,EAC5C,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,aAAa,EACpB,UAAU,QACV,SAAS,EAAE,WAAW,GACxB,IACA,GACJ,CACT,CAAC;AACN,CAAC"}
@@ -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"}