ydb-embedded-ui 18.3.2 → 18.4.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 (383) hide show
  1. package/README.md +5 -4
  2. package/dist/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -0
  3. package/dist/components/ConfirmationDialog/ConfirmationDialog.js +3 -2
  4. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  5. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +21 -0
  6. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +129 -0
  7. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -0
  8. package/dist/components/DiskCapacityInfo/i18n/en.json +7 -0
  9. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +2 -0
  10. package/dist/components/DiskCapacityInfo/i18n/index.js +5 -0
  11. package/dist/components/DiskCapacityInfo/i18n/index.js.map +1 -0
  12. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +8 -1
  13. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +24 -14
  14. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  15. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +144 -0
  16. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.d.ts +9 -0
  17. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js +8 -0
  18. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js.map +1 -0
  19. package/dist/components/HelpMarkWithDocs/i18n/en.json +3 -0
  20. package/dist/components/HelpMarkWithDocs/i18n/index.d.ts +1 -0
  21. package/dist/components/HelpMarkWithDocs/i18n/index.js +5 -0
  22. package/dist/components/HelpMarkWithDocs/i18n/index.js.map +1 -0
  23. package/dist/components/PDiskInfo/PDiskInfo.d.ts +1 -0
  24. package/dist/components/PDiskInfo/PDiskInfo.js +51 -14
  25. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  26. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  27. package/dist/components/PDiskPopup/PDiskPopup.d.ts +1 -1
  28. package/dist/components/PDiskPopup/PDiskPopup.js +13 -4
  29. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  30. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +120 -2
  31. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  32. package/dist/components/StorageGroupInfo/i18n/en.json +2 -1
  33. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  34. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +5 -2
  35. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +4 -3
  36. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -1
  37. package/dist/components/VDisk/VDisk.js +44 -10
  38. package/dist/components/VDisk/VDisk.js.map +1 -1
  39. package/dist/components/VDisk/i18n/en.json +6 -1
  40. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  41. package/dist/components/VDiskInfo/VDiskInfo.js +117 -67
  42. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  43. package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +11 -0
  44. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +52 -0
  45. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +1 -0
  46. package/dist/components/VDiskPopup/VDiskPopup.d.ts +5 -0
  47. package/dist/components/VDiskPopup/VDiskPopup.js +18 -7
  48. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  49. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
  50. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -2
  51. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  52. package/dist/components/capacityMetricsColumns/columns.js +19 -24
  53. package/dist/components/capacityMetricsColumns/columns.js.map +1 -1
  54. package/dist/components/capacityMetricsColumns/constants.d.ts +11 -0
  55. package/dist/components/capacityMetricsColumns/constants.js +25 -0
  56. package/dist/components/capacityMetricsColumns/constants.js.map +1 -1
  57. package/dist/components/capacityMetricsColumns/formatters.d.ts +1 -0
  58. package/dist/components/capacityMetricsColumns/formatters.js +9 -0
  59. package/dist/components/capacityMetricsColumns/formatters.js.map +1 -0
  60. package/dist/components/capacityMetricsColumns/i18n/en.json +9 -1
  61. package/dist/components/capacityMetricsColumns/i18n/index.d.ts +1 -1
  62. package/dist/components/nodesColumns/constants.js +1 -1
  63. package/dist/components/nodesColumns/constants.js.map +1 -1
  64. package/dist/containers/App/NavigationWrapper.js +1 -1
  65. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  66. package/dist/containers/AsideNavigation/i18n/en.json +1 -1
  67. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +1 -1
  68. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  69. package/dist/containers/Storage/Disks/Disks.d.ts +2 -2
  70. package/dist/containers/Storage/Disks/Disks.js +13 -10
  71. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  72. package/dist/containers/Storage/Disks/Disks.scss +20 -0
  73. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.d.ts +2 -0
  74. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js +46 -0
  75. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js.map +1 -0
  76. package/dist/containers/Storage/Disks/constants.d.ts +5 -0
  77. package/dist/containers/Storage/Disks/constants.js +11 -0
  78. package/dist/containers/Storage/Disks/constants.js.map +1 -0
  79. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +8 -15
  80. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  81. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.d.ts +2 -2
  82. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +37 -9
  83. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  84. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -0
  85. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +31 -1
  86. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  87. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +39 -24
  88. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  89. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  90. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  91. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.d.ts +1 -0
  92. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +18 -9
  93. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  94. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +1 -1
  95. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  96. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +13 -0
  97. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +96 -2
  98. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -1
  99. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +2 -5
  100. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  101. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +2 -0
  102. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +6 -1
  103. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  104. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +3 -3
  105. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  106. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +13 -0
  107. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  108. package/dist/containers/Storage/useStorageQueryParams.js +9 -4
  109. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  110. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +45 -5
  111. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  112. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
  113. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js.map +1 -1
  114. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +12 -13
  115. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  116. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +1 -1
  117. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +2 -2
  118. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  119. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +3 -3
  120. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  121. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +1 -2
  122. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  123. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +1 -1
  124. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js.map +1 -1
  125. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -1
  126. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  127. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -2
  128. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  129. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +1 -1
  130. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +36 -15
  131. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  132. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.d.ts +14 -0
  133. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js +38 -0
  134. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js.map +1 -0
  135. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.d.ts +1 -1
  136. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +3 -2
  137. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
  138. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.d.ts +10 -1
  139. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +12 -8
  140. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  141. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +15 -1
  142. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  143. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.d.ts +3 -1
  144. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +1 -1
  145. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  146. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +1 -1
  147. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  148. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +1 -1
  149. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  150. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js +1 -1
  151. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js.map +1 -1
  152. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js +10 -6
  153. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js.map +1 -1
  154. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +57 -6
  155. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +31 -0
  156. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +58 -0
  157. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  158. package/dist/containers/Tenant/Query/Issues/Issues.js +3 -3
  159. package/dist/containers/Tenant/Query/Issues/Issues.js.map +1 -1
  160. package/dist/containers/Tenant/Query/Issues/helpers.d.ts +3 -0
  161. package/dist/containers/Tenant/Query/Issues/helpers.js +40 -0
  162. package/dist/containers/Tenant/Query/Issues/helpers.js.map +1 -1
  163. package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +1 -0
  164. package/dist/containers/Tenant/Query/Issues/helpers.test.js +94 -0
  165. package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +1 -0
  166. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +1 -1
  167. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  168. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
  169. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  170. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +141 -73
  171. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  172. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +8 -0
  173. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +4 -2
  174. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +187 -20
  175. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
  176. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.d.ts +9 -0
  177. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js +154 -0
  178. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js.map +1 -0
  179. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +1 -0
  180. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +153 -0
  181. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +1 -0
  182. package/dist/containers/Tenant/Query/QueryEditor/types.d.ts +5 -0
  183. package/dist/containers/Tenant/Query/QueryEditor/types.js +2 -0
  184. package/dist/containers/Tenant/Query/QueryEditor/types.js.map +1 -0
  185. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.d.ts +5 -0
  186. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js +13 -0
  187. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js.map +1 -0
  188. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +6 -3
  189. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +10 -5
  190. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
  191. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +18 -5
  192. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +3 -2
  193. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +23 -12
  194. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  195. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +19 -0
  196. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +14 -21
  197. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  198. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.d.ts +6 -2
  199. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +6 -2
  200. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
  201. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +2 -0
  202. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +1 -1
  203. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
  204. package/dist/containers/Tenant/Query/QueryResult/constants.d.ts +3 -0
  205. package/dist/containers/Tenant/Query/QueryResult/constants.js +35 -0
  206. package/dist/containers/Tenant/Query/QueryResult/constants.js.map +1 -1
  207. package/dist/containers/Tenant/Query/i18n/en.json +5 -2
  208. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  209. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.d.ts +1 -1
  210. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +1 -13
  211. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
  212. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.d.ts +19 -0
  213. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js +225 -0
  214. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js.map +1 -0
  215. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
  216. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.d.ts +1 -0
  217. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js +179 -0
  218. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js.map +1 -0
  219. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.d.ts +11 -0
  220. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js +84 -0
  221. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js.map +1 -0
  222. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
  223. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.d.ts +19 -0
  224. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js +115 -0
  225. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js.map +1 -0
  226. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
  227. package/dist/containers/Tenant/TableFormDialog/components/layout.d.ts +15 -0
  228. package/dist/containers/Tenant/TableFormDialog/components/layout.js +32 -0
  229. package/dist/containers/Tenant/TableFormDialog/components/layout.js.map +1 -0
  230. package/dist/containers/Tenant/TableFormDialog/constants.d.ts +16 -0
  231. package/dist/containers/Tenant/TableFormDialog/constants.js +99 -0
  232. package/dist/containers/Tenant/TableFormDialog/constants.js.map +1 -0
  233. package/dist/containers/Tenant/TableFormDialog/i18n/en.json +143 -0
  234. package/dist/containers/Tenant/TableFormDialog/i18n/index.d.ts +2 -0
  235. package/dist/containers/Tenant/TableFormDialog/i18n/index.js +5 -0
  236. package/dist/containers/Tenant/TableFormDialog/i18n/index.js.map +1 -0
  237. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.d.ts +8 -0
  238. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js +34 -0
  239. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js.map +1 -0
  240. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.d.ts +5 -0
  241. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js +28 -0
  242. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js.map +1 -0
  243. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.d.ts +6 -0
  244. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js +141 -0
  245. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js.map +1 -0
  246. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.d.ts +22 -0
  247. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js +97 -0
  248. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js.map +1 -0
  249. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.d.ts +6 -0
  250. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js +70 -0
  251. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js.map +1 -0
  252. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.d.ts +11 -0
  253. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js +181 -0
  254. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js.map +1 -0
  255. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.d.ts +1 -0
  256. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js +42 -0
  257. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js.map +1 -0
  258. package/dist/containers/Tenant/TableFormDialog/types.d.ts +26 -0
  259. package/dist/containers/Tenant/TableFormDialog/types.js +3 -0
  260. package/dist/containers/Tenant/TableFormDialog/types.js.map +1 -0
  261. package/dist/containers/Tenant/TableFormDialog/utils.d.ts +41 -0
  262. package/dist/containers/Tenant/TableFormDialog/utils.js +245 -0
  263. package/dist/containers/Tenant/TableFormDialog/utils.js.map +1 -0
  264. package/dist/containers/Tenant/TableFormDialog/validation.d.ts +8 -0
  265. package/dist/containers/Tenant/TableFormDialog/validation.js +308 -0
  266. package/dist/containers/Tenant/TableFormDialog/validation.js.map +1 -0
  267. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.d.ts +19 -0
  268. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js +296 -0
  269. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js.map +1 -0
  270. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
  271. package/dist/containers/Tenant/TopicFormDialog/i18n/en.json +51 -0
  272. package/dist/containers/Tenant/TopicFormDialog/i18n/index.d.ts +2 -0
  273. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js +5 -0
  274. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js.map +1 -0
  275. package/dist/containers/Tenant/TopicFormDialog/utils.d.ts +18 -0
  276. package/dist/containers/Tenant/TopicFormDialog/utils.js +100 -0
  277. package/dist/containers/Tenant/TopicFormDialog/utils.js.map +1 -0
  278. package/dist/containers/Tenant/TopicFormDialog/validation.d.ts +3 -0
  279. package/dist/containers/Tenant/TopicFormDialog/validation.js +88 -0
  280. package/dist/containers/Tenant/TopicFormDialog/validation.js.map +1 -0
  281. package/dist/containers/Tenant/i18n/en.json +5 -1
  282. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  283. package/dist/containers/Tenant/utils/pathSegmentValidation.d.ts +5 -0
  284. package/dist/containers/Tenant/utils/pathSegmentValidation.js +15 -0
  285. package/dist/containers/Tenant/utils/pathSegmentValidation.js.map +1 -0
  286. package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
  287. package/dist/containers/Tenant/utils/schemaActions.js +103 -14
  288. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  289. package/dist/containers/VDiskPage/VDiskPage.js +3 -30
  290. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  291. package/dist/containers/VDiskPage/useVDiskQueryParams.d.ts +13 -0
  292. package/dist/containers/VDiskPage/useVDiskQueryParams.js +55 -0
  293. package/dist/containers/VDiskPage/useVDiskQueryParams.js.map +1 -0
  294. package/dist/store/reducers/pdisk/utils.js +4 -4
  295. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  296. package/dist/store/reducers/query/api.d.ts +2 -1
  297. package/dist/store/reducers/query/api.js +107 -48
  298. package/dist/store/reducers/query/api.js.map +1 -1
  299. package/dist/store/reducers/query/parsers/preparePlanData.js +8 -1
  300. package/dist/store/reducers/query/parsers/preparePlanData.js.map +1 -1
  301. package/dist/store/reducers/query/slice.d.ts +8 -9
  302. package/dist/store/reducers/query/slice.js +5 -0
  303. package/dist/store/reducers/query/slice.js.map +1 -1
  304. package/dist/store/reducers/query/streaming/reducers.d.ts +3 -0
  305. package/dist/store/reducers/query/streaming/reducers.js +6 -6
  306. package/dist/store/reducers/query/streaming/reducers.js.map +1 -1
  307. package/dist/store/reducers/query/types.d.ts +8 -4
  308. package/dist/store/reducers/query/utils.d.ts +10 -2
  309. package/dist/store/reducers/query/utils.js +37 -6
  310. package/dist/store/reducers/query/utils.js.map +1 -1
  311. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +10 -3
  312. package/dist/store/reducers/storage/prepareGroupsDisks.js +43 -6
  313. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  314. package/dist/store/reducers/storage/types.d.ts +1 -0
  315. package/dist/store/reducers/storage/utils.js +4 -7
  316. package/dist/store/reducers/storage/utils.js.map +1 -1
  317. package/dist/store/reducers/table/constants.d.ts +6 -0
  318. package/dist/store/reducers/table/constants.js +36 -0
  319. package/dist/store/reducers/table/constants.js.map +1 -0
  320. package/dist/store/reducers/table/table.d.ts +19 -0
  321. package/dist/store/reducers/table/table.js +104 -0
  322. package/dist/store/reducers/table/table.js.map +1 -0
  323. package/dist/store/reducers/table/types.d.ts +193 -0
  324. package/dist/store/reducers/table/types.js +12 -0
  325. package/dist/store/reducers/table/types.js.map +1 -0
  326. package/dist/store/reducers/table/utils.d.ts +17 -0
  327. package/dist/store/reducers/table/utils.js +485 -0
  328. package/dist/store/reducers/table/utils.js.map +1 -0
  329. package/dist/store/reducers/topic/topic.d.ts +1762 -0
  330. package/dist/store/reducers/topic/topic.js +172 -0
  331. package/dist/store/reducers/topic/topic.js.map +1 -0
  332. package/dist/store/reducers/topic/utils.d.ts +23 -0
  333. package/dist/store/reducers/topic/utils.js +75 -0
  334. package/dist/store/reducers/topic/utils.js.map +1 -0
  335. package/dist/types/api/pdisk.d.ts +6 -1
  336. package/dist/types/api/pdisk.js.map +1 -1
  337. package/dist/types/api/storage.d.ts +3 -1
  338. package/dist/types/api/storage.js.map +1 -1
  339. package/dist/types/api/topic.d.ts +18 -0
  340. package/dist/types/api/topic.js +8 -0
  341. package/dist/types/api/topic.js.map +1 -1
  342. package/dist/types/api/vdisk.d.ts +8 -0
  343. package/dist/types/api/vdisk.js.map +1 -1
  344. package/dist/uiFactory/types.d.ts +5 -0
  345. package/dist/uiFactory/uiFactory.d.ts +4 -1
  346. package/dist/uiFactory/uiFactory.js +8 -1
  347. package/dist/uiFactory/uiFactory.js.map +1 -1
  348. package/dist/utils/capacityAlerts.d.ts +1 -0
  349. package/dist/utils/capacityAlerts.js +3 -0
  350. package/dist/utils/capacityAlerts.js.map +1 -1
  351. package/dist/utils/constants.d.ts +1 -1
  352. package/dist/utils/constants.js +1 -1
  353. package/dist/utils/constants.js.map +1 -1
  354. package/dist/utils/disks/displayState.d.ts +5 -0
  355. package/dist/utils/disks/displayState.js.map +1 -1
  356. package/dist/utils/disks/iconCalculators.d.ts +1 -3
  357. package/dist/utils/disks/iconCalculators.js +5 -6
  358. package/dist/utils/disks/iconCalculators.js.map +1 -1
  359. package/dist/utils/disks/prepareDisks.d.ts +1 -1
  360. package/dist/utils/disks/prepareDisks.js +44 -3
  361. package/dist/utils/disks/prepareDisks.js.map +1 -1
  362. package/dist/utils/disks/severityCalculators.d.ts +1 -4
  363. package/dist/utils/disks/severityCalculators.js +2 -6
  364. package/dist/utils/disks/severityCalculators.js.map +1 -1
  365. package/dist/utils/disks/types.d.ts +8 -0
  366. package/dist/utils/emptyDataPlaceholder.d.ts +1 -0
  367. package/dist/utils/emptyDataPlaceholder.js +2 -0
  368. package/dist/utils/emptyDataPlaceholder.js.map +1 -0
  369. package/dist/utils/hooks/useSelectedColumns.d.ts +3 -0
  370. package/dist/utils/hooks/useSelectedColumns.js +18 -0
  371. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  372. package/dist/utils/query.d.ts +4 -1
  373. package/dist/utils/query.js +34 -1
  374. package/dist/utils/query.js.map +1 -1
  375. package/dist/utils/storageMetrics.d.ts +5 -1
  376. package/dist/utils/storageMetrics.js +35 -4
  377. package/dist/utils/storageMetrics.js.map +1 -1
  378. package/dist/utils/utils.js +2 -1
  379. package/dist/utils/utils.js.map +1 -1
  380. package/package.json +1 -1
  381. package/dist/store/reducers/topic.d.ts +0 -1291
  382. package/dist/store/reducers/topic.js +0 -83
  383. package/dist/store/reducers/topic.js.map +0 -1
