ydb-embedded-ui 18.3.2 → 18.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) 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/CriticalActionDialog/CriticalActionDialog.js +1 -1
  6. package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
  7. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +21 -0
  8. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +129 -0
  9. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -0
  10. package/dist/components/DiskCapacityInfo/i18n/en.json +7 -0
  11. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +2 -0
  12. package/dist/components/DiskCapacityInfo/i18n/index.js +5 -0
  13. package/dist/components/DiskCapacityInfo/i18n/index.js.map +1 -0
  14. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +8 -1
  15. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +24 -14
  16. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  17. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +146 -2
  18. package/dist/components/Drawer/index.d.ts +1 -0
  19. package/dist/components/Drawer/index.js.map +1 -1
  20. package/dist/components/EntityStatusNew/EntityStatus.js +3 -3
  21. package/dist/components/EntityStatusNew/EntityStatus.js.map +1 -1
  22. package/dist/components/EntityStatusNew/EntityStatus.scss +4 -7
  23. package/dist/components/EntityStatusNew/i18n/en.json +4 -4
  24. package/dist/components/Graph/Graph.js +3 -1
  25. package/dist/components/Graph/Graph.js.map +1 -1
  26. package/dist/components/Graph/colors.d.ts +10 -0
  27. package/dist/components/Graph/colors.js +53 -0
  28. package/dist/components/Graph/colors.js.map +1 -0
  29. package/dist/components/Graph/colors.test.d.ts +1 -0
  30. package/dist/components/Graph/colors.test.js +60 -0
  31. package/dist/components/Graph/colors.test.js.map +1 -0
  32. package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +1 -0
  33. package/dist/components/HealthcheckStatus/HealthcheckStatus.js +8 -36
  34. package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -1
  35. package/dist/components/HealthcheckStatus/HealthcheckStatus.scss +7 -0
  36. package/dist/components/HealthcheckStatus/config.d.ts +11 -0
  37. package/dist/components/HealthcheckStatus/config.js +51 -0
  38. package/dist/components/HealthcheckStatus/config.js.map +1 -0
  39. package/dist/components/HealthcheckStatus/i18n/en.json +3 -3
  40. package/dist/components/HealthcheckStatus/i18n/index.d.ts +1 -1
  41. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.d.ts +9 -0
  42. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js +8 -0
  43. package/dist/components/HelpMarkWithDocs/HelpMarkWithDocs.js.map +1 -0
  44. package/dist/components/HelpMarkWithDocs/i18n/en.json +3 -0
  45. package/dist/components/HelpMarkWithDocs/i18n/index.d.ts +1 -0
  46. package/dist/components/HelpMarkWithDocs/i18n/index.js +5 -0
  47. package/dist/components/HelpMarkWithDocs/i18n/index.js.map +1 -0
  48. package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
  49. package/dist/components/InfoViewer/schemaInfo/utils.js +1 -1
  50. package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
  51. package/dist/components/PDiskInfo/PDiskInfo.d.ts +1 -0
  52. package/dist/components/PDiskInfo/PDiskInfo.js +51 -14
  53. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  54. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  55. package/dist/components/PDiskPopup/PDiskPopup.d.ts +1 -1
  56. package/dist/components/PDiskPopup/PDiskPopup.js +15 -6
  57. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  58. package/dist/components/PoolBar/PoolBar.scss +10 -10
  59. package/dist/components/StatusIcon/StatusIcon.js +7 -7
  60. package/dist/components/StatusIcon/StatusIcon.js.map +1 -1
  61. package/dist/components/StatusIcon/StatusIcon.scss +2 -2
  62. package/dist/components/StatusIconNew/StatusIcon.js +7 -7
  63. package/dist/components/StatusIconNew/StatusIcon.js.map +1 -1
  64. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +120 -2
  65. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  66. package/dist/components/StorageGroupInfo/i18n/en.json +2 -1
  67. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  68. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +5 -2
  69. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +4 -3
  70. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -1
  71. package/dist/components/VDisk/VDisk.js +44 -10
  72. package/dist/components/VDisk/VDisk.js.map +1 -1
  73. package/dist/components/VDisk/i18n/en.json +6 -1
  74. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  75. package/dist/components/VDiskInfo/VDiskInfo.js +117 -67
  76. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  77. package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +11 -0
  78. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +52 -0
  79. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +1 -0
  80. package/dist/components/VDiskPopup/VDiskPopup.d.ts +5 -0
  81. package/dist/components/VDiskPopup/VDiskPopup.js +20 -9
  82. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  83. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
  84. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +2 -2
  85. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  86. package/dist/components/capacityMetricsColumns/columns.js +19 -24
  87. package/dist/components/capacityMetricsColumns/columns.js.map +1 -1
  88. package/dist/components/capacityMetricsColumns/constants.d.ts +11 -0
  89. package/dist/components/capacityMetricsColumns/constants.js +25 -0
  90. package/dist/components/capacityMetricsColumns/constants.js.map +1 -1
  91. package/dist/components/capacityMetricsColumns/formatters.d.ts +1 -0
  92. package/dist/components/capacityMetricsColumns/formatters.js +9 -0
  93. package/dist/components/capacityMetricsColumns/formatters.js.map +1 -0
  94. package/dist/components/capacityMetricsColumns/i18n/en.json +9 -1
  95. package/dist/components/capacityMetricsColumns/i18n/index.d.ts +1 -1
  96. package/dist/components/nodesColumns/constants.js +1 -1
  97. package/dist/components/nodesColumns/constants.js.map +1 -1
  98. package/dist/containers/App/App.scss +6 -6
  99. package/dist/containers/App/NavigationWrapper.js +1 -1
  100. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  101. package/dist/containers/AsideNavigation/Navigation.scss +0 -1
  102. package/dist/containers/AsideNavigation/i18n/en.json +1 -1
  103. package/dist/containers/Authentication/Authentication.js +2 -1
  104. package/dist/containers/Authentication/Authentication.js.map +1 -1
  105. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +3 -26
  106. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
  107. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +1 -1
  108. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  109. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +3 -26
  110. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -1
  111. package/dist/containers/Storage/Disks/Disks.d.ts +2 -2
  112. package/dist/containers/Storage/Disks/Disks.js +17 -14
  113. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  114. package/dist/containers/Storage/Disks/Disks.scss +20 -0
  115. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.d.ts +2 -0
  116. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js +46 -0
  117. package/dist/containers/Storage/Disks/calculateCompactVDiskWidths.js.map +1 -0
  118. package/dist/containers/Storage/Disks/constants.d.ts +5 -0
  119. package/dist/containers/Storage/Disks/constants.js +11 -0
  120. package/dist/containers/Storage/Disks/constants.js.map +1 -0
  121. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  122. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  123. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  124. package/dist/containers/Storage/PDisks/PDisks.js +2 -1
  125. package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
  126. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +8 -15
  127. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  128. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.d.ts +2 -2
  129. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +37 -9
  130. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  131. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +5 -0
  132. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +31 -1
  133. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  134. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +39 -24
  135. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  136. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  137. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  138. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/types.d.ts +1 -0
  139. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +18 -9
  140. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  141. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +1 -1
  142. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  143. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +16 -2
  144. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js +96 -2
  145. package/dist/containers/Storage/StorageExpertModePanel/components/AllLegend.js.map +1 -1
  146. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +2 -5
  147. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  148. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +2 -0
  149. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +6 -1
  150. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  151. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +3 -3
  152. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  153. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +13 -0
  154. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  155. package/dist/containers/Storage/useStorageQueryParams.js +9 -4
  156. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  157. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +45 -5
  158. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  159. package/dist/containers/Storage/utils/index.d.ts +2 -1
  160. package/dist/containers/Storage/utils/index.js +13 -0
  161. package/dist/containers/Storage/utils/index.js.map +1 -1
  162. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js +2 -1
  163. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.js.map +1 -1
  164. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js +2 -0
  165. package/dist/containers/Tenant/Diagnostics/AccessRights/components/ChangeOwnerDialog.js.map +1 -1
  166. package/dist/containers/Tenant/Diagnostics/AccessRights/i18n/index.d.ts +1 -1
  167. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
  168. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js.map +1 -1
  169. package/dist/containers/Tenant/Diagnostics/Network/i18n/index.d.ts +1 -1
  170. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js +4 -4
  171. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js.map +1 -1
  172. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js +4 -4
  173. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSpecificSchemaObjectInfo.js.map +1 -1
  174. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +2 -0
  175. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
  176. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js +15 -13
  177. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/ManagePartitioningDialog.js.map +1 -1
  178. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  179. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/useManagePartitionForm.d.ts +1 -1
  180. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js +2 -2
  181. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/utils.js.map +1 -1
  182. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js +3 -3
  183. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/PartitionsProgress.js.map +1 -1
  184. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/en.json +1 -2
  185. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/PartitionsProgress/i18n/index.d.ts +1 -1
  186. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +1 -1
  187. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
  188. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  189. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js +1 -1
  190. package/dist/containers/Tenant/Diagnostics/Overview/TopicInfo/TopicInfo.js.map +1 -1
  191. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js +1 -1
  192. package/dist/containers/Tenant/Diagnostics/Overview/TopicStats/TopicStats.js.map +1 -1
  193. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -1
  194. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  195. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js +2 -0
  196. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showMoveOffsetConfirmation.js.map +1 -1
  197. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js +6 -1
  198. package/dist/containers/Tenant/Diagnostics/Partitions/utils/showSpecifyOffsetConfirmation.js.map +1 -1
  199. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +13 -16
  200. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  201. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +12 -2
  202. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.scss +1 -0
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js +9 -1
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/CpuTab.js.map +1 -1
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js +9 -1
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/MemoryTab.js.map +1 -1
  207. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js +9 -1
  208. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/NetworkTab.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js +9 -1
  210. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/components/StorageTab.js.map +1 -1
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.d.ts +2 -1
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js +8 -3
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/MetricTabCard.js.map +1 -1
  214. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js +7 -2
  215. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/ServerlessTabCard.js.map +1 -1
  216. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +5 -0
  217. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -2
  218. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +1 -1
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +36 -15
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  222. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.d.ts +14 -0
  223. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js +38 -0
  224. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageGroups.js.map +1 -0
  225. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.d.ts +1 -1
  226. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +3 -2
  227. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
  228. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.scss +6 -2
  229. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.d.ts +10 -1
  230. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +12 -8
  231. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  232. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +15 -1
  233. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  234. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/types.d.ts +3 -1
  235. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +13 -0
  236. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  237. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js +1 -1
  238. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/TopicMessageDetails.js.map +1 -1
  239. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +1 -1
  240. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  241. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +1 -1
  242. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -1
  243. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  244. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js +1 -1
  245. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicProbeQuery.js.map +1 -1
  246. package/dist/containers/Tenant/EntityTitle/EntityTitle.js +1 -1
  247. package/dist/containers/Tenant/GrantAccess/components/Footer.js +2 -1
  248. package/dist/containers/Tenant/GrantAccess/components/Footer.js.map +1 -1
  249. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +18 -0
  250. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +29 -0
  251. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -0
  252. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.d.ts +8 -0
  253. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js +10 -0
  254. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawerTitle.js.map +1 -0
  255. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +7 -1
  256. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
  257. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +6 -5
  258. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
  259. package/dist/containers/Tenant/Healthcheck/utils.d.ts +1 -0
  260. package/dist/containers/Tenant/Healthcheck/utils.js +5 -0
  261. package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -1
  262. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js +14 -9
  263. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.js.map +1 -1
  264. package/dist/containers/Tenant/ObjectSummary/CreateDirectoryDialog/CreateDirectoryDialog.scss +57 -6
  265. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +22 -22
  266. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  267. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +31 -0
  268. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +58 -0
  269. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  270. package/dist/containers/Tenant/Query/Issues/Issues.js +3 -3
  271. package/dist/containers/Tenant/Query/Issues/Issues.js.map +1 -1
  272. package/dist/containers/Tenant/Query/Issues/helpers.d.ts +3 -0
  273. package/dist/containers/Tenant/Query/Issues/helpers.js +40 -0
  274. package/dist/containers/Tenant/Query/Issues/helpers.js.map +1 -1
  275. package/dist/containers/Tenant/Query/Issues/helpers.test.d.ts +1 -0
  276. package/dist/containers/Tenant/Query/Issues/helpers.test.js +94 -0
  277. package/dist/containers/Tenant/Query/Issues/helpers.test.js.map +1 -0
  278. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +1 -1
  279. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  280. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
  281. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  282. package/dist/containers/Tenant/Query/QueriesHistory/columns.js +2 -2
  283. package/dist/containers/Tenant/Query/QueriesHistory/columns.js.map +1 -1
  284. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js +1 -1
  285. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.js.map +1 -1
  286. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/EditorTabItem.scss +24 -64
  287. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js +2 -1
  288. package/dist/containers/Tenant/Query/QueryEditor/EditorTabs/RenameQueryDialog.js.map +1 -1
  289. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +141 -73
  290. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  291. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.scss +13 -2
  292. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.d.ts +4 -2
  293. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js +187 -20
  294. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/YqlEditor.js.map +1 -1
  295. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.d.ts +9 -0
  296. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js +154 -0
  297. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.js.map +1 -0
  298. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.d.ts +1 -0
  299. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js +153 -0
  300. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor/currentStatement.test.js.map +1 -0
  301. package/dist/containers/Tenant/Query/QueryEditor/types.d.ts +5 -0
  302. package/dist/containers/Tenant/Query/QueryEditor/types.js +2 -0
  303. package/dist/containers/Tenant/Query/QueryEditor/types.js.map +1 -0
  304. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.d.ts +5 -0
  305. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js +13 -0
  306. package/dist/containers/Tenant/Query/QueryEditor/utils/reachExplainQueryMetricaGoals.js.map +1 -0
  307. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +6 -3
  308. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +12 -6
  309. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -1
  310. package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.scss +18 -5
  311. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +3 -2
  312. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +23 -12
  313. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  314. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +19 -0
  315. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +14 -21
  316. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  317. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.d.ts +6 -2
  318. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +6 -2
  319. package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
  320. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.d.ts +2 -0
  321. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +1 -1
  322. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
  323. package/dist/containers/Tenant/Query/QueryResult/constants.d.ts +3 -0
  324. package/dist/containers/Tenant/Query/QueryResult/constants.js +35 -0
  325. package/dist/containers/Tenant/Query/QueryResult/constants.js.map +1 -1
  326. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +2 -0
  327. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  328. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js +2 -1
  329. package/dist/containers/Tenant/Query/SaveChangesDialog/SaveChangesDialog.js.map +1 -1
  330. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +2 -0
  331. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js.map +1 -1
  332. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -1
  333. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
  334. package/dist/containers/Tenant/Query/i18n/en.json +5 -2
  335. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  336. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.d.ts +1 -1
  337. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js +1 -13
  338. package/dist/containers/Tenant/Query/utils/isQueryCancelledError.js.map +1 -1
  339. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.d.ts +19 -0
  340. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js +227 -0
  341. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.js.map +1 -0
  342. package/dist/containers/Tenant/TableFormDialog/TableFormDialog.scss +589 -0
  343. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.d.ts +1 -0
  344. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js +179 -0
  345. package/dist/containers/Tenant/TableFormDialog/columnValueValidation.js.map +1 -0
  346. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.d.ts +11 -0
  347. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js +85 -0
  348. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.js.map +1 -0
  349. package/dist/containers/Tenant/TableFormDialog/components/ColumnSelectorField.scss +175 -0
  350. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.d.ts +19 -0
  351. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js +115 -0
  352. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.js.map +1 -0
  353. package/dist/containers/Tenant/TableFormDialog/components/RangeInputPicker.scss +22 -0
  354. package/dist/containers/Tenant/TableFormDialog/components/layout.d.ts +15 -0
  355. package/dist/containers/Tenant/TableFormDialog/components/layout.js +32 -0
  356. package/dist/containers/Tenant/TableFormDialog/components/layout.js.map +1 -0
  357. package/dist/containers/Tenant/TableFormDialog/constants.d.ts +16 -0
  358. package/dist/containers/Tenant/TableFormDialog/constants.js +99 -0
  359. package/dist/containers/Tenant/TableFormDialog/constants.js.map +1 -0
  360. package/dist/containers/Tenant/TableFormDialog/i18n/en.json +143 -0
  361. package/dist/containers/Tenant/TableFormDialog/i18n/index.d.ts +2 -0
  362. package/dist/containers/Tenant/TableFormDialog/i18n/index.js +5 -0
  363. package/dist/containers/Tenant/TableFormDialog/i18n/index.js.map +1 -0
  364. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.d.ts +8 -0
  365. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js +34 -0
  366. package/dist/containers/Tenant/TableFormDialog/sections/GeneralSection.js.map +1 -0
  367. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.d.ts +5 -0
  368. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js +28 -0
  369. package/dist/containers/Tenant/TableFormDialog/sections/PartitioningSection.js.map +1 -0
  370. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.d.ts +6 -0
  371. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js +141 -0
  372. package/dist/containers/Tenant/TableFormDialog/sections/SettingsSection.js.map +1 -0
  373. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.d.ts +22 -0
  374. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js +98 -0
  375. package/dist/containers/Tenant/TableFormDialog/sections/SplitPointDialog.js.map +1 -0
  376. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.d.ts +6 -0
  377. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js +70 -0
  378. package/dist/containers/Tenant/TableFormDialog/sections/TTLSection.js.map +1 -0
  379. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.d.ts +11 -0
  380. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js +181 -0
  381. package/dist/containers/Tenant/TableFormDialog/sections/YdbColumnsSection.js.map +1 -0
  382. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.d.ts +1 -0
  383. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js +42 -0
  384. package/dist/containers/Tenant/TableFormDialog/sections/YdbIndexesSection.js.map +1 -0
  385. package/dist/containers/Tenant/TableFormDialog/types.d.ts +26 -0
  386. package/dist/containers/Tenant/TableFormDialog/types.js +3 -0
  387. package/dist/containers/Tenant/TableFormDialog/types.js.map +1 -0
  388. package/dist/containers/Tenant/TableFormDialog/utils.d.ts +41 -0
  389. package/dist/containers/Tenant/TableFormDialog/utils.js +245 -0
  390. package/dist/containers/Tenant/TableFormDialog/utils.js.map +1 -0
  391. package/dist/containers/Tenant/TableFormDialog/validation.d.ts +8 -0
  392. package/dist/containers/Tenant/TableFormDialog/validation.js +308 -0
  393. package/dist/containers/Tenant/TableFormDialog/validation.js.map +1 -0
  394. package/dist/containers/Tenant/Tenant.js +1 -1
  395. package/dist/containers/Tenant/Tenant.js.map +1 -1
  396. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +3 -26
  397. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
  398. package/dist/containers/Tenant/TenantDrawerRights.js +1 -1
  399. package/dist/containers/Tenant/TenantDrawerRights.js.map +1 -1
  400. package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js +5 -5
  401. package/dist/containers/Tenant/TenantNavigation/useTenantNavigation.js.map +1 -1
  402. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.d.ts +19 -0
  403. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js +301 -0
  404. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.js.map +1 -0
  405. package/dist/containers/Tenant/TopicFormDialog/TopicFormDialog.scss +182 -0
  406. package/dist/containers/Tenant/TopicFormDialog/i18n/en.json +51 -0
  407. package/dist/containers/Tenant/TopicFormDialog/i18n/index.d.ts +2 -0
  408. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js +5 -0
  409. package/dist/containers/Tenant/TopicFormDialog/i18n/index.js.map +1 -0
  410. package/dist/containers/Tenant/TopicFormDialog/utils.d.ts +18 -0
  411. package/dist/containers/Tenant/TopicFormDialog/utils.js +100 -0
  412. package/dist/containers/Tenant/TopicFormDialog/utils.js.map +1 -0
  413. package/dist/containers/Tenant/TopicFormDialog/validation.d.ts +3 -0
  414. package/dist/containers/Tenant/TopicFormDialog/validation.js +88 -0
  415. package/dist/containers/Tenant/TopicFormDialog/validation.js.map +1 -0
  416. package/dist/containers/Tenant/constants.d.ts +0 -2
  417. package/dist/containers/Tenant/constants.js +6 -14
  418. package/dist/containers/Tenant/constants.js.map +1 -1
  419. package/dist/containers/Tenant/i18n/en.json +114 -110
  420. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  421. package/dist/containers/Tenant/utils/controls.js +1 -1
  422. package/dist/containers/Tenant/utils/pathSegmentValidation.d.ts +5 -0
  423. package/dist/containers/Tenant/utils/pathSegmentValidation.js +15 -0
  424. package/dist/containers/Tenant/utils/pathSegmentValidation.js.map +1 -0
  425. package/dist/containers/Tenant/utils/schema.js +32 -32
  426. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  427. package/dist/containers/Tenant/utils/schemaActions.d.ts +4 -0
  428. package/dist/containers/Tenant/utils/schemaActions.js +190 -98
  429. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  430. package/dist/containers/Tenants/TenantsTable.js +2 -2
  431. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  432. package/dist/containers/VDiskPage/VDiskPage.js +3 -30
  433. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  434. package/dist/containers/VDiskPage/VDiskStorageDetails.js +2 -2
  435. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
  436. package/dist/containers/VDiskPage/useVDiskQueryParams.d.ts +13 -0
  437. package/dist/containers/VDiskPage/useVDiskQueryParams.js +55 -0
  438. package/dist/containers/VDiskPage/useVDiskQueryParams.js.map +1 -0
  439. package/dist/containers/Versions/i18n/index.d.ts +1 -1
  440. package/dist/store/reducers/pdisk/utils.js +4 -4
  441. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  442. package/dist/store/reducers/query/api.d.ts +2 -1
  443. package/dist/store/reducers/query/api.js +107 -48
  444. package/dist/store/reducers/query/api.js.map +1 -1
  445. package/dist/store/reducers/query/parsers/preparePlanData.js +8 -1
  446. package/dist/store/reducers/query/parsers/preparePlanData.js.map +1 -1
  447. package/dist/store/reducers/query/slice.d.ts +8 -9
  448. package/dist/store/reducers/query/slice.js +5 -0
  449. package/dist/store/reducers/query/slice.js.map +1 -1
  450. package/dist/store/reducers/query/streaming/reducers.d.ts +3 -0
  451. package/dist/store/reducers/query/streaming/reducers.js +6 -6
  452. package/dist/store/reducers/query/streaming/reducers.js.map +1 -1
  453. package/dist/store/reducers/query/types.d.ts +8 -4
  454. package/dist/store/reducers/query/utils.d.ts +10 -2
  455. package/dist/store/reducers/query/utils.js +37 -6
  456. package/dist/store/reducers/query/utils.js.map +1 -1
  457. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +10 -3
  458. package/dist/store/reducers/storage/prepareGroupsDisks.js +43 -6
  459. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  460. package/dist/store/reducers/storage/types.d.ts +1 -0
  461. package/dist/store/reducers/storage/utils.js +4 -7
  462. package/dist/store/reducers/storage/utils.js.map +1 -1
  463. package/dist/store/reducers/table/constants.d.ts +6 -0
  464. package/dist/store/reducers/table/constants.js +36 -0
  465. package/dist/store/reducers/table/constants.js.map +1 -0
  466. package/dist/store/reducers/table/table.d.ts +19 -0
  467. package/dist/store/reducers/table/table.js +104 -0
  468. package/dist/store/reducers/table/table.js.map +1 -0
  469. package/dist/store/reducers/table/types.d.ts +193 -0
  470. package/dist/store/reducers/table/types.js +12 -0
  471. package/dist/store/reducers/table/types.js.map +1 -0
  472. package/dist/store/reducers/table/utils.d.ts +17 -0
  473. package/dist/store/reducers/table/utils.js +485 -0
  474. package/dist/store/reducers/table/utils.js.map +1 -0
  475. package/dist/store/reducers/topic/topic.d.ts +1762 -0
  476. package/dist/store/reducers/topic/topic.js +172 -0
  477. package/dist/store/reducers/topic/topic.js.map +1 -0
  478. package/dist/store/reducers/topic/utils.d.ts +23 -0
  479. package/dist/store/reducers/topic/utils.js +75 -0
  480. package/dist/store/reducers/topic/utils.js.map +1 -0
  481. package/dist/styles/mixins.scss +9 -0
  482. package/dist/types/api/pdisk.d.ts +6 -1
  483. package/dist/types/api/pdisk.js.map +1 -1
  484. package/dist/types/api/storage.d.ts +3 -1
  485. package/dist/types/api/storage.js.map +1 -1
  486. package/dist/types/api/topic.d.ts +18 -0
  487. package/dist/types/api/topic.js +8 -0
  488. package/dist/types/api/topic.js.map +1 -1
  489. package/dist/types/api/vdisk.d.ts +8 -0
  490. package/dist/types/api/vdisk.js.map +1 -1
  491. package/dist/uiFactory/types.d.ts +5 -0
  492. package/dist/uiFactory/uiFactory.d.ts +4 -1
  493. package/dist/uiFactory/uiFactory.js +8 -1
  494. package/dist/uiFactory/uiFactory.js.map +1 -1
  495. package/dist/utils/capacityAlerts.d.ts +1 -0
  496. package/dist/utils/capacityAlerts.js +3 -0
  497. package/dist/utils/capacityAlerts.js.map +1 -1
  498. package/dist/utils/constants.d.ts +2 -1
  499. package/dist/utils/constants.js +2 -1
  500. package/dist/utils/constants.js.map +1 -1
  501. package/dist/utils/disks/displayState.d.ts +5 -0
  502. package/dist/utils/disks/displayState.js.map +1 -1
  503. package/dist/utils/disks/iconCalculators.d.ts +1 -3
  504. package/dist/utils/disks/iconCalculators.js +5 -6
  505. package/dist/utils/disks/iconCalculators.js.map +1 -1
  506. package/dist/utils/disks/prepareDisks.d.ts +1 -1
  507. package/dist/utils/disks/prepareDisks.js +44 -3
  508. package/dist/utils/disks/prepareDisks.js.map +1 -1
  509. package/dist/utils/disks/severityCalculators.d.ts +1 -4
  510. package/dist/utils/disks/severityCalculators.js +2 -6
  511. package/dist/utils/disks/severityCalculators.js.map +1 -1
  512. package/dist/utils/disks/types.d.ts +8 -0
  513. package/dist/utils/emptyDataPlaceholder.d.ts +1 -0
  514. package/dist/utils/emptyDataPlaceholder.js +2 -0
  515. package/dist/utils/emptyDataPlaceholder.js.map +1 -0
  516. package/dist/utils/hooks/useSelectedColumns.d.ts +3 -0
  517. package/dist/utils/hooks/useSelectedColumns.js +18 -0
  518. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  519. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js +2 -1
  520. package/dist/utils/hooks/withConfirmation/RunningQueryDialog.js.map +1 -1
  521. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js +2 -1
  522. package/dist/utils/hooks/withConfirmation/UnsavedChangesDialog.js.map +1 -1
  523. package/dist/utils/query.d.ts +4 -1
  524. package/dist/utils/query.js +34 -1
  525. package/dist/utils/query.js.map +1 -1
  526. package/dist/utils/storageMetrics.d.ts +5 -1
  527. package/dist/utils/storageMetrics.js +35 -4
  528. package/dist/utils/storageMetrics.js.map +1 -1
  529. package/dist/utils/utils.js +2 -1
  530. package/dist/utils/utils.js.map +1 -1
  531. package/package.json +1 -1
  532. package/dist/store/reducers/topic.d.ts +0 -1291
  533. package/dist/store/reducers/topic.js +0 -83
  534. package/dist/store/reducers/topic.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ .ydb-topic-form-dialog {
2
+ --topic-form-control-width: 320px;
3
+ --topic-form-input-gap: var(--g-spacing-4);
4
+
5
+ max-height: 90vh;
6
+
7
+ &__body {
8
+ display: flex;
9
+ flex: 1 1 auto;
10
+ flex-direction: column;
11
+
12
+ min-height: 0;
13
+ padding-top: var(--g-spacing-5);
14
+ padding-bottom: 0;
15
+ }
16
+
17
+ &__form {
18
+ display: flex;
19
+ flex: 1 1 auto;
20
+ flex-direction: column;
21
+
22
+ width: 100%;
23
+ min-height: 0;
24
+ }
25
+
26
+ &__scroll-container {
27
+ overflow: hidden auto;
28
+ overscroll-behavior: none;
29
+ flex: 1 1 auto;
30
+
31
+ min-height: 0;
32
+ margin-inline: calc(-1 * var(--_--side-padding));
33
+ padding-inline: var(--_--side-padding);
34
+
35
+ background:
36
+ linear-gradient(var(--g-color-base-modal), var(--g-color-base-modal)) bottom / 100% 5px
37
+ no-repeat local,
38
+ linear-gradient(var(--g-color-line-generic), var(--g-color-line-generic)) bottom / 100%
39
+ 1px no-repeat scroll;
40
+ background-color: var(--g-color-base-modal);
41
+ }
42
+
43
+ &__scroll-content {
44
+ padding-bottom: var(--g-spacing-2);
45
+ }
46
+
47
+ &__section + &__section {
48
+ margin-top: var(--g-spacing-6);
49
+ }
50
+
51
+ &__section-title {
52
+ margin-bottom: var(--g-spacing-4);
53
+ }
54
+
55
+ &__row {
56
+ display: grid;
57
+ align-items: start;
58
+ grid-template-columns: 190px minmax(0, 1fr);
59
+ gap: var(--g-spacing-3);
60
+
61
+ & + & {
62
+ margin-top: var(--g-spacing-4);
63
+ }
64
+ }
65
+
66
+ &__label {
67
+ display: flex;
68
+ align-items: center;
69
+ gap: var(--g-spacing-1);
70
+
71
+ padding-top: 7px;
72
+
73
+ font-weight: 500;
74
+
75
+ color: var(--g-color-text-secondary);
76
+ }
77
+
78
+ &__label-title {
79
+ min-width: 0;
80
+ }
81
+
82
+ &__help-mark {
83
+ flex-shrink: 0;
84
+ }
85
+
86
+ &__help-mark-popup {
87
+ max-width: 300px;
88
+ }
89
+
90
+ &__fixed-value {
91
+ min-height: 28px;
92
+ padding-top: 5px;
93
+ }
94
+
95
+ &__control-stack {
96
+ display: flex;
97
+ flex-direction: column;
98
+ align-items: flex-start;
99
+ gap: var(--g-spacing-2);
100
+ }
101
+
102
+ &__control,
103
+ &__control.g-text-input,
104
+ &__control.g-select {
105
+ width: var(--topic-form-control-width);
106
+ max-width: 100%;
107
+ }
108
+
109
+ &__input-s,
110
+ &__input-s.g-text-input {
111
+ width: calc((var(--topic-form-control-width) - var(--topic-form-input-gap)) / 2);
112
+ max-width: 100%;
113
+ }
114
+
115
+ &__select-s,
116
+ &__select-s.g-select {
117
+ width: var(--topic-form-control-width);
118
+ max-width: 100%;
119
+ }
120
+
121
+ &__dual-inputs {
122
+ display: grid;
123
+ grid-template-columns: repeat(2, minmax(0, 1fr));
124
+ gap: var(--topic-form-input-gap);
125
+
126
+ width: var(--topic-form-control-width);
127
+ max-width: 100%;
128
+ }
129
+
130
+ &__dual-inputs &__input-s,
131
+ &__dual-inputs &__input-s.g-text-input {
132
+ width: 100%;
133
+ max-width: 100%;
134
+ }
135
+
136
+ &__input-details {
137
+ margin-right: var(--g-spacing-2);
138
+
139
+ text-transform: capitalize;
140
+
141
+ color: var(--g-color-text-secondary);
142
+ }
143
+
144
+ &__divider {
145
+ margin: var(--g-spacing-6) 0;
146
+ }
147
+
148
+ &__disclosure {
149
+ margin-top: var(--g-spacing-4);
150
+ }
151
+
152
+ &__switch-row {
153
+ padding-top: var(--g-spacing-1);
154
+ }
155
+
156
+ &__full-width-alert {
157
+ margin-block: var(--g-spacing-3);
158
+ }
159
+
160
+ &__settings-content {
161
+ padding-top: var(--g-spacing-4);
162
+ }
163
+
164
+ &__incompatible-popover {
165
+ padding: var(--g-spacing-3);
166
+ }
167
+
168
+ &__popover-target {
169
+ display: inline-flex;
170
+ }
171
+
172
+ &__error {
173
+ max-width: 100%;
174
+ }
175
+
176
+ &__loader {
177
+ display: flex;
178
+ justify-content: center;
179
+
180
+ padding: var(--g-spacing-8) 0;
181
+ }
182
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "action_cancel": "Cancel",
3
+ "action_create": "Create",
4
+ "action_update": "Update",
5
+ "title_topic-create": "Create topic",
6
+ "title_topic-edit": "Edit topic",
7
+ "title_topic-parameters": "Parameters",
8
+ "title_auto-partitioning-settings": "Advanced settings",
9
+ "field_name": "Name",
10
+ "field_shard-write-quota": "Shard throughput",
11
+ "field_auto-partitioning": "Autopartitioning",
12
+ "field_shards": "Shards",
13
+ "field_auto-partitioning-mode": "Autopartitioning mode",
14
+ "field_auto-partitioning-stabilization-window": "Stabilization period",
15
+ "field_auto-partitioning-up-utilization": "Upper utilization limit",
16
+ "context_field-name": "Use slash-separated path segments. Each segment may contain Latin letters (A-Z, a-z), numbers (0-9), and special characters: ., -, _. Maximum segment length is 255 characters.",
17
+ "context_shards-write-quota": "The maximum allowed write speed per partition. [Read more](https://ydb.tech/docs/en/concepts/datamodel/topic#partitioning) about partition throughput",
18
+ "context_throughput-info": "Total throughput: up to {{speed}} (calculated using the formula: partition throughput * number of partitions)",
19
+ "context_throughput-info-range": "Total throughput: from {{from}} to {{to}} (calculated using the formula: partition throughput * number of partitions)",
20
+ "context_auto-partitioning": "Dynamic scaling of the topic depending on the write speed. [Documentation](https://ydb.tech/docs/en/concepts/datamodel/topic#autopartitioning)",
21
+ "context_auto-partitioning-mode-disabled": "Autopartitioning cannot be disabled",
22
+ "context_shards": "Number of [partitions](https://ydb.tech/docs/en/concepts/datamodel/topic#partitioning) in the topic",
23
+ "context_shards-info": "The number of shards cannot be reduced",
24
+ "context_auto-partitioning-mode": "Autopartitioning mode for the topic. [Read more](https://ydb.tech/docs/en/concepts/datamodel/topic#autopartitioning_strategies) ",
25
+ "context_auto-partitioning-stabilization-window": "The period of time after a load change when the number of partitions will change",
26
+ "context_auto-partitioning-up-utilization": "The threshold at which the number of partitions increases",
27
+ "confirm_auto-partitioning-message": "The Kafka protocol does not support topic autopartitioning. If you enable autopartitioning, you will not be able to work with the topics you create using the Kafka protocol. You cannot disable autopartitioning for a specific topic.",
28
+ "value_auto-partitioning-scale-up": "Scale up",
29
+ "value_auto-partitioning-paused": "Paused",
30
+ "value_min": "Minimum",
31
+ "value_max": "Maximum",
32
+ "value_seconds": "seconds",
33
+ "value_rows": "rows",
34
+ "alert_create-success": "Topic created",
35
+ "alert_create-error": "Failed to create topic",
36
+ "alert_update-success": "Topic updated",
37
+ "alert_update-error": "Failed to update topic",
38
+ "error_load-topic": "Unable to load topic settings",
39
+ "error_topic-path-required": "Topic path is not specified",
40
+ "error_required": "Required field",
41
+ "error_number": "Value must be a number",
42
+ "error_int": "Value must be an integer",
43
+ "error_lowercase": "Value must be lowercase",
44
+ "error_name-regex": "Use slash-separated path segments. Each segment may contain Latin letters (A-Z, a-z), numbers (0-9), and special characters: ., -, _. Maximum segment length is 255 characters.",
45
+ "error_min-length": "Value can't be shorter than {{count}} characters",
46
+ "error_max-length": "Value can't be longer than {{count}} characters",
47
+ "error_min-number": "Value must be an integer no less than {{count}}",
48
+ "error_max-number": "Value must not be greater than {{count}}",
49
+ "error_less-than-number": "This value must be an integer less than {{count}}",
50
+ "error_more-than-number": "This value must be an integer greater than {{count}}"
51
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "field_shards" | "action_cancel" | "action_create" | "error_required" | "action_update" | "alert_create-success" | "alert_create-error" | "alert_update-success" | "alert_update-error" | "context_field-name" | "field_name" | "value_seconds" | "title_topic-create" | "title_topic-edit" | "title_topic-parameters" | "title_auto-partitioning-settings" | "field_shard-write-quota" | "field_auto-partitioning" | "field_auto-partitioning-mode" | "field_auto-partitioning-stabilization-window" | "field_auto-partitioning-up-utilization" | "context_shards-write-quota" | "context_throughput-info" | "context_throughput-info-range" | "context_auto-partitioning" | "context_auto-partitioning-mode-disabled" | "context_shards" | "context_shards-info" | "context_auto-partitioning-mode" | "context_auto-partitioning-stabilization-window" | "context_auto-partitioning-up-utilization" | "confirm_auto-partitioning-message" | "value_auto-partitioning-scale-up" | "value_auto-partitioning-paused" | "value_min" | "value_max" | "value_rows" | "error_load-topic" | "error_topic-path-required" | "error_number" | "error_int" | "error_lowercase" | "error_name-regex" | "error_min-length" | "error_max-length" | "error_min-number" | "error_max-number" | "error_less-than-number" | "error_more-than-number", 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-topic-form-dialog';
4
+ export default registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/TopicFormDialog/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { TopicFormValues } from '../../../store/reducers/topic/utils';
2
+ export declare const TOPIC_FORM_DIALOG = "topic-form-dialog";
3
+ export declare const DEFAULT_TOPIC_FORM_VALUES: TopicFormValues;
4
+ export declare function acceptNumber(value: string): boolean;
5
+ export declare function parseNumberInput(value: string): number;
6
+ export declare function formatNumberInput(value: number | undefined): string;
7
+ export declare function formatBandwidthBytes(value: number | undefined): string;
8
+ export declare function formatWriteQuotaSelectValue(value: number | undefined): string;
9
+ export declare function buildFullTopicPath(formData: TopicFormValues, databaseFullPath: string): string;
10
+ export declare function getCreateTopicInitialValues({ databaseFullPath, parentPath, }: {
11
+ databaseFullPath: string;
12
+ parentPath?: string;
13
+ }): TopicFormValues;
14
+ export declare function getUpdateTopicInitialValues({ databaseFullPath, formData, topicPath, }: {
15
+ databaseFullPath: string;
16
+ formData: TopicFormValues;
17
+ topicPath: string;
18
+ }): TopicFormValues;
@@ -0,0 +1,100 @@
1
+ import { AutoPartitioningStrategy } from '../../../store/reducers/topic/utils';
2
+ import { UNBREAKABLE_GAP } from '../../../utils/constants';
3
+ export const TOPIC_FORM_DIALOG = 'topic-form-dialog';
4
+ const KILOBYTE = 1024;
5
+ const MEGABYTE = KILOBYTE * 1024;
6
+ export const DEFAULT_TOPIC_FORM_VALUES = {
7
+ shards: 1,
8
+ writeQuotaBytes: 1024 * 1024,
9
+ autoPartitioning: {
10
+ enabled: false,
11
+ mode: AutoPartitioningStrategy.ScaleUp,
12
+ minPartitions: 1,
13
+ maxPartitions: 2,
14
+ stabilizationWindow: 300,
15
+ upUtilization: 90,
16
+ },
17
+ };
18
+ export function acceptNumber(value) {
19
+ return value === '' || (/^[0-9]+$/.test(value) && Number(value) <= Number.MAX_SAFE_INTEGER);
20
+ }
21
+ export function parseNumberInput(value) {
22
+ return value ? Number.parseInt(value, 10) : NaN;
23
+ }
24
+ export function formatNumberInput(value) {
25
+ return typeof value === 'number' && !Number.isNaN(value) ? value.toString() : '';
26
+ }
27
+ export function formatBandwidthBytes(value) {
28
+ if (typeof value !== 'number' || Number.isNaN(value)) {
29
+ return '';
30
+ }
31
+ if (value >= MEGABYTE) {
32
+ return `${value / MEGABYTE}${UNBREAKABLE_GAP}MB/s`;
33
+ }
34
+ if (value >= KILOBYTE) {
35
+ return `${value / KILOBYTE}${UNBREAKABLE_GAP}KB/s`;
36
+ }
37
+ return `${value}${UNBREAKABLE_GAP}byte/s`;
38
+ }
39
+ export function formatWriteQuotaSelectValue(value) {
40
+ if (typeof value !== 'number' || Number.isNaN(value)) {
41
+ return '';
42
+ }
43
+ if (value >= MEGABYTE && value % MEGABYTE === 0) {
44
+ return `${value / MEGABYTE}${UNBREAKABLE_GAP}MB/s`;
45
+ }
46
+ if (value >= KILOBYTE && value % KILOBYTE === 0) {
47
+ return `${value / KILOBYTE}${UNBREAKABLE_GAP}KB/s`;
48
+ }
49
+ return `${value}${UNBREAKABLE_GAP}byte/s`;
50
+ }
51
+ function normalizePath(path) {
52
+ return path.replace(/^\/+|\/+$/g, '');
53
+ }
54
+ function getRelativePath(path, databaseFullPath) {
55
+ const normalizedPath = normalizePath(path);
56
+ const normalizedDatabase = normalizePath(databaseFullPath);
57
+ if (!normalizedPath || normalizedPath === normalizedDatabase) {
58
+ return undefined;
59
+ }
60
+ if (normalizedPath.startsWith(`${normalizedDatabase}/`)) {
61
+ return normalizedPath.slice(normalizedDatabase.length + 1) || undefined;
62
+ }
63
+ return normalizedPath;
64
+ }
65
+ function splitTopicPath(topicPath, databaseFullPath) {
66
+ var _a, _b;
67
+ const relativePath = getRelativePath(topicPath, databaseFullPath);
68
+ const pathSegments = (_a = relativePath === null || relativePath === void 0 ? void 0 : relativePath.split('/').filter(Boolean)) !== null && _a !== void 0 ? _a : [];
69
+ const name = (_b = pathSegments.pop()) !== null && _b !== void 0 ? _b : '';
70
+ const path = pathSegments.join('/');
71
+ return { path: path || undefined, name };
72
+ }
73
+ export function buildFullTopicPath(formData, databaseFullPath) {
74
+ const databasePath = databaseFullPath.startsWith('/')
75
+ ? databaseFullPath
76
+ : `/${databaseFullPath}`;
77
+ const relativeTopicPath = [formData.path, formData.name].filter(Boolean).join('/');
78
+ return relativeTopicPath ? `${databasePath}/${relativeTopicPath}` : databasePath;
79
+ }
80
+ export function getCreateTopicInitialValues({ databaseFullPath, parentPath, }) {
81
+ return {
82
+ ...DEFAULT_TOPIC_FORM_VALUES,
83
+ path: parentPath ? getRelativePath(parentPath, databaseFullPath) : undefined,
84
+ autoPartitioning: { ...DEFAULT_TOPIC_FORM_VALUES.autoPartitioning },
85
+ };
86
+ }
87
+ export function getUpdateTopicInitialValues({ databaseFullPath, formData, topicPath, }) {
88
+ const topicPathData = splitTopicPath(topicPath, databaseFullPath);
89
+ return {
90
+ ...DEFAULT_TOPIC_FORM_VALUES,
91
+ ...formData,
92
+ path: topicPathData.path,
93
+ name: topicPathData.name || formData.name,
94
+ autoPartitioning: {
95
+ ...DEFAULT_TOPIC_FORM_VALUES.autoPartitioning,
96
+ ...formData.autoPartitioning,
97
+ },
98
+ };
99
+ }
100
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/TopicFormDialog/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import type { TopicFormValues } from '../../../store/reducers/topic/utils';
3
+ export declare function getTopicFormValidationSchema(minPartitions: number): z.ZodType<TopicFormValues, TopicFormValues>;
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ import { isValidEntityPath } from '../utils/pathSegmentValidation';
3
+ import i18n from './i18n';
4
+ const MIN_ONE_MESSAGE = i18n('error_min-number', { count: 1 });
5
+ const MAX_HUNDRED_MESSAGE = i18n('error_max-number', { count: 100 });
6
+ const REQUIRED_MESSAGE = i18n('error_required');
7
+ const NUMBER_MESSAGE = i18n('error_number');
8
+ const getRequiredNumberError = (issue) => {
9
+ return issue.input === undefined ? REQUIRED_MESSAGE : NUMBER_MESSAGE;
10
+ };
11
+ const addIssue = (ctx, path, message) => {
12
+ ctx.addIssue({
13
+ code: z.ZodIssueCode.custom,
14
+ path,
15
+ message,
16
+ });
17
+ };
18
+ const requiredNumber = (schema) => z.preprocess((val) => (typeof val === 'number' && Number.isNaN(val) ? undefined : val), schema !== null && schema !== void 0 ? schema : z.number({
19
+ error: getRequiredNumberError,
20
+ }));
21
+ const optionalNumber = (schema) => z.preprocess((val) => (typeof val === 'number' && Number.isNaN(val) ? undefined : val), (schema !== null && schema !== void 0 ? schema : z.number({
22
+ error: NUMBER_MESSAGE,
23
+ })).optional());
24
+ const topicNameSchema = z
25
+ .string({ error: REQUIRED_MESSAGE })
26
+ .min(1, REQUIRED_MESSAGE)
27
+ .superRefine((value, ctx) => {
28
+ if (!isValidEntityPath(value)) {
29
+ addIssue(ctx, [], i18n('error_name-regex'));
30
+ }
31
+ });
32
+ function validateRequiredNumber(ctx, path, value) {
33
+ if (value === undefined) {
34
+ addIssue(ctx, path, i18n('error_required'));
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ export function getTopicFormValidationSchema(minPartitions) {
40
+ return z
41
+ .object({
42
+ path: z.string().optional(),
43
+ name: topicNameSchema,
44
+ shards: requiredNumber(z
45
+ .number({
46
+ error: getRequiredNumberError,
47
+ })
48
+ .min(1, MIN_ONE_MESSAGE)),
49
+ writeQuotaBytes: requiredNumber(),
50
+ autoPartitioning: z.object({
51
+ enabled: z.boolean(),
52
+ mode: z.string({ error: REQUIRED_MESSAGE }).min(1, REQUIRED_MESSAGE),
53
+ minPartitions: optionalNumber(z.number({ error: NUMBER_MESSAGE }).min(1, MIN_ONE_MESSAGE)),
54
+ maxPartitions: optionalNumber(z.number({ error: NUMBER_MESSAGE }).min(1, MIN_ONE_MESSAGE)),
55
+ stabilizationWindow: optionalNumber(),
56
+ upUtilization: optionalNumber(z.number({ error: NUMBER_MESSAGE }).max(100, MAX_HUNDRED_MESSAGE)),
57
+ }),
58
+ })
59
+ .superRefine((data, ctx) => {
60
+ if (data.shards < minPartitions) {
61
+ addIssue(ctx, ['shards'], i18n('error_min-number', { count: minPartitions }));
62
+ }
63
+ const { autoPartitioning } = data;
64
+ if (!autoPartitioning.enabled) {
65
+ return;
66
+ }
67
+ const minPath = ['autoPartitioning', 'minPartitions'];
68
+ const maxPath = ['autoPartitioning', 'maxPartitions'];
69
+ const stabilizationPath = ['autoPartitioning', 'stabilizationWindow'];
70
+ const upUtilizationPath = ['autoPartitioning', 'upUtilization'];
71
+ if (validateRequiredNumber(ctx, minPath, autoPartitioning.minPartitions) &&
72
+ autoPartitioning.minPartitions !== undefined &&
73
+ autoPartitioning.minPartitions < minPartitions) {
74
+ addIssue(ctx, minPath, i18n('error_min-number', { count: minPartitions }));
75
+ }
76
+ if (validateRequiredNumber(ctx, maxPath, autoPartitioning.maxPartitions)) {
77
+ const minValue = autoPartitioning.minPartitions;
78
+ if (minValue !== undefined &&
79
+ autoPartitioning.maxPartitions !== undefined &&
80
+ autoPartitioning.maxPartitions < minValue) {
81
+ addIssue(ctx, maxPath, i18n('error_min-number', { count: minValue }));
82
+ }
83
+ }
84
+ validateRequiredNumber(ctx, stabilizationPath, autoPartitioning.stabilizationWindow);
85
+ validateRequiredNumber(ctx, upUtilizationPath, autoPartitioning.upUtilization);
86
+ });
87
+ }
88
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/containers/Tenant/TopicFormDialog/validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { IconData } from '@gravity-ui/uikit';
2
1
  import { SelfCheckResult } from '../../types/api/healthcheck';
3
2
  export declare const ROW_COUNT_NOTE: {
4
3
  children: import("react/jsx-runtime").JSX.Element;
@@ -7,4 +6,3 @@ export declare const ROW_COUNT_NOTE: {
7
6
  };
8
7
  };
9
8
  export declare const HEALTHCHECK_RESULT_TO_TEXT: Record<SelfCheckResult, string>;
10
- export declare const HEALTHCHECK_RESULT_TO_ICON: Record<SelfCheckResult, IconData>;
@@ -1,26 +1,18 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { CircleCheckFill, CircleInfoFill, CircleQuestionFill, CircleXmarkFill, TriangleExclamationFill, } from '@gravity-ui/icons';
3
2
  import { Flex, Text } from '@gravity-ui/uikit';
4
3
  import { SelfCheckResult } from '../../types/api/healthcheck';
5
4
  import i18n from './i18n';
6
5
  export const ROW_COUNT_NOTE = {
7
- children: (_jsx(Flex, { width: "528px", direction: "column", gap: 2, children: i18n('note_row-count')
6
+ children: (_jsx(Flex, { width: "528px", direction: "column", gap: 2, children: i18n('context_row-count-accuracy')
8
7
  .split('\n')
9
8
  .map((paragraph) => (_jsx(Text, { children: paragraph }, paragraph))) })),
10
9
  popoverProps: { placement: 'right' },
11
10
  };
12
11
  export const HEALTHCHECK_RESULT_TO_TEXT = {
13
- [SelfCheckResult.UNSPECIFIED]: '',
14
- [SelfCheckResult.GOOD]: i18n('description_ok'),
15
- [SelfCheckResult.DEGRADED]: i18n('description_degraded'),
16
- [SelfCheckResult.MAINTENANCE_REQUIRED]: i18n('description_maintenance'),
17
- [SelfCheckResult.EMERGENCY]: i18n('description_emergency'),
18
- };
19
- export const HEALTHCHECK_RESULT_TO_ICON = {
20
- [SelfCheckResult.UNSPECIFIED]: CircleQuestionFill,
21
- [SelfCheckResult.GOOD]: CircleCheckFill,
22
- [SelfCheckResult.DEGRADED]: CircleInfoFill,
23
- [SelfCheckResult.MAINTENANCE_REQUIRED]: CircleXmarkFill,
24
- [SelfCheckResult.EMERGENCY]: TriangleExclamationFill,
12
+ [SelfCheckResult.UNSPECIFIED]: i18n('context_healthcheck-status-unknown'),
13
+ [SelfCheckResult.GOOD]: i18n('context_healthcheck-status-ok'),
14
+ [SelfCheckResult.DEGRADED]: i18n('context_healthcheck-status-degraded'),
15
+ [SelfCheckResult.MAINTENANCE_REQUIRED]: i18n('context_healthcheck-status-maintenance'),
16
+ [SelfCheckResult.EMERGENCY]: i18n('context_healthcheck-status-emergency'),
25
17
  };
26
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/containers/Tenant/constants.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,uBAAuB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,QAAQ,EAAE,CACN,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YACxC,IAAI,CAAC,gBAAgB,CAAC;aAClB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAChB,KAAC,IAAI,cAAkB,SAAS,IAArB,SAAS,CAAoB,CAC3C,CAAC,GACH,CACV;IACD,YAAY,EAAE,EAAC,SAAS,EAAE,OAAgB,EAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAoC;IACvE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,EAAE;IACjC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;IAC9C,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC;IACxD,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC;IACvE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,uBAAuB,CAAC;CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAsC;IACzE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,kBAAkB;IACjD,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe;IACvC,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,cAAc;IAC1C,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,eAAe;IACvD,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,uBAAuB;CACvD,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/containers/Tenant/constants.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,QAAQ,EAAE,CACN,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YACxC,IAAI,CAAC,4BAA4B,CAAC;aAC9B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAChB,KAAC,IAAI,cAAkB,SAAS,IAArB,SAAS,CAAoB,CAC3C,CAAC,GACH,CACV;IACD,YAAY,EAAE,EAAC,SAAS,EAAE,OAAgB,EAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAoC;IACvE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,oCAAoC,CAAC;IACzE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,+BAA+B,CAAC;IAC7D,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,qCAAqC,CAAC;IACvE,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,wCAAwC,CAAC;IACtF,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,sCAAsC,CAAC;CAC5E,CAAC"}