ydb-embedded-ui 19.0.0 → 20.1.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 (193) hide show
  1. package/README.md +15 -0
  2. package/dist/assets/icons/sso-user.svg +12 -0
  3. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +15 -2
  4. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  5. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +77 -10
  6. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  7. package/dist/components/QueryExecutionLabel/i18n/index.d.ts +1 -1
  8. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  9. package/dist/containers/App/Content.js +2 -2
  10. package/dist/containers/App/Content.js.map +1 -1
  11. package/dist/containers/App/NavigationWrapper.js +2 -15
  12. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  13. package/dist/containers/AsideNavigation/AsideNavigation.d.ts +1 -0
  14. package/dist/containers/AsideNavigation/AsideNavigation.js +4 -1
  15. package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
  16. package/dist/containers/AsideNavigation/Navigation.js +1 -1
  17. package/dist/containers/AsideNavigation/Navigation.js.map +1 -1
  18. package/dist/containers/AsideNavigation/SsoUserIcon/SsoUserIcon.d.ts +1 -0
  19. package/dist/containers/AsideNavigation/SsoUserIcon/SsoUserIcon.js +7 -0
  20. package/dist/containers/AsideNavigation/SsoUserIcon/SsoUserIcon.js.map +1 -0
  21. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.d.ts +3 -2
  22. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -2
  23. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js.map +1 -1
  24. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.scss +4 -0
  25. package/dist/containers/AsideNavigation/i18n/en.json +1 -0
  26. package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
  27. package/dist/containers/Authentication/Authentication.js +22 -5
  28. package/dist/containers/Authentication/Authentication.js.map +1 -1
  29. package/dist/containers/Authentication/Authentication.scss +4 -0
  30. package/dist/containers/Authentication/i18n/en.json +2 -1
  31. package/dist/containers/Authentication/i18n/index.d.ts +1 -1
  32. package/dist/containers/Authentication/utils.d.ts +8 -0
  33. package/dist/containers/Authentication/utils.js +32 -0
  34. package/dist/containers/Authentication/utils.js.map +1 -1
  35. package/dist/containers/Cluster/Cluster.js +3 -4
  36. package/dist/containers/Cluster/Cluster.js.map +1 -1
  37. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.d.ts +1 -1
  38. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js +0 -6
  39. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js.map +1 -1
  40. package/dist/containers/Configs/i18n/index.d.ts +1 -1
  41. package/dist/containers/Storage/Disks/Disks.js +5 -3
  42. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  43. package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -1
  44. package/dist/containers/Storage/PDisk/PDisk.js +7 -18
  45. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  46. package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +13 -0
  47. package/dist/containers/Storage/PDisk/PDiskVDisks.js +20 -0
  48. package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +1 -0
  49. package/dist/containers/Storage/PaginatedStorage.js +2 -1
  50. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  51. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +1 -1
  52. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +40 -4
  53. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  54. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +8 -4
  55. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.d.ts +2 -4
  56. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js +3 -17
  57. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js.map +1 -1
  58. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.d.ts +5 -0
  59. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +16 -0
  60. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -0
  61. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.d.ts +1 -0
  62. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js +7 -0
  63. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js.map +1 -0
  64. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.d.ts +5 -0
  65. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +17 -0
  66. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -0
  67. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.d.ts +5 -0
  68. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +23 -0
  69. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -0
  70. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.d.ts +5 -0
  71. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js +23 -0
  72. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js.map +1 -0
  73. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.d.ts +3 -1
  74. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +4 -4
  75. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  76. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js +3 -3
  77. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js.map +1 -1
  78. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.d.ts +6 -0
  79. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js +21 -0
  80. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -0
  81. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +3 -2
  82. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +13 -7
  83. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  84. package/dist/containers/Storage/StorageExpertModePanel/components/index.d.ts +5 -0
  85. package/dist/containers/Storage/StorageExpertModePanel/components/index.js +5 -0
  86. package/dist/containers/Storage/StorageExpertModePanel/components/index.js.map +1 -1
  87. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts +2 -6
  88. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +10 -6
  89. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  90. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +19 -0
  91. package/dist/containers/Storage/StorageExpertModePanel/constants.js +10 -0
  92. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
  93. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +23 -0
  94. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  95. package/dist/containers/Storage/i18n/en.json +1 -1
  96. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  97. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +2 -0
  98. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +142 -0
  99. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -0
  100. package/dist/containers/Storage/useStorageQueryParams.d.ts +5 -1
  101. package/dist/containers/Storage/useStorageQueryParams.js +26 -2
  102. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  103. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +2 -3
  104. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
  105. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.d.ts +2 -1
  106. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js +6 -2
  107. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js.map +1 -1
  108. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.d.ts +2 -0
  109. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js +9 -0
  110. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js.map +1 -0
  111. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -1
  112. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  113. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +1 -4
  114. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
  115. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +1 -6
  116. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
  117. package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
  118. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +3 -4
  119. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  120. package/dist/containers/Tenant/Query/QueryResult/utils.d.ts +2 -0
  121. package/dist/containers/Tenant/Query/QueryResult/utils.js +9 -0
  122. package/dist/containers/Tenant/Query/QueryResult/utils.js.map +1 -0
  123. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +4 -15
  124. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  125. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +0 -1
  126. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +1 -1
  127. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +0 -1
  128. package/dist/containers/Tenants/TenantsTable.js +21 -26
  129. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  130. package/dist/containers/UserSettings/i18n/en.json +1 -4
  131. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  132. package/dist/containers/UserSettings/settings.d.ts +3 -8
  133. package/dist/containers/UserSettings/settings.js +11 -58
  134. package/dist/containers/UserSettings/settings.js.map +1 -1
  135. package/dist/lib.d.ts +1 -1
  136. package/dist/lib.js.map +1 -1
  137. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  138. package/dist/store/reducers/capabilities/hooks.js +5 -0
  139. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  140. package/dist/store/reducers/query/api.js +4 -0
  141. package/dist/store/reducers/query/api.js.map +1 -1
  142. package/dist/store/reducers/query/types.d.ts +2 -1
  143. package/dist/store/reducers/settings/constants.d.ts +2 -8
  144. package/dist/store/reducers/settings/constants.js +2 -8
  145. package/dist/store/reducers/settings/constants.js.map +1 -1
  146. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +3 -1
  147. package/dist/store/reducers/storage/prepareGroupsDisks.js +3 -1
  148. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  149. package/dist/store/reducers/tenant/tenant.d.ts +1 -0
  150. package/dist/store/reducers/tenant/tenant.js +1 -0
  151. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  152. package/dist/styles/mixins.scss +8 -8
  153. package/dist/styles/space-colors.scss +48 -4
  154. package/dist/types/api/capabilities.d.ts +1 -1
  155. package/dist/types/api/pdisk.d.ts +2 -0
  156. package/dist/types/api/storage.d.ts +2 -1
  157. package/dist/types/api/storage.js.map +1 -1
  158. package/dist/types/api/tenant.d.ts +2 -0
  159. package/dist/types/api/tenant.js.map +1 -1
  160. package/dist/uiFactory/types.d.ts +5 -0
  161. package/dist/utils/constants.d.ts +1 -1
  162. package/dist/utils/constants.js +1 -5
  163. package/dist/utils/constants.js.map +1 -1
  164. package/dist/utils/disks/displayState.d.ts +7 -1
  165. package/dist/utils/disks/displayState.js +11 -0
  166. package/dist/utils/disks/displayState.js.map +1 -1
  167. package/dist/utils/disks/helpers.d.ts +2 -2
  168. package/dist/utils/disks/iconCalculators.d.ts +2 -0
  169. package/dist/utils/disks/iconCalculators.js +24 -19
  170. package/dist/utils/disks/iconCalculators.js.map +1 -1
  171. package/dist/utils/disks/pdiskState.d.ts +8 -0
  172. package/dist/utils/disks/pdiskState.js +165 -0
  173. package/dist/utils/disks/pdiskState.js.map +1 -0
  174. package/dist/utils/disks/severityCalculators.d.ts +6 -5
  175. package/dist/utils/disks/severityCalculators.js +17 -32
  176. package/dist/utils/disks/severityCalculators.js.map +1 -1
  177. package/dist/utils/disks/types.d.ts +3 -1
  178. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  179. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +11 -2
  180. package/dist/utils/hooks/useQueryExecutionSettings.js +2 -18
  181. package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
  182. package/dist/utils/hooks/useQueryStreamingSetting.js +1 -8
  183. package/dist/utils/hooks/useQueryStreamingSetting.js.map +1 -1
  184. package/dist/utils/hooks/useWhoami.d.ts +1 -1
  185. package/dist/utils/hooks/useWhoami.js +2 -1
  186. package/dist/utils/hooks/useWhoami.js.map +1 -1
  187. package/dist/utils/user.d.ts +6 -0
  188. package/dist/utils/user.js +24 -0
  189. package/dist/utils/user.js.map +1 -0
  190. package/package.json +2 -2
  191. package/dist/components/NetworkTable/hooks.d.ts +0 -2
  192. package/dist/components/NetworkTable/hooks.js +0 -14
  193. package/dist/components/NetworkTable/hooks.js.map +0 -1