package/README.md CHANGED
@@ -113,21 +113,22 @@ Run tests. If `PLAYWRIGHT_BASE_URL` is provided, tests run on this url, otherwis
113
113
  npm run test:e2e
114
114
  ```
115
115
 
116
- Run tests in Playwright Docker.
116
+ Run tests in Playwright Docker against a separately started backend. `PLAYWRIGHT_APP_BACKEND` is required; loopback URLs are forwarded from the Playwright container to the host automatically.
117
117
 
118
118
  ```
119
- npm run test:e2e:docker
119
+ docker run --rm -d -p 8765:8765 ghcr.io/ydb-platform/local-ydb:nightly
120
+ PLAYWRIGHT_APP_BACKEND=http://localhost:8765 npm run test:e2e:docker
120
121
  ```
121
122
 
122
123
  Run tests in Playwright Docker and then serve the generated HTML report locally at `http://127.0.0.1:9323`. You can override host and port with `PLAYWRIGHT_HTML_HOST` and `PLAYWRIGHT_HTML_PORT`.
123
124
 
124
125
  ```
125
- npm run test:e2e:docker:report
126
+ PLAYWRIGHT_APP_BACKEND=http://localhost:8765 npm run test:e2e:docker:report
126
127
  ```
127
128
 
128
129
  ### CI
