ydb-embedded-ui 11.4.0 → 11.5.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 (326) hide show
  1. package/dist/components/EntityStatus/EntityStatus.js +2 -1
  2. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  3. package/dist/components/EntityStatus/EntityStatus.scss +0 -4
  4. package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +3 -1
  5. package/dist/components/FixedHeightQuery/FixedHeightQuery.js +5 -3
  6. package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -1
  7. package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +5 -1
  8. package/dist/components/HoverPopup/HoverPopup.d.ts +0 -1
  9. package/dist/components/HoverPopup/HoverPopup.js +2 -4
  10. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  11. package/dist/components/InfoViewer/InfoViewer.d.ts +2 -1
  12. package/dist/components/InfoViewer/InfoViewer.js +2 -2
  13. package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
  14. package/dist/components/InfoViewer/InfoViewer.scss +20 -0
  15. package/dist/components/MemoryViewer/MemoryViewer.d.ts +1 -1
  16. package/dist/components/MemoryViewer/MemoryViewer.js +3 -3
  17. package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
  18. package/dist/components/MemoryViewer/MemoryViewer.scss +5 -13
  19. package/dist/components/MemoryViewer/i18n/en.json +2 -1
  20. package/dist/components/MemoryViewer/i18n/index.d.ts +1 -1
  21. package/dist/components/MemoryViewer/utils.d.ts +3 -3
  22. package/dist/components/MemoryViewer/utils.js +12 -1
  23. package/dist/components/MemoryViewer/utils.js.map +1 -1
  24. package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
  25. package/dist/components/ProgressViewer/ProgressViewer.js +2 -9
  26. package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
  27. package/dist/components/ProgressWrapper/ProgressContainer.d.ts +2 -0
  28. package/dist/components/ProgressWrapper/ProgressContainer.js +8 -0
  29. package/dist/components/ProgressWrapper/ProgressContainer.js.map +1 -0
  30. package/dist/components/ProgressWrapper/ProgressWrapper.d.ts +2 -0
  31. package/dist/components/ProgressWrapper/ProgressWrapper.js +10 -0
  32. package/dist/components/ProgressWrapper/ProgressWrapper.js.map +1 -0
  33. package/dist/components/ProgressWrapper/SingleProgress.d.ts +2 -0
  34. package/dist/components/ProgressWrapper/SingleProgress.js +24 -0
  35. package/dist/components/ProgressWrapper/SingleProgress.js.map +1 -0
  36. package/dist/components/ProgressWrapper/StackProgress.d.ts +2 -0
  37. package/dist/components/ProgressWrapper/StackProgress.js +39 -0
  38. package/dist/components/ProgressWrapper/StackProgress.js.map +1 -0
  39. package/dist/components/ProgressWrapper/i18n/en.json +4 -0
  40. package/dist/components/ProgressWrapper/i18n/index.d.ts +2 -0
  41. package/dist/components/ProgressWrapper/i18n/index.js +8 -0
  42. package/dist/components/ProgressWrapper/i18n/index.js.map +1 -0
  43. package/dist/components/ProgressWrapper/index.d.ts +6 -0
  44. package/dist/components/ProgressWrapper/index.js +9 -0
  45. package/dist/components/ProgressWrapper/index.js.map +1 -0
  46. package/dist/components/ProgressWrapper/progressUtils.d.ts +13 -0
  47. package/dist/components/ProgressWrapper/progressUtils.js +35 -0
  48. package/dist/components/ProgressWrapper/progressUtils.js.map +1 -0
  49. package/dist/components/ProgressWrapper/types.d.ts +29 -0
  50. package/dist/components/ProgressWrapper/types.js +2 -0
  51. package/dist/components/ProgressWrapper/types.js.map +1 -0
  52. package/dist/components/QueriesActivityBar/QueriesActivityAlert.d.ts +8 -0
  53. package/dist/components/QueriesActivityBar/QueriesActivityAlert.js +26 -0
  54. package/dist/components/QueriesActivityBar/QueriesActivityAlert.js.map +1 -0
  55. package/dist/components/QueriesActivityBar/QueriesActivityAlert.scss +25 -0
  56. package/dist/components/QueriesActivityBar/QueriesActivityBar.js +16 -96
  57. package/dist/components/QueriesActivityBar/QueriesActivityBar.js.map +1 -1
  58. package/dist/components/QueriesActivityBar/QueriesActivityBar.scss +2 -48
  59. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js +5 -2
  60. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js.map +1 -1
  61. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.d.ts +21 -0
  62. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js +34 -0
  63. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js.map +1 -0
  64. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.d.ts +2 -0
  65. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js +9 -0
  66. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js.map +1 -0
  67. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.scss +6 -0
  68. package/dist/components/QueriesActivityBar/useQueriesActivityData.d.ts +11 -0
  69. package/dist/components/QueriesActivityBar/useQueriesActivityData.js +71 -0
  70. package/dist/components/QueriesActivityBar/useQueriesActivityData.js.map +1 -0
  71. package/dist/components/SeeAllButton/SeeAllButton.d.ts +7 -0
  72. package/dist/components/SeeAllButton/SeeAllButton.js +9 -0
  73. package/dist/components/SeeAllButton/SeeAllButton.js.map +1 -0
  74. package/dist/components/SeeAllButton/i18n/en.json +3 -0
  75. package/dist/components/SeeAllButton/i18n/index.d.ts +2 -0
  76. package/dist/components/SeeAllButton/i18n/index.js +5 -0
  77. package/dist/components/SeeAllButton/i18n/index.js.map +1 -0
  78. package/dist/components/ShardsTable/columns.js +1 -1
  79. package/dist/components/ShardsTable/columns.js.map +1 -1
  80. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js +2 -1
  81. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js.map +1 -1
  82. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.scss +0 -3
  83. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.d.ts +2 -0
  84. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js +4 -9
  85. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js.map +1 -1
  86. package/dist/components/SyntaxHighlighter/themes.d.ts +6 -6
  87. package/dist/components/SyntaxHighlighter/themes.js +8 -0
  88. package/dist/components/SyntaxHighlighter/themes.js.map +1 -1
  89. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +6 -0
  90. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +6 -0
  91. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -0
  92. package/dist/components/VersionsBar/VersionsBar.d.ts +7 -0
  93. package/dist/components/VersionsBar/VersionsBar.js +83 -0
  94. package/dist/components/VersionsBar/VersionsBar.js.map +1 -0
  95. package/dist/components/VersionsBar/VersionsBar.scss +36 -0
  96. package/dist/components/VersionsBar/i18n/en.json +8 -0
  97. package/dist/components/VersionsBar/i18n/index.d.ts +2 -0
  98. package/dist/components/VersionsBar/i18n/index.js +5 -0
  99. package/dist/components/VersionsBar/i18n/index.js.map +1 -0
  100. package/dist/components/nodesColumns/columns.js +3 -3
  101. package/dist/components/nodesColumns/columns.js.map +1 -1
  102. package/dist/containers/App/App.scss +4 -0
  103. package/dist/containers/AsideNavigation/AsideNavigation.scss +1 -1
  104. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +0 -8
  105. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -1
  106. package/dist/containers/AsideNavigation/i18n/en.json +0 -2
  107. package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
  108. package/dist/containers/Cluster/VersionsBar/VersionsBar.d.ts +1 -1
  109. package/dist/containers/Cluster/VersionsBar/VersionsBar.js.map +1 -1
  110. package/dist/containers/Clusters/Clusters.scss +0 -4
  111. package/dist/containers/Clusters/columns.js +3 -11
  112. package/dist/containers/Clusters/columns.js.map +1 -1
  113. package/dist/containers/Clusters/i18n/en.json +4 -1
  114. package/dist/containers/Node/Node.js +4 -0
  115. package/dist/containers/Node/Node.js.map +1 -1
  116. package/dist/containers/Node/NodePages.d.ts +5 -0
  117. package/dist/containers/Node/NodePages.js +7 -0
  118. package/dist/containers/Node/NodePages.js.map +1 -1
  119. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.d.ts +8 -0
  120. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js +14 -0
  121. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js.map +1 -0
  122. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.scss +6 -0
  123. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +8 -0
  124. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js +72 -0
  125. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js.map +1 -0
  126. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.scss +10 -0
  127. package/dist/containers/Node/Threads/Threads.d.ts +6 -0
  128. package/dist/containers/Node/Threads/Threads.js +17 -0
  129. package/dist/containers/Node/Threads/Threads.js.map +1 -0
  130. package/dist/containers/Node/Threads/columns.d.ts +3 -0
  131. package/dist/containers/Node/Threads/columns.js +52 -0
  132. package/dist/containers/Node/Threads/columns.js.map +1 -0
  133. package/dist/containers/Node/Threads/i18n/en.json +11 -0
  134. package/dist/containers/Node/Threads/i18n/index.d.ts +2 -0
  135. package/dist/containers/Node/Threads/i18n/index.js +5 -0
  136. package/dist/containers/Node/Threads/i18n/index.js.map +1 -0
  137. package/dist/containers/Node/i18n/en.json +1 -0
  138. package/dist/containers/Node/i18n/index.d.ts +1 -1
  139. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +3 -3
  140. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  141. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.scss +0 -6
  142. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js +4 -6
  143. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js.map +1 -1
  144. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +2 -1
  145. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  146. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +1 -1
  147. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.d.ts → MetricsTabs/MetricsTabs.d.ts} +4 -3
  148. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.js → MetricsTabs/MetricsTabs.js} +16 -9
  149. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -0
  150. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.scss → MetricsTabs/MetricsTabs.scss} +5 -5
  151. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.d.ts +11 -0
  152. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js +10 -0
  153. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js.map +1 -0
  154. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.scss +14 -0
  155. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.d.ts +2 -4
  156. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js +2 -2
  157. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js.map +1 -1
  158. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +2 -4
  159. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +13 -2
  160. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
  161. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -14
  162. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js.map +1 -1
  163. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -14
  164. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js.map +1 -1
  165. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +13 -46
  166. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js.map +1 -1
  167. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +1 -17
  168. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
  169. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +9 -2
  170. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js.map +1 -1
  171. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.scss +1 -1
  172. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.d.ts +7 -0
  173. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js +34 -0
  174. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js.map +1 -0
  175. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.scss +44 -0
  176. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.d.ts +7 -0
  177. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js +28 -0
  178. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js.map +1 -0
  179. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.d.ts +1 -0
  180. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +28 -5
  181. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
  182. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +20 -0
  183. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -14
  184. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js.map +1 -1
  185. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.d.ts +8 -0
  186. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +26 -0
  187. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -0
  188. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.scss +9 -0
  189. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.d.ts +7 -0
  190. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js +28 -0
  191. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js.map +1 -0
  192. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.d.ts +7 -0
  193. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js +28 -0
  194. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js.map +1 -0
  195. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.d.ts +76 -0
  196. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js +38 -0
  197. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js.map +1 -0
  198. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +9 -3
  199. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  200. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +6 -7
  201. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.d.ts +1 -1
  202. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -1
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js.map +1 -1
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +0 -1
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +13 -7
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  207. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -15
  208. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.d.ts +0 -1
  210. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +14 -19
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js.map +1 -1
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +19 -21
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  214. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +22 -0
  215. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +29 -0
  216. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -0
  217. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +2 -24
  218. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +2 -13
  220. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  221. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +10 -13
  222. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  223. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js +0 -2
  224. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js.map +1 -1
  225. package/dist/containers/Tenant/Query/QueryEditor/keybindings.d.ts +0 -2
  226. package/dist/containers/Tenant/Query/QueryEditor/keybindings.js +0 -2
  227. package/dist/containers/Tenant/Query/QueryEditor/keybindings.js.map +1 -1
  228. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +25 -19
  229. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  230. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +1 -1
  231. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
  232. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +1 -1
  233. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
  234. package/dist/containers/Versions/Versions.js +8 -8
  235. package/dist/containers/Versions/Versions.js.map +1 -1
  236. package/dist/containers/Versions/groupNodes.d.ts +4 -4
  237. package/dist/containers/Versions/groupNodes.js +9 -9
  238. package/dist/containers/Versions/groupNodes.js.map +1 -1
  239. package/dist/containers/Versions/groupNodes.test.js +22 -20
  240. package/dist/containers/Versions/groupNodes.test.js.map +1 -1
  241. package/dist/containers/Versions/types.d.ts +1 -1
  242. package/dist/containers/Versions/utils.d.ts +4 -4
  243. package/dist/containers/Versions/utils.js +15 -15
  244. package/dist/containers/Versions/utils.js.map +1 -1
  245. package/dist/services/api/index.d.ts +6 -4
  246. package/dist/services/api/index.js +2 -2
  247. package/dist/services/api/index.js.map +1 -1
  248. package/dist/services/api/viewer.js +1 -0
  249. package/dist/services/api/viewer.js.map +1 -1
  250. package/dist/store/reducers/capabilities/capabilities.d.ts +125 -0
  251. package/dist/store/reducers/capabilities/capabilities.js +1 -0
  252. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  253. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  254. package/dist/store/reducers/capabilities/hooks.js +5 -1
  255. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  256. package/dist/store/reducers/clusters/types.d.ts +2 -2
  257. package/dist/store/reducers/clusters/utils.js +3 -3
  258. package/dist/store/reducers/clusters/utils.js.map +1 -1
  259. package/dist/store/reducers/query/__test__/tabPersistence.test.d.ts +1 -0
  260. package/dist/store/reducers/query/__test__/tabPersistence.test.js +62 -0
  261. package/dist/store/reducers/query/__test__/tabPersistence.test.js.map +1 -0
  262. package/dist/store/reducers/query/query.d.ts +14 -1
  263. package/dist/store/reducers/query/query.js +10 -2
  264. package/dist/store/reducers/query/query.js.map +1 -1
  265. package/dist/store/reducers/query/types.d.ts +4 -0
  266. package/dist/store/reducers/tenant/constants.d.ts +1 -0
  267. package/dist/store/reducers/tenant/constants.js +1 -0
  268. package/dist/store/reducers/tenant/constants.js.map +1 -1
  269. package/dist/store/reducers/tenant/tenant.js +2 -1
  270. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  271. package/dist/store/reducers/tenant/types.d.ts +1 -1
  272. package/dist/styles/mixins.scss +6 -0
  273. package/dist/types/api/capabilities.d.ts +3 -0
  274. package/dist/types/api/nodes.d.ts +3 -0
  275. package/dist/types/api/nodes.js.map +1 -1
  276. package/dist/types/api/systemState.d.ts +3 -0
  277. package/dist/types/api/threads.d.ts +60 -0
  278. package/dist/types/api/threads.js +32 -0
  279. package/dist/types/api/threads.js.map +1 -0
  280. package/dist/utils/constants.d.ts +2 -1
  281. package/dist/utils/constants.js +2 -1
  282. package/dist/utils/constants.js.map +1 -1
  283. package/dist/utils/hooks/index.d.ts +1 -0
  284. package/dist/utils/hooks/index.js +1 -0
  285. package/dist/utils/hooks/index.js.map +1 -1
  286. package/dist/utils/hooks/useScrollPosition.d.ts +7 -0
  287. package/dist/utils/hooks/useScrollPosition.js +100 -0
  288. package/dist/utils/hooks/useScrollPosition.js.map +1 -0
  289. package/dist/utils/metrics/formatMetricLegend.d.ts +1 -0
  290. package/dist/utils/metrics/formatMetricLegend.js +21 -0
  291. package/dist/utils/metrics/formatMetricLegend.js.map +1 -1
  292. package/dist/utils/metrics.d.ts +1 -1
  293. package/dist/utils/metrics.js +1 -1
  294. package/dist/utils/progress.d.ts +2 -0
  295. package/dist/utils/progress.js +7 -0
  296. package/dist/utils/progress.js.map +1 -1
  297. package/dist/utils/versions/__test__/sortVersions.test.d.ts +1 -0
  298. package/dist/utils/versions/__test__/sortVersions.test.js +106 -0
  299. package/dist/utils/versions/__test__/sortVersions.test.js.map +1 -0
  300. package/dist/utils/versions/clusterVersionColors.d.ts +5 -0
  301. package/dist/utils/versions/clusterVersionColors.js +71 -0
  302. package/dist/utils/versions/clusterVersionColors.js.map +1 -0
  303. package/dist/utils/versions/getVersionsColors.d.ts +4 -3
  304. package/dist/utils/versions/getVersionsColors.js +24 -9
  305. package/dist/utils/versions/getVersionsColors.js.map +1 -1
  306. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +3 -3
  307. package/dist/utils/versions/parseNodesToVersionsValues.js +5 -5
  308. package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
  309. package/dist/utils/versions/sortVersions.d.ts +18 -0
  310. package/dist/utils/versions/sortVersions.js +41 -0
  311. package/dist/utils/versions/sortVersions.js.map +1 -0
  312. package/dist/utils/versions/types.d.ts +22 -0
  313. package/dist/utils/versions/types.js +2 -0
  314. package/dist/utils/versions/types.js.map +1 -0
  315. package/package.json +2 -2
  316. package/dist/components/HoverPopup/HoverPopup.scss +0 -3
  317. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +0 -1
  318. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.d.ts +0 -9
  319. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js +0 -12
  320. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js.map +0 -1
  321. package/dist/types/versions.d.ts +0 -8
  322. package/dist/types/versions.js +0 -2
  323. package/dist/types/versions.js.map +0 -1
  324. package/dist/utils/clusterVersionColors.d.ts +0 -11
  325. package/dist/utils/clusterVersionColors.js +0 -53
  326. package/dist/utils/clusterVersionColors.js.map +0 -1
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Thread pool information with detailed statistics
3
+ * Based on the thread information shown in the node page
4
+ */
5
+ export interface TThreadPoolInfo {
6
+ /** Thread pool name (e.g., AwsEventLoop, klktmr.IC) */
7
+ Name?: string;
8
+ /** Number of threads in the pool */
9
+ Threads?: number;
10
+ /** System CPU usage (0-1 range) */
11
+ SystemUsage?: number;
12
+ /** User CPU usage (0-1 range) */
13
+ UserUsage?: number;
14
+ /** Number of minor page faults */
15
+ MinorPageFaults?: number;
16
+ /** Number of major page faults */
17
+ MajorPageFaults?: number;
18
+ /** Thread states with counts */
19
+ States?: Record<string, number>;
20
+ }
21
+ /**
22
+ * Response containing thread pool information for a node
23
+ */
24
+ export interface TThreadPoolsResponse {
25
+ /** Array of thread pools */
26
+ Threads?: TThreadPoolInfo[];
27
+ /** Response time */
28
+ ResponseTime?: string;
29
+ ResponseDuration?: number;
30
+ }
31
+ /**
32
+ * Thread states enum based on Linux process states
33
+ * Reference: https://manpages.ubuntu.com/manpages/noble/man5/proc_pid_stat.5.html
34
+ */
35
+ export declare enum ThreadState {
36
+ /** Running */
37
+ R = "R",
38
+ /** Sleeping in an interruptible wait */
39
+ S = "S",
40
+ /** Waiting in uninterruptible disk sleep */
41
+ D = "D",
42
+ /** Zombie */
43
+ Z = "Z",
44
+ /** Stopped (on a signal) */
45
+ T = "T",
46
+ /** Tracing stop */
47
+ t = "t",
48
+ /** Paging (not valid since Linux 2.6.0) */
49
+ W = "W",
50
+ /** Dead (should never be seen) */
51
+ X = "X",
52
+ /** Dead (Linux 2.6.0 and later) */
53
+ x = "x",
54
+ /** Wakekill (Linux 2.6.33 and later) */
55
+ K = "K",
56
+ /** Waking (Linux 2.6.33 and later) */
57
+ W_WAKE = "W",
58
+ /** Parked (Linux 3.9 and later) */
59
+ P = "P"
60
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Thread states enum based on Linux process states
3
+ * Reference: https://manpages.ubuntu.com/manpages/noble/man5/proc_pid_stat.5.html
4
+ */
5
+ export var ThreadState;
6
+ (function (ThreadState) {
7
+ /** Running */
8
+ ThreadState["R"] = "R";
9
+ /** Sleeping in an interruptible wait */
10
+ ThreadState["S"] = "S";
11
+ /** Waiting in uninterruptible disk sleep */
12
+ ThreadState["D"] = "D";
13
+ /** Zombie */
14
+ ThreadState["Z"] = "Z";
15
+ /** Stopped (on a signal) */
16
+ ThreadState["T"] = "T";
17
+ /** Tracing stop */
18
+ ThreadState["t"] = "t";
19
+ /** Paging (not valid since Linux 2.6.0) */
20
+ ThreadState["W"] = "W";
21
+ /** Dead (should never be seen) */
22
+ ThreadState["X"] = "X";
23
+ /** Dead (Linux 2.6.0 and later) */
24
+ ThreadState["x"] = "x";
25
+ /** Wakekill (Linux 2.6.33 and later) */
26
+ ThreadState["K"] = "K";
27
+ /** Waking (Linux 2.6.33 and later) */
28
+ ThreadState["W_WAKE"] = "W";
29
+ /** Parked (Linux 3.9 and later) */
30
+ ThreadState["P"] = "P";
31
+ })(ThreadState || (ThreadState = {}));
32
+ //# sourceMappingURL=threads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/types/api/threads.ts"],"names":[],"mappings":"AAgCA;;;GAGG;AACH,MAAM,CAAN,IAAY,WAyBX;AAzBD,WAAY,WAAW;IACnB,cAAc;IACd,sBAAO,CAAA;IACP,wCAAwC;IACxC,sBAAO,CAAA;IACP,4CAA4C;IAC5C,sBAAO,CAAA;IACP,aAAa;IACb,sBAAO,CAAA;IACP,4BAA4B;IAC5B,sBAAO,CAAA;IACP,mBAAmB;IACnB,sBAAO,CAAA;IACP,2CAA2C;IAC3C,sBAAO,CAAA;IACP,kCAAkC;IAClC,sBAAO,CAAA;IACP,mCAAmC;IACnC,sBAAO,CAAA;IACP,wCAAwC;IACxC,sBAAO,CAAA;IACP,sCAAsC;IACtC,2BAAY,CAAA;IACZ,mCAAmC;IACnC,sBAAO,CAAA;AACX,CAAC,EAzBW,WAAW,KAAX,WAAW,QAyBtB"}
@@ -55,7 +55,7 @@ export declare const SECTION_IDS: {
55
55
  readonly DEV_SETTINGS: "devSettingsSection";
56
56
  readonly ABOUT: "aboutSettingsSection";
57
57
  };
58
- export declare const TENANT_OVERVIEW_TABLES_LIMIT = 5;
58
+ export declare const TENANT_OVERVIEW_TABLES_LIMIT = 3;
59
59
  export declare const EMPTY_DATA_PLACEHOLDER = "\u2014";
60
60
  export declare const QUERY_TECHNICAL_MARK = "/*UI-QUERY-EXCLUDE*/";
61
61
  export declare const DEVELOPER_UI_TITLE = "Developer UI";
@@ -107,3 +107,4 @@ export declare enum AclSyntax {
107
107
  Ydb = "ydb",
108
108
  Yql = "yql"
109
109
  }
110
+ export declare const YDB_POPOVER_CLASS_NAME = "ydb-popover";
@@ -84,7 +84,7 @@ export const SECTION_IDS = {
84
84
  DEV_SETTINGS: 'devSettingsSection',
85
85
  ABOUT: 'aboutSettingsSection',
86
86
  };
87
- export const TENANT_OVERVIEW_TABLES_LIMIT = 5;
87
+ export const TENANT_OVERVIEW_TABLES_LIMIT = 3;
88
88
  export const EMPTY_DATA_PLACEHOLDER = '—';
89
89
  export const QUERY_TECHNICAL_MARK = '/*UI-QUERY-EXCLUDE*/';
90
90
  // ==== Titles ====
@@ -156,4 +156,5 @@ export var AclSyntax;
156
156
  AclSyntax["Ydb"] = "ydb";
157
157
  AclSyntax["Yql"] = "yql";
158
158
  })(AclSyntax || (AclSyntax = {}));