@@ -263,12 +263,12 @@
263
263
  --entity-state-font-color: var(--g-color-text-positive);
264
264
  --entity-state-border-color: var(--entity-state-border-color-green, none);
265
265
  --entity-state-background-color: var(--g-color-base-positive-light);
266
- --entity-state-fill-color: var(--g-color-base-positive-medium);
266
+ --entity-state-fill-color: var(--g-color-base-positive-light);
267
267
 
268
268
  &#{$block}_highlighted {
269
269
  --entity-state-border-color: none;
270
270
  --entity-state-background-color: var(--g-color-base-positive-light-hover);
271
- --entity-state-fill-color: var(--g-color-base-positive-heavy);
271
+ --entity-state-fill-color: var(--g-color-base-positive-light-hover);
272
272
  }
273
273
  }
274
274
 
@@ -295,12 +295,12 @@
295
295
  --entity-state-font-color: var(--g-color-text-warning);
296
296
  --entity-state-border-color: var(--entity-state-border-color-yellow, none);
297
297
  --entity-state-background-color: var(--g-color-base-warning-light);
298
- --entity-state-fill-color: var(--g-color-base-warning-medium);
298
+ --entity-state-fill-color: var(--g-color-base-warning-light);
299
299
 
300
300
  &#{$block}_highlighted {
301
301
  --entity-state-border-color: none;
302
302
  --entity-state-background-color: var(--g-color-base-warning-light-hover);
303
- --entity-state-fill-color: var(--g-color-base-warning-medium-hover);
303
+ --entity-state-fill-color: var(--g-color-base-warning-light-hover);
304
304
  }
305
305
  }
306
306
 
@@ -315,14 +315,14 @@
315
315
  --entity-state-font-color: var(--g-color-text-danger);
316
316
  --entity-state-border-color: var(--g-color-line-danger);
317
317
  --entity-state-background-color: var(--g-color-base-danger-light);
318
- --entity-state-fill-color: var(--g-color-base-danger-medium);
319
- --entity-state-icon-color: var(--g-color-base-danger-heavy);
318
+ --entity-state-fill-color: var(--g-color-base-danger-light);
319
+ --entity-state-icon-color: var(--g-color-text-danger);
320
320
 
321
321
  &#{$block}_highlighted {
322
322
  --entity-state-border-color: var(--g-color-base-danger-heavy-hover);
323
- --entity-state-icon-color: var(--g-color-base-danger-heavy-hover);
323
+ --entity-state-icon-color: var(--g-color-text-danger-heavy);
324
324
  --entity-state-background-color: var(--g-color-base-danger-light-hover);