129
130
 
130
- E2E tests are run in CI in `e2e_tests` job. Tests run on Playwright `webServer` (it is started with `npm run dev`), and the Docker test flow uses `ghcr.io/ydb-platform/local-ydb:nightly` as backend.
131
+ E2E tests are run in CI in the `e2e_tests` job. Each shard starts `ghcr.io/ydb-platform/local-ydb:nightly` in root topology through `setup-local-ydb`, then passes the action monitoring URL to the Playwright Docker flow.
131
132
 
132
133
  ## Making a production bundle.
133
134
 
@@ -11,6 +11,7 @@ interface CommonDialogProps {
11
11
  textButtonApply?: string;
12
12
  buttonApplyView?: ButtonView;
13
13
  className?: string;
14
+ disableOutsideClick?: boolean;
14
15
  onConfirm?: () => void;
15
16
  }
16
17
  interface ConfirmationDialogNiceModalProps extends CommonDialogProps, DialogFooterProps {
@@ -6,8 +6,9 @@ import { confirmationDialogKeyset } from './i18n';
6
6
  import './ConfirmationDialog.scss';
7
7
  const block = cn('confirmation-dialog');
8
8
  export const CONFIRMATION_DIALOG = 'confirmation-dialog';
9
- function ConfirmationDialog({ caption = '', children, onConfirm, onClose, progress, textButtonApply, textButtonCancel, buttonApplyView = 'normal', className, renderButtons, open, confirmOnEnter, }) {
10
- return (_jsxs(Dialog, { className: block(null, className), size: "s", onClose: onClose, disableOutsideClick: true, open: open, onEnterKeyDown: confirmOnEnter ? onConfirm : undefined, children: [_jsx(Dialog.Header, { caption: _jsx("span", { className: block('caption'), children: caption }) }), _jsx(Dialog.Body, { children: children }), _jsx(Dialog.Footer, { onClickButtonApply: onConfirm, propsButtonApply: { view: buttonApplyView }, textButtonApply: textButtonApply, textButtonCancel: textButtonCancel !== null && textButtonCancel !== void 0 ? textButtonCancel : confirmationDialogKeyset('action_cancel'), onClickButtonCancel: onClose, loading: progress, renderButtons: renderButtons })] }));
9
+ function ConfirmationDialog({ caption = '', children, message, body, onConfirm, onClose, progress, textButtonApply, textButtonCancel, buttonApplyView = 'normal', className, disableOutsideClick = true, renderButtons, open, confirmOnEnter, }) {
10
+ var _a;
11
+ return (_jsxs(Dialog, { className: block(null, className), size: "s", onClose: onClose, disableOutsideClick: disableOutsideClick, open: open, onEnterKeyDown: confirmOnEnter ? onConfirm : undefined, children: [_jsx(Dialog.Header, { caption: _jsx("span", { className: block('caption'), children: caption }) }), _jsx(Dialog.Body, { children: (_a = children !== null && children !== void 0 ? children : body) !== null && _a !== void 0 ? _a : message }), _jsx(Dialog.Footer, { onClickButtonApply: onConfirm, propsButtonApply: { view: buttonApplyView }, textButtonApply: textButtonApply, textButtonCancel: textButtonCancel !== null && textButtonCancel !== void 0 ? textButtonCancel : confirmationDialogKeyset('action_cancel'), onClickButtonCancel: onClose, loading: progress, renderButtons: renderButtons })] }));
11
12
  }
12
13
  export const ConfirmationDialogNiceModal = NiceModal.create((props) => {
13
14
  const modal = NiceModal.useModal();
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationDialog.js","sourceRoot":"","sources":["../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAEhD,OAAO,2BAA2B,CAAC;AAEnC,MAAM,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AA0BxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AACzD,SAAS,kBAAkB,CAAC,EACxB,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,GAAG,QAAQ,EAC1B,SAAS,EACT,aAAa,EACb,IAAI,EACJ,cAAc,GACQ;IACtB,OAAO,CACH,MAAC,MAAM,IACH,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EACjC,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,mBAAmB,QACnB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAEtD,KAAC,MAAM,CAAC,MAAM,IAAC,OAAO,EAAE,eAAM,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,YAAG,OAAO,GAAQ,GAAI,EAC/E,KAAC,MAAM,CAAC,IAAI,cAAE,QAAQ,GAAe,EACrC,KAAC,MAAM,CAAC,MAAM,IACV,kBAAkB,EAAE,SAAS,EAC7B,gBAAgB,EAAE,EAAC,IAAI,EAAE,eAAe,EAAC,EACzC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,wBAAwB,CAAC,eAAe,CAAC,EAC/E,mBAAmB,EAAE,OAAO,EAC5B,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,aAAa,GAC9B,IACG,CACZ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CACvD,CAAC,KAAuC,EAAE,EAAE;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,kBAAkB,OACX,KAAK,EACT,SAAS,EAAE,KAAK,IAAI,EAAE;;YAClB,MAAM,CAAA,MAAA,KAAK,CAAC,SAAS,qDAAI,CAAA,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC;QAClB,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;;YACV,MAAA,KAAK,CAAC,OAAO,qDAAI,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,EAAE,CAAC;QAClB,CAAC,EACD,IAAI,EAAE,KAAK,CAAC,OAAO,GACrB,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"ConfirmationDialog.js","sourceRoot":"","sources":["../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAC,wBAAwB,EAAC,MAAM,QAAQ,CAAC;AAEhD,OAAO,2BAA2B,CAAC;AAEnC,MAAM,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AA2BxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AACzD,SAAS,kBAAkB,CAAC,EACxB,OAAO,GAAG,EAAE,EACZ,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,eAAe,GAAG,QAAQ,EAC1B,SAAS,EACT,mBAAmB,GAAG,IAAI,EAC1B,aAAa,EACb,IAAI,EACJ,cAAc,GACQ;;IACtB,OAAO,CACH,MAAC,MAAM,IACH,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EACjC,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,mBAAmB,EACxC,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAEtD,KAAC,MAAM,CAAC,MAAM,IAAC,OAAO,EAAE,eAAM,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,YAAG,OAAO,GAAQ,GAAI,EAC/E,KAAC,MAAM,CAAC,IAAI,cAAE,MAAA,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,mCAAI,OAAO,GAAe,EACxD,KAAC,MAAM,CAAC,MAAM,IACV,kBAAkB,EAAE,SAAS,EAC7B,gBAAgB,EAAE,EAAC,IAAI,EAAE,eAAe,EAAC,EACzC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,wBAAwB,CAAC,eAAe,CAAC,EAC/E,mBAAmB,EAAE,OAAO,EAC5B,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,aAAa,GAC9B,IACG,CACZ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CACvD,CAAC,KAAuC,EAAE,EAAE;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,kBAAkB,OACX,KAAK,EACT,SAAS,EAAE,KAAK,IAAI,EAAE;;YAClB,MAAM,CAAA,MAAA,KAAK,CAAC,SAAS,qDAAI,CAAA,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC;QAClB,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;;YACV,MAAA,KAAK,CAAC,OAAO,qDAAI,CAAC;YAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,EAAE,CAAC;QAClB,CAAC,EACD,IAAI,EAAE,KAAK,CAAC,OAAO,GACrB,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { PreparedStorageGroup } from '../../store/reducers/storage/types';
3
+ import type { PreparedPDisk, PreparedVDisk } from '../../utils/disks/types';
4
+ import type { InfoViewerItem } from '../InfoViewer';
5
+ import type { YDBDefinitionListItem } from '../YDBDefinitionList/YDBDefinitionList';
6
+ export interface DiskCapacityInfoItem {
7
+ id: string;
8
+ title: string;
9
+ value: React.ReactNode;
10
+ note?: string;
11
+ }
12
+ export declare function getVDiskCapacityInfoItems(data: PreparedVDisk | undefined, { withRawUsage }: {
13
+ withRawUsage: boolean;
14
+ }): DiskCapacityInfoItem[];
15
+ export declare function getPDiskCapacityInfoItems(data: PreparedPDisk | undefined, { withUsage, withCapacityAlert }: {
16
+ withUsage: boolean;
17
+ withCapacityAlert: boolean;
18
+ }): DiskCapacityInfoItem[];
19
+ export declare function getStorageGroupCapacityInfoItems(data: PreparedStorageGroup | undefined): DiskCapacityInfoItem[];
20
+ export declare function toDefinitionListItems(items: DiskCapacityInfoItem[]): YDBDefinitionListItem[];
21
+ export declare function toInfoViewerItems(items: DiskCapacityInfoItem[]): InfoViewerItem[];
@@ -0,0 +1,129 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Label } from '@gravity-ui/uikit';
3
+ import { isCapacityAlert } from '../../types/api/enums';
4
+ import { getCapacityAlertTheme, normalizeCapacityAlert } from '../../utils/capacityAlerts';
5
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
6
+ import { formatMetricCountPair, formatMetricPercent, formatNormalizedMetricPercent, formatStorageMetricPair, } from '../../utils/storageMetrics';
7
+ import { TitleWithHelpMark } from '../TitleWithHelpmark/TitleWithHelpmark';
8
+ import { CAPACITY_CONFIGURATION_HELP_TEXT, CAPACITY_METRICS_COLUMN_TITLES, CAPACITY_METRICS_HELP_TEXT, } from '../capacityMetricsColumns/constants';
9
+ import { formatCapacityUnitCount } from '../capacityMetricsColumns/formatters';
10
+ import i18n from './i18n';
11
+ function getCapacityAlertValue(value) {
12
+ var _a;
13
+ return (_a = normalizeCapacityAlert(value)) !== null && _a !== void 0 ? _a : EMPTY_DATA_PLACEHOLDER;
14
+ }
15
+ function getAlertAwareUsageValue(value, capacityAlertValue) {
16
+ if (value === EMPTY_DATA_PLACEHOLDER) {
17
+ return value;
18
+ }
19
+ const capacityAlert = normalizeCapacityAlert(capacityAlertValue);
20
+ const theme = isCapacityAlert(capacityAlert) ? getCapacityAlertTheme(capacityAlert) : 'normal';
21
+ return _jsx(Label, { theme: theme, children: value });
22
+ }
23
+ export function getVDiskCapacityInfoItems(data, { withRawUsage }) {
24
+ var _a;
25
+ const sizeData = (_a = data === null || data === void 0 ? void 0 : data.WhiteboardSize) !== null && _a !== void 0 ? _a : data;
26
+ const items = [
27
+ {
28
+ id: 'size',
29
+ title: i18n('field_size'),
30
+ value: formatStorageMetricPair(sizeData === null || sizeData === void 0 ? void 0 : sizeData.AllocatedSize, sizeData === null || sizeData === void 0 ? void 0 : sizeData.SizeLimit),
31
+ },
32
+ {
33
+ id: 'vdisk-slot-usage',
34
+ title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
35
+ value: getAlertAwareUsageValue(formatMetricPercent(data === null || data === void 0 ? void 0 : data.VDiskSlotUsage), data === null || data === void 0 ? void 0 : data.CapacityAlert),
36
+ note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskSlotUsage,
37
+ },
38
+ ];
39
+ if (withRawUsage) {
40
+ items.push({
41
+ id: 'vdisk-raw-usage',
42
+ title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
43
+ value: formatMetricPercent(data === null || data === void 0 ? void 0 : data.VDiskRawUsage),
44
+ note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskRawUsage,
45
+ });
46
+ }
47
+ items.push({
48
+ id: 'group-size-in-units',
49
+ title: i18n('field_group-size-in-units'),
50
+ value: formatCapacityUnitCount(data === null || data === void 0 ? void 0 : data.GroupSizeInUnits),
51
+ note: CAPACITY_CONFIGURATION_HELP_TEXT.GroupSizeInUnits,
52
+ }, {
53
+ id: 'capacity-alert',
54
+ title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
55
+ value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.CapacityAlert),
56
+ note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
57
+ });
58
+ return items;
59
+ }
60
+ export function getPDiskCapacityInfoItems(data, { withUsage, withCapacityAlert }) {
61
+ var _a;
62
+ const sizeData = (_a = data === null || data === void 0 ? void 0 : data.WhiteboardSize) !== null && _a !== void 0 ? _a : data;
63
+ const items = [
64
+ {
65
+ id: 'space',
66
+ title: i18n('field_space'),
67
+ value: formatStorageMetricPair(sizeData === null || sizeData === void 0 ? void 0 : sizeData.AllocatedSize, sizeData === null || sizeData === void 0 ? void 0 : sizeData.TotalSize),
68
+ },
69
+ ];
70
+ if (withUsage) {
71
+ items.push({
72
+ id: 'pdisk-usage',
73
+ title: CAPACITY_METRICS_COLUMN_TITLES.MaxPDiskUsage,
74
+ value: formatMetricPercent(data === null || data === void 0 ? void 0 : data.PDiskUsage),
75
+ note: CAPACITY_METRICS_HELP_TEXT.MaxPDiskUsage,
76
+ });
77
+ }
78
+ items.push({
79
+ id: 'slots',
80
+ title: i18n('field_slots'),
81
+ value: formatMetricCountPair(data === null || data === void 0 ? void 0 : data.NumActiveSlots, data === null || data === void 0 ? void 0 : data.ExpectedSlotCount),
82
+ }, {
83
+ id: 'slot-size-in-units',
84
+ title: i18n('field_slot-size-in-units'),
85
+ value: formatCapacityUnitCount(data === null || data === void 0 ? void 0 : data.SlotSizeInUnits),
86
+ note: CAPACITY_CONFIGURATION_HELP_TEXT.SlotSizeInUnits,
87
+ });
88
+ if (withCapacityAlert) {
89
+ items.push({
90
+ id: 'capacity-alert',
91
+ title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
92
+ value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.PDiskCapacityAlert),
93
+ note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
94
+ });
95
+ }
96
+ return items;
97
+ }
98
+ export function getStorageGroupCapacityInfoItems(data) {
99
+ return [
100
+ {
101
+ id: 'vdisk-slot-usage',
102
+ title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
103
+ value: getAlertAwareUsageValue(formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskSlotUsage), data === null || data === void 0 ? void 0 : data.CapacityAlert),
104
+ note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskSlotUsage,
105
+ },
106
+ {
107
+ id: 'vdisk-raw-usage',
108
+ title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
109
+ value: formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskRawUsage),
110
+ note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskRawUsage,
111
+ },
112
+ {
113
+ id: 'capacity-alert',
114
+ title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
115
+ value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.CapacityAlert),
116
+ note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
117
+ },
118
+ ];
119
+ }
120
+ export function toDefinitionListItems(items) {
121
+ return items.map(({ title, value, note }) => ({ name: title, content: value, note }));
122
+ }
123
+ export function toInfoViewerItems(items) {
124
+ return items.map(({ title, value, note }) => ({
125
+ label: note ? _jsx(TitleWithHelpMark, { header: title, note: note }) : title,
126
+ value,
127
+ }));
128
+ }
129
+ //# sourceMappingURL=DiskCapacityInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiskCapacityInfo.js","sourceRoot":"","sources":["../../../src/components/DiskCapacityInfo/DiskCapacityInfo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ {
2
+ "field_size": "Size",
3
+ "field_space": "Space",
4
+ "field_slots": "Slots",
5
+ "field_group-size-in-units": "Group Size In Units",
6
+ "field_slot-size-in-units": "Slot Size In Units"
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "field_size" | "field_space" | "field_slots" | "field_group-size-in-units" | "field_slot-size-in-units", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-disk-capacity-info';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DiskCapacityInfo/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import type { IconWithColor } from '../../utils/disks/iconCalculators';
4
4
  import './DiskStateProgressBar.scss';