159
+ export const YDB_POPOVER_CLASS_NAME = 'ydb-popover';
159
160
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ export * from './useAutoRefreshInterval';
9
9
  export * from './useEventHandler';
10
10
  export * from './useDelayed';
11
11
  export * from './useAclSyntax';
12
+ export * from './useScrollPosition';
@@ -9,4 +9,5 @@ export * from './useAutoRefreshInterval';
9
9
  export * from './useEventHandler';
10
10
  export * from './useDelayed';
11
11
  export * from './useAclSyntax';
12
+ export * from './useScrollPosition';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ /**
3
+ * Hook for saving and restoring scroll position on navigation
4
+ * Uses sessionStorage to persist scroll position across browser history navigation
5
+ * Only restores position when navigating via browser back/forward buttons
6
+ */
7
+ export declare function useScrollPosition(elementRef: React.RefObject<HTMLElement>, key: string, shouldRestore: boolean): void;
@@ -0,0 +1,100 @@
1
+ import React from 'react';
2
+ import { debounce } from 'lodash';
3
+ import { useHistory } from 'react-router-dom';
4
+ const DEBOUNCE_DELAY = 100;
5
+ /**
6
+ * Hook for saving and restoring scroll position on navigation
7
+ * Uses sessionStorage to persist scroll position across browser history navigation
8
+ * Only restores position when navigating via browser back/forward buttons
9
+ */
10
+ export function useScrollPosition(elementRef, key, shouldRestore) {
11
+ const history = useHistory();
12
+ // Save scroll position to sessionStorage
13
+ const saveScrollPosition = React.useCallback((scrollTop) => {
14
+ try {
15
+ sessionStorage.setItem(`scroll-${key}`, String(scrollTop));
16
+ }
17
+ catch (error) {
18
+ // Ignore sessionStorage errors (e.g., in private mode)
19
+ console.warn('Failed to save scroll position:', error);
20
+ }
21
+ }, [key]);
22
+ // Clear scroll position from sessionStorage
23
+ const clearScrollPosition = React.useCallback(() => {
24
+ try {
25
+ sessionStorage.removeItem(`scroll-${key}`);
26
+ }
27
+ catch (error) {
28
+ // Ignore sessionStorage errors
29
+ console.warn('Failed to clear scroll position:', error);
30
+ }
31
+ }, [key]);
32
+ // Restore scroll position from sessionStorage
33
+ const restoreScrollPosition = React.useCallback(() => {
34
+ if (!elementRef.current) {
35
+ return;
36
+ }
37
+ try {
38
+ const savedPosition = sessionStorage.getItem(`scroll-${key}`);
39
+ if (savedPosition !== null) {
40
+ const scrollTop = parseInt(savedPosition, 10);
41
+ if (!isNaN(scrollTop)) {
42
+ elementRef.current.scrollTop = scrollTop;
43
+ }
44
+ }
45
+ }
46
+ catch (error) {
47
+ // Ignore sessionStorage errors
48
+ console.warn('Failed to restore scroll position:', error);
49
+ }
50
+ }, [elementRef, key]);
51
+ // Create debounced save function
52
+ const debouncedSaveScrollPosition = React.useMemo(() => debounce((scrollTop) => {
53
+ saveScrollPosition(scrollTop);
54
+ }, DEBOUNCE_DELAY), [saveScrollPosition]);
55
+ // Handle scroll events with debouncing
56
+ const handleScroll = React.useCallback(() => {
57
+ if (!elementRef.current) {
58
+ return;
59
+ }
60
+ debouncedSaveScrollPosition(elementRef.current.scrollTop);
61
+ }, [elementRef, debouncedSaveScrollPosition]);
62
+ // Detect if navigation is via browser back/forward
63
+ const isHistoryNavigation = React.useMemo(() => {
64
+ // Check if this is a browser back/forward navigation
65
+ // React Router v5 doesn't provide direct way to detect this,
66
+ // but we can use history.action to determine the type of navigation
67
+ return history.action === 'POP';
68
+ }, [history.action]);
69
+ // Handle location changes
70
+ React.useLayoutEffect(() => {
71
+ let timeoutId;
72
+ if (isHistoryNavigation && shouldRestore) {
73
+ // This is a browser back/forward navigation - restore position with timeout to ensure that content rendered
74
+ timeoutId = window.setTimeout(restoreScrollPosition, 100);
75
+ }
76
+ else {
77
+ // This is a regular navigation (tab click, page reload) - clear position
78
+ clearScrollPosition();
79
+ }
80
+ return () => clearTimeout(timeoutId);
81
+ }, [
82
+ isHistoryNavigation,
83
+ restoreScrollPosition,
84
+ clearScrollPosition,
85
+ elementRef,
86
+ shouldRestore,
87
+ ]);
88
+ React.useEffect(() => {
89
+ const element = elementRef.current;
90
+ if (!element) {
91
+ return;
92
+ }
93
+ element.addEventListener('scroll', handleScroll, { passive: true });
94
+ return () => {
95
+ element.removeEventListener('scroll', handleScroll);
96
+ debouncedSaveScrollPosition.cancel();
97
+ };
98
+ }, [handleScroll, debouncedSaveScrollPosition, elementRef]);
99
+ }
100
+ //# sourceMappingURL=useScrollPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollPosition.js","sourceRoot":"","sources":["../../../src/utils/hooks/useScrollPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,UAAwC,EACxC,GAAW,EACX,aAAsB;IAEtB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,SAAiB,EAAE,EAAE;QAClB,IAAI,CAAC;YACD,cAAc,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,uDAAuD;YACvD,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,EACD,CAAC,GAAG,CAAC,CACR,CAAC;IAEF,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC;YACD,cAAc,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,+BAA+B;YAC/B,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,8CAA8C;IAC9C,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;YAC9D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpB,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC7C,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,+BAA+B;YAC/B,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtB,iCAAiC;IACjC,MAAM,2BAA2B,GAAG,KAAK,CAAC,OAAO,CAC7C,GAAG,EAAE,CACD,QAAQ,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC3B,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EAAE,cAAc,CAAC,EACtB,CAAC,kBAAkB,CAAC,CACvB,CAAC;IAEF,uCAAuC;IACvC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,2BAA2B,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAE9C,mDAAmD;IACnD,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3C,qDAAqD;QACrD,6DAA6D;QAC7D,oEAAoE;QACpE,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,0BAA0B;IAC1B,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACvB,IAAI,SAA6B,CAAC;QAClC,IAAI,mBAAmB,IAAI,aAAa,EAAE,CAAC;YACvC,4GAA4G;YAC5G,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACJ,yEAAyE;YACzE,mBAAmB,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,EAAE;QACC,mBAAmB;QACnB,qBAAqB;QACrB,mBAAmB;QACnB,UAAU;QACV,aAAa;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpD,2BAA2B,CAAC,MAAM,EAAE,CAAC;QACzC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAC,CAAC;AAChE,CAAC"}
@@ -4,3 +4,4 @@ export interface MetricFormatParams {
4
4
  }