325
- --entity-state-fill-color: var(--g-color-base-danger-medium-hover);
325
+ --entity-state-fill-color: var(--g-color-base-danger-light-hover);
326
326
  }
327
327
  }
328
328
 
@@ -19,42 +19,86 @@
19
19
  &_theme_light-hc {
20
20
  --ydb-space-cyan-text: rgba(11, 153, 144, 1);
21
21
  --ydb-space-cyan-bg-hover: rgba(9, 202, 189, 0.3);
22
+ --ydb-space-cyan-fill-color: rgba(71, 247, 235, 0.2);
23
+ --ydb-space-cyan-fill-color-hover: rgba(9, 202, 189, 0.35);
24
+
22
25
  --ydb-space-light-yellow-bg: rgba(242, 255, 2, 0.3);
23
26
  --ydb-space-light-yellow-border: rgba(211, 194, 0, 1);
24
27
  --ydb-space-light-yellow-stripe: rgba(211, 223, 0, 0.3);
25
28
  --ydb-space-light-yellow-stripe-hover: rgba(211, 223, 0, 0.4);
26
29
  --ydb-space-light-yellow-text: rgba(128, 118, 0, 1);
27
30
  --ydb-space-light-yellow-bg-hover: rgba(242, 255, 2, 0.4);
31
+ --ydb-space-light-yellow-fill-color: rgba(128, 118, 0, 0.2);
32
+ --ydb-space-light-yellow-fill-color-hover: rgba(128, 118, 0, 0.3);
33
+
28
34
  --ydb-space-light-orange-text: rgba(221, 125, 0, 1);
29
35
  --ydb-space-light-orange-bg-hover: rgba(255, 178, 0, 0.3);
36
+ --ydb-space-light-orange-fill-color: rgba(255, 183, 1, 0.2);
37
+ --ydb-space-light-orange-fill-color-hover: rgba(255, 183, 1, 0.2);
38
+
30
39
  --ydb-space-pre-orange-text: rgba(225, 112, 0, 1);
31
40
  --ydb-space-pre-orange-bg-hover: rgba(255, 128, 0, 0.3);
41
+ --ydb-space-pre-orange-fill-color: rgba(255, 128, 0, 0.2);
42
+ --ydb-space-pre-orange-fill-color-hover: rgba(255, 128, 0, 0.2);
43
+
32
44
  --ydb-space-orange-text: rgba(206, 77, 9, 1);
33
45
  --ydb-space-orange-bg-hover: rgba(255, 100, 17, 0.3);
46
+ --ydb-space-orange-fill-color: rgba(255, 89, 0, 0.2);
47
+ --ydb-space-orange-fill-color-hover: rgba(255, 89, 0, 0.2);
48
+
34
49
  --ydb-space-black-bg: var(--g-color-base-neutral-medium);
35
50
  --ydb-space-black-bg-hover: var(--g-color-base-neutral-medium-hover);
36
51
  --ydb-space-black-text: var(--g-color-text-primary);
37
- --ydb-space-black-border: var(--g-color-text-complementary);
38
- --ydb-space-black-border-hover: var(--g-color-text-complementary);
52
+ --ydb-space-black-border: var(--g-color-base-neutral-heavy);
53
+ --ydb-space-black-border-hover: var(--g-color-base-neutral-heavy);
54
+ --ydb-space-black-fill-color: var(--g-color-base-neutral-heavy);
55
+ --ydb-space-black-fill-color-hover: var(--g-color-base-neutral-heavy-hover);
56
+
57
+ --ydb-space-no-data-bg: var(--g-color-base-generic-medium);
58
+ --ydb-space-no-data-bg-hover: var(--g-color-base-generic-medium-hover);
59
+ --ydb-space-no-data-fill-color: var(--g-color-base-neutral-medium);
60
+ --ydb-space-no-data-fill-color-hover: var(--g-color-base-neutral-medium-hover);
39
61
  }
40
62
 
41
63
  &_theme_dark,
42
64
  &_theme_dark-hc {
43
65
  --ydb-space-cyan-text: rgba(4, 202, 188, 1);
44
66
  --ydb-space-cyan-bg-hover: rgba(9, 202, 189, 0.25);
67
+ --ydb-space-cyan-fill-color: rgba(71, 247, 235, 0.2);
68
+ --ydb-space-cyan-fill-color-hover: rgba(9, 202, 189, 0.35);
69
+
45
70
  --ydb-space-light-yellow-bg: rgba(212, 255, 113, 0.15);
46
71
  --ydb-space-light-yellow-text: rgba(244, 255, 26, 1);
47
72
  --ydb-space-light-yellow-bg-hover: rgba(205, 230, 16, 0.25);
73
+ --ydb-space-light-yellow-fill-color: rgba(212, 255, 113, 0.2);
74
+ --ydb-space-light-yellow-fill-color-hover: rgba(205, 230, 16, 0.35);
75
+
48
76
  --ydb-space-light-orange-text: rgba(255, 178, 0, 1);
49
77
  --ydb-space-light-orange-bg-hover: rgba(255, 183, 1, 0.3);
78
+ --ydb-space-light-orange-fill-color: rgba(255, 178, 0, 0.2);
79
+ --ydb-space-light-orange-fill-color-hover: rgba(255, 178, 0, 0.2);
80
+
50
81
  --ydb-space-pre-orange-text: rgba(255, 128, 0, 1);
51
82
  --ydb-space-pre-orange-bg-hover: rgba(255, 128, 0, 0.3);
83
+ --ydb-space-pre-orange-fill-color: rgba(255, 128, 0, 0.2);
84
+ --ydb-space-pre-orange-fill-color-hover: rgba(255, 128, 0, 0.2);
85
+
52
86
  --ydb-space-orange-text: rgba(255, 89, 0, 1);
53
87
  --ydb-space-orange-bg-hover: rgba(255, 100, 17, 0.3);
54
- --ydb-space-black-bg: var(--g-color-text-dark-hint);
88
+ --ydb-space-orange-fill-color: rgba(255, 89, 0, 0.2);
89
+ --ydb-space-orange-fill-color-hover: rgba(255, 89, 0, 0.2);
90
+
91
+ --ydb-space-black-bg: var(--g-color-text-dark-complementary);
55
92
  --ydb-space-black-bg-hover: var(--g-color-text-dark-secondary);
56
93
  --ydb-space-black-text: var(--g-color-text-brand-contrast);
57
94
  --ydb-space-black-border: var(--g-color-line-light);
58
- --ydb-space-black-border-hover: var(--g-color-text-primary);
95
+ --ydb-space-black-border-hover: var(--g-color-line-light);
96
+ --ydb-space-black-fill-color: var(--g-color-base-neutral-light);
97
+ --ydb-space-black-fill-color-hover: var(--g-color-base-neutral-light-hover);
98
+
99
+ --ydb-space-no-data-bg: var(--g-color-base-generic-medium);
100
+ --ydb-space-no-data-bg-hover: var(--g-color-base-generic-medium-hover);
101
+ --ydb-space-no-data-fill-color: var(--g-color-base-neutral-medium);
102
+ --ydb-space-no-data-fill-color-hover: var(--g-color-base-neutral-medium-hover);
59
103
  }