5
5
  interface DiskStateProgressBarProps {
6
6
  diskAllocatedPercent?: number;
7
+ hideAllocatedPercentLabel?: boolean;
7
8
  severity?: number;
8
9
  compact?: boolean;
9
10
  faded?: boolean;
@@ -15,10 +16,16 @@ interface DiskStateProgressBarProps {
15
16
  isDonor?: boolean;
16
17
  withIcon?: boolean;
17
18
  icon?: IconData | IconWithColor[] | string;
19
+ capacityAlertIndicator?: IconData | string;
20
+ frontQueuesIndicator?: IconData;
21
+ compactionIndicator?: IconWithColor[];
22
+ allModeHasIssues?: boolean;
18
23
  modeModifier?: string;
19
24
  highlighted?: boolean;
20
25
  noDataPlaceholder?: React.ReactNode;
26
+ prioritizeNoDataPlaceholder?: boolean;
27
+ overlapIconAtTopLeft?: boolean;
21
28
  isLegendInactive?: boolean;
22
29
  }
23
- export declare function DiskStateProgressBar({ diskAllocatedPercent, severity, compact, faded, inactive, empty, content, striped, className, isDonor, withIcon, icon: providedIcon, modeModifier, highlighted, noDataPlaceholder, isLegendInactive, }: DiskStateProgressBarProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function DiskStateProgressBar({ diskAllocatedPercent, hideAllocatedPercentLabel, severity, compact, faded, inactive, empty, content, striped, className, isDonor, withIcon, icon: providedIcon, capacityAlertIndicator, frontQueuesIndicator, compactionIndicator, allModeHasIssues, modeModifier, highlighted, noDataPlaceholder, prioritizeNoDataPlaceholder, overlapIconAtTopLeft, isLegendInactive, }: DiskStateProgressBarProps): import("react/jsx-runtime").JSX.Element;
24
31
  export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Flex, Icon } from '@gravity-ui/uikit';
2
+ import { Flex, Icon, Text } from '@gravity-ui/uikit';
3
3
  import { SETTING_KEYS } from '../../store/reducers/settings/constants';
4
4
  import { cn } from '../../utils/cn';
5
5
  import { DONOR_COLOR, NOT_AVAILABLE_SEVERITY } from '../../utils/disks/constants';
@@ -8,7 +8,19 @@ import { useSetting } from '../../utils/hooks';
8
8
  import { isNumeric } from '../../utils/utils';
9
9
  import './DiskStateProgressBar.scss';
10
10
  const b = cn('storage-disk-progress-bar');
11
- export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, compact, faded, inactive, empty, content, striped, className, isDonor, withIcon, icon: providedIcon, modeModifier, highlighted, noDataPlaceholder, isLegendInactive, }) {
11
+ function renderCapacityAlertIndicator(indicator) {
12
+ if (!indicator) {
13
+ return null;
14
+ }
15
+ if (typeof indicator === 'string') {
16
+ return indicator;
17
+ }
18
+ return (_jsx(Icon, { className: b('all-mode-capacity-alert-indicator-icon'), data: indicator, size: 12 }));
19
+ }
20
+ function renderIconGroup(icons) {
21
+ return (_jsx("div", { className: b('icon-group'), children: icons.map(({ icon, color }, index) => (_jsx(Icon, { className: b('icon', { overlapped: index > 0 }), data: icon, size: 10, style: color ? { color } : undefined }, index))) }));
22
+ }
23
+ export function DiskStateProgressBar({ diskAllocatedPercent = -1, hideAllocatedPercentLabel, severity, compact, faded, inactive, empty, content, striped, className, isDonor, withIcon, icon: providedIcon, capacityAlertIndicator, frontQueuesIndicator, compactionIndicator, allModeHasIssues, modeModifier, highlighted, noDataPlaceholder, prioritizeNoDataPlaceholder, overlapIconAtTopLeft, isLegendInactive, }) {
12
24
  const [inverted] = useSetting(SETTING_KEYS.INVERTED_DISKS);
13
25
  const mods = {
14
26
  inverted,
@@ -18,7 +30,9 @@ export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, comp
18
30
  inactive,
19
31
  striped,
20
32
  highlighted,
33
+ 'all-mode-has-issues': modeModifier === 'mode-all' && allModeHasIssues,
21
34
  'legend-inactive': isLegendInactive,
35
+ 'overlap-icon-at-top-left': overlapIconAtTopLeft,
22
36
  };
23
37
  // Add mode modifier if present
24
38
  if (modeModifier) {
@@ -53,10 +67,12 @@ export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, comp
53
67
  if (content) {
54
68
  return content;
55
69
  }
56
- if (!compact && hasAllocatedPercent) {
70
+ if (!compact && hasAllocatedPercent && !hideAllocatedPercentLabel) {
57
71
  return _jsx("div", { className: b('title'), children: `${Math.floor(diskAllocatedPercent)}%` });
58
72
  }
59
- if (!compact && !hasAllocatedPercent && noDataPlaceholder) {
73
+ if (!compact &&
74
+ (!hasAllocatedPercent || prioritizeNoDataPlaceholder) &&
75
+ noDataPlaceholder) {
60
76
  return _jsx("div", { className: b('title', { text: true }), children: noDataPlaceholder });
61
77
  }
62
78
  if (compact && severity === NOT_AVAILABLE_SEVERITY && noDataPlaceholder) {
@@ -75,22 +91,16 @@ export function DiskStateProgressBar({ diskAllocatedPercent = -1, severity, comp
75
91
  iconElement = _jsx("div", { className: b('text-label'), children: icon });
76
92
  }
77
93
  else if (Array.isArray(icon)) {
78
- // Multiple icons with individual colors (e.g., for compaction mode: Fresh + Level)
79
- // Icons overlap: 10px + 10px - 3px = 17px total width
80
- iconElement = (_jsx("div", { className: b('icon-group'), children: icon.map((item, index) => {
81
- // Check if item has color property (IconWithColor)
82
- const iconData = 'icon' in item ? item.icon : item;
83
- const iconColor = 'color' in item ? item.color : undefined;
84
- return (_jsx(Icon, { className: b('icon', { overlapped: index > 0 }), data: iconData, size: 10, style: iconColor ? { color: iconColor } : undefined }, index));
85
- }) }));
94
+ iconElement = renderIconGroup(icon);
86
95
  }
87
96
  else {
88
- iconElement = _jsx(Icon, { className: b('icon'), data: icon, size: 12 });
97
+ iconElement = (_jsx(Icon, { className: b('icon', { 'overlap-top-left': overlapIconAtTopLeft }), data: icon, size: 12 }));
89
98
  }
90
99
  }
91
100
  }
92
101
  const hasIcon = Boolean(iconElement);
93
102
  const justifyContent = hasIcon ? 'space-between' : 'flex-end';
94
- return (_jsxs(Flex, { alignItems: "center", justifyContent: justifyContent, className: b(mods, className), role: "meter", "aria-label": "Disk allocated space", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": hasAllocatedPercent ? diskAllocatedPercent : undefined, children: [iconElement, renderAllocatedPercent(), renderContent()] }));
103
+ const showAllModeIndicators = !compact && modeModifier === 'mode-all';
104
+ return (_jsxs(Flex, { alignItems: "center", justifyContent: justifyContent, className: b(mods, className), role: "meter", "aria-label": "Disk allocated space", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": hasAllocatedPercent ? diskAllocatedPercent : undefined, children: [iconElement, renderAllocatedPercent(), renderContent(), showAllModeIndicators && (_jsxs("div", { className: b('all-mode-indicators'), children: [_jsx(Text, { as: "span", variant: "caption-2", color: "primary", className: b('all-mode-capacity-alert-indicator-slot'), children: renderCapacityAlertIndicator(capacityAlertIndicator) }), _jsx("span", { className: b('all-mode-front-queues-indicator-slot'), children: frontQueuesIndicator && _jsx(Icon, { data: frontQueuesIndicator, size: 12 }) }), _jsx("div", { className: b('all-mode-compaction-indicator-slot'), children: compactionIndicator && renderIconGroup(compactionIndicator) })] }))] }));
95
105
  }
96
106
  //# sourceMappingURL=DiskStateProgressBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiskStateProgressBar.js","sourceRoot":"","sources":["../../../src/components/DiskStateProgressBar/DiskStateProgressBar.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,WAAW,EAAE,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAC,uBAAuB,EAAE,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAEtF,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAqB1C,MAAM,UAAU,oBAAoB,CAAC,EACjC,oBAAoB,GAAG,CAAC,CAAC,EACzB,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,IAAI,EAAE,YAAY,EAClB,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACQ;IACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAsB,YAAY,CAAC,cAAc,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAwC;QAC9C,QAAQ;QACR,OAAO;QACP,KAAK;QACL,KAAK;QACL,QAAQ;QACR,OAAO;QACP,WAAW;QACX,iBAAiB,EAAE,gBAAgB;KACtC,CAAC;IAEF,+BAA+B;IAC/B,IAAI,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;SAAM,CAAC;QACJ,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,GAAG,SAAS,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,IAAI,CAAC,CAAC;IAEzF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8CAA8C;QAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACX,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,SAAS,GAAG,EAAC,GAAI,CAAC;IACpF,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAClC,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,GAAO,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;YACxD,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,YAAG,iBAAiB,GAAO,CAAC;QAC/E,CAAC;QAED,IAAI,OAAO,IAAI,QAAQ,KAAK,sBAAsB,IAAI,iBAAiB,EAAE,CAAC;YACtE,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,YAAG,iBAAiB,GAAO,CAAC;QAClF,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,IAAI,WAAW,GAAoB,IAAI,CAAC;IAExC,MAAM,QAAQ,GAAG,gBAAgB,IAAI,CAAC,OAAO,CAAC;IAE9C,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,sDAAsD;QACtD,MAAM,IAAI,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnE,IAAI,IAAI,EAAE,CAAC;YACP,wDAAwD;YACxD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,WAAW,GAAG,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAAG,IAAI,GAAO,CAAC;YAChE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,mFAAmF;gBACnF,sDAAsD;gBACtD,WAAW,GAAG,CACV,cAAK,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBACtB,mDAAmD;wBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnD,MAAM,SAAS,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;wBAE3D,OAAO,CACH,KAAC,IAAI,IAED,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAC,UAAU,EAAE,KAAK,GAAG,CAAC,EAAC,CAAC,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS,IAJ5C,KAAK,CAKZ,CACL,CAAC;oBACN,CAAC,CAAC,GACA,CACT,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAI,CAAC;YACvE,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;IAE9D,OAAO,CACH,MAAC,IAAI,IACD,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAC,OAAO,gBACD,sBAAsB,mBAClB,CAAC,mBACD,GAAG,mBACH,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,aAEpE,WAAW,EACX,sBAAsB,EAAE,EACxB,aAAa,EAAE,IACb,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DiskStateProgressBar.js","sourceRoot":"","sources":["../../../src/components/DiskStateProgressBar/DiskStateProgressBar.tsx"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@
66
66
  border: none;
67
67
  }
68
68
 
69
+ &_overlap-icon-at-top-left {
70
+ overflow: visible;
71
+ }
72
+
69
73
  // State mode: specific visual variants
70
74
  &_mode-state {
71
75
  // OK state
@@ -86,6 +90,92 @@
86
90
  }
87
91
  }
88
92
 
93
+ &_mode-all {
94
+ &#{$block}_green {
95
+ --entity-state-background-color: transparent;
96
+ --entity-state-border-color: var(--g-color-base-positive-medium);
97
+ --entity-state-fill-color: var(--g-color-base-positive-light);
98
+
99
+ &#{$block}_all-mode-has-issues {
100
+ --entity-state-fill-color: var(--g-color-base-positive-medium);
101
+ --entity-state-border-color: var(--g-color-line-positive);
102
+ }
103
+
104
+ &#{$block}_highlighted {
105
+ --entity-state-border-color: var(--g-color-line-positive);
106
+ --entity-state-background-color: var(--entity-state-fill-color);
107
+ }
108
+ }
109
+
110
+ &#{$block}_yellow {
111
+ --entity-state-background-color: transparent;
112
+ --entity-state-border-color: var(--g-color-line-warning);
113
+ --entity-state-icon-color: var(--g-color-base-warning-heavy);
114
+ --entity-state-fill-color: var(--g-color-base-warning-light);
115
+
116
+ &#{$block}_highlighted {
117
+ --entity-state-border-color: var(--g-color-line-warning);
118
+ --entity-state-icon-color: var(--g-color-base-warning-heavy);
119
+ --entity-state-background-color: var(--entity-state-fill-color);
120
+ }
121
+ }
122
+
123
+ &#{$block}_red {
124
+ --entity-state-background-color: transparent;
125
+ --entity-state-border-color: var(--g-color-line-danger);
126
+ --entity-state-icon-color: var(--g-color-base-danger-heavy);
127
+ --entity-state-fill-color: var(--g-color-base-danger-light);
128
+
129
+ &#{$block}_highlighted {
130
+ --entity-state-border-color: var(--g-color-line-danger);
131
+ --entity-state-icon-color: var(--g-color-base-danger-heavy);
132
+ --entity-state-background-color: var(--entity-state-fill-color);
133
+ }
134
+ }
135
+
136
+ &#{$block}_solidred {
137
+ --entity-state-background-color: var(--g-color-base-danger-medium);
138
+ --entity-state-fill-color: var(--g-color-base-danger-heavy);
139
+ --entity-state-border-color: var(--g-color-base-danger-heavy);
140
+ --entity-state-icon-color: var(--g-color-text-primary);
141
+
142
+ &#{$block}_highlighted {
143
+ --entity-state-background-color: var(--g-color-base-danger-medium-hover);
144
+ --entity-state-fill-color: var(--g-color-base-danger-heavy-hover);
145
+ --entity-state-border-color: var(--g-color-base-danger-heavy-hover);
146
+ }
147
+ }
148
+
149
+ &#{$block}_grey {
150
+ --entity-state-background-color: var(--g-color-base-neutral-medium);
151
+ --entity-state-border-color: none;
152
+ --entity-state-fill-color: var(--g-color-base-neutral-medium);
153
+
154
+ border: none;
155
+
156
+ &#{$block}_highlighted {
157
+ --entity-state-background-color: var(--g-color-base-neutral-medium-hover);
158
+ --entity-state-border-color: none;
159
+ --entity-state-fill-color: var(--g-color-base-neutral-medium-hover);
160
+
161
+ border: none;
162
+ }
163
+ }
164
+
165
+ #{$block}__fill-bar {
166
+ border-radius: calc(var(--disk-border-radius, var(--g-border-radius-m)) - 1px) 0 0
167
+ calc(var(--disk-border-radius, var(--g-border-radius-m)) - 1px);
168
+ }
169
+
170
+ #{$block}__icon_overlap-top-left {
171
+ background-image: radial-gradient(
172
+ circle,
173
+ var(--g-color-base-background) 0 calc(50% - 1px),
174
+ transparent calc(50% - 1px)
175
+ );
176
+ }
177
+ }
178
+
89
179
  &_mode-space {
90
180
  &:not(#{$block}_legend-inactive):not(#{$block}_darkgrey) {
91
181
  --entity-state-stripe-border-color: var(--entity-state-border-color);
@@ -294,6 +384,51 @@
294
384
  }
295
385
  }