5
5
  export declare function formatStorageLegend({ value, capacity }: MetricFormatParams): string;
6
6
  export declare function formatCoresLegend({ value, capacity }: MetricFormatParams): string;
7
+ export declare function formatSpeedLegend({ value, capacity }: MetricFormatParams): string;
@@ -1,3 +1,4 @@
1
+ import { formatBytes, getBytesSizeUnit } from '../bytesParsers';
1
2
  import { formatNumber, formatNumericValues, formatStorageValues, } from '../dataFormatters/dataFormatters';
2
3
  import i18n from './i18n';
3
4
  export function formatStorageLegend({ value, capacity }) {
@@ -14,4 +15,24 @@ export function formatCoresLegend({ value, capacity }) {
14
15
  }
15
16
  return `${formatted[0]} ${i18n('context_of')} ${formatted[1]} ${i18n('context_cores')}`;
16
17
  }
18
+ export function formatSpeedLegend({ value, capacity }) {
19
+ // Determine unit based on capacity
20
+ const unit = getBytesSizeUnit(capacity);
21
+ // Format used value without units
22
+ const usedSpeed = formatBytes({
23
+ value,
24
+ size: unit,
25
+ precision: 2,
26
+ withSpeedLabel: false,
27
+ withSizeLabel: false,
28
+ });
29
+ // Format limit with speed units
30
+ const limitSpeed = formatBytes({
31
+ value: capacity,
32
+ size: unit,
33
+ precision: 2,
34
+ withSpeedLabel: true,
35
+ });
36
+ return `${usedSpeed} ${i18n('context_of')} ${limitSpeed}`;
37
+ }
17
38
  //# sourceMappingURL=formatMetricLegend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatMetricLegend.js","sourceRoot":"","sources":["../../../src/utils/metrics/formatMetricLegend.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAM,EAAE,CAAC;QACpB,SAAS,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"formatMetricLegend.js","sourceRoot":"","sources":["../../../src/utils/metrics/formatMetricLegend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAM,EAAE,CAAC;QACpB,SAAS,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,mCAAmC;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAExC,kCAAkC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC;QAC1B,KAAK;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,gCAAgC;IAChC,MAAM,UAAU,GAAG,WAAW,CAAC;QAC3B,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,EAAE,CAAC;AAC9D,CAAC"}