60
104
  }
@@ -20,4 +20,4 @@ export type FeatureSetting = 'EnableAnalyzeLongRunningOperation';
20
20
  export interface MetaCapabilitiesResponse {
21
21
  Capabilities: Record<Partial<MetaCapability>, number>;
22
22
  }
23
- export type MetaCapability = '/meta/clusters' | '/meta/db_clusters' | '/meta/cp_databases' | '/meta/get_config' | '/meta/get_operation' | '/meta/list_operations' | '/meta/list_storage_types' | '/meta/list_resource_presets' | '/meta/create_database' | '/meta/update_database' | '/meta/delete_database' | '/meta/simulate_database' | '/meta/start_database' | '/meta/stop_database' | '/meta/create_cluster' | '/meta/update_cluster' | '/meta/delete_cluster' | '/meta/events' | '/meta/login' | '/meta/whoami' | '/meta/databases' | '/meta/environments' | '/meta/schema_topic_data';
23
+ export type MetaCapability = '/meta/clusters' | '/meta/db_clusters' | '/meta/cp_databases' | '/meta/get_config' | '/meta/get_operation' | '/meta/list_operations' | '/meta/list_storage_types' | '/meta/list_resource_presets' | '/meta/create_database' | '/meta/update_database' | '/meta/delete_database' | '/meta/simulate_database' | '/meta/start_database' | '/meta/stop_database' | '/meta/create_cluster' | '/meta/update_cluster' | '/meta/delete_cluster' | '/meta/events' | '/meta/login' | '/meta/oidc/authorize' | '/meta/oidc/callback' | '/meta/whoami' | '/meta/databases' | '/meta/environments' | '/meta/schema_topic_data';
@@ -119,8 +119,10 @@ export interface TPDiskInfo {
119
119
  /** uint64 */
120
120
  Category?: string;
121
121
  DecommitStatus?: EDecommitStatus;
122
+ MaintenanceStatus?: EMaintenanceStatus;
122
123
  }
123
124
  export type EDriveStatus = 'UNKNOWN' | 'ACTIVE' | 'INACTIVE' | 'BROKEN' | 'FAULTY' | 'TO_BE_REMOVED';
124
125
  export type EDecommitStatus = 'DECOMMIT_UNSET' | 'DECOMMIT_NONE' | 'DECOMMIT_PENDING' | 'DECOMMIT_IMMINENT' | 'DECOMMIT_REJECTED';
126
+ export type EMaintenanceStatus = 'NOT_SET' | 'NO_REQUEST' | 'LONG_TERM_MAINTENANCE_PLANNED' | 'NO_NEW_VDISKS';
125
127
  type EPDiskType = 'ROT' | 'SSD' | 'NVME' | 'UNKNOWN_TYPE';
126
128
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { BackendSortParam, SchemaPathParam } from './common';
2
2
  import type { ECapacityAlert, EFlag } from './enums';
3
- import type { EDecommitStatus, EDriveStatus, TPDiskStateInfo } from './pdisk';
3
+ import type { EDecommitStatus, EDriveStatus, EMaintenanceStatus, TPDiskStateInfo } from './pdisk';
4
4
  import type { EVDiskStatus, TVDiskStateInfo } from './vdisk';
5
5
  /**
6
6
  * endpoint: /viewer/storage
@@ -219,6 +219,7 @@ export interface TStoragePDisk {
219
219
  Status?: EDriveStatus;
220
220
  DiskSpace?: EFlag;
221
221
  DecommitStatus?: EDecommitStatus;
222
+ MaintenanceStatus?: EMaintenanceStatus;
222
223
  /** uint64 */
223
224
  SlotSize?: string;
