@ytsaurus/ui 0.0.4 → 0.2.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 (431) hide show
  1. package/build/cjs/server/ServerFactory.js +2 -1
  2. package/build/cjs/server/ServerFactory.js.map +1 -1
  3. package/build/cjs/server/config.localcluster.js +1 -1
  4. package/build/cjs/server/config.localcluster.js.map +1 -1
  5. package/build/cjs/server/configs/local.d.ts +3 -0
  6. package/build/cjs/server/configs/local.js +33 -0
  7. package/build/cjs/server/configs/local.js.map +1 -0
  8. package/build/cjs/server/utils/default-settings.js +1 -1
  9. package/build/cjs/server/utils/default-settings.js.map +1 -1
  10. package/build/cjs/shared/ui-settings.d.ts +1 -0
  11. package/build/cjs/shared/ui-settings.js.map +1 -1
  12. package/build/cjs/ui/UIFactory.d.ts +1 -0
  13. package/build/cjs/ui/UIFactory.js.map +1 -1
  14. package/build/cjs/ui/common/hammer/format.js +1 -1
  15. package/build/cjs/ui/common/hammer/format.js.map +1 -1
  16. package/build/cjs/ui/common/utils/url-encoder.js +1 -0
  17. package/build/cjs/ui/common/utils/url-encoder.js.map +1 -1
  18. package/build/cjs/ui/common/yt-api-init.js +7 -12
  19. package/build/cjs/ui/common/yt-api-init.js.map +1 -1
  20. package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
  21. package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
  22. package/build/cjs/ui/components/EditableAsText/EditableAsText.js +8 -6
  23. package/build/cjs/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  24. package/build/cjs/ui/components/MetaTable/presets/main.d.ts +1 -1
  25. package/build/cjs/ui/components/MetaTable/presets/main.js +1 -1
  26. package/build/cjs/ui/components/MetaTable/presets/main.js.map +1 -1
  27. package/build/cjs/ui/components/MetaTable/presets/presets.d.ts +29 -0
  28. package/build/cjs/ui/components/MetaTable/presets/presets.js +94 -1
  29. package/build/cjs/ui/components/MetaTable/presets/presets.js.map +1 -1
  30. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js +3 -59
  31. package/build/cjs/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  32. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  33. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js +65 -0
  34. package/build/cjs/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  35. package/build/cjs/ui/config/index.d.ts +1 -0
  36. package/build/cjs/ui/config/index.js +4 -0
  37. package/build/cjs/ui/config/index.js.map +1 -1
  38. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  39. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
  40. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
  41. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
  42. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
  43. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
  44. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
  45. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +29 -0
  46. package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
  47. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
  48. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
  49. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
  50. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +33 -0
  51. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
  52. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
  53. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -104
  54. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
  55. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
  56. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js +59 -0
  57. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
  58. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  59. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +78 -0
  60. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  61. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  62. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +10 -2
  63. package/build/cjs/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  64. package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +41 -78
  65. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
  66. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
  67. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +43 -0
  68. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
  69. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
  70. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +44 -0
  71. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
  72. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
  73. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +66 -0
  74. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
  75. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
  76. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +82 -0
  77. package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
  78. package/build/cjs/ui/pages/query-tracker/QueriesList/index.js +51 -5
  79. package/build/cjs/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
  80. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  81. package/build/cjs/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  82. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  83. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  84. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  85. package/build/cjs/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  86. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js +2 -3
  87. package/build/cjs/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  88. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  89. package/build/cjs/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  90. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  91. package/build/cjs/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  92. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +14 -2
  93. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  94. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  95. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js +89 -0
  96. package/build/cjs/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  97. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  98. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +88 -0
  99. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  100. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  101. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +18 -131
  102. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  103. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  104. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js +78 -0
  105. package/build/cjs/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  106. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
  107. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +42 -0
  108. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
  109. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
  110. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js +24 -0
  111. package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
  112. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
  113. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
  114. package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
  115. package/build/cjs/ui/pages/query-tracker/module/api.d.ts +16 -13
  116. package/build/cjs/ui/pages/query-tracker/module/api.js +175 -63
  117. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  118. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
  119. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js +38 -22
  120. package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
  121. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
  122. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js +31 -8
  123. package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
  124. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
  125. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js +46 -22
  126. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
  127. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
  128. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js +28 -7
  129. package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
  130. package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  131. package/build/cjs/ui/pages/query-tracker/module/query/actions.js +83 -23
  132. package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  133. package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  134. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +2 -1
  135. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  136. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  137. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +2 -1
  138. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  139. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  140. package/build/cjs/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  141. package/build/cjs/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
  142. package/build/cjs/ui/pages/query-tracker/module/query/utills.js +17 -0
  143. package/build/cjs/ui/pages/query-tracker/module/query/utills.js.map +1 -0
  144. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  145. package/build/cjs/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  146. package/build/cjs/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  147. package/build/cjs/ui/pages/query-tracker/utils/navigation.js +8 -3
  148. package/build/cjs/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  149. package/build/cjs/ui/pages/query-tracker/utils/query.d.ts +1 -0
  150. package/build/cjs/ui/pages/query-tracker/utils/query.js +4 -0
  151. package/build/cjs/ui/pages/query-tracker/utils/query.js.map +1 -1
  152. package/build/cjs/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  153. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js +84 -0
  154. package/build/cjs/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  155. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +25 -40
  156. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  157. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  158. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +15 -41
  159. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  160. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
  161. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
  162. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  163. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  164. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  165. package/build/cjs/ui/store/selectors/global/index.d.ts +3 -0
  166. package/build/cjs/ui/store/selectors/global/index.js +20 -1
  167. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  168. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
  169. package/build/cjs/ui/store/selectors/navigation/content/table.js +9 -3
  170. package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
  171. package/build/cjs/ui/store/selectors/navigation/navigation.js +1 -1
  172. package/build/cjs/ui/store/selectors/navigation/navigation.js.map +1 -1
  173. package/build/cjs/ui/utils/components/tablet-cells/index.js +1 -1
  174. package/build/cjs/ui/utils/components/tablet-cells/index.js.map +1 -1
  175. package/build/cjs/ui/utils/cypress-attributes.d.ts +2 -0
  176. package/build/cjs/ui/utils/cypress-attributes.js +2 -0
  177. package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
  178. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
  179. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  180. package/build/esm/server/ServerFactory.js +2 -1
  181. package/build/esm/server/ServerFactory.js.map +1 -1
  182. package/build/esm/server/config.localcluster.js +1 -1
  183. package/build/esm/server/config.localcluster.js.map +1 -1
  184. package/build/esm/server/configs/local.d.ts +3 -0
  185. package/build/esm/server/configs/local.js +28 -0
  186. package/build/esm/server/configs/local.js.map +1 -0
  187. package/build/esm/server/utils/default-settings.js +1 -1
  188. package/build/esm/server/utils/default-settings.js.map +1 -1
  189. package/build/esm/shared/ui-settings.d.ts +1 -0
  190. package/build/esm/shared/ui-settings.js.map +1 -1
  191. package/build/esm/ui/UIFactory.d.ts +1 -0
  192. package/build/esm/ui/UIFactory.js.map +1 -1
  193. package/build/esm/ui/common/hammer/format.js +1 -1
  194. package/build/esm/ui/common/hammer/format.js.map +1 -1
  195. package/build/esm/ui/common/utils/url-encoder.js +1 -0
  196. package/build/esm/ui/common/utils/url-encoder.js.map +1 -1
  197. package/build/esm/ui/common/yt-api-init.js +4 -9
  198. package/build/esm/ui/common/yt-api-init.js.map +1 -1
  199. package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
  200. package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
  201. package/build/esm/ui/components/Dialog/Dialog.css +1 -1
  202. package/build/esm/ui/components/Dialog/Dialog.css.map +1 -1
  203. package/build/esm/ui/components/Dialog/Dialog.scss +1 -1
  204. package/build/esm/ui/components/EditableAsText/EditableAsText.js +8 -6
  205. package/build/esm/ui/components/EditableAsText/EditableAsText.js.map +1 -1
  206. package/build/esm/ui/components/MetaTable/presets/main.d.ts +1 -1
  207. package/build/esm/ui/components/MetaTable/presets/main.js +1 -1
  208. package/build/esm/ui/components/MetaTable/presets/main.js.map +1 -1
  209. package/build/esm/ui/components/MetaTable/presets/presets.d.ts +29 -0
  210. package/build/esm/ui/components/MetaTable/presets/presets.js +88 -1
  211. package/build/esm/ui/components/MetaTable/presets/presets.js.map +1 -1
  212. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js +2 -57
  213. package/build/esm/ui/components/SchemaDataType/SchemaDataType.js.map +1 -1
  214. package/build/esm/ui/components/SchemaDataType/dateTypesV3.d.ts +48 -0
  215. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js +57 -0
  216. package/build/esm/ui/components/SchemaDataType/dateTypesV3.js.map +1 -0
  217. package/build/esm/ui/config/index.d.ts +1 -0
  218. package/build/esm/ui/config/index.js +3 -0
  219. package/build/esm/ui/config/index.js.map +1 -1
  220. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  221. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
  222. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
  223. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
  224. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
  225. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
  226. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
  227. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +23 -0
  228. package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
  229. package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
  230. package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
  231. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css +5 -0
  232. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css.map +1 -0
  233. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
  234. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +27 -0
  235. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
  236. package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.scss +6 -0
  237. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
  238. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -105
  239. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
  240. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
  241. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js +51 -0
  242. package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
  243. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css +8 -0
  244. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.css.map +1 -0
  245. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.d.ts +7 -0
  246. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js +72 -0
  247. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.js.map +1 -0
  248. package/build/esm/ui/pages/navigation/content/Table/TableOverview/CreateQueryFromTable.scss +7 -0
  249. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css +3 -0
  250. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.css.map +1 -1
  251. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.d.ts +3 -1
  252. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +11 -3
  253. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.js.map +1 -1
  254. package/build/esm/ui/pages/navigation/content/Table/TableOverview/TableOverview.scss +4 -0
  255. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css +4 -1
  256. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css.map +1 -1
  257. package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.scss +4 -1
  258. package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +42 -79
  259. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
  260. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
  261. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +35 -0
  262. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
  263. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
  264. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +36 -0
  265. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
  266. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
  267. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +60 -0
  268. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
  269. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css +30 -0
  270. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css.map +1 -0
  271. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
  272. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +77 -0
  273. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
  274. package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.scss +36 -0
  275. package/build/esm/ui/pages/query-tracker/QueriesList/index.css +10 -0
  276. package/build/esm/ui/pages/query-tracker/QueriesList/index.css.map +1 -1
  277. package/build/esm/ui/pages/query-tracker/QueriesList/index.js +52 -6
  278. package/build/esm/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
  279. package/build/esm/ui/pages/query-tracker/QueriesList/index.scss +13 -0
  280. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js +13 -2
  281. package/build/esm/ui/pages/query-tracker/QueryDuration/index.js.map +1 -1
  282. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +3 -1
  283. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +19 -10
  284. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  285. package/build/esm/ui/pages/query-tracker/QueryResults/index.d.ts +2 -0
  286. package/build/esm/ui/pages/query-tracker/QueryResults/index.js +2 -3
  287. package/build/esm/ui/pages/query-tracker/QueryResults/index.js.map +1 -1
  288. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css +3 -10
  289. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.css.map +1 -1
  290. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js +4 -9
  291. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.js.map +1 -1
  292. package/build/esm/ui/pages/query-tracker/QueryResultsView/index.scss +3 -11
  293. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css +4 -0
  294. package/build/esm/ui/pages/query-tracker/QueryStatus/index.css.map +1 -1
  295. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js +2 -1
  296. package/build/esm/ui/pages/query-tracker/QueryStatus/index.js.map +1 -1
  297. package/build/esm/ui/pages/query-tracker/QueryStatus/index.scss +4 -0
  298. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +16 -4
  299. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  300. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css +19 -0
  301. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.css.map +1 -0
  302. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.d.ts +18 -0
  303. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js +82 -0
  304. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.js.map +1 -0
  305. package/build/esm/ui/pages/query-tracker/QueryTrackerNewButton/index.scss +20 -0
  306. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css +13 -0
  307. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.css.map +1 -0
  308. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.d.ts +4 -0
  309. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js +82 -0
  310. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.js.map +1 -0
  311. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/QueryMetaForm/index.scss +13 -0
  312. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css +6 -16
  313. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.css.map +1 -1
  314. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.d.ts +1 -0
  315. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +19 -133
  316. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  317. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.scss +4 -20
  318. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css +28 -0
  319. package/build/esm/ui/pages/query-tracker/QueryWidget/index.css.map +1 -0
  320. package/build/esm/ui/pages/query-tracker/QueryWidget/index.d.ts +5 -0
  321. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js +73 -0
  322. package/build/esm/ui/pages/query-tracker/QueryWidget/index.js.map +1 -0
  323. package/build/esm/ui/pages/query-tracker/QueryWidget/index.scss +31 -0
  324. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
  325. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +33 -0
  326. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
  327. package/build/esm/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
  328. package/build/esm/ui/pages/query-tracker/hooks/Query/index.js +16 -0
  329. package/build/esm/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
  330. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
  331. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
  332. package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
  333. package/build/esm/ui/pages/query-tracker/module/api.d.ts +16 -13
  334. package/build/esm/ui/pages/query-tracker/module/api.js +175 -63
  335. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  336. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
  337. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js +33 -19
  338. package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
  339. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
  340. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js +33 -10
  341. package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
  342. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
  343. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js +35 -15
  344. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
  345. package/build/esm/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
  346. package/build/esm/ui/pages/query-tracker/module/queries_list/types.js +21 -5
  347. package/build/esm/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
  348. package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +3 -2
  349. package/build/esm/ui/pages/query-tracker/module/query/actions.js +83 -24
  350. package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  351. package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +2 -1
  352. package/build/esm/ui/pages/query-tracker/module/query/reducer.js +2 -1
  353. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  354. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +2 -1
  355. package/build/esm/ui/pages/query-tracker/module/query/selectors.js +2 -1
  356. package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  357. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js +7 -3
  358. package/build/esm/ui/pages/query-tracker/module/query/url_mapping.js.map +1 -1
  359. package/build/esm/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
  360. package/build/esm/ui/pages/query-tracker/module/query/utills.js +8 -0
  361. package/build/esm/ui/pages/query-tracker/module/query/utills.js.map +1 -0
  362. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js +48 -41
  363. package/build/esm/ui/pages/query-tracker/module/query_result/actions.js.map +1 -1
  364. package/build/esm/ui/pages/query-tracker/utils/navigation.d.ts +4 -1
  365. package/build/esm/ui/pages/query-tracker/utils/navigation.js +8 -3
  366. package/build/esm/ui/pages/query-tracker/utils/navigation.js.map +1 -1
  367. package/build/esm/ui/pages/query-tracker/utils/query.d.ts +1 -0
  368. package/build/esm/ui/pages/query-tracker/utils/query.js +4 -1
  369. package/build/esm/ui/pages/query-tracker/utils/query.js.map +1 -1
  370. package/build/esm/ui/pages/query-tracker/utils/query_generate.d.ts +13 -0
  371. package/build/esm/ui/pages/query-tracker/utils/query_generate.js +73 -0
  372. package/build/esm/ui/pages/query-tracker/utils/query_generate.js.map +1 -0
  373. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +3 -15
  374. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  375. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +26 -41
  376. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  377. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +5 -21
  378. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css +1 -1
  379. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.css.map +1 -1
  380. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.d.ts +0 -1
  381. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js +16 -42
  382. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.js.map +1 -1
  383. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.scss +1 -1
  384. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css +4 -0
  385. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css.map +1 -0
  386. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
  387. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js +1 -0
  388. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
  389. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.scss +7 -0
  390. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css +0 -9
  391. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.css.map +1 -1
  392. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.d.ts +1 -2
  393. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js +1 -5
  394. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.js.map +1 -1
  395. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.scss +0 -11
  396. package/build/esm/ui/store/selectors/global/index.d.ts +3 -0
  397. package/build/esm/ui/store/selectors/global/index.js +16 -1
  398. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  399. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
  400. package/build/esm/ui/store/selectors/navigation/content/table.js +9 -3
  401. package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
  402. package/build/esm/ui/store/selectors/navigation/navigation.js +1 -1
  403. package/build/esm/ui/store/selectors/navigation/navigation.js.map +1 -1
  404. package/build/esm/ui/utils/components/tablet-cells/index.js +1 -1
  405. package/build/esm/ui/utils/components/tablet-cells/index.js.map +1 -1
  406. package/build/esm/ui/utils/cypress-attributes.d.ts +2 -0
  407. package/build/esm/ui/utils/cypress-attributes.js +2 -0
  408. package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
  409. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
  410. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  411. package/build/img/svg/YT-login-page-background-dark.svg +96 -14
  412. package/build/img/svg/YT-login-page-background-light.svg +94 -14
  413. package/build/img/svg/icons/learn.svg +3 -0
  414. package/build/img/svg/page-query-tracker.svg +3 -3
  415. package/package.json +3 -3
  416. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
  417. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -76
  418. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
  419. package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
  420. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
  421. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -70
  422. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
  423. package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
  424. /package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
  425. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css +0 -0
  426. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css.map +0 -0
  427. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
  428. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.scss +0 -0
  429. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css +0 -0
  430. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css.map +0 -0
  431. /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_reactRedux","require","_bemCnLite","_interopRequireDefault","_Info","_BundleParamsList","_Dialog","_interopRequireWildcard","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","block","cn","BundleEditorDialog","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","createConfigurationList","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","createParams","undefined","hasError","_get","errorText","validateMemoryLimits","DialogError","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","t0","validationErrors","_defineProperty","FORM_ERROR","error","stop","_x","apply","arguments","_isEmpty","Dialog","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({bundleData})}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_count',\n type: 'bundle-input',\n extras: {\n title: 'Tablet count',\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n className: block('dialog-field-without-default-label'),\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n extras: {\n title: 'Rpc proxy count',\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-with-transfer-to-another-line'),\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n className: block('dialog-field-without-default-label'),\n type: 'bundle-input',\n name: 'tablet_node_count',\n extras: {\n title: 'Tablet node count',\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-with-transfer-to-another-line'),\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_count',\n type: 'bundle-input',\n extras: {\n title: 'Tablet count',\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_static_memory',\n type: 'bundle-input',\n extras: {\n title: 'Tablet static memory',\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n className: block('dialog-field-without-default-label'),\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n title: 'Memory',\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n title: 'Memory',\n onReset,\n };\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_static',\n type: 'bundle-input',\n extras: {\n title: 'Tablet static',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'tablet_dynamic',\n type: 'bundle-input',\n extras: {\n title: 'Tablet dynamic',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'compressed_block_cache',\n type: 'bundle-input',\n extras: {\n title: 'Compressed block cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n extras: {\n title: 'Uncompressed block cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n extras: {\n title: 'Versioned chunk meta',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'lookup_row_cache',\n type: 'bundle-input',\n extras: {\n title: 'Lookup row cache',\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pool',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n className: block('dialog-field-without-default-label'),\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n title: 'vCPU',\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n title: 'vCPU',\n onReset,\n };\n },\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Lookup thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Query thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n className: block('dialog-field-without-default-label'),\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n extras: {\n title: 'Write thread pool size',\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAC,uBAAA,CAAAN,OAAA;AAOA,IAAAO,OAAA,GAAAL,sBAAA,CAAAF,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,uBAAA,GAAAT,OAAA;AAIA,IAAAU,oBAAA,GAAAV,OAAA;AAEA,IAAAW,wBAAA,GAAAX,OAAA;AAEA,IAAAY,mBAAA,GAAAZ,OAAA;AAUA,IAAAa,UAAA,GAAAP,uBAAA,CAAAN,OAAA;AAEmC,IAAAc,WAAA,GAAAd,OAAA;AAAA,SAAAe,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEnC,IAAMW,KAAK,GAAG,IAAAC,qBAAE,EAAC,eAAe,CAAC;AAmC1B,SAASC,kBAAkBA,CAAA,EAAG;EACjC,IAAAC,YAAA,GAMI,IAAAC,uBAAW,EAACC,uDAA8B,CAAC;IAL3CC,aAAa,GAAAH,YAAA,CAAbG,aAAa;IACbC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;IACVC,UAAU,GAAAL,YAAA,CAAVK,UAAU;IACVC,IAAI,GAAAN,YAAA,CAAJM,IAAI;IACkBC,UAAU,GAAAP,YAAA,CAAhCQ,oBAAoB;EAExB,IAAAC,aAAA,GAA6C,IAAAR,uBAAW,EAACS,wCAAmB,CAAC;IAAvDC,mBAAmB,GAAAF,aAAA,CAAlCG,aAAa;EAEpB,IAAMC,sBAAsB,GAAGR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,+BAA+B;EAC1E,IAAMC,sBAAsB,GAAG,CAAAV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,wBAAwB,KAAI,KAAK;EAE5E,IAAAC,gBAAA,GAAkC,IAAAC,mCAAe,EAACZ,IAAI,EAAE,cAAc,CAAC;IAAzDa,gBAAgB,GAAAF,gBAAA,CAAvBG,KAAK;EACZ,IAAAC,iBAAA,GAAyC,IAAAH,mCAAe,EAACZ,IAAI,EAAE,sBAAsB,CAAC;IAAxEgB,uBAAuB,GAAAD,iBAAA,CAA9BD,KAAK;EAEZ,IAAMG,SAAS,GAAG,IAAAtB,uBAAW,EAACuB,mBAAW,CAAC;EAE1C,IAAMC,aAA2C,GAAI,YAAM;IACvD,IAAI,CAACV,sBAAsB,EAAE;MACzB,OAAO,IAAAW,wCAAoB,EAACpB,IAAI,CAAC;IACrC;IACA,IAAI,CAACO,sBAAsB,EAAE;MACzB,OAAO,CAAC,CAAC;IACb;IACA,OAAO,IAAAa,wCAAoB,EAACpB,IAAI,EAAEO,sBAAsB,CAAC;EAC7D,CAAC,EAAG;EAEJ,IAAAc,IAAA,GAAiD,YAAM;MACnD,IAAI,CAAChB,mBAAmB,EAAE;QACtB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;MACnB;MACA,IAAOiB,eAAe,GAAuBjB,mBAAmB,CAAzDiB,eAAe;QAAEC,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;MAEzC,OAAO,CACH,IAAAC,2CAAuB,EAACF,eAAe,CAAC,EACxC,IAAAE,2CAAuB,EAACD,iBAAiB,CAAC,CAC7C;IACL,CAAC,EAAG;IAAAE,KAAA,OAAAC,0BAAA,EAAAL,IAAA;IAVGM,iBAAiB,GAAAF,KAAA;IAAEG,kBAAkB,GAAAH,KAAA;EAY5C,IAAMI,iBAA4E,GAAG;IACjFC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,SAAS;IAChBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,KAAAC,MAAA,KAAAC,8BAAA,EACE,CAAC,IAAAC,uBAAY,GAAE,GACb,EAAE,GACF,CACI;MACIP,IAAI,EAAE,KAAK;MACXE,IAAI,EAAE,aAAsB;MAC5BM,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE;QACJC,WAAW,EAAE,uBAAuB;QACpCC,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,CACJ,IACP;MACIa,IAAI,EAAE,mBAAmB;MACzBE,IAAI,EAAE,+BAA+B;MACrCM,OAAO,EAAE,2BAA2B;MACpCC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,EACD;MACIa,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,+BAA+B;MACrCM,OAAO,EAAE,0BAA0B;MACnCC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC;EAET,CAAC;EAED,IAAM0B,iBAA4E,GAAG;IACjFb,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,MAAM;MACZE,IAAI,EAAE,OAAO;MACbO,MAAM,EAAE;QACJK,QAAQ,eACJ,IAAAC,gBAAA,EAACC,UAAI;UAACC,SAAS,EAAExD,KAAK,CAAC,MAAM,CAAE;UAAAqD,QAAA,GAC1BI,qBAAS,CAACC,iCAAiC,CAAC;YAAClD,UAAU,EAAVA;UAAU,CAAC,CAAC,eAC1D,IAAAmD,eAAA,EAACC,kCAAgB;YACbJ,SAAS,EAAExD,KAAK,CAAC,QAAQ,CAAE;YAC3B6D,MAAM,EAAE,CACJ;cACIrB,KAAK,EAAE,QAAQ;cACfsB,KAAK,EAAEC,kBAAM,CAACC,MAAM,CAAC,OAAO,CAAC,CACzB,CAAAtD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuD,cAAc,CAACC,MAAM,KAAI,GAAG;YAEhD,CAAC,EACD;cACI1B,KAAK,EAAE,MAAM;cACbsB,KAAK,EAAEC,kBAAM,CAACC,MAAM,CAAC,QAAQ,CAAC,CAC1B,CAAAtD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuD,cAAc,CAACE,IAAI,KAAI,GAAG;YAE9C,CAAC;UACH,EACJ;QAAA;MAGd;IACJ,CAAC,EACD;MACIX,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,cAAc;QACrBwB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACN9C,KAAK,EAAED;QACX;MACJ,CAAC;MACDgD,SAAS,EAAEC;IACf,CAAC,EACD;MAACC,OAAO,EAAE;IAAW,CAAC,EACtB;MACIhB,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDyC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,iBAAiB;MACvBS,MAAM,EAAE;QACJR,KAAK,EAAE,iBAAiB;QACxBwB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBK,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,4CAA4C,CAAC;MAC9DyC,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,8BAA8B;MACpCQ,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJvC,IAAI,EAAE2B;MACV;IACJ,CAAC,EACD;MAACoC,OAAO,EAAE;IAAa,CAAC,EACxB;MACIhB,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDyC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,mBAAmB;MACzBS,MAAM,EAAE;QACJR,KAAK,EAAE,mBAAmB;QAC1BwB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBK,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,4CAA4C,CAAC;MAC9DyC,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,gCAAgC;MACtCQ,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE,SAAAA,OAAU0B,MAAM,EAAEC,IAAI,EAAE;QAC5B,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAId,KAA8B,EAAK;UACrD,IAAMe,qBAAqB,GAAGf,KAAK,CAACrB,IAAI,IAAI,EAAE;UAE9C,IAAMqC,aAAa,GACf,CAAAhE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC6C,qBAAqB,CAAC,CACxDE,cAAc,CAACC,aAAa,KAAI,CAAC,CAAC;UAC3C,IAAMC,iBAAiB,GACnB,CAAAnE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC6C,qBAAqB,CAAC,CACxDE,cAAc,CAACG,UAAU,KAAI,CAAC,CAAC;UAExC,IAAMC,YAAY,GAAG,IAAAC,+BAAW,EAC5BV,MAAM,CAACM,aAAa,EACpBF,aAAa,EACb,eAAe,CAClB;UACD,IAAMO,gBAAgB,GAAG,IAAAD,+BAAW,EAChCV,MAAM,CAACQ,UAAU,EACjBD,iBAAiB,EACjB,YAAY,CACf;UAEDN,IAAI,CAACW,MAAM,CAAC,eAAe,MAAAC,yBAAA,MAAAA,yBAAA,MACpBC,oCAAgB,CAACC,QAAQ,CAACT,aAAa,GACvCG,YAAY,EACjB;UACFR,IAAI,CAACW,MAAM,CAAC,YAAY,MAAAC,yBAAA,MAAAA,yBAAA,MACjBC,oCAAgB,CAACC,QAAQ,CAACP,UAAU,GACpCG,gBAAgB,EACrB;QACN,CAAC;QAED,OAAO;UACH5E,IAAI,EAAE4B,kBAAkB;UACxBuC,YAAY,EAAZA;QACJ,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMc,uBAAkF,GAAG;IACvFnD,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIa,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,cAAc;QACrBwB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACN9C,KAAK,EAAED;QACX;MACJ,CAAC;MACDgD,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,sBAAsB;QAC7BwB,MAAM,EAAE,OAAO;QACfK,QAAQ,EAAE;UACN9C,KAAK,EAAEE;QACX;MACJ,CAAC;MACD6C,SAAS,EAAEC;IACf,CAAC;EAET,CAAC;EAED,IAAMoB,eAA0E,GAAG;IAC/EpD,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTkD,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDpD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBe,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDgD,MAAM,EAAE,SAAAA,OAACgD,SAAS,EAAErB,IAAI,EAAK;QAAA,IAAAsB,oBAAA;QACzB,IAAMC,8BAA8B,IAAAD,oBAAA,GAChCD,SAAS,CAACG,SAAS,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqBC,8BAA8B;QAEvD,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IACI,CAACF,8BAA8B,IAC/B,CAACA,8BAA8B,CAACzD,IAAI,IACpC,CAAC3B,mBAAmB,EACtB;YACE;UACJ;UACA,IAAM2B,IAAI,GAAGyD,8BAA8B,CAACzD,IAAI;UAChD,IAAOT,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOgD,aAAa,GAAIhD,iBAAiB,CAACS,IAAI,CAAC,CAACsC,cAAc,CAAvDC,aAAa;UAEpBL,IAAI,CAACW,MAAM,CAAC,eAAe,MAAAC,yBAAA,MAAAA,yBAAA,MACpBC,oCAAgB,CAACC,QAAQ,CAACT,aAAa,GACvCA,aAAa,EAClB;QACN,CAAC;QAED,IAAI,CAACkB,8BAA8B,EAAE;UACjC,OAAO;YACHrC,MAAM,EAAE,EAAE;YACVrB,KAAK,EAAE,QAAQ;YACf4D,OAAO,EAAPA;UACJ,CAAC;QACL;QACA,IAAOlC,MAAM,GAAIgC,8BAA8B,CAAxChC,MAAM;QAEb,IAAMmC,IAAI,GAAGb,oCAAgB,CAACc,IAAI,CAACtB,aAAa,CAACuB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;UAAA,IAAAC,qBAAA;UAChE,OAAOF,GAAG,IAAI,CAAAR,SAAS,aAATA,SAAS,wBAAAU,qBAAA,GAATV,SAAS,CAAEhB,aAAa,cAAA0B,qBAAA,uBAAxBA,qBAAA,CAA2BD,CAAC,CAAC,KAAI,CAAC,CAAC;QACrD,CAAC,EAAE,CAAC,CAAC;QAEL,OAAO;UACH5C,MAAM,EAAE,IAAA8C,gCAAY,EAAC,OAAO,EAAEzC,MAAM,EAAEmC,IAAI,CAAC;UAC3C7D,KAAK,EAAE,QAAQ;UACf4D,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACI5C,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,eAAe;MACrBE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,eAAe;QACtBwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,gBAAgB;MACtBE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,gBAAgB;QACvBwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,wBAAwB;QAC/BwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,0BAA0B;MAChCE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,0BAA0B;QACjCwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,sBAAsB;QAC7BwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,kBAAkB;QACzBwB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACI9B,IAAI,EAAE,OAAO;MACbF,IAAI,EAAE,OAAO;MACb+B,SAAS,EAAE,SAAAA,UAACyB,CAAM;QAAA,OAAMA,CAAC,GAAGA,CAAC,GAAGa,SAAS;MAAA,CAAC;MAC1C5D,MAAM,WAAAA,OAACgD,SAAS,EAAErB,IAAI,EAAE;QACpB,IAAMkC,QAAQ,GAAG,IAAAC,gBAAA,EAAMd,SAAS,EAAE,qBAAqB,CAAC;QACxD,IAAMe,SAAS,GAAGC,oBAAoB,CAAChB,SAAS,CAAC;QAEjD,IAAIe,SAAS,IAAI,CAACF,QAAQ,EAAE;UACxBlC,IAAI,CAACW,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC5C,CAAC,MAAM,IAAI,CAACyB,SAAS,IAAIF,QAAQ,EAAE;UAC/BlC,IAAI,CAACW,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC7C;QAEA,OAAO;UACHjC,QAAQ,EAAE,CAAC0D,SAAS,GAAG,IAAI,gBACvB,IAAApD,eAAA,EAACsD,mBAAW;YAACC,MAAM,EAAE,OAAQ;YAACC,OAAO,eAAE,IAAAxD,eAAA;cAAAN,QAAA,EAAO0D;YAAS;UAAS;QAExE,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMK,mBAA8E,GAAG;IACnF7E,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,aAAa;IACpBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTkD,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDpD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBe,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDgD,MAAM,EAAE,SAAAA,OAACgD,SAAS,EAAErB,IAAI,EAAK;QAAA,IAAA0C,qBAAA;QACzB,IAAMnB,8BAA8B,IAAAmB,qBAAA,GAChCrB,SAAS,CAACG,SAAS,cAAAkB,qBAAA,uBAAnBA,qBAAA,CAAqBnB,8BAA8B;QAEvD,IACI,CAACA,8BAA8B,IAC/B,CAACA,8BAA8B,CAACzD,IAAI,IACpC,CAAC3B,mBAAmB,EACtB;UACE,OAAO;YACH+C,MAAM,EAAE,EAAE;YACVrB,KAAK,EAAE,MAAM;YACb4D,OAAO,EAAE,SAAAA,QAAA,EAAM,CAAC;UACpB,CAAC;QACL;QAEA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IAAM3D,IAAI,GAAGyD,8BAA8B,CAACzD,IAAI;UAChD,IAAI,CAACA,IAAI,EAAE;YACP;UACJ;UAEA,IAAOT,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOkD,UAAU,GAAIlD,iBAAiB,CAACS,IAAI,CAAC,CAACsC,cAAc,CAApDG,UAAU;UAEjBP,IAAI,CAACW,MAAM,CAAC,YAAY,MAAAC,yBAAA,MAAAA,yBAAA,MACjBC,oCAAgB,CAACC,QAAQ,CAACP,UAAU,GACpCA,UAAU,EACf;QACN,CAAC;QAED,IAAOf,IAAI,GAAI+B,8BAA8B,CAAtC/B,IAAI;QAEX,OAAO;UACHN,MAAM,EAAE,IAAA8C,gCAAY,EAAC,QAAQ,EAAExC,IAAI,CAAC;UACpC3B,KAAK,EAAE,MAAM;UACb4D,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACI5C,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,yBAAyB;MAC/BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,yBAAyB;QAChC8E,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,wBAAwB;QAC/B8E,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIf,SAAS,EAAExD,KAAK,CAAC,oCAAoC,CAAC;MACtDuC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBO,MAAM,EAAE;QACJR,KAAK,EAAE,wBAAwB;QAC/B8E,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC;EAET,CAAC;EAED,IAAM5B,MAAM,GAAG,CAACL,iBAAiB,CAAC;EAClC,IAAIpB,sBAAsB,EAAE;IACxByB,MAAM,CAAC4E,IAAI,CAACnE,iBAAiB,EAAEuC,eAAe,EAAEyB,mBAAmB,CAAC;EACxE,CAAC,MAAM;IACHzE,MAAM,CAAC4E,IAAI,CAAC7B,uBAAuB,CAAC;EACxC;EAEA,IAAM8B,QAAQ,GAAG,IAAAC,uBAAW,GAAE;EAC9B,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClBF,QAAQ,CAAC,IAAAG,kDAA0B,GAAE,CAAC;EAC1C,CAAC;EAED,IAAMC,QAAQ;IAAA,IAAAC,KAAA,OAAAC,6BAAA,gBAAAC,uBAAA,CAAAC,IAAA,CAAG,SAAAC,QAAOtD,IAA2C;MAAA,IAAAuD,YAAA;MAAA,OAAAH,uBAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IAC1DhI,UAAU;cAAA8H,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACJ,CAAC,CAAC;UAAA;YAGPN,YAAY,GAAG,IAAAO,uCAAmB,EAAC9D,IAAI,CAAC;YAAA0D,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGpCf,QAAQ,CACV,IAAAkB,iDAAyB,EAAC;cACtBnI,UAAU,EAAVA,UAAU;cACVE,IAAI,EAAEyH;YACV,CAAC,CAAC,CACL;UAAA;YAAA,OAAAG,QAAA,CAAAG,MAAA,WACM5B,SAAS;UAAA;YAAAyB,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAM,EAAA,GAAAN,QAAA;YAAA,OAAAA,QAAA,CAAAG,MAAA,WAET;cACHI,gBAAgB,MAAAC,2BAAA,MACXC,kBAAU,eAAG,IAAAnF,eAAA,EAACsD,mBAAW;gBAAC8B,KAAK,EAAAV,QAAA,CAAAM;cAAQ,EAAG;YAEnD,CAAC;UAAA;UAAA;YAAA,OAAAN,QAAA,CAAAW,IAAA;QAAA;MAAA,GAAAf,OAAA;IAAA,CAER;IAAA,gBAtBKL,QAAQA,CAAAqB,EAAA;MAAA,OAAApB,KAAA,CAAAqB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAsBb;EAED,IAAI,IAAAC,oBAAA,EAAU3I,IAAI,CAAC,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACI,IAAAkD,eAAA,EAAC0F,kBAAM;IACH7F,SAAS,EAAExD,KAAK,CAAC,QAAQ,CAAE;IAC3BsJ,WAAW,EAAE;MACT9G,KAAK,EAAEjC;IACX,CAAE;IACFmC,IAAI,EAAC,GAAG;IACRd,aAAa,EAAEA,aAAc;IAC7B2H,OAAO,EAAEjJ,aAAc;IACvBkJ,KAAK,EAAE5B,QAAS;IAChBF,OAAO,EAAEA,OAAQ;IACjB/E,MAAM,EAAEA;EAAO,EACjB;AAEV;AAEA,SAASqE,oBAAoBA,CAACtC,MAAoC,EAAE;EAAA,IAAA+E,iBAAA;EAChE,KAAAA,iBAAA,GAAI/E,MAAM,CAACyB,SAAS,cAAAsD,iBAAA,eAAhBA,iBAAA,CAAkBvD,8BAA8B,EAAE;IAAA,IAAAwD,qBAAA;IAClD,IAAMC,YAAY,GAAG,EAAAD,qBAAA,GAAAhF,MAAM,CAACyB,SAAS,CAACD,8BAA8B,cAAAwD,qBAAA,uBAA/CA,qBAAA,CAAiDxF,MAAM,KAAI,CAAC;IACjF,IAAM0F,eAAe,GACjBrK,MAAM,CAACmF,MAAM,CAACA,MAAM,CAACM,aAAa,IAAI,CAAC,CAAC,CAAC,CAACuB,MAAM,CAAC,UAACsD,GAAW,EAAE9D,CAAmB,EAAK;MACnF,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;QACvB,OAAO8D,GAAG;MACd;MACA,OAAOA,GAAG,GAAG9D,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IAEd,IAAI6D,eAAe,GAAGD,YAAY,EAAE;MAChC,OAAO,yDAAyD;IACpE;EACJ;EAEA,OAAO,EAAE;AACb"}
1
+ {"version":3,"names":["_reactRedux","require","_bemCnLite","_interopRequireDefault","_Info","_BundleParamsList","_Dialog","_interopRequireWildcard","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","block","cn","BundleEditorDialog","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","createConfigurationList","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","createParams","undefined","hasError","_get","errorText","validateMemoryLimits","DialogError","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","t0","validationErrors","_defineProperty","FORM_ERROR","error","stop","_x","apply","arguments","_isEmpty","Dialog","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAC,uBAAA,CAAAN,OAAA;AAOA,IAAAO,OAAA,GAAAL,sBAAA,CAAAF,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,uBAAA,GAAAT,OAAA;AAIA,IAAAU,oBAAA,GAAAV,OAAA;AAEA,IAAAW,wBAAA,GAAAX,OAAA;AAEA,IAAAY,mBAAA,GAAAZ,OAAA;AAUA,IAAAa,UAAA,GAAAP,uBAAA,CAAAN,OAAA;AAEmC,IAAAc,WAAA,GAAAd,OAAA;AAAA,SAAAe,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEnC,IAAMW,KAAK,GAAG,IAAAC,qBAAE,EAAC,eAAe,CAAC;AAmC1B,SAASC,kBAAkBA,CAAA,EAAG;EACjC,IAAAC,YAAA,GAMI,IAAAC,uBAAW,EAACC,uDAA8B,CAAC;IAL3CC,aAAa,GAAAH,YAAA,CAAbG,aAAa;IACbC,UAAU,GAAAJ,YAAA,CAAVI,UAAU;IACVC,UAAU,GAAAL,YAAA,CAAVK,UAAU;IACVC,IAAI,GAAAN,YAAA,CAAJM,IAAI;IACkBC,UAAU,GAAAP,YAAA,CAAhCQ,oBAAoB;EAGxB,IAAMC,eAAe,GAAG,IAAAR,uBAAW,EAACS,0BAAkB,CAAC;EAEvD,IAAAC,aAAA,GAA6C,IAAAV,uBAAW,EAACW,wCAAmB,CAAC;IAAvDC,mBAAmB,GAAAF,aAAA,CAAlCG,aAAa;EAEpB,IAAMC,sBAAsB,GAAGV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,+BAA+B;EAC1E,IAAMC,sBAAsB,GAAG,CAAAZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,wBAAwB,KAAI,KAAK;EAE5E,IAAAC,gBAAA,GAAkC,IAAAC,mCAAe,EAACd,IAAI,EAAE,cAAc,CAAC;IAAzDe,gBAAgB,GAAAF,gBAAA,CAAvBG,KAAK;EACZ,IAAAC,iBAAA,GAAyC,IAAAH,mCAAe,EAACd,IAAI,EAAE,sBAAsB,CAAC;IAAxEkB,uBAAuB,GAAAD,iBAAA,CAA9BD,KAAK;EAEZ,IAAMG,SAAS,GAAG,IAAAxB,uBAAW,EAACyB,mBAAW,CAAC;EAE1C,IAAMC,aAA2C,GAAI,YAAM;IACvD,IAAI,CAACV,sBAAsB,EAAE;MACzB,OAAO,IAAAW,wCAAoB,EAACtB,IAAI,CAAC;IACrC;IACA,IAAI,CAACS,sBAAsB,EAAE;MACzB,OAAO,CAAC,CAAC;IACb;IACA,OAAO,IAAAa,wCAAoB,EAACtB,IAAI,EAAES,sBAAsB,CAAC;EAC7D,CAAC,EAAG;EAEJ,IAAAc,IAAA,GAAiD,YAAM;MACnD,IAAI,CAAChB,mBAAmB,EAAE;QACtB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;MACnB;MACA,IAAOiB,eAAe,GAAuBjB,mBAAmB,CAAzDiB,eAAe;QAAEC,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;MAEzC,OAAO,CACH,IAAAC,2CAAuB,EAACF,eAAe,CAAC,EACxC,IAAAE,2CAAuB,EAACD,iBAAiB,CAAC,CAC7C;IACL,CAAC,EAAG;IAAAE,KAAA,OAAAC,0BAAA,EAAAL,IAAA;IAVGM,iBAAiB,GAAAF,KAAA;IAAEG,kBAAkB,GAAAH,KAAA;EAY5C,IAAMI,iBAA4E,GAAG;IACjFC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,SAAS;IAChBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,KAAAC,MAAA,KAAAC,8BAAA,EACE,CAAC,IAAAC,uBAAY,GAAE,GACb,EAAE,GACF,CACI;MACIP,IAAI,EAAE,KAAK;MACXE,IAAI,EAAE,aAAsB;MAC5BM,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE;QACJC,WAAW,EAAE,uBAAuB;QACpCC,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,CACJ,IACP;MACIa,IAAI,EAAE,mBAAmB;MACzBE,IAAI,EAAE,+BAA+B;MACrCM,OAAO,EAAE,mBAAmB;MAC5BC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,EACD;MACIa,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,+BAA+B;MACrCM,OAAO,EAAE,kBAAkB;MAC3BC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC;EAET,CAAC;EAED,IAAM0B,iBAA4E,GAAG;IACjFb,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,MAAM;MACZE,IAAI,EAAE,OAAO;MACbY,SAAS,EAAE,IAAI;MACfL,MAAM,EAAE;QACJM,QAAQ,eACJ,IAAAC,gBAAA,EAACC,UAAI;UAACC,SAAS,EAAE3D,KAAK,CAAC,MAAM,CAAE;UAAAwD,QAAA,GAC1BI,qBAAS,CAACC,iCAAiC,CAAC;YACzCrD,UAAU,EAAVA,UAAU;YACVI,eAAe,EAAfA;UACJ,CAAC,CAAC,eACF,IAAAkD,eAAA,EAACC,kCAAgB;YACbJ,SAAS,EAAE3D,KAAK,CAAC,QAAQ,CAAE;YAC3BgE,MAAM,EAAE,CACJ;cACItB,KAAK,EAAE,QAAQ;cACfuB,KAAK,EAAEC,kBAAM,CAACC,MAAM,CAAC,OAAO,CAAC,CACzB,CAAAzD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0D,cAAc,CAACC,MAAM,KAAI,GAAG;YAEhD,CAAC,EACD;cACI3B,KAAK,EAAE,MAAM;cACbuB,KAAK,EAAEC,kBAAM,CAACC,MAAM,CAAC,QAAQ,CAAC,CAC1B,CAAAzD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0D,cAAc,CAACE,IAAI,KAAI,GAAG;YAE9C,CAAC;UACH,EACJ;QAAA;MAGd;IACJ,CAAC,EACD;MACI7B,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,cAAc;MACvBC,MAAM,EAAE;QACJiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACN/C,KAAK,EAAED;QACX;MACJ,CAAC;MACDiD,SAAS,EAAEC;IACf,CAAC,EACD;MAACC,OAAO,EAAE;IAAW,CAAC,EACtB;MACIhC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,iBAAiB;MACvBQ,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE;QACJiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBK,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACI/B,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,8BAA8B;MACpCQ,OAAO,EAAE,wBAAwB;MACjCM,SAAS,EAAE,IAAI;MACfL,MAAM,EAAE;QACJzC,IAAI,EAAE6B;MACV;IACJ,CAAC,EACD;MAACqC,OAAO,EAAE;IAAa,CAAC,EACxB;MACIhC,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,mBAAmB;MACzBQ,OAAO,EAAE,mBAAmB;MAC5BC,MAAM,EAAE;QACJiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBK,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACI/B,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,gCAAgC;MACtCQ,OAAO,EAAE,wBAAwB;MACjCM,SAAS,EAAE,IAAI;MACfL,MAAM,EAAE,SAAAA,OAAU2B,MAAM,EAAEC,IAAI,EAAE;QAC5B,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAId,KAA8B,EAAK;UACrD,IAAMe,qBAAqB,GAAGf,KAAK,CAACtB,IAAI,IAAI,EAAE;UAE9C,IAAMsC,aAAa,GACf,CAAAjE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC8C,qBAAqB,CAAC,CACxDE,cAAc,CAACC,aAAa,KAAI,CAAC,CAAC;UAC3C,IAAMC,iBAAiB,GACnB,CAAApE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC8C,qBAAqB,CAAC,CACxDE,cAAc,CAACG,UAAU,KAAI,CAAC,CAAC;UAExC,IAAMC,YAAY,GAAG,IAAAC,+BAAW,EAC5BV,MAAM,CAACM,aAAa,EACpBF,aAAa,EACb,eAAe,CAClB;UACD,IAAMO,gBAAgB,GAAG,IAAAD,+BAAW,EAChCV,MAAM,CAACQ,UAAU,EACjBD,iBAAiB,EACjB,YAAY,CACf;UAEDN,IAAI,CAACW,MAAM,CAAC,eAAe,MAAAC,yBAAA,MAAAA,yBAAA,MACpBC,oCAAgB,CAACC,QAAQ,CAACT,aAAa,GACvCG,YAAY,EACjB;UACFR,IAAI,CAACW,MAAM,CAAC,YAAY,MAAAC,yBAAA,MAAAA,yBAAA,MACjBC,oCAAgB,CAACC,QAAQ,CAACP,UAAU,GACpCG,gBAAgB,EACrB;QACN,CAAC;QAED,OAAO;UACH/E,IAAI,EAAE8B,kBAAkB;UACxBwC,YAAY,EAAZA;QACJ,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMc,uBAAkF,GAAG;IACvFpD,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,cAAc;MACvBC,MAAM,EAAE;QACJiB,MAAM,EAAE,QAAQ;QAChBI,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACN/C,KAAK,EAAED;QACX;MACJ,CAAC;MACDiD,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,sBAAsB;MAC/BC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfK,QAAQ,EAAE;UACN/C,KAAK,EAAEE;QACX;MACJ,CAAC;MACD8C,SAAS,EAAEC;IACf,CAAC;EAET,CAAC;EAED,IAAMoB,eAA0E,GAAG;IAC/ErD,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTmD,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDrD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,QAAQ;MACjBC,MAAM,EAAE,SAAAA,OAACiD,SAAS,EAAErB,IAAI,EAAK;QAAA,IAAAsB,oBAAA;QACzB,IAAMC,8BAA8B,IAAAD,oBAAA,GAChCD,SAAS,CAACG,SAAS,cAAAF,oBAAA,uBAAnBA,oBAAA,CAAqBC,8BAA8B;QAEvD,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IACI,CAACF,8BAA8B,IAC/B,CAACA,8BAA8B,CAAC1D,IAAI,IACpC,CAAC3B,mBAAmB,EACtB;YACE;UACJ;UACA,IAAM2B,IAAI,GAAG0D,8BAA8B,CAAC1D,IAAI;UAChD,IAAOT,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOiD,aAAa,GAAIjD,iBAAiB,CAACS,IAAI,CAAC,CAACuC,cAAc,CAAvDC,aAAa;UAEpBL,IAAI,CAACW,MAAM,CAAC,eAAe,MAAAC,yBAAA,MAAAA,yBAAA,MACpBC,oCAAgB,CAACC,QAAQ,CAACT,aAAa,GACvCA,aAAa,EAClB;QACN,CAAC;QAED,IAAI,CAACkB,8BAA8B,EAAE;UACjC,OAAO;YACHrC,MAAM,EAAE,EAAE;YACVuC,OAAO,EAAPA;UACJ,CAAC;QACL;QACA,IAAOlC,MAAM,GAAIgC,8BAA8B,CAAxChC,MAAM;QAEb,IAAMmC,IAAI,GAAGb,oCAAgB,CAACc,IAAI,CAACtB,aAAa,CAACuB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;UAAA,IAAAC,qBAAA;UAChE,OAAOF,GAAG,IAAI,CAAAR,SAAS,aAATA,SAAS,wBAAAU,qBAAA,GAATV,SAAS,CAAEhB,aAAa,cAAA0B,qBAAA,uBAAxBA,qBAAA,CAA2BD,CAAC,CAAC,KAAI,CAAC,CAAC;QACrD,CAAC,EAAE,CAAC,CAAC;QAEL,OAAO;UACH5C,MAAM,EAAE,IAAA8C,gCAAY,EAAC,OAAO,EAAEzC,MAAM,EAAEmC,IAAI,CAAC;UAC3CD,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACI9D,IAAI,EAAE,eAAe;MACrBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,eAAe;MACxBC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,gBAAgB;MACtBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,0BAA0B;MAChCE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,0BAA0B;MACnCC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,sBAAsB;MAC/BC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,kBAAkB;MAC3BC,MAAM,EAAE;QACJiB,MAAM,EAAE,OAAO;QACfS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACI/B,IAAI,EAAE,OAAO;MACbF,IAAI,EAAE,OAAO;MACbgC,SAAS,EAAE,SAAAA,UAACyB,CAAM;QAAA,OAAMA,CAAC,GAAGA,CAAC,GAAGa,SAAS;MAAA,CAAC;MAC1C7D,MAAM,WAAAA,OAACiD,SAAS,EAAErB,IAAI,EAAE;QACpB,IAAMkC,QAAQ,GAAG,IAAAC,gBAAA,EAAMd,SAAS,EAAE,qBAAqB,CAAC;QACxD,IAAMe,SAAS,GAAGC,oBAAoB,CAAChB,SAAS,CAAC;QAEjD,IAAIe,SAAS,IAAI,CAACF,QAAQ,EAAE;UACxBlC,IAAI,CAACW,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC;QAC5C,CAAC,MAAM,IAAI,CAACyB,SAAS,IAAIF,QAAQ,EAAE;UAC/BlC,IAAI,CAACW,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC7C;QAEA,OAAO;UACHjC,QAAQ,EAAE,CAAC0D,SAAS,GAAG,IAAI,gBACvB,IAAApD,eAAA,EAACsD,mBAAW;YAACC,MAAM,EAAE,OAAQ;YAACC,OAAO,eAAE,IAAAxD,eAAA;cAAAN,QAAA,EAAO0D;YAAS;UAAS;QAExE,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMK,mBAA8E,GAAG;IACnF9E,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,cAAc;IACrBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTmD,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDrD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,SAAAA,OAACiD,SAAS,EAAErB,IAAI,EAAK;QAAA,IAAA0C,qBAAA;QACzB,IAAMnB,8BAA8B,IAAAmB,qBAAA,GAChCrB,SAAS,CAACG,SAAS,cAAAkB,qBAAA,uBAAnBA,qBAAA,CAAqBnB,8BAA8B;QAEvD,IACI,CAACA,8BAA8B,IAC/B,CAACA,8BAA8B,CAAC1D,IAAI,IACpC,CAAC3B,mBAAmB,EACtB;UACE,OAAO;YACHgD,MAAM,EAAE,EAAE;YACVuC,OAAO,EAAE,SAAAA,QAAA,EAAM,CAAC;UACpB,CAAC;QACL;QAEA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IAAM5D,IAAI,GAAG0D,8BAA8B,CAAC1D,IAAI;UAChD,IAAI,CAACA,IAAI,EAAE;YACP;UACJ;UAEA,IAAOT,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOmD,UAAU,GAAInD,iBAAiB,CAACS,IAAI,CAAC,CAACuC,cAAc,CAApDG,UAAU;UAEjBP,IAAI,CAACW,MAAM,CAAC,YAAY,MAAAC,yBAAA,MAAAA,yBAAA,MACjBC,oCAAgB,CAACC,QAAQ,CAACP,UAAU,GACpCA,UAAU,EACf;QACN,CAAC;QAED,IAAOf,IAAI,GAAI+B,8BAA8B,CAAtC/B,IAAI;QAEX,OAAO;UACHN,MAAM,EAAE,IAAA8C,gCAAY,EAAC,QAAQ,EAAExC,IAAI,CAAC;UACpCiC,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACI9D,IAAI,EAAE,yBAAyB;MAC/BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,yBAAyB;MAClCC,MAAM,EAAE;QACJuE,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJuE,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC,EACD;MACIjC,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBM,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJuE,OAAO,EAAE,SAAS;QAClBtD,MAAM,EAAE,QAAQ;QAChBS,QAAQ,EAAE;MACd,CAAC;MACDH,SAAS,EAAEC;IACf,CAAC;EAET,CAAC;EAED,IAAM7B,MAAM,GAAG,CAACL,iBAAiB,CAAC;EAClC,IAAIpB,sBAAsB,EAAE;IACxByB,MAAM,CAAC6E,IAAI,CAACpE,iBAAiB,EAAEwC,eAAe,EAAEyB,mBAAmB,CAAC;EACxE,CAAC,MAAM;IACH1E,MAAM,CAAC6E,IAAI,CAAC7B,uBAAuB,CAAC;EACxC;EAEA,IAAM8B,QAAQ,GAAG,IAAAC,uBAAW,GAAE;EAC9B,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClBF,QAAQ,CAAC,IAAAG,kDAA0B,GAAE,CAAC;EAC1C,CAAC;EAED,IAAMC,QAAQ;IAAA,IAAAC,KAAA,OAAAC,6BAAA,gBAAAC,uBAAA,CAAAC,IAAA,CAAG,SAAAC,QAAOtD,IAA2C;MAAA,IAAAuD,YAAA;MAAA,OAAAH,uBAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IAC1DnI,UAAU;cAAAiI,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACJ,CAAC,CAAC;UAAA;YAGPN,YAAY,GAAG,IAAAO,uCAAmB,EAAC9D,IAAI,CAAC;YAAA0D,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGpCf,QAAQ,CACV,IAAAkB,iDAAyB,EAAC;cACtBtI,UAAU,EAAVA,UAAU;cACVE,IAAI,EAAE4H;YACV,CAAC,CAAC,CACL;UAAA;YAAA,OAAAG,QAAA,CAAAG,MAAA,WACM5B,SAAS;UAAA;YAAAyB,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAM,EAAA,GAAAN,QAAA;YAAA,OAAAA,QAAA,CAAAG,MAAA,WAET;cACHI,gBAAgB,MAAAC,2BAAA,MACXC,kBAAU,eAAG,IAAAnF,eAAA,EAACsD,mBAAW;gBAAC8B,KAAK,EAAAV,QAAA,CAAAM;cAAQ,EAAG;YAEnD,CAAC;UAAA;UAAA;YAAA,OAAAN,QAAA,CAAAW,IAAA;QAAA;MAAA,GAAAf,OAAA;IAAA,CAER;IAAA,gBAtBKL,QAAQA,CAAAqB,EAAA;MAAA,OAAApB,KAAA,CAAAqB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAsBb;EAED,IAAI,IAAAC,oBAAA,EAAU9I,IAAI,CAAC,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBACI,IAAAqD,eAAA,EAAC0F,kBAAM;IACH7F,SAAS,EAAE3D,KAAK,CAAC,QAAQ,CAAE;IAC3ByJ,WAAW,EAAE;MACT/G,KAAK,EAAEnC;IACX,CAAE;IACFqC,IAAI,EAAC,GAAG;IACRd,aAAa,EAAEA,aAAc;IAC7B4H,OAAO,EAAEpJ,aAAc;IACvBqJ,KAAK,EAAE5B,QAAS;IAChBF,OAAO,EAAEA,OAAQ;IACjBhF,MAAM,EAAEA;EAAO,EACjB;AAEV;AAEA,SAASsE,oBAAoBA,CAACtC,MAAoC,EAAE;EAAA,IAAA+E,iBAAA;EAChE,KAAAA,iBAAA,GAAI/E,MAAM,CAACyB,SAAS,cAAAsD,iBAAA,eAAhBA,iBAAA,CAAkBvD,8BAA8B,EAAE;IAAA,IAAAwD,qBAAA;IAClD,IAAMC,YAAY,GAAG,EAAAD,qBAAA,GAAAhF,MAAM,CAACyB,SAAS,CAACD,8BAA8B,cAAAwD,qBAAA,uBAA/CA,qBAAA,CAAiDxF,MAAM,KAAI,CAAC;IACjF,IAAM0F,eAAe,GACjBxK,MAAM,CAACsF,MAAM,CAACA,MAAM,CAACM,aAAa,IAAI,CAAC,CAAC,CAAC,CAACuB,MAAM,CAAC,UAACsD,GAAW,EAAE9D,CAAmB,EAAK;MACnF,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;QACvB,OAAO8D,GAAG;MACd;MACA,OAAOA,GAAG,GAAG9D,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IAEd,IAAI6D,eAAe,GAAGD,YAAY,EAAE;MAChC,OAAO,yDAAyD;IACpE;EACJ;EAEA,OAAO,EAAE;AACb"}
@@ -3,7 +3,6 @@ import { DialogControlProps } from '../../../../../../components/Dialog/Dialog.t
3
3
  import { ThemeThreshold } from '../../../../../../utils/progress';
4
4
  import './BundleInput.scss';
5
5
  type BundleInputProps = DialogControlProps<number | undefined, {
6
- title: string;
7
6
  postfix?: string;
8
7
  hint?: string;
9
8
  className?: string;
@@ -10,8 +10,8 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = require("react");
11
11
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
12
12
  var _uikit = require("@gravity-ui/uikit");
13
- var _tooltipIcon = _interopRequireDefault(require("../../../../../../../../img/svg/tooltip-icon.svg"));
14
13
  var _NumberInput = require("../../../../../../components/NumberInput/NumberInput");
14
+ var _Tooltip = require("../../../../../../components/Tooltip/Tooltip");
15
15
  var _utils = require("../../../../../../utils/utils");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
17
  var block = (0, _bemCnLite["default"])('bundle-input');
@@ -25,14 +25,10 @@ function errorFromValue(value) {
25
25
  return undefined;
26
26
  }
27
27
  function BundleInput(props) {
28
- var className = props.className,
29
- value = props.value,
28
+ var value = props.value,
30
29
  onChange = props.onChange,
31
30
  postfix = props.postfix,
32
31
  hint = props.hint,
33
- tooltip = props.tooltip,
34
- required = props.required,
35
- title = props.title,
36
32
  readonly = props.readonly,
37
33
  format = props.format,
38
34
  progress = props.progress,
@@ -98,29 +94,10 @@ function BundleInput(props) {
98
94
  var text = focused ? rawValue : formattedValue;
99
95
  var calcProgress = progress && (0, _utils.calcProgressProps)((progress === null || progress === void 0 ? void 0 : progress.usage) || 0, Number(value) || 0, format);
100
96
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
101
- className: block(null, className),
102
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
97
+ className: block(null),
98
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
103
99
  className: block('row'),
104
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
105
- className: block('left'),
106
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
107
- className: block('label', {
108
- required: required
109
- }),
110
- children: title
111
- }), Boolean(tooltip) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
112
- className: block('tooltip'),
113
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Popover, {
114
- content: tooltip,
115
- delayOpening: 150,
116
- delayClosing: 150,
117
- placement: ['bottom', 'top', 'right'],
118
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Icon, {
119
- data: _tooltipIcon["default"]
120
- })
121
- })
122
- })]
123
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
100
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
124
101
  className: block('right'),
125
102
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
126
103
  className: block('control-block'),
@@ -144,21 +121,18 @@ function BundleInput(props) {
144
121
  data: postfix || formattedValue
145
122
  })]
146
123
  })