@@ -37,6 +37,6 @@ export declare const createDiagnosticsCardMetric: <T extends MetricWithUsage>(it
37
37
  export declare const getHighestSeverityStatus: (statuses: MetricStatus[]) => MetricStatus;
38
38
  /**
39
39
  * Calculate metric aggregates (sum of used/limit values) and determine status
40
- * This replaces the repetitive calculation logic from MetricsCards.tsx
40
+ * This replaces the repetitive calculation logic from MetricsTabs.tsx
41
41
  */
42
42
  export declare const calculateMetricAggregates: <T extends MetricStats>(items?: T[]) => MetricAggregates;
@@ -34,7 +34,7 @@ export const getHighestSeverityStatus = (statuses) => {
34
34
  };
35
35
  /**
36
36
  * Calculate metric aggregates (sum of used/limit values) and determine status
37
- * This replaces the repetitive calculation logic from MetricsCards.tsx
37
+ * This replaces the repetitive calculation logic from MetricsTabs.tsx
38
38
  */
39
39
  export const calculateMetricAggregates = (items = []) => {
40
40
  // Sum up used and limit values with proper number formatting
@@ -1,4 +1,6 @@
1
1
  export type ProgressStatus = 'good' | 'warning' | 'danger';
2
+ export type FormatProgressViewerValues = (value?: number, capacity?: number) => (string | number | undefined)[];
3
+ export declare const defaultFormatProgressValues: FormatProgressViewerValues;
2
4
  interface CalculateProgressStatusProps {
3
5
  inverseColorize?: boolean;
4
6
  dangerThreshold?: number;
@@ -1,4 +1,11 @@
1
1
  import { DEFAULT_DANGER_THRESHOLD, DEFAULT_WARNING_THRESHOLD } from './constants';
2
+ import { formatNumber, roundToPrecision } from './dataFormatters/dataFormatters';
3
+ const formatValue = (value) => {
4
+ return formatNumber(roundToPrecision(value || 0, 2));
5
+ };
6
+ export const defaultFormatProgressValues = (value, total) => {
7
+ return [formatValue(value), formatValue(total)];
8
+ };
2
9
  export function calculateProgressStatus({ inverseColorize, warningThreshold = DEFAULT_WARNING_THRESHOLD, dangerThreshold = DEFAULT_DANGER_THRESHOLD, colorizeProgress, fillWidth, }) {
3
10
  let status = inverseColorize ? 'danger' : 'good';
4
11
  if (colorizeProgress) {
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAYhF,MAAM,UAAU,uBAAuB,CAAC,EACpC,eAAe,EACf,gBAAgB,GAAG,yBAAyB,EAC5C,eAAe,GAAG,wBAAwB,EAC1C,gBAAgB,EAChB,SAAS,GACkB;IAC3B,IAAI,MAAM,GAAmB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,gBAAgB,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;YACrC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAChF,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAS/E,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;IACnC,OAAO,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACpF,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAUF,MAAM,UAAU,uBAAuB,CAAC,EACpC,eAAe,EACf,gBAAgB,GAAG,yBAAyB,EAC5C,eAAe,GAAG,wBAAwB,EAC1C,gBAAgB,EAChB,SAAS,GACkB;IAC3B,IAAI,MAAM,GAAmB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,gBAAgB,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;YACrC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { sortVersions } from '../sortVersions';
2
+ describe('sortVersions', () => {
3
+ test('should sort versions by majorIndex in ascending order', function () {
4
+ const versions = [
5
+ { version: 'v2.0.0', majorIndex: 1 },
6
+ { version: 'v1.0.0', majorIndex: 2 },
7
+ { version: 'v3.0.0', majorIndex: 0 },
8
+ ];
9
+ const sortedVersions = sortVersions(versions);
10
+ expect(sortedVersions).toEqual([
11
+ { version: 'v3.0.0', majorIndex: 0 },
12
+ { version: 'v2.0.0', majorIndex: 1 },
13
+ { version: 'v1.0.0', majorIndex: 2 },
14
+ ]);
15
+ });
16
+ test('should place versions with undefined majorIndex after versions with defined majorIndex', function () {
17
+ const versions = [
18
+ { version: 'v2.0.0', majorIndex: undefined },
19
+ { version: 'v1.0.0', majorIndex: 2 },
20
+ { version: 'v3.0.0', majorIndex: 0 },
21
+ ];
22
+ const sortedVersions = sortVersions(versions);
23
+ expect(sortedVersions).toEqual([
24
+ { version: 'v3.0.0', majorIndex: 0 },
25
+ { version: 'v1.0.0', majorIndex: 2 },
26
+ { version: 'v2.0.0', majorIndex: undefined },
27
+ ]);
28
+ });
29
+ test('should sort versions by minorIndex in ascending order when majorIndex is the same', function () {
30
+ const versions = [
31
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
32
+ { version: 'v1.1.0', majorIndex: 2, minorIndex: 2 },
33
+ { version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
34
+ ];
35
+ const sortedVersions = sortVersions(versions);
36
+ expect(sortedVersions).toEqual([
37
+ { version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
38
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
39
+ { version: 'v1.1.0', majorIndex: 2, minorIndex: 2 },
40
+ ]);
41
+ });
42
+ test('should place versions with undefined minorIndex after versions with defined minorIndex when majorIndex is the same', function () {
43
+ const versions = [
44
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
45
+ { version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
46
+ { version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
47
+ ];
48
+ const sortedVersions = sortVersions(versions);
49
+ expect(sortedVersions).toEqual([
50
+ { version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
51
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
52
+ { version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
53
+ ]);
54
+ });
55
+ test('should sort versions by hashCode when both majorIndex and minorIndex are the same (higher hash first)', function () {
56
+ const versions = [
57
+ { version: 'v1.1.1', majorIndex: 2, minorIndex: 1 },
58
+ { version: 'v1.1.2', majorIndex: 2, minorIndex: 1 },
59
+ { version: 'v1.1.0', majorIndex: 2, minorIndex: 1 },
60
+ ];
61
+ const sortedVersions = sortVersions(versions);
62
+ expect(sortedVersions).toEqual([
63
+ { version: 'v1.1.2', majorIndex: 2, minorIndex: 1 },
64
+ { version: 'v1.1.1', majorIndex: 2, minorIndex: 1 },
65
+ { version: 'v1.1.0', majorIndex: 2, minorIndex: 1 },
66
+ ]);
67
+ });
68
+ test('should sort versions with undefined major by hashCode', function () {
69
+ const versions = [
70
+ { version: 'v1.0.0', majorIndex: undefined },
71
+ { version: 'v2.0.0', majorIndex: undefined },
72
+ { version: 'v3.0.0', majorIndex: undefined },
73
+ ];
74
+ const sortedVersions = sortVersions(versions);
75
+ // When majorIndex is undefined, versions are sorted by hashCode
76
+ // This test assumes the hashCode implementation results in this order
77
+ expect(sortedVersions).toEqual([
78
+ { version: 'v3.0.0', majorIndex: undefined },
79
+ { version: 'v2.0.0', majorIndex: undefined },
80
+ { version: 'v1.0.0', majorIndex: undefined },
81
+ ]);
82
+ });
83
+ test('should handle complex sorting with mixed undefined indices', function () {
84
+ const versions = [
85
+ { version: 'v2.1.0', majorIndex: 1, minorIndex: 1 },
86
+ { version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
87
+ { version: 'v3.0.0', majorIndex: 0, minorIndex: 0 },
88
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 0 },
89
+ { version: 'v2.0.0', majorIndex: 1, minorIndex: undefined },
90
+ ];
91
+ const sortedVersions = sortVersions(versions);
92
+ expect(sortedVersions).toEqual([
93
+ { version: 'v3.0.0', majorIndex: 0, minorIndex: 0 },
94
+ { version: 'v2.1.0', majorIndex: 1, minorIndex: 1 },
95
+ { version: 'v2.0.0', majorIndex: 1, minorIndex: undefined },
96
+ { version: 'v1.2.0', majorIndex: 2, minorIndex: 0 },
97
+ { version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
98
+ ]);
99
+ });
100
+ test('should handle empty array', function () {
101
+ const versions = [];
102
+ const sortedVersions = sortVersions(versions);
103
+ expect(sortedVersions).toEqual([]);
104
+ });
105
+ });
106
+ //# sourceMappingURL=sortVersions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortVersions.test.js","sourceRoot":"","sources":["../../../../src/utils/versions/__test__/sortVersions.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { MetaClusterVersion } from '../../types/api/meta';
2
+ import type { ColorIndexToVersionsMap, PreparedVersion, VersionsDataMap } from './types';
3
+ export declare const getVersionMap: (versions: MetaClusterVersion[], initialMap?: ColorIndexToVersionsMap) => ColorIndexToVersionsMap;
4
+ export declare const getVersionsData: (versionMap: ColorIndexToVersionsMap) => VersionsDataMap;
5
+ export declare const prepareClusterVersions: (clusterVersions: MetaClusterVersion[] | undefined, versionsDataMap: VersionsDataMap) => PreparedVersion[];
@@ -0,0 +1,71 @@
1
+ import { COLORS, DEFAULT_COLOR, getMinorVersionColorVariant, hashCode } from './getVersionsColors';
2
+ import { getMinorVersion } from './parseVersion';
3
+ import { sortVersions } from './sortVersions';
4
+ const UNDEFINED_COLOR_INDEX = '__no_color__';
5
+ export const getVersionMap = (versions, initialMap = new Map()) => {
6
+ versions.forEach(({ version, version_base_color_index: versionBaseColorIndex = UNDEFINED_COLOR_INDEX }) => {
7
+ var _a;
8
+ const minorVersion = getMinorVersion(version);
9
+ if (!initialMap.has(versionBaseColorIndex)) {
10
+ initialMap.set(versionBaseColorIndex, new Set());
11
+ }
12
+ (_a = initialMap.get(versionBaseColorIndex)) === null || _a === void 0 ? void 0 : _a.add(minorVersion);
13
+ });
14
+ return initialMap;
15
+ };
16
+ export const getVersionsData = (versionMap) => {
17
+ const versionsDataMap = new Map();
18
+ for (const [baseColorIndex, item] of versionMap) {
19
+ Array.from(item)
20
+ // descending by version name: newer versions come first,
21
+ // so the newer version gets the brighter color
22
+ .sort((a, b) => hashCode(b) - hashCode(a))
23
+ .forEach((minor, minorIndex) => {
24
+ if (baseColorIndex === UNDEFINED_COLOR_INDEX) {
25
+ versionsDataMap.set(minor, {
26
+ color: DEFAULT_COLOR,
27
+ });
28
+ }
29
+ else {
30
+ // baseColorIndex is numeric as we check if it is UNDEFINED_COLOR_INDEX before
31
+ const currentColorIndex = Number(baseColorIndex) % COLORS.length;
32
+ const minorQuantity = item.size;
33
+ const minorColorVariant = getMinorVersionColorVariant(minorIndex, minorQuantity);
34
+ const minorColor = COLORS[currentColorIndex][minorColorVariant];
35
+ versionsDataMap.set(minor, {
36
+ color: minorColor,
37
+ majorIndex: currentColorIndex,
38
+ minorIndex,
39
+ });
40
+ }
41
+ });
42
+ }
43
+ return versionsDataMap;
44
+ };
45
+ export const prepareClusterVersions = (clusterVersions = [], versionsDataMap) => {
46
+ const filteredVersions = clusterVersions.filter((item) => item.version);
47
+ const result = {};
48
+ filteredVersions.forEach((item) => {
49
+ if (result[item.version]) {
50
+ // Sum count for versions of different nodes types
51
+ // Do not recalculate version data
52
+ const currentCount = result[item.version].count || 0;
53
+ const itemCount = item.count || 0;
54
+ result[item.version].count = currentCount + itemCount;
55
+ }
56
+ else {
57
+ const minorVersion = getMinorVersion(item.version);
58
+ const data = versionsDataMap.get(minorVersion);
59
+ result[item.version] = {
60
+ version: item.version,
61
+ minorVersion,
62
+ color: data === null || data === void 0 ? void 0 : data.color,
63
+ majorIndex: data === null || data === void 0 ? void 0 : data.majorIndex,
64
+ minorIndex: data === null || data === void 0 ? void 0 : data.minorIndex,
65
+ count: item.count || 0,
66
+ };
67
+ }
68
+ });
69
+ return sortVersions(Object.values(result));
70
+ };
71
+ //# sourceMappingURL=clusterVersionColors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusterVersionColors.js","sourceRoot":"","sources":["../../../src/utils/versions/clusterVersionColors.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import type { VersionToColorMap, VersionsMap } from '../../types/versions';
1
+ import type { VersionsDataMap, VersionsMap } from './types';
2
2
  export declare const hashCode: (s: string) => number;
3
3
  export declare const COLORS: string[][];
4
4
  export declare const DEFAULT_COLOR = "var(--versions-default-color)";
5
5
  /** Calculates sub color index */
6
6
  export declare function getMinorVersionColorVariant(minorIndex: number, minorQuantity: number): number;
7
7
  export declare const getVersionsMap: (versions: string[], initialMap?: VersionsMap) => VersionsMap;
8
- export declare const getVersionToColorMap: (versionsMap: VersionsMap) => VersionToColorMap;
9
- export declare const parseVersionsToVersionToColorMap: (versions?: string[]) => VersionToColorMap;
8
+ export declare const getVersionsDataMap: (versionsMap: VersionsMap) => VersionsDataMap;
9
+ export declare const parseVersionsToVersionsDataMap: (versions?: string[]) => VersionsDataMap;
10
+ export declare function getColorFromVersionsData(version: string, versionsDataMap: VersionsDataMap | undefined): string | undefined;