224
225
  /** uint64 */
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/api/storage.ts"],"names":[],"mappings":"AAoaA,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC5B,0DAAkC,CAAA;AACtC,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/api/storage.ts"],"names":[],"mappings":"AAqaA,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC5B,0DAAkC,CAAA;AACtC,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B"}
@@ -142,6 +142,8 @@ export interface ControlPlane {
142
142
  interface UserAttributes {
143
143
  database_id?: string;
144
144
  folder_id?: string;
145
+ cloud_id?: string;
146
+ [key: string]: string | undefined;
145
147
  }
146
148
  export type ETenantType = 'UnknownTenantType' | 'Domain' | 'Dedicated' | 'Shared' | 'Serverless';
147
149
  export declare enum State {
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"AAuKA,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,gDAAyC,CAAA;IACzC,8BAAuB,CAAA;IACvB,4BAAqB,CAAA;IACrB,8BAAuB,CAAA;IACvB,gDAAyC,CAAA;IACzC,oCAA6B,CAAA;AACjC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,yFAAmE,CAAA;IACnE,uFAAiE,CAAA;AACrE,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAoCD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,oBAAW,CAAA;AACf,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB"}
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"AAyKA,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,gDAAyC,CAAA;IACzC,8BAAuB,CAAA;IACvB,4BAAqB,CAAA;IACrB,8BAAuB,CAAA;IACvB,gDAAyC,CAAA;IACzC,oCAA6B,CAAA;AACjC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,yFAAmE,CAAA;IACnE,uFAAiE,CAAA;AACrE,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAoCD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,oBAAW,CAAA;AACf,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB"}
@@ -1,5 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { EmptyStateProps } from '../components/EmptyState';
3
+ import type { YDBDefinitionListItem } from '../components/YDBDefinitionList/YDBDefinitionList';
3
4
  import type { CommonIssueCategory, GetHealthcheckViewTitles, GetHealthcheckViewsOrder } from '../containers/Tenant/Healthcheck/shared';
4
5
  import type { HealthcheckAssistantActionProps } from '../containers/Tenant/Healthcheck/types';
5
6
  import type { ClusterInfo } from '../store/reducers/cluster/cluster';
@@ -17,6 +18,7 @@ export interface UIFactory<H extends string = CommonIssueCategory, T extends str
17
18
  onCreateDB?: HandleCreateDB;
18
19
  onEditDB?: HandleEditDB;
19
20
  onDeleteDB?: HandleDeleteDB;
21
+ getAdditionalDatabaseInfoItems?: GetAdditionalDatabaseInfoItems;
20
22
  onAddCluster?: HandleAddCluster;
21
23
  onEditCluster?: HandleEditCluster;
22
24
  onDeleteCluster?: HandleDeleteCluster;
@@ -107,6 +109,9 @@ export type HandleDeleteDB = (params: {
107
109
  clusterName: string;
108
110
  databaseData: PreparedTenant;
109
111
  }) => Promise<boolean>;
112
+ export type GetAdditionalDatabaseInfoItems = (params: {
113
+ databaseData: PreparedTenant;
114
+ }) => YDBDefinitionListItem[];
110
115
  export type HandleAddCluster = () => Promise<boolean>;