147
- })]
148
- }), calcProgress && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
124
+ })
125
+ }), calcProgress && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
149
126
  className: block('row'),
150
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
151
- className: block('left'),
152
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
153
- className: block('usage'),
154
- children: "Usage"
127
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.Tooltip, {
128
+ content: "Usage",
129
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
+ className: block('left'),
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Progress, (0, _objectSpread2["default"])({
132
+ className: block('progress')
133
+ }, calcProgress))
155
134
  })
156
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
157
- className: block('right'),
158
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Progress, (0, _objectSpread2["default"])({
159
- className: block('progress')
160
- }, calcProgress))
161
- })]
135
+ })
162
136
  }), !parsedError && hint && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
163
137
  className: block('row'),
164
138
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_tooltipIcon","_NumberInput","_utils","_jsxRuntime","block","cn","toRawValue","value","undefined","String","errorFromValue","Number","isNaN","BundleInput","props","className","onChange","postfix","hint","tooltip","required","title","readonly","format","progress","_props$withoutDetaile","withoutDetailedBar","_props$hasClear","hasClear","decimalPlaces","preciseInitialRawValue","error","_useState","useState","_useState2","_slicedToArray","parsedValue","setParsedValue","_useState3","_useState4","parsedError","setParsedError","_useState5","_useState6","rawValue","setRawValue","_useState7","_useState8","formattedValue","setFormattedValue","_useState9","_useState10","focused","setFocused","useEffect","formatted","formatValue","digits","handleChange","parseValue","text","calcProgress","calcProgressProps","usage","_jsxs","children","_jsx","Boolean","Popover","content","delayOpening","delayClosing","placement","Icon","data","tooltipIcon","TextInput","autoComplete","onUpdate","onFocus","onBlur","BundleInputDetailedBar","Progress","_objectSpread","_ref","isEmpty","getDefaultValue","hasErrorRenderer"],"sources":["BundleInput.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Icon, Popover, Progress, TextInput} from '@gravity-ui/uikit';\nimport tooltipIcon from '../../../../../../../../img/svg/tooltip-icon.svg';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {formatValue, parseValue} from '../../../../../../components/NumberInput/NumberInput';\n\nimport {calcProgressProps} from '../../../../../../utils/utils';\nimport {ThemeThreshold} from '../../../../../../utils/progress';\n\nimport './BundleInput.scss';\n\nconst block = cn('bundle-input');\n\nfunction toRawValue(value?: string | number) {\n return value === undefined ? '' : String(value);\n}\n\nfunction errorFromValue(value: BundleInputProps['value']) {\n if (Number.isNaN(value)) {\n return 'wrong format';\n }\n return undefined;\n}\n\ntype BundleInputProps = DialogControlProps<\n number | undefined,\n {\n title: string;\n postfix?: string;\n hint?: string;\n className?: string;\n readonly?: boolean;\n hasClear?: boolean;\n tooltip?: React.ReactNode;\n withoutDetailedBar?: boolean;\n format?: 'Bytes' | 'Number';\n decimalPlaces?: number;\n preciseInitialRawValue?: boolean;\n progress?: {\n usage?: number;\n limit?: number;\n themeThresholds?: ThemeThreshold[];\n };\n error?: string;\n }\n>;\n\nexport function BundleInput(props: BundleInputProps) {\n const {\n className,\n value,\n onChange,\n postfix,\n hint,\n tooltip,\n required,\n title,\n readonly,\n format,\n progress,\n withoutDetailedBar = false,\n hasClear = false,\n decimalPlaces,\n preciseInitialRawValue,\n error,\n } = props;\n const [parsedValue, setParsedValue] = useState<number | undefined>();\n const [parsedError, setParsedError] = useState<string | undefined>();\n const [rawValue, setRawValue] = useState<string | undefined>();\n const [formattedValue, setFormattedValue] = useState<string | undefined>();\n const [focused, setFocused] = useState<boolean>(false);\n\n useEffect(() => {\n if (parsedError !== error) {\n setParsedError(error);\n }\n }, [error]);\n\n useEffect(() => {\n if (parsedValue === value) {\n return;\n }\n\n const formatted = formatValue(value, format, {\n digits: decimalPlaces,\n });\n setParsedValue(value);\n setFormattedValue(formatted);\n\n if (rawValue === undefined) {\n setRawValue(preciseInitialRawValue ? toRawValue(value) : formatted);\n }\n }, [value]);\n\n const handleChange = (rawValue: string) => {\n const value = parseValue(rawValue, format);\n const error = errorFromValue(value);\n setParsedValue(value);\n setRawValue(rawValue);\n setFormattedValue(formatValue(value, format, {digits: decimalPlaces}));\n setParsedError(error);\n\n if (error) {\n return;\n }\n\n onChange(value);\n };\n\n const text = focused ? rawValue : formattedValue;\n const calcProgress =\n progress && calcProgressProps(progress?.usage || 0, Number(value) || 0, format);\n return (\n <div className={block(null, className)}>\n <div className={block('row')}>\n <div className={block('left')}>\n <label className={block('label', {required})}>{title}</label>\n {Boolean(tooltip) && (\n <div className={block('tooltip')}>\n <Popover\n content={tooltip}\n delayOpening={150}\n delayClosing={150}\n placement={['bottom', 'top', 'right']}\n >\n <Icon data={tooltipIcon} />\n </Popover>\n </div>\n )}\n </div>\n <div className={block('right')}>\n <div className={block('control-block')}>\n {readonly ? (\n <span className={block('text')}>{value}</span>\n ) : (\n <TextInput\n className={block('input')}\n autoComplete={false}\n value={text}\n onUpdate={handleChange}\n hasClear={hasClear}\n error={Boolean(parsedError)}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n />\n )}\n {!withoutDetailedBar && (\n <BundleInputDetailedBar data={postfix || formattedValue} />\n )}\n </div>\n </div>\n </div>\n {calcProgress && (\n <div className={block('row')}>\n <div className={block('left')}>\n <span className={block('usage')}>Usage</span>\n </div>\n <div className={block('right')}>\n <Progress className={block('progress')} {...calcProgress} />\n </div>\n </div>\n )}\n {!parsedError && hint && (\n <div className={block('row')}>\n <span className={block('hint', block('right'))}>{hint}</span>\n </div>\n )}\n {parsedError && (\n <div className={block('row')}>\n <span className={block('error', block('right'))}>{parsedError}</span>\n </div>\n )}\n </div>\n );\n}\n\nfunction BundleInputDetailedBar({data}: {data?: string}) {\n return !data ? null : <span className={block('meta')}>{data}</span>;\n}\n\nBundleInput.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleInput.getDefaultValue = () => {\n return '';\n};\n\nBundleInput.hasErrorRenderer = true;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_NumberInput","_Tooltip","_utils","_jsxRuntime","block","cn","toRawValue","value","undefined","String","errorFromValue","Number","isNaN","BundleInput","props","onChange","postfix","hint","readonly","format","progress","_props$withoutDetaile","withoutDetailedBar","_props$hasClear","hasClear","decimalPlaces","preciseInitialRawValue","error","_useState","useState","_useState2","_slicedToArray","parsedValue","setParsedValue","_useState3","_useState4","parsedError","setParsedError","_useState5","_useState6","rawValue","setRawValue","_useState7","_useState8","formattedValue","setFormattedValue","_useState9","_useState10","focused","setFocused","useEffect","formatted","formatValue","digits","handleChange","parseValue","text","calcProgress","calcProgressProps","usage","_jsxs","className","children","_jsx","TextInput","autoComplete","onUpdate","Boolean","onFocus","onBlur","BundleInputDetailedBar","data","Tooltip","content","Progress","_objectSpread","_ref","isEmpty","getDefaultValue","hasErrorRenderer"],"sources":["BundleInput.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Progress, TextInput} from '@gravity-ui/uikit';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {formatValue, parseValue} from '../../../../../../components/NumberInput/NumberInput';\nimport {Tooltip} from '../../../../../../components/Tooltip/Tooltip';\n\nimport {calcProgressProps} from '../../../../../../utils/utils';\nimport {ThemeThreshold} from '../../../../../../utils/progress';\n\nimport './BundleInput.scss';\n\nconst block = cn('bundle-input');\n\nfunction toRawValue(value?: string | number) {\n return value === undefined ? '' : String(value);\n}\n\nfunction errorFromValue(value: BundleInputProps['value']) {\n if (Number.isNaN(value)) {\n return 'wrong format';\n }\n return undefined;\n}\n\ntype BundleInputProps = DialogControlProps<\n number | undefined,\n {\n postfix?: string;\n hint?: string;\n className?: string;\n readonly?: boolean;\n hasClear?: boolean;\n tooltip?: React.ReactNode;\n withoutDetailedBar?: boolean;\n format?: 'Bytes' | 'Number';\n decimalPlaces?: number;\n preciseInitialRawValue?: boolean;\n progress?: {\n usage?: number;\n limit?: number;\n themeThresholds?: ThemeThreshold[];\n };\n error?: string;\n }\n>;\n\nexport function BundleInput(props: BundleInputProps) {\n const {\n value,\n onChange,\n postfix,\n hint,\n readonly,\n format,\n progress,\n withoutDetailedBar = false,\n hasClear = false,\n decimalPlaces,\n preciseInitialRawValue,\n error,\n } = props;\n const [parsedValue, setParsedValue] = useState<number | undefined>();\n const [parsedError, setParsedError] = useState<string | undefined>();\n const [rawValue, setRawValue] = useState<string | undefined>();\n const [formattedValue, setFormattedValue] = useState<string | undefined>();\n const [focused, setFocused] = useState<boolean>(false);\n\n useEffect(() => {\n if (parsedError !== error) {\n setParsedError(error);\n }\n }, [error]);\n\n useEffect(() => {\n if (parsedValue === value) {\n return;\n }\n\n const formatted = formatValue(value, format, {\n digits: decimalPlaces,\n });\n setParsedValue(value);\n setFormattedValue(formatted);\n\n if (rawValue === undefined) {\n setRawValue(preciseInitialRawValue ? toRawValue(value) : formatted);\n }\n }, [value]);\n\n const handleChange = (rawValue: string) => {\n const value = parseValue(rawValue, format);\n const error = errorFromValue(value);\n setParsedValue(value);\n setRawValue(rawValue);\n setFormattedValue(formatValue(value, format, {digits: decimalPlaces}));\n setParsedError(error);\n\n if (error) {\n return;\n }\n\n onChange(value);\n };\n\n const text = focused ? rawValue : formattedValue;\n const calcProgress =\n progress && calcProgressProps(progress?.usage || 0, Number(value) || 0, format);\n return (\n <div className={block(null)}>\n <div className={block('row')}>\n <div className={block('right')}>\n <div className={block('control-block')}>\n {readonly ? (\n <span className={block('text')}>{value}</span>\n ) : (\n <TextInput\n className={block('input')}\n autoComplete={false}\n value={text}\n onUpdate={handleChange}\n hasClear={hasClear}\n error={Boolean(parsedError)}\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n />\n )}\n {!withoutDetailedBar && (\n <BundleInputDetailedBar data={postfix || formattedValue} />\n )}\n </div>\n </div>\n </div>\n {calcProgress && (\n <div className={block('row')}>\n <Tooltip content=\"Usage\">\n <div className={block('left')}>\n <Progress className={block('progress')} {...calcProgress} />\n </div>\n </Tooltip>\n </div>\n )}\n {!parsedError && hint && (\n <div className={block('row')}>\n <span className={block('hint', block('right'))}>{hint}</span>\n </div>\n )}\n {parsedError && (\n <div className={block('row')}>\n <span className={block('error', block('right'))}>{parsedError}</span>\n </div>\n )}\n </div>\n );\n}\n\nfunction BundleInputDetailedBar({data}: {data?: string}) {\n return !data ? null : <span className={block('meta')}>{data}</span>;\n}\n\nBundleInput.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleInput.getDefaultValue = () => {\n return '';\n};\n\nBundleInput.hasErrorRenderer = true;\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { DialogControlProps } from '../../../../../../components/Dialog/Dialog.types';
2
2
  import { BundleResourceGuarantee } from '../../../../../../store/reducers/tablet_cell_bundles';
3
+ import './BundleTableField.scss';
3
4
  interface BundleData {
4
5
  type: string;
5
6
  memory: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_jsxRuntime","block","cn","columns","id","name","width","BundleTableField","props","value","onChange","onRadioClick","data","newColumns","useMemo","template","item","checked","type","_jsx","Radio","onUpdate","isChecked","initialData","disabled","concat","Table","className","edgePadding","isEmpty","getDefaultValue"],"sources":["BundleTableField.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Radio, Table, TableColumnConfig} from '@gravity-ui/uikit';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {BundleResourceGuarantee} from '../../../../../../store/reducers/tablet_cell_bundles';\n\nconst block = cn('bundle-table-field');\n\nconst columns: TableColumnConfig<BundleData>[] = [\n {id: 'type', name: 'Type', width: '25%'},\n {id: 'memory', name: 'Memory', width: '25%'},\n {id: 'vcpu', name: 'vCPU', width: '25%'},\n {id: 'net', name: 'Network', width: '25%'},\n];\n\ninterface BundleData {\n type: string;\n memory: string;\n vcpu: string;\n net: string;\n disabled?: boolean;\n initialData: BundleResourceGuarantee;\n [k: string]: any;\n}\n\ntype RadioClickType = (value: BundleResourceGuarantee) => void;\n\ntype BundleTableFieldProps = DialogControlProps<\n BundleResourceGuarantee | undefined,\n {data: BundleData[]; onRadioClick?: RadioClickType}\n>;\n\nexport function BundleTableField(props: BundleTableFieldProps) {\n const {value, onChange, onRadioClick, data} = props;\n\n const newColumns = useMemo(\n () => [\n {\n id: 'radio',\n name: '',\n template: (item: BundleData) => {\n const checked = value?.type === item.id;\n return (\n <Radio\n value={item.id}\n checked={checked}\n onUpdate={(isChecked) => {\n if (isChecked) {\n onChange(item.initialData);\n\n if (typeof onRadioClick === 'function') {\n onRadioClick(item.initialData);\n }\n }\n }}\n disabled={item.disabled}\n />\n );\n },\n },\n ...columns,\n ],\n [data, value],\n );\n\n return <Table className={block('table')} columns={newColumns} data={data} edgePadding />;\n}\n\nBundleTableField.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTableField.getDefaultValue = () => {\n return '';\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAAkE,IAAAI,WAAA,GAAAJ,OAAA;AAKlE,IAAMK,KAAK,GAAG,IAAAC,qBAAE,EAAC,oBAAoB,CAAC;AAEtC,IAAMC,OAAwC,GAAG,CAC7C;EAACC,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,QAAQ;EAAEC,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC5C;EAACF,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,KAAK;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAK,CAAC,CAC7C;AAmBM,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC3D,IAAOC,KAAK,GAAkCD,KAAK,CAA5CC,KAAK;IAAEC,QAAQ,GAAwBF,KAAK,CAArCE,QAAQ;IAAEC,YAAY,GAAUH,KAAK,CAA3BG,YAAY;IAAEC,IAAI,GAAIJ,KAAK,CAAbI,IAAI;EAE1C,IAAMC,UAAU,GAAG,IAAAC,cAAO,EACtB;IAAA,QACI;MACIV,EAAE,EAAE,OAAO;MACXC,IAAI,EAAE,EAAE;MACRU,QAAQ,EAAE,SAAAA,SAACC,IAAgB,EAAK;QAC5B,IAAMC,OAAO,GAAG,CAAAR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,IAAI,MAAKF,IAAI,CAACZ,EAAE;QACvC,oBACI,IAAAe,eAAA,EAACC,YAAK;UACFX,KAAK,EAAEO,IAAI,CAACZ,EAAG;UACfa,OAAO,EAAEA,OAAQ;UACjBI,QAAQ,EAAE,SAAAA,SAACC,SAAS,EAAK;YACrB,IAAIA,SAAS,EAAE;cACXZ,QAAQ,CAACM,IAAI,CAACO,WAAW,CAAC;cAE1B,IAAI,OAAOZ,YAAY,KAAK,UAAU,EAAE;gBACpCA,YAAY,CAACK,IAAI,CAACO,WAAW,CAAC;cAClC;YACJ;UACJ,CAAE;UACFC,QAAQ,EAAER,IAAI,CAACQ;QAAS,EAC1B;MAEV;IACJ,CAAC,EAAAC,MAAA,CACEtB,OAAO;EAAA,CACb,EACD,CAACS,IAAI,EAAEH,KAAK,CAAC,CAChB;EAED,oBAAO,IAAAU,eAAA,EAACO,YAAK;IAACC,SAAS,EAAE1B,KAAK,CAAC,OAAO,CAAE;IAACE,OAAO,EAAEU,UAAW;IAACD,IAAI,EAAEA,IAAK;IAACgB,WAAW;EAAA,EAAG;AAC5F;AAEArB,gBAAgB,CAACsB,OAAO,GAAG,UAACpB,KAAa,EAAK;EAC1C,OAAO,CAACA,KAAK;AACjB,CAAC;AAEDF,gBAAgB,CAACuB,eAAe,GAAG,YAAM;EACrC,OAAO,EAAE;AACb,CAAC"}
1
+ {"version":3,"names":["_react","require","_bemCnLite","_interopRequireDefault","_uikit","_jsxRuntime","block","cn","columns","id","name","width","BundleTableField","props","value","onChange","onRadioClick","data","newColumns","useMemo","template","item","checked","type","_jsx","Radio","onUpdate","isChecked","initialData","disabled","concat","Table","className","edgePadding","isEmpty","getDefaultValue"],"sources":["BundleTableField.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Radio, Table, TableColumnConfig} from '@gravity-ui/uikit';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {BundleResourceGuarantee} from '../../../../../../store/reducers/tablet_cell_bundles';\n\nimport './BundleTableField.scss';\n\nconst block = cn('bundle-table-field');\n\nconst columns: TableColumnConfig<BundleData>[] = [\n {id: 'type', name: 'Type', width: '25%'},\n {id: 'memory', name: 'Memory', width: '25%'},\n {id: 'vcpu', name: 'vCPU', width: '25%'},\n {id: 'net', name: 'Network', width: '25%'},\n];\n\ninterface BundleData {\n type: string;\n memory: string;\n vcpu: string;\n net: string;\n disabled?: boolean;\n initialData: BundleResourceGuarantee;\n [k: string]: any;\n}\n\ntype RadioClickType = (value: BundleResourceGuarantee) => void;\n\ntype BundleTableFieldProps = DialogControlProps<\n BundleResourceGuarantee | undefined,\n {data: BundleData[]; onRadioClick?: RadioClickType}\n>;\n\nexport function BundleTableField(props: BundleTableFieldProps) {\n const {value, onChange, onRadioClick, data} = props;\n\n const newColumns = useMemo(\n () => [\n {\n id: 'radio',\n name: '',\n template: (item: BundleData) => {\n const checked = value?.type === item.id;\n return (\n <Radio\n value={item.id}\n checked={checked}\n onUpdate={(isChecked) => {\n if (isChecked) {\n onChange(item.initialData);\n\n if (typeof onRadioClick === 'function') {\n onRadioClick(item.initialData);\n }\n }\n }}\n disabled={item.disabled}\n />\n );\n },\n },\n ...columns,\n ],\n [data, value],\n );\n\n return <Table className={block('table')} columns={newColumns} data={data} edgePadding />;\n}\n\nBundleTableField.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTableField.getDefaultValue = () => {\n return '';\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAKiC,IAAAI,WAAA,GAAAJ,OAAA;AAEjC,IAAMK,KAAK,GAAG,IAAAC,qBAAE,EAAC,oBAAoB,CAAC;AAEtC,IAAMC,OAAwC,GAAG,CAC7C;EAACC,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,QAAQ;EAAEC,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC5C;EAACF,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,KAAK;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAK,CAAC,CAC7C;AAmBM,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC3D,IAAOC,KAAK,GAAkCD,KAAK,CAA5CC,KAAK;IAAEC,QAAQ,GAAwBF,KAAK,CAArCE,QAAQ;IAAEC,YAAY,GAAUH,KAAK,CAA3BG,YAAY;IAAEC,IAAI,GAAIJ,KAAK,CAAbI,IAAI;EAE1C,IAAMC,UAAU,GAAG,IAAAC,cAAO,EACtB;IAAA,QACI;MACIV,EAAE,EAAE,OAAO;MACXC,IAAI,EAAE,EAAE;MACRU,QAAQ,EAAE,SAAAA,SAACC,IAAgB,EAAK;QAC5B,IAAMC,OAAO,GAAG,CAAAR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,IAAI,MAAKF,IAAI,CAACZ,EAAE;QACvC,oBACI,IAAAe,eAAA,EAACC,YAAK;UACFX,KAAK,EAAEO,IAAI,CAACZ,EAAG;UACfa,OAAO,EAAEA,OAAQ;UACjBI,QAAQ,EAAE,SAAAA,SAACC,SAAS,EAAK;YACrB,IAAIA,SAAS,EAAE;cACXZ,QAAQ,CAACM,IAAI,CAACO,WAAW,CAAC;cAE1B,IAAI,OAAOZ,YAAY,KAAK,UAAU,EAAE;gBACpCA,YAAY,CAACK,IAAI,CAACO,WAAW,CAAC;cAClC;YACJ;UACJ,CAAE;UACFC,QAAQ,EAAER,IAAI,CAACQ;QAAS,EAC1B;MAEV;IACJ,CAAC,EAAAC,MAAA,CACEtB,OAAO;EAAA,CACb,EACD,CAACS,IAAI,EAAEH,KAAK,CAAC,CAChB;EAED,oBAAO,IAAAU,eAAA,EAACO,YAAK;IAACC,SAAS,EAAE1B,KAAK,CAAC,OAAO,CAAE;IAACE,OAAO,EAAEU,UAAW;IAACD,IAAI,EAAEA,IAAK;IAACgB,WAAW;EAAA,EAAG;AAC5F;AAEArB,gBAAgB,CAACsB,OAAO,GAAG,UAACpB,KAAa,EAAK;EAC1C,OAAO,CAACA,KAAK;AACjB,CAAC;AAEDF,gBAAgB,CAACuB,eAAe,GAAG,YAAM;EACrC,OAAO,EAAE;AACb,CAAC"}
@@ -2,12 +2,11 @@ import { BundleParam } from '../BundleParamsList/BundleParamsList';
2
2
  import { DialogControlProps } from '../../../../../../components/Dialog/Dialog.types';
3
3
  import './BundleTitle.scss';
4
4
  type BundleTitleProps = DialogControlProps<boolean, {
5
- title: string;
6
5
  params: BundleParam[];
7
6
  className?: string;
8
7
  onReset: () => void;
9
8
  }>;
10
- export declare function BundleTitle({ className, title, params, onReset }: BundleTitleProps): JSX.Element;
9
+ export declare function BundleTitle({ className, params, onReset }: BundleTitleProps): JSX.Element;
11
10
  export declare namespace BundleTitle {
12
11
  var isEmpty: (value: string) => boolean;
13
12
  var getDefaultValue: () => string;
@@ -13,15 +13,11 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
  var block = (0, _bemCnLite["default"])('bundle-title');
14
14
  function BundleTitle(_ref) {
15
15
  var className = _ref.className,
16
- title = _ref.title,
17
16
  params = _ref.params,
18
17
  onReset = _ref.onReset;
19
18
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
20
19
  className: block(null, className),
21
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
22
- className: block('title'),
23
- children: title
24
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BundleParamsList.BundleParamsList, {
20
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BundleParamsList.BundleParamsList, {
25
21
  className: block('params'),
26
22
  params: params,
27
23
  size: "m"
@@ -1 +1 @@
1
- {"version":3,"names":["_bemCnLite","_interopRequireDefault","require","_uikit","_BundleParamsList","_resetIcon","_jsxRuntime","block","cn","BundleTitle","_ref","className","title","params","onReset","_jsxs","children","_jsx","BundleParamsList","size","Button","onClick","Icon","data","resetIcon","isEmpty","value","getDefaultValue"],"sources":["BundleTitle.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {BundleParamsList, BundleParam} from '../BundleParamsList/BundleParamsList';\nimport resetIcon from '../../../../../../../../img/svg/reset-icon.svg';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\n\nimport './BundleTitle.scss';\n\nconst block = cn('bundle-title');\n\ntype BundleTitleProps = DialogControlProps<\n boolean,\n {\n title: string;\n params: BundleParam[];\n className?: string;\n onReset: () => void;\n }\n>;\n\nexport function BundleTitle({className, title, params, onReset}: BundleTitleProps) {\n return (\n <div className={block(null, className)}>\n <span className={block('title')}>{title}</span>\n <BundleParamsList\n className={block('params')}\n params={params}\n size=\"m\"\n ></BundleParamsList>\n <Button className={block('btn')} onClick={onReset}>\n <Icon className={block('icon')} data={resetIcon} />\n Reset to default\n </Button>\n </div>\n );\n}\n\nBundleTitle.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTitle.getDefaultValue = () => {\n return '';\n};\n"],"mappings":";;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAI4B,IAAAI,WAAA,GAAAJ,OAAA;AAE5B,IAAMK,KAAK,GAAG,IAAAC,qBAAE,EAAC,cAAc,CAAC;AAYzB,SAASC,WAAWA,CAAAC,IAAA,EAAwD;EAAA,IAAtDC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;EAC1D,oBACI,IAAAC,gBAAA;IAAKJ,SAAS,EAAEJ,KAAK,CAAC,IAAI,EAAEI,SAAS,CAAE;IAAAK,QAAA,gBACnC,IAAAC,eAAA;MAAMN,SAAS,EAAEJ,KAAK,CAAC,OAAO,CAAE;MAAAS,QAAA,EAAEJ;IAAK,EAAQ,eAC/C,IAAAK,eAAA,EAACC,kCAAgB;MACbP,SAAS,EAAEJ,KAAK,CAAC,QAAQ,CAAE;MAC3BM,MAAM,EAAEA,MAAO;MACfM,IAAI,EAAC;IAAG,EACQ,eACpB,IAAAJ,gBAAA,EAACK,aAAM;MAACT,SAAS,EAAEJ,KAAK,CAAC,KAAK,CAAE;MAACc,OAAO,EAAEP,OAAQ;MAAAE,QAAA,gBAC9C,IAAAC,eAAA,EAACK,WAAI;QAACX,SAAS,EAAEJ,KAAK,CAAC,MAAM,CAAE;QAACgB,IAAI,EAAEC;MAAU,EAAG,oBAEvD;IAAA,EAAS;EAAA,EACP;AAEd;AAEAf,WAAW,CAACgB,OAAO,GAAG,UAACC,KAAa,EAAK;EACrC,OAAO,CAACA,KAAK;AACjB,CAAC;AAEDjB,WAAW,CAACkB,eAAe,GAAG,YAAM;EAChC,OAAO,EAAE;AACb,CAAC"}
1
+ {"version":3,"names":["_bemCnLite","_interopRequireDefault","require","_uikit","_BundleParamsList","_resetIcon","_jsxRuntime","block","cn","BundleTitle","_ref","className","params","onReset","_jsxs","children","_jsx","BundleParamsList","size","Button","onClick","Icon","data","resetIcon","isEmpty","value","getDefaultValue"],"sources":["BundleTitle.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {Button, Icon} from '@gravity-ui/uikit';\n\nimport {BundleParamsList, BundleParam} from '../BundleParamsList/BundleParamsList';\nimport resetIcon from '../../../../../../../../img/svg/reset-icon.svg';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\n\nimport './BundleTitle.scss';\n\nconst block = cn('bundle-title');\n\ntype BundleTitleProps = DialogControlProps<\n boolean,\n {\n params: BundleParam[];\n className?: string;\n onReset: () => void;\n }\n>;\n\nexport function BundleTitle({className, params, onReset}: BundleTitleProps) {\n return (\n <div className={block(null, className)}>\n <BundleParamsList\n className={block('params')}\n params={params}\n size=\"m\"\n ></BundleParamsList>\n <Button className={block('btn')} onClick={onReset}>\n <Icon className={block('icon')} data={resetIcon} />\n Reset to default\n </Button>\n </div>\n );\n}\n\nBundleTitle.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTitle.getDefaultValue = () => {\n return '';\n};\n"],"mappings":";;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAI4B,IAAAI,WAAA,GAAAJ,OAAA;AAE5B,IAAMK,KAAK,GAAG,IAAAC,qBAAE,EAAC,cAAc,CAAC;AAWzB,SAASC,WAAWA,CAAAC,IAAA,EAAiD;EAAA,IAA/CC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EACnD,oBACI,IAAAC,gBAAA;IAAKH,SAAS,EAAEJ,KAAK,CAAC,IAAI,EAAEI,SAAS,CAAE;IAAAI,QAAA,gBACnC,IAAAC,eAAA,EAACC,kCAAgB;MACbN,SAAS,EAAEJ,KAAK,CAAC,QAAQ,CAAE;MAC3BK,MAAM,EAAEA,MAAO;MACfM,IAAI,EAAC;IAAG,EACQ,eACpB,IAAAJ,gBAAA,EAACK,aAAM;MAACR,SAAS,EAAEJ,KAAK,CAAC,KAAK,CAAE;MAACa,OAAO,EAAEP,OAAQ;MAAAE,QAAA,gBAC9C,IAAAC,eAAA,EAACK,WAAI;QAACV,SAAS,EAAEJ,KAAK,CAAC,MAAM,CAAE;QAACe,IAAI,EAAEC;MAAU,EAAG,oBAEvD;IAAA,EAAS;EAAA,EACP;AAEd;AAEAd,WAAW,CAACe,OAAO,GAAG,UAACC,KAAa,EAAK;EACrC,OAAO,CAACA,KAAK;AACjB,CAAC;AAEDhB,WAAW,CAACiB,eAAe,GAAG,YAAM;EAChC,OAAO,EAAE;AACb,CAAC"}
@@ -13,6 +13,9 @@ export declare const getClusterUiConfigEnablePerBundleTabletAccounting: (state:
13
13
  export declare const getClusterUiConfigBundleAccountingHelpLink: (state: RootState) => string | undefined;
14
14
  export declare const getCurrentClusterConfig: import("reselect").OutputSelector<RootState, ClusterConfig, (res: string) => ClusterConfig>;
15
15
  export declare function getClusterConfigByName(clusterName: string): ClusterConfig;
16
+ export declare function isAllowYtTwmApi(): any;
17
+ export declare function getClusterProxy(clusterConfig: ClusterConfig): string;
18
+ export declare function getClusterProxyURL(clusterConfig: ClusterConfig): string;
16
19
  export declare const getHttpProxyVersion: import("reselect").OutputSelector<RootState, any, (res1: string, res2: any) => any>;
17
20
  export declare const getGlobalSchedulerVersion: import("reselect").OutputSelector<RootState, any, (res1: string, res2: any) => any>;
18
21
  export declare const getCurrentClusterNS: import("reselect").OutputSelector<RootState, {
@@ -6,7 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getCluster = exports.getBundles = exports.getAuthPagesEnabled = exports.getAllUserNamesSorted = exports.getAllUserNames = exports.getAllPoolTreeNames = exports.getAllPoolNames = exports.getAllIdmGroupNamesSorted = exports.getAllGroupNamesSorted = exports.getAllGroupNames = exports.getAllBundlesNames = exports.getAllAccounts = exports.getAdminPages = void 0;
8
8
  exports.getClusterConfigByName = getClusterConfigByName;
9
- exports.isYqlTypesSupported = exports.isDeveloperSettings = exports.isDeveloper = exports.getUISizes = exports.getTheme = exports.getRootPagesCluster = exports.getPoolTrees = exports.getHttpProxyVersion = exports.getGlobalUsers = exports.getGlobalShowLoginDialog = exports.getGlobalSchedulerVersion = exports.getGlobalLoadState = exports.getGlobalGroups = exports.getGlobalGroupAttributesMap = exports.getGlobalError = exports.getGlobalDefaultPoolTreeName = exports.getCurrentUserName = exports.getCurrentClusterNS = exports.getCurrentClusterConfig = exports.getClusterUiConfigWebJsonValueFormat = exports.getClusterUiConfigEnablePerBundleTabletAccounting = exports.getClusterUiConfigEnablePerAccountTabletAccounting = exports.getClusterUiConfigBundleAccountingHelpLink = exports.getClusterUiConfig = void 0;
9
+ exports.getClusterProxy = getClusterProxy;
10
+ exports.getClusterProxyURL = getClusterProxyURL;
11
+ exports.getUISizes = exports.getTheme = exports.getRootPagesCluster = exports.getPoolTrees = exports.getHttpProxyVersion = exports.getGlobalUsers = exports.getGlobalShowLoginDialog = exports.getGlobalSchedulerVersion = exports.getGlobalLoadState = exports.getGlobalGroups = exports.getGlobalGroupAttributesMap = exports.getGlobalError = exports.getGlobalDefaultPoolTreeName = exports.getCurrentUserName = exports.getCurrentClusterNS = exports.getCurrentClusterConfig = exports.getClusterUiConfigWebJsonValueFormat = exports.getClusterUiConfigEnablePerBundleTabletAccounting = exports.getClusterUiConfigEnablePerAccountTabletAccounting = exports.getClusterUiConfigBundleAccountingHelpLink = exports.getClusterUiConfig = void 0;
12
+ exports.isAllowYtTwmApi = isAllowYtTwmApi;
13
+ exports.isYqlTypesSupported = exports.isDeveloperSettings = exports.isDeveloper = void 0;
10
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
15
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
16
  var _filter2 = _interopRequireDefault(require("lodash/filter"));
@@ -26,6 +30,7 @@ var _ytConfig = _interopRequireDefault(require("../../../config/yt-config"));
26
30
  var _settings = require("../settings");
27
31
  var _UIFactory = _interopRequireDefault(require("../../../UIFactory"));
28
32
  var _config = require("../../../config");
33
+ var _support = require("../thor/support");
29
34
  // @ts-ignore
30
35
 
31
36
  var getGlobalError = function getGlobalError(state) {
@@ -81,6 +86,20 @@ exports.getCurrentClusterConfig = getCurrentClusterConfig;
81
86
  function getClusterConfigByName(clusterName) {
82
87
  return (0, _utils.getClusterConfig)(_ytConfig["default"].clusters, clusterName);
83
88
  }
89
+ function isAllowYtTwmApi() {
90
+ return !(0, _config.ytApiUseCORS)() && (0, _support.isSupportedYtTvmAPIGlobal)();
91
+ }
92
+ function getClusterProxy(clusterConfig) {
93
+ var allowYtTvmApi = isAllowYtTwmApi();
94
+ if (allowYtTvmApi) {
95
+ return "".concat(window.location.host, "/api/yt/").concat(clusterConfig.id);
96
+ }
97
+ return clusterConfig.proxy;
98
+ }
99
+ function getClusterProxyURL(clusterConfig) {
100
+ var proxy = getClusterProxy(clusterConfig);
101
+ return "".concat(window.location.protocol, "//").concat(proxy);
102
+ }
84
103
  var getHttpProxyVersion = (0, _reselect.createSelector)([getCluster, function (state) {
85
104
  return state.global.version;
86
105
  }], function (cluster, version) {