296
386
 
387
+ &__all-mode-indicators {
388
+ position: absolute;
389
+ z-index: 2;
390
+ inset: 0;
391
+
392
+ display: grid;
393
+ align-items: center;
394
+ grid-template-columns: 16px 12px 17px;
395
+ column-gap: var(--g-spacing-1);
396
+
397
+ box-sizing: border-box;
398
+ padding-inline: calc(var(--g-spacing-1) - $border-width);
399
+
400
+ pointer-events: none;
401
+
402
+ #{$block}_grey &,
403
+ #{$block}_striped & {
404
+ padding-inline: var(--g-spacing-1);
405
+ }
406
+ }
407
+
408
+ &__all-mode-capacity-alert-indicator-slot {
409
+ display: inline-flex;
410
+ justify-content: center;
411
+ align-items: center;
412
+ }
413
+
414
+ &__all-mode-capacity-alert-indicator-icon {
415
+ color: rgba(162, 162, 162, 1);
416
+ }
417
+
418
+ &__all-mode-front-queues-indicator-slot {
419
+ display: inline-flex;
420
+ justify-content: center;
421
+ align-items: center;
422
+
423
+ color: var(--g-color-text-primary);
424
+ }
425
+
426
+ &__all-mode-compaction-indicator-slot {
427
+ display: inline-flex;
428
+ justify-content: center;
429
+ align-items: center;
430
+ }
431
+
297
432
  &__title {
298
433
  position: relative;
299
434
  z-index: 2;
@@ -344,6 +479,15 @@
344
479
  margin-left: calc(var(--g-spacing-1) - $border-width);
345
480
 
346
481
  color: var(--entity-state-icon-color, var(--entity-state-border-color));
482
+
483
+ &_overlap-top-left {
484
+ position: absolute;
485
+ z-index: 3;
486
+ top: -6px;
487
+ left: -4px;
488
+
489
+ margin-left: 0;
490
+ }
347
491
  }