111
116
  export type HandleEditCluster = (params: {
112
117
  clusterData: MetaBaseClusterInfo;
@@ -25,6 +25,7 @@ export declare const SECTION_IDS: {
25
25
  readonly GENERAL: "generalSection";
26
26
  readonly APPEARANCE: "appearanceSection";
27
27
  readonly DEV_SETTINGS: "devSettingsSection";
28
+ readonly RESULTS: "resultsSettingsSection";
28
29
  readonly ABOUT: "aboutSettingsSection";
29
30
  };
30
31
  export declare const TENANT_OVERVIEW_TABLES_LIMIT = 3;
@@ -45,7 +46,6 @@ export declare const DEFAULT_IS_QUERY_RESULT_COLLAPSED = "default-is-query-resul
45
46
  export declare const DEFAULT_CLUSTER_TAB_KEY = "default-cluster-tab";
46
47
  export declare const DEFAULT_TABLE_SETTINGS: Settings;
47
48
  export declare const TENANT_OVERVIEW_TABLES_SETTINGS: Settings;
48
- export declare const OLD_BACKEND_CLUSTER_NAMES: string[];
49
49
  export declare const DEV_ENABLE_TRACING_FOR_ALL_REQUESTS = "enable_tracing_for_all_requests";
50
50
  export declare enum AclSyntax {
51
51
  Kikimr = "kikimr",
@@ -53,6 +53,7 @@ export const SECTION_IDS = {
53
53
  GENERAL: 'generalSection',
54
54
  APPEARANCE: 'appearanceSection',
55
55
  DEV_SETTINGS: 'devSettingsSection',
56
+ RESULTS: 'resultsSettingsSection',
56
57
  ABOUT: 'aboutSettingsSection',
57
58
  };
58
59
  export const TENANT_OVERVIEW_TABLES_LIMIT = 3;
@@ -86,11 +87,6 @@ export const TENANT_OVERVIEW_TABLES_SETTINGS = {
86
87
  dynamicRender: false,
87
88
  sortable: false,
88
89
  };
89
- export const OLD_BACKEND_CLUSTER_NAMES = [
90
- 'cloud_prod_kikimr_global',
91
- 'cloud_preprod_kikimr_global',
92
- 'cloud_prod_kikimr_ydb_public_storage',
93
- ];
94
90
  export const DEV_ENABLE_TRACING_FOR_ALL_REQUESTS = 'enable_tracing_for_all_requests';
95
91
  export var AclSyntax;
96
92
  (function (AclSyntax) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAE9D,yDAAyD;AACzD,6DAA6D;AAC7D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAS,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAa,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAiB,CAAC;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAqB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,cAAc,GAAG;IACnB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG;IACvB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG;IACpB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI;IAC1B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IACnB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI;IAC3B,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAAI;IACnC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;IACjB,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI;IACjC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI;IACrB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,KAAK;CACxC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAuC,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAEnG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE;;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACpE,CAAC,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;CACZ,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,sBAAsB;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,mBAAmB;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,qBAAqB;AAErB,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAEzF,MAAM,CAAC,MAAM,uCAAuC,GAAG,yCAAyC,CAAC;AAEjG,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC5C,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,+BAA+B,GAAa;IACrD,GAAG,sBAAsB;IACzB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,0BAA0B;IAC1B,6BAA6B;IAC7B,sCAAsC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,iCAAiC,CAAC;AAErF,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,mCAAsB,CAAA;IACtB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAC,sBAAsB,EAAC,MAAM,wBAAwB,CAAC;AAE9D,yDAAyD;AACzD,6DAA6D;AAC7D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAS,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAa,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAiB,CAAC;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAqB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,cAAc,GAAG;IACnB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG;IACvB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG;IACpB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI;IAC1B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IACnB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI;IAC3B,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAAI;IACnC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;IACjB,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI;IACjC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI;IACrB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,KAAK;CACxC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAuC,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAEnG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE;;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACpE,CAAC,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;CACZ,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,oBAAoB;IAClC,OAAO,EAAE,wBAAwB;IACjC,KAAK,EAAE,sBAAsB;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAExC,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,mBAAmB;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,qBAAqB;AAErB,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CAAC;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAEzF,MAAM,CAAC,MAAM,uCAAuC,GAAG,yCAAyC,CAAC;AAEjG,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC5C,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,+BAA+B,GAAa;IACrD,GAAG,sBAAsB;IACzB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,mCAAmC,GAAG,iCAAiC,CAAC;AAErF,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,mCAAsB,CAAA;IACtB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { IconData } from '@gravity-ui/uikit';
2
2
  import type { IconWithColor } from './iconCalculators';
3
- import type { DisplaySeverity, PreparedVDisk } from './types';
3
+ import type { DisplaySeverity, PreparedPDisk, PreparedVDisk } from './types';
4
4
  export interface DiskDisplayState {
5
5
  severity: DisplaySeverity;
6
6
  icon: IconData | IconWithColor[] | string | undefined;
@@ -12,5 +12,11 @@ export interface DiskDisplayState {
12
12
  isLegendInactive?: boolean;
13
13
  showNoDataPlaceholder?: boolean;
14
14
  }
15
+ export interface PDiskDisplayState extends DiskDisplayState {
16
+ width?: number;
17
+ allocatedPercent?: number;
18
+ }
15
19
  export type DiskDisplayStateGetter = (vDisk: PreparedVDisk, isDonor?: boolean) => DiskDisplayState;
20
+ export type PDiskDisplayStateGetter = (pDisk: PreparedPDisk) => PDiskDisplayState;
16
21
  export declare function getDefaultDiskDisplayState(vDisk: PreparedVDisk): DiskDisplayState;
22
+ export declare function getDefaultPDiskDisplayState(pDisk: PreparedPDisk): PDiskDisplayState;
@@ -8,4 +8,15 @@ export function getDefaultDiskDisplayState(vDisk) {
8
8
  isLegendInactive: false,
9
9
  };
10
10
  }
11
+ export function getDefaultPDiskDisplayState(pDisk) {
12
+ var _a;
13
+ return {
14
+ severity: ((_a = pDisk.Severity) !== null && _a !== void 0 ? _a : DATA_SEVERITY.GREY),
15
+ icon: undefined,
16
+ modeModifier: undefined,
17
+ isLegendInactive: false,
18
+ showNoDataPlaceholder: true,
19
+ allocatedPercent: pDisk.AllocatedPercent,
20
+ };
21
+ }
11
22
  //# sourceMappingURL=displayState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"displayState.js","sourceRoot":"","sources":["../../../src/utils/disks/displayState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAkB1C,MAAM,UAAU,0BAA0B,CAAC,KAAoB;;IAC3D,OAAO;QACH,QAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,aAAa,CAAC,IAAI,CAAoB;QACnE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,KAAK;KAC1B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"displayState.js","sourceRoot":"","sources":["../../../src/utils/disks/displayState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAyB1C,MAAM,UAAU,0BAA0B,CAAC,KAAoB;;IAC3D,OAAO;QACH,QAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,aAAa,CAAC,IAAI,CAAoB;QACnE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,KAAK;KAC1B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAoB;;IAC5D,OAAO;QACH,QAAQ,EAAE,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,aAAa,CAAC,IAAI,CAAoB;QACnE,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,KAAK;QACvB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KAC3C,CAAC;AACN,CAAC"}
@@ -4,7 +4,7 @@ import { EFlag } from '../../types/api/enums';
4
4
  import type { TVDiskStateInfo, TVSlotId } from '../../types/api/vdisk';
5
5
  import type { DiskColor, PreparedVDisk } from './types';
6
6
  export declare function isFullVDiskData(disk: PreparedVDisk | TVDiskStateInfo | TVSlotId): disk is PreparedVDisk | TVDiskStateInfo;
7
- export declare const getSpaceSeverity: (allocatedPercent?: number) => 21 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 22 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | import("./types").DataSeverity;
7
+ export declare const getSpaceSeverity: (allocatedPercent?: number) => 21 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 22 | 11 | 16 | 17 | 18 | 19 | 20 | import("./types").DataSeverity;
8
8
  /**
9
9
  * Convert data severity (0-5) to EFlag color.
10
10
  * Used for PreparedVDisk.Severity and PreparedPDisk.Severity in Default mode.
@@ -21,7 +21,7 @@ export declare function getDataSeverityColor(severity: number | undefined): EFla
21
21
  * @returns Disk color for visualization
22
22
  */
23
23
  export declare function getDisplaySeverityColor(severity: number | undefined): DiskColor;
24
- export declare function getColorSeverity(color?: EFlag): 0 | 1 | 2 | 5 | 4 | 21 | 3 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 22 | 11 | 12 | 16 | 17 | 18 | 19 | 20;
24
+ export declare function getColorSeverity(color?: EFlag): 0 | 1 | 2 | 5 | 4 | 21 | 3 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 22 | 11 | 16 | 17 | 18 | 19 | 20;
25
25
  export declare function getPDiskId({ nodeId, pDiskId, }: {
26
26
  nodeId?: string | number | null;
27
27
  pDiskId?: string | number | null;
@@ -1,4 +1,5 @@
1
1
  import type { IconData } from '@gravity-ui/uikit';
2
+ import { EFlag } from '../../types/api/enums';
2
3
  import type { PreparedVDisk } from './types';
3
4
  export interface IconWithColor {
4
5
  icon: IconData;
@@ -29,6 +30,7 @@ export declare function calculateSpaceIcon(vDisk: PreparedVDisk, isDonor?: boole
29
30
  * - Impaired (Red): Dots9 icon
30
31
  */
31
32
  export declare function calculateFrontQueuesIcon(vDisk: PreparedVDisk, isDonor?: boolean): IconData | undefined;
33
+ export declare function calculateFlagPairIcon(firstFlag: EFlag | undefined, secondFlag: EFlag | undefined): IconWithColor[] | undefined;
32
34
  /**
33
35
  * Compaction-based icon logic - shows two icons (Fresh + Level) side by side
34
36
  * Each icon has its own color based on its rank
@@ -25,6 +25,9 @@ export function calculateStateIcon(vDisk, isDonor) {
25
25
  return DONOR_ICON;
26
26
  }
27
27
  const state = vDisk.VDiskState;
28
+ if (state === undefined) {
29
+ return CircleQuestionFill;
30
+ }
28
31
  // Initial states get Clock icon (Figma: "иконка с часиками")
29
32
  if (state === EVDiskState.Initial || state === EVDiskState.SyncGuidRecovery) {
30
33
  return ClockFill;
@@ -102,10 +105,10 @@ export function calculateFrontQueuesIcon(vDisk, isDonor) {
102
105
  }
103
106
  }
104
107
  /**
105
- * Get icon and color for a single compaction rank (Fresh or Level)
106
- * Maps EFlag to corresponding icon and color from CompactionLegend
108
+ * Get icon and color for a single status flag.
109
+ * Maps EFlag to the corresponding pair-legend icon and color.
107
110
  */
108
- function getCompactionRankIconWithColor(flag) {
111
+ function getFlagIconWithColor(flag) {
109
112
  if (!flag || flag === EFlag.Grey) {
110
113
  return {
111
114
  icon: CircleQuestionFill,
@@ -113,6 +116,7 @@ function getCompactionRankIconWithColor(flag) {
113
116
  };
114
117
  }
115
118
  switch (flag) {
119
+ case EFlag.Blue:
116
120
  case EFlag.Green:
117
121
  return {
118
122
  icon: CircleCheckFill,
@@ -137,6 +141,22 @@ function getCompactionRankIconWithColor(flag) {
137
141
  return undefined;
138
142
  }
139
143
  }
144
+ export function calculateFlagPairIcon(firstFlag, secondFlag) {
145
+ const flags = [firstFlag, secondFlag];
146
+ if (flags.every((flag) => flag === EFlag.Green || flag === EFlag.Blue)) {
147
+ return undefined;
148
+ }
149
+ const firstIconWithColor = getFlagIconWithColor(firstFlag);
150
+ const secondIconWithColor = getFlagIconWithColor(secondFlag);
151
+ const icons = [];
152
+ if (firstIconWithColor) {
153
+ icons.push(firstIconWithColor);
154
+ }
155
+ if (secondIconWithColor) {
156
+ icons.push(secondIconWithColor);
157
+ }
158
+ return icons.length > 0 ? icons : undefined;
159
+ }
140
160
  /**
141
161
  * Compaction-based icon logic - shows two icons (Fresh + Level) side by side
142
162
  * Each icon has its own color based on its rank
@@ -157,22 +177,7 @@ export function calculateCompactionIcon(vDisk, isDonor) {
157
177
  }
158
178
  const freshFlag = (_b = (_a = vDisk.SatisfactionRank) === null || _a === void 0 ? void 0 : _a.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag;
159
179
  const levelFlag = (_d = (_c = vDisk.SatisfactionRank) === null || _c === void 0 ? void 0 : _c.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag;
160
- // If both ranks are green, no icon
161
- if (freshFlag === EFlag.Green && levelFlag === EFlag.Green) {
162
- return undefined;
163
- }
164
- // At least one rank is missing or not green - show both icons with their respective colors
165
- const freshIconWithColor = getCompactionRankIconWithColor(freshFlag);
166
- const levelIconWithColor = getCompactionRankIconWithColor(levelFlag);
167
- // Return array of icons with colors [Fresh, Level]
168
- const icons = [];
169
- if (freshIconWithColor) {
170
- icons.push(freshIconWithColor);
171
- }
172
- if (levelIconWithColor) {
173
- icons.push(levelIconWithColor);
174
- }
175
- return icons.length > 0 ? icons : undefined;
180
+ return calculateFlagPairIcon(freshFlag, levelFlag);
176
181
  }
177
182
  /**
178
183
  * Calculate the All mode icon using VDiskState semantics.
@@ -1 +1 @@
1
- {"version":3,"file":"iconCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/iconCalculators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iconCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/iconCalculators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { EDecommitStatus, EDriveStatus, EMaintenanceStatus, TPDiskState } from '../../types/api/pdisk';
2
+ import type { DiskDisplayState } from './displayState';
3
+ type PDiskStateDisplayState = Pick<DiskDisplayState, 'severity' | 'icon'>;
4
+ export declare function getPDiskStateDisplayState(state?: TPDiskState): PDiskStateDisplayState;
5
+ export declare function getPDiskDriveDisplayState(status?: EDriveStatus): PDiskStateDisplayState;
6
+ export declare function getPDiskDecommitDisplayState(status?: EDecommitStatus): PDiskStateDisplayState;
7
+ export declare function getPDiskMaintenanceDisplayState(status?: EMaintenanceStatus): PDiskStateDisplayState;
8
+ export {};
@@ -0,0 +1,165 @@
1
+ import { ArrowUpFromLine, Ban, CircleExclamation, CircleExclamationFill, CircleQuestionFill, CircleStopFill, CircleXmark, CircleXmarkFill, Clock, ClockFill, HourglassStart, TrashBin, Wrench, Xmark, } from '@gravity-ui/icons';
2
+ import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, SOLID_RED_SEVERITY, } from './constants';
3
+ const NOT_AVAILABLE_DISPLAY_STATE = {
4
+ severity: NOT_AVAILABLE_SEVERITY,
5
+ icon: undefined,
6
+ };
7
+ const PDISK_STATE_DISPLAY_STATE = {
8
+ Normal: {
9
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
10
+ icon: undefined,
11
+ },
12
+ Initial: {
13
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
14
+ icon: ClockFill,
15
+ },
16
+ InitialFormatRead: {
17
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
18
+ icon: ClockFill,
19
+ },
20
+ InitialSysLogRead: {
21
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
22
+ icon: ClockFill,
23
+ },
24
+ InitialCommonLogRead: {
25
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
26
+ icon: ClockFill,
27
+ },
28
+ OpenFileError: {
29
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
30
+ icon: CircleExclamationFill,
31
+ },
32
+ DeviceIoError: {
33
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
34
+ icon: CircleExclamationFill,
35
+ },
36
+ Stopped: {
37
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
38
+ icon: CircleStopFill,
39
+ },
40
+ InitialFormatReadError: {
41
+ severity: SOLID_RED_SEVERITY,
42
+ icon: CircleXmarkFill,
43
+ },
44
+ InitialSysLogReadError: {
45
+ severity: SOLID_RED_SEVERITY,
46
+ icon: CircleXmarkFill,
47
+ },
48
+ InitialSysLogParseError: {
49
+ severity: SOLID_RED_SEVERITY,
50
+ icon: CircleXmarkFill,
51
+ },
52
+ InitialCommonLogReadError: {
53
+ severity: SOLID_RED_SEVERITY,
54
+ icon: CircleXmarkFill,
55
+ },
56
+ InitialCommonLogParseError: {
57
+ severity: SOLID_RED_SEVERITY,
58
+ icon: CircleXmarkFill,
59
+ },
60
+ CommonLoggerInitError: {
61
+ severity: SOLID_RED_SEVERITY,
62
+ icon: CircleXmarkFill,
63
+ },
64
+ ChunkQuotaError: {
65
+ severity: SOLID_RED_SEVERITY,
66
+ icon: CircleXmarkFill,
67
+ },
68
+ Missing: NOT_AVAILABLE_DISPLAY_STATE,
69
+ Timeout: NOT_AVAILABLE_DISPLAY_STATE,
70
+ NodeDisconnected: NOT_AVAILABLE_DISPLAY_STATE,
71
+ Unknown: NOT_AVAILABLE_DISPLAY_STATE,
72
+ };
73
+ export function getPDiskStateDisplayState(state) {
74
+ return isPDiskStateDisplayState(state)
75
+ ? PDISK_STATE_DISPLAY_STATE[state]
76
+ : NOT_AVAILABLE_DISPLAY_STATE;
77
+ }
78
+ const PDISK_DRIVE_DISPLAY_STATE = {
79
+ ACTIVE: {
80
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
81
+ icon: undefined,
82
+ },
83
+ INACTIVE: {
84
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
85
+ icon: Clock,
86
+ },
87
+ TO_BE_REMOVED: {
88
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
89
+ icon: TrashBin,
90
+ },
91
+ FAULTY: {
92
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
93
+ icon: CircleExclamation,
94
+ },
95
+ BROKEN: {
96
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
97
+ icon: CircleXmark,
98
+ },
99
+ UNKNOWN: {
100
+ severity: NOT_AVAILABLE_SEVERITY,
101
+ icon: CircleQuestionFill,
102
+ },
103
+ };
104
+ export function getPDiskDriveDisplayState(status) {
105
+ if (status === undefined || PDISK_DRIVE_DISPLAY_STATE[status] === undefined) {
106
+ return NOT_AVAILABLE_DISPLAY_STATE;
107
+ }
108
+ return PDISK_DRIVE_DISPLAY_STATE[status];
109
+ }
110
+ const PDISK_DECOMMIT_DISPLAY_STATE = {
111
+ DECOMMIT_UNSET: {
112
+ severity: NOT_AVAILABLE_SEVERITY,
113
+ icon: CircleQuestionFill,
114
+ },
115
+ DECOMMIT_NONE: {
116
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
117
+ icon: undefined,
118
+ },
119
+ DECOMMIT_PENDING: {
120
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue,
121
+ icon: HourglassStart,
122
+ },
123
+ DECOMMIT_IMMINENT: {
124
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
125
+ icon: ArrowUpFromLine,
126
+ },
127
+ DECOMMIT_REJECTED: {
128
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
129
+ icon: Xmark,
130
+ },
131
+ };
132
+ export function getPDiskDecommitDisplayState(status) {
133
+ var _a;
134
+ return status === undefined
135
+ ? NOT_AVAILABLE_DISPLAY_STATE
136
+ : ((_a = PDISK_DECOMMIT_DISPLAY_STATE[status]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_DISPLAY_STATE);
137
+ }
138
+ const PDISK_MAINTENANCE_DISPLAY_STATE = {
139
+ NOT_SET: {
140
+ severity: NOT_AVAILABLE_SEVERITY,
141
+ icon: CircleQuestionFill,
142
+ },
143
+ NO_REQUEST: {
144
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
145
+ icon: undefined,
146
+ },
147
+ LONG_TERM_MAINTENANCE_PLANNED: {
148
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
149
+ icon: Wrench,
150
+ },
151
+ NO_NEW_VDISKS: {
152
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
153
+ icon: Ban,
154
+ },
155
+ };
156
+ export function getPDiskMaintenanceDisplayState(status) {
157
+ var _a;
158
+ return status === undefined
159
+ ? NOT_AVAILABLE_DISPLAY_STATE
160
+ : ((_a = PDISK_MAINTENANCE_DISPLAY_STATE[status]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_DISPLAY_STATE);
161
+ }
162
+ function isPDiskStateDisplayState(state) {
163
+ return state !== undefined && Object.hasOwn(PDISK_STATE_DISPLAY_STATE, state);
164
+ }
165
+ //# sourceMappingURL=pdiskState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdiskState.js","sourceRoot":"","sources":["../../../src/utils/disks/pdiskState.ts"],"names":[],"mappings":"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"}