348
492
 
349
493
  &__text-label {
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { HelpMarkProps } from '@gravity-ui/uikit';
3
+ interface HelpMarkWithDocsProps extends Omit<HelpMarkProps, 'children'> {
4
+ children: React.ReactNode;
5
+ docsLink?: string;
6
+ docsLinkTitle?: string;
7
+ }
8
+ export declare function HelpMarkWithDocs({ children, docsLink, docsLinkTitle, ...helpMarkProps }: HelpMarkWithDocsProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex, HelpMark } from '@gravity-ui/uikit';
3
+ import { LinkWithIcon } from '../LinkWithIcon/LinkWithIcon';
4
+ import { helpMarkWithDocsKeyset } from './i18n';
5
+ export function HelpMarkWithDocs({ children, docsLink, docsLinkTitle, ...helpMarkProps }) {
6
+ return (_jsx(HelpMark, { ...helpMarkProps, children: _jsxs(Flex, { direction: "column", gap: "2", children: [children, docsLink ? (_jsx(LinkWithIcon, { url: docsLink, title: docsLinkTitle !== null && docsLinkTitle !== void 0 ? docsLinkTitle : helpMarkWithDocsKeyset('action_learn-more') })) : null] }) }));
7
+ }
8
+ //# sourceMappingURL=HelpMarkWithDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpMarkWithDocs.js","sourceRoot":"","sources":["../../../src/components/HelpMarkWithDocs/HelpMarkWithDocs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,QAAQ,CAAC;AAQ9C,MAAM,UAAU,gBAAgB,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,GAAG,aAAa,EACI;IACpB,OAAO,CACH,KAAC,QAAQ,OAAK,aAAa,YACvB,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC3B,QAAQ,EACR,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,YAAY,IACT,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,sBAAsB,CAAC,mBAAmB,CAAC,GACrE,CACL,CAAC,CAAC,CAAC,IAAI,IACL,GACA,CACd,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "action_learn-more": "Learn more"
3
+ }
@@ -0,0 +1 @@
1
+ export declare const helpMarkWithDocsKeyset: (key: "action_learn-more", params?: import("@gravity-ui/i18n").Params) => string;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'help-mark-with-docs';
4
+ export const helpMarkWithDocsKeyset = registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/HelpMarkWithDocs/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ interface GetPDiskInfoOptions<T extends PreparedPDisk> {
4
4
  nodeId?: number | string | null;
5
5
  withPDiskPageLink?: boolean;
6
6
  hasDeveloperUi?: boolean;
7
+ capacityMetricsEnabled?: boolean;
7
8
  }
8
9
  interface PDiskInfoProps<T extends PreparedPDisk> extends GetPDiskInfoOptions<T> {
9
10
  className?: string;