@gravity-ui/querieskit 1.3.0 → 1.3.1

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 (511) hide show
  1. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  2. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  3. package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  4. package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
  5. package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  6. package/build/cjs/modules/RowsList/RowsList.css +4 -0
  7. package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
  8. package/build/cjs/types/queryList.d.ts +1 -1
  9. package/build/cjs/types/queryList.js.map +1 -1
  10. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
  11. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  12. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  13. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
  14. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  15. package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  16. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  17. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  18. package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  19. package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
  20. package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  21. package/build/esm/modules/RowsList/RowsList.css +4 -0
  22. package/build/esm/modules/RowsList/RowsList.css.map +1 -1
  23. package/build/esm/modules/RowsList/RowsList.scss +3 -0
  24. package/build/esm/types/queryList.d.ts +1 -1
  25. package/build/esm/types/queryList.js.map +1 -1
  26. package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
  27. package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  28. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  29. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
  30. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  31. package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  32. package/package.json +29 -2
  33. package/.agents/skills/code-review-checklist/SKILL.md +0 -94
  34. package/.agents/skills/github-pr-review/SKILL.md +0 -24
  35. package/.agents/skills/gravity-ui/SKILL.md +0 -175
  36. package/.agents/skills/gravity-ui/references/icons.md +0 -60
  37. package/.agents/skills/gravity-ui/references/layout.md +0 -366
  38. package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
  39. package/.agents/skills/gravity-ui/references/theming.md +0 -309
  40. package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
  41. package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
  42. package/.eslintignore +0 -3
  43. package/.github/workflows/ci.yml +0 -25
  44. package/.github/workflows/main-preview.yml +0 -31
  45. package/.github/workflows/pr-preview-build.yml +0 -13
  46. package/.github/workflows/pr-preview-deploy.yml +0 -22
  47. package/.github/workflows/pr-title.yml +0 -27
  48. package/.github/workflows/release.yml +0 -20
  49. package/.nvmrc +0 -1
  50. package/.prettierrc.js +0 -1
  51. package/.storybook/main.ts +0 -31
  52. package/.storybook/preview.tsx +0 -43
  53. package/.storybook/redefinition.css +0 -3
  54. package/.storybook/tsconfig.json +0 -9
  55. package/.stylelintrc +0 -9
  56. package/AGENTS.md +0 -129
  57. package/CHANGELOG.md +0 -103
  58. package/CODEOWNERS +0 -2
  59. package/CONTRIBUTING.md +0 -31
  60. package/NOTICES.md +0 -8
  61. package/app-builder.config.ts +0 -9
  62. package/commitlint.config.cjs +0 -6
  63. package/eslint.config.mjs +0 -53
  64. package/plans/i18n-rules.md +0 -116
  65. package/plans/navigation-architecture.md +0 -262
  66. package/plans/queries-history-structure.md +0 -143
  67. package/plans/queries-navigation-architecture-review.md +0 -217
  68. package/plans/styles-rules.md +0 -137
  69. package/skills-lock.json +0 -11
  70. package/src/components/AddChartButton/AddChartButton.scss +0 -12
  71. package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
  72. package/src/components/AddChartButton/AddChartButton.tsx +0 -139
  73. package/src/components/AddChartButton/index.ts +0 -6
  74. package/src/components/AttachmentList/AttachmentList.scss +0 -25
  75. package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
  76. package/src/components/AttachmentList/AttachmentList.tsx +0 -67
  77. package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
  78. package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
  79. package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
  80. package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
  81. package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
  82. package/src/components/AttachmentList/i18n/dicts.ts +0 -4
  83. package/src/components/AttachmentList/i18n/en.json +0 -10
  84. package/src/components/AttachmentList/i18n/index.ts +0 -5
  85. package/src/components/AttachmentList/i18n/ru.json +0 -10
  86. package/src/components/AttachmentList/index.ts +0 -4
  87. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
  88. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
  89. package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
  90. package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
  91. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
  92. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
  93. package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
  94. package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
  95. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
  96. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
  97. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
  98. package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
  99. package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
  100. package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
  101. package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
  102. package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
  103. package/src/components/AttachmentListPlaceholder/index.ts +0 -2
  104. package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
  105. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
  106. package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
  107. package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
  108. package/src/components/Breadcrumbs/i18n/en.json +0 -4
  109. package/src/components/Breadcrumbs/i18n/index.ts +0 -5
  110. package/src/components/Breadcrumbs/i18n/ru.json +0 -4
  111. package/src/components/Breadcrumbs/index.ts +0 -2
  112. package/src/components/Chart/Chart.scss +0 -40
  113. package/src/components/Chart/Chart.stories.tsx +0 -75
  114. package/src/components/Chart/Chart.tsx +0 -120
  115. package/src/components/Chart/i18n/dicts.ts +0 -4
  116. package/src/components/Chart/i18n/en.json +0 -6
  117. package/src/components/Chart/i18n/index.ts +0 -5
  118. package/src/components/Chart/i18n/ru.json +0 -6
  119. package/src/components/Chart/index.ts +0 -2
  120. package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
  121. package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
  122. package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
  123. package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
  124. package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
  125. package/src/components/ChartEditorForm/i18n/en.json +0 -12
  126. package/src/components/ChartEditorForm/i18n/index.ts +0 -5
  127. package/src/components/ChartEditorForm/i18n/ru.json +0 -12
  128. package/src/components/ChartEditorForm/index.ts +0 -7
  129. package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
  130. package/src/components/ChartEditorForm/types.ts +0 -44
  131. package/src/components/ClusterRow/ClusterRow.tsx +0 -34
  132. package/src/components/ClusterRow/index.ts +0 -2
  133. package/src/components/Dashboard/Dashboard.scss +0 -4
  134. package/src/components/Dashboard/Dashboard.stories.scss +0 -18
  135. package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
  136. package/src/components/Dashboard/Dashboard.tsx +0 -51
  137. package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
  138. package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
  139. package/src/components/Dashboard/index.ts +0 -2
  140. package/src/components/Dashboard/internal/DashPlate.scss +0 -23
  141. package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
  142. package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
  143. package/src/components/Dashboard/types.ts +0 -21
  144. package/src/components/DataTable/DataTable.scss +0 -27
  145. package/src/components/DataTable/DataTable.stories.tsx +0 -65
  146. package/src/components/DataTable/DataTable.tsx +0 -100
  147. package/src/components/DataTable/index.ts +0 -1
  148. package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
  149. package/src/components/EditableRowTitle/index.ts +0 -2
  150. package/src/components/EmptyContent/EmptyContent.scss +0 -3
  151. package/src/components/EmptyContent/EmptyContent.tsx +0 -57
  152. package/src/components/EmptyContent/i18n/dicts.ts +0 -4
  153. package/src/components/EmptyContent/i18n/en.json +0 -7
  154. package/src/components/EmptyContent/i18n/index.ts +0 -5
  155. package/src/components/EmptyContent/i18n/ru.json +0 -7
  156. package/src/components/EmptyContent/index.ts +0 -1
  157. package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
  158. package/src/components/ErrorTree/ErrorTree.tsx +0 -30
  159. package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
  160. package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
  161. package/src/components/ErrorTree/i18n/dicts.ts +0 -4
  162. package/src/components/ErrorTree/i18n/en.json +0 -11
  163. package/src/components/ErrorTree/i18n/index.ts +0 -5
  164. package/src/components/ErrorTree/i18n/ru.json +0 -13
  165. package/src/components/ErrorTree/index.ts +0 -1
  166. package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
  167. package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
  168. package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
  169. package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
  170. package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
  171. package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
  172. package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
  173. package/src/components/FieldsSearchToolbar/index.ts +0 -2
  174. package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
  175. package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
  176. package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
  177. package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
  178. package/src/components/FieldsSelector/i18n/en.json +0 -3
  179. package/src/components/FieldsSelector/i18n/index.ts +0 -5
  180. package/src/components/FieldsSelector/i18n/ru.json +0 -3
  181. package/src/components/FieldsSelector/index.ts +0 -2
  182. package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
  183. package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
  184. package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
  185. package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
  186. package/src/components/HistoryFilter/i18n/en.json +0 -4
  187. package/src/components/HistoryFilter/i18n/index.ts +0 -5
  188. package/src/components/HistoryFilter/i18n/ru.json +0 -4
  189. package/src/components/HistoryFilter/index.ts +0 -1
  190. package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
  191. package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
  192. package/src/components/HistoryGroupHeader/index.ts +0 -1
  193. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
  194. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
  195. package/src/components/HistoryPrivateIcon/index.ts +0 -1
  196. package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
  197. package/src/components/Icons/index.ts +0 -1
  198. package/src/components/LazyList/LazyList.scss +0 -13
  199. package/src/components/LazyList/LazyList.tsx +0 -97
  200. package/src/components/LazyList/index.ts +0 -2
  201. package/src/components/ListSpinner/ListSpinner.scss +0 -3
  202. package/src/components/ListSpinner/ListSpinner.tsx +0 -18
  203. package/src/components/ListSpinner/index.ts +0 -2
  204. package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
  205. package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
  206. package/src/components/MonacoEditor/index.ts +0 -11
  207. package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
  208. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
  209. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
  210. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
  211. package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
  212. package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
  213. package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
  214. package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
  215. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
  216. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
  217. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
  218. package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
  219. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
  220. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
  221. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
  222. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
  223. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
  224. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
  225. package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
  226. package/src/components/NavigationActionButtons/index.ts +0 -2
  227. package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
  228. package/src/components/NavigationItemRow/index.ts +0 -2
  229. package/src/components/PathEditor/PathEditor.scss +0 -41
  230. package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
  231. package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
  232. package/src/components/PathEditor/PathEditor.tsx +0 -380
  233. package/src/components/PathEditor/helpers/suggestions.ts +0 -40
  234. package/src/components/PathEditor/i18n/dicts.ts +0 -4
  235. package/src/components/PathEditor/i18n/en.json +0 -4
  236. package/src/components/PathEditor/i18n/index.ts +0 -5
  237. package/src/components/PathEditor/i18n/ru.json +0 -4
  238. package/src/components/PathEditor/index.ts +0 -2
  239. package/src/components/QueryDuration/QueryDuration.scss +0 -6
  240. package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
  241. package/src/components/QueryDuration/QueryDuration.tsx +0 -21
  242. package/src/components/QueryDuration/index.ts +0 -1
  243. package/src/components/QueryDuration/useQueryDuration.ts +0 -34
  244. package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
  245. package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
  246. package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
  247. package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
  248. package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
  249. package/src/components/QueryResultsTable/i18n/en.json +0 -5
  250. package/src/components/QueryResultsTable/i18n/index.ts +0 -4
  251. package/src/components/QueryResultsTable/i18n/ru.json +0 -5
  252. package/src/components/QueryResultsTable/index.ts +0 -3
  253. package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
  254. package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
  255. package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
  256. package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
  257. package/src/components/QueryStatusIcon/index.ts +0 -1
  258. package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
  259. package/src/components/RowActionsMenu/index.ts +0 -2
  260. package/src/components/RowLink/RowLink.scss +0 -8
  261. package/src/components/RowLink/RowLink.tsx +0 -23
  262. package/src/components/RowLink/index.ts +0 -2
  263. package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
  264. package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
  265. package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
  266. package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
  267. package/src/components/SearchRowLayout/index.ts +0 -2
  268. package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
  269. package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
  270. package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
  271. package/src/components/SearchWithButtons/index.ts +0 -2
  272. package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
  273. package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
  274. package/src/components/SimpleForm/SelectField.tsx +0 -24
  275. package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
  276. package/src/components/SimpleForm/SimpleForm.tsx +0 -65
  277. package/src/components/SimpleForm/SwitchField.tsx +0 -23
  278. package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
  279. package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
  280. package/src/components/SimpleForm/helpers/index.ts +0 -2
  281. package/src/components/SimpleForm/index.ts +0 -7
  282. package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
  283. package/src/components/SkeletonRows/index.ts +0 -2
  284. package/src/components/index.ts +0 -71
  285. package/src/constants/query.ts +0 -10
  286. package/src/constants/row.ts +0 -2
  287. package/src/helpers/buildColumnsFromKeys.ts +0 -17
  288. package/src/helpers/createUuid.ts +0 -3
  289. package/src/helpers/getDefaultNavigationIcon.ts +0 -33
  290. package/src/helpers/getListKey.ts +0 -12
  291. package/src/helpers/getParentPath.ts +0 -10
  292. package/src/helpers/isEmptyValue.ts +0 -2
  293. package/src/helpers/isFieldVisible.ts +0 -20
  294. package/src/helpers/isObjectEqual.ts +0 -15
  295. package/src/helpers/time.ts +0 -29
  296. package/src/helpers/useDebouncedValue.ts +0 -14
  297. package/src/helpers/useLoadMoreSentinel.ts +0 -31
  298. package/src/helpers/useToggle.ts +0 -11
  299. package/src/helpers/useVisibleColumns.ts +0 -26
  300. package/src/i18n/index.ts +0 -26
  301. package/src/index.ts +0 -12
  302. package/src/modules/Attachments/Attachments.scss +0 -10
  303. package/src/modules/Attachments/Attachments.stories.tsx +0 -112
  304. package/src/modules/Attachments/Attachments.tsx +0 -336
  305. package/src/modules/Attachments/i18n/dicts.ts +0 -4
  306. package/src/modules/Attachments/i18n/en.json +0 -5
  307. package/src/modules/Attachments/i18n/index.ts +0 -5
  308. package/src/modules/Attachments/i18n/ru.json +0 -5
  309. package/src/modules/Attachments/index.ts +0 -2
  310. package/src/modules/ChartEditor/ChartEditor.scss +0 -12
  311. package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
  312. package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
  313. package/src/modules/ChartEditor/i18n/en.json +0 -3
  314. package/src/modules/ChartEditor/i18n/index.ts +0 -5
  315. package/src/modules/ChartEditor/i18n/ru.json +0 -3
  316. package/src/modules/ChartEditor/index.ts +0 -2
  317. package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
  318. package/src/modules/ChartEditor/story/mockData.ts +0 -222
  319. package/src/modules/ChartEditor/types.ts +0 -18
  320. package/src/modules/ClustersList/ClustersList.scss +0 -11
  321. package/src/modules/ClustersList/ClustersList.tsx +0 -49
  322. package/src/modules/ClustersList/index.ts +0 -2
  323. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
  324. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
  325. package/src/modules/HistoryComparisonActions/index.ts +0 -2
  326. package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
  327. package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
  328. package/src/modules/HistoryHeader/index.ts +0 -1
  329. package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
  330. package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
  331. package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
  332. package/src/modules/HistoryLayout/index.ts +0 -2
  333. package/src/modules/HistoryRow/HistoryRow.scss +0 -32
  334. package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
  335. package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
  336. package/src/modules/HistoryRow/index.ts +0 -1
  337. package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
  338. package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
  339. package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
  340. package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
  341. package/src/modules/HistorySearchRow/index.ts +0 -1
  342. package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
  343. package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
  344. package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
  345. package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
  346. package/src/modules/NavigationDetail/index.ts +0 -2
  347. package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
  348. package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
  349. package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
  350. package/src/modules/NavigationHeader/index.ts +0 -2
  351. package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
  352. package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
  353. package/src/modules/NavigationItemsList/index.ts +0 -2
  354. package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
  355. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
  356. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
  357. package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
  358. package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
  359. package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
  360. package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
  361. package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
  362. package/src/modules/NavigationMeta/i18n/en.json +0 -4
  363. package/src/modules/NavigationMeta/i18n/index.ts +0 -5
  364. package/src/modules/NavigationMeta/i18n/ru.json +0 -4
  365. package/src/modules/NavigationMeta/index.ts +0 -3
  366. package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
  367. package/src/modules/NavigationMeta/story/mockData.ts +0 -22
  368. package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
  369. package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
  370. package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
  371. package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
  372. package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
  373. package/src/modules/NavigationPreview/i18n/en.json +0 -3
  374. package/src/modules/NavigationPreview/i18n/index.ts +0 -5
  375. package/src/modules/NavigationPreview/i18n/ru.json +0 -3
  376. package/src/modules/NavigationPreview/index.ts +0 -4
  377. package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
  378. package/src/modules/NavigationPreview/story/mockData.ts +0 -14
  379. package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
  380. package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
  381. package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
  382. package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
  383. package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
  384. package/src/modules/NavigationSchema/i18n/en.json +0 -9
  385. package/src/modules/NavigationSchema/i18n/index.ts +0 -5
  386. package/src/modules/NavigationSchema/i18n/ru.json +0 -9
  387. package/src/modules/NavigationSchema/index.ts +0 -4
  388. package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
  389. package/src/modules/NavigationSchema/story/mockData.ts +0 -9
  390. package/src/modules/NavigationView/NavigationView.scss +0 -44
  391. package/src/modules/NavigationView/NavigationView.tsx +0 -60
  392. package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
  393. package/src/modules/NavigationView/i18n/dicts.ts +0 -4
  394. package/src/modules/NavigationView/i18n/en.json +0 -3
  395. package/src/modules/NavigationView/i18n/index.ts +0 -5
  396. package/src/modules/NavigationView/i18n/ru.json +0 -3
  397. package/src/modules/NavigationView/index.ts +0 -3
  398. package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
  399. package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
  400. package/src/modules/NavigationView/story/mockData.ts +0 -35
  401. package/src/modules/QueriesList/QueriesList.scss +0 -10
  402. package/src/modules/QueriesList/QueriesList.tsx +0 -98
  403. package/src/modules/QueriesList/index.ts +0 -2
  404. package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
  405. package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
  406. package/src/modules/QueryStatistics/helpers.ts +0 -96
  407. package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
  408. package/src/modules/QueryStatistics/i18n/en.json +0 -16
  409. package/src/modules/QueryStatistics/i18n/index.ts +0 -4
  410. package/src/modules/QueryStatistics/i18n/ru.json +0 -16
  411. package/src/modules/QueryStatistics/index.ts +0 -13
  412. package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
  413. package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
  414. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
  415. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
  416. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
  417. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
  418. package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
  419. package/src/modules/RowsList/RowsList.scss +0 -5
  420. package/src/modules/RowsList/RowsList.tsx +0 -96
  421. package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
  422. package/src/modules/RowsList/index.ts +0 -2
  423. package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
  424. package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
  425. package/src/modules/SavedQueryRow/index.ts +0 -2
  426. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
  427. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
  428. package/src/modules/SavedQuerySearchRow/index.ts +0 -2
  429. package/src/modules/TutorialRow/TutorialRow.scss +0 -9
  430. package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
  431. package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
  432. package/src/modules/TutorialRow/index.ts +0 -2
  433. package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
  434. package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
  435. package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
  436. package/src/modules/TutorialSearchRow/index.ts +0 -2
  437. package/src/modules/index.ts +0 -50
  438. package/src/types/declarations.d.ts +0 -25
  439. package/src/types/errorTree.ts +0 -30
  440. package/src/types/forms.ts +0 -33
  441. package/src/types/history.ts +0 -12
  442. package/src/types/navigation.ts +0 -209
  443. package/src/types/pathEditor.ts +0 -29
  444. package/src/types/queryList.ts +0 -92
  445. package/src/types/queryResults.ts +0 -48
  446. package/src/types/queryStatistics.ts +0 -67
  447. package/src/types/savedQueries.ts +0 -7
  448. package/src/types/tutorial.ts +0 -3
  449. package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
  450. package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
  451. package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
  452. package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
  453. package/src/widgets/DashboardCharts/i18n/en.json +0 -7
  454. package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
  455. package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
  456. package/src/widgets/DashboardCharts/index.ts +0 -2
  457. package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
  458. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
  459. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
  460. package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
  461. package/src/widgets/DashboardCharts/types.ts +0 -30
  462. package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
  463. package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
  464. package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
  465. package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
  466. package/src/widgets/QueriesHistory/i18n/en.json +0 -3
  467. package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
  468. package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
  469. package/src/widgets/QueriesHistory/index.ts +0 -2
  470. package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
  471. package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
  472. package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
  473. package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
  474. package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
  475. package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
  476. package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
  477. package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
  478. package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
  479. package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
  480. package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
  481. package/src/widgets/QueriesNavigation/index.ts +0 -13
  482. package/src/widgets/QueryResults/QueryResults.scss +0 -25
  483. package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
  484. package/src/widgets/QueryResults/QueryResults.tsx +0 -121
  485. package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
  486. package/src/widgets/QueryResults/i18n/en.json +0 -10
  487. package/src/widgets/QueryResults/i18n/index.ts +0 -4
  488. package/src/widgets/QueryResults/i18n/ru.json +0 -12
  489. package/src/widgets/QueryResults/index.ts +0 -2
  490. package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
  491. package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
  492. package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
  493. package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
  494. package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
  495. package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
  496. package/src/widgets/SavedQueries/i18n/en.json +0 -3
  497. package/src/widgets/SavedQueries/i18n/index.ts +0 -4
  498. package/src/widgets/SavedQueries/i18n/ru.json +0 -3
  499. package/src/widgets/SavedQueries/index.ts +0 -2
  500. package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
  501. package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
  502. package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
  503. package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
  504. package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
  505. package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
  506. package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
  507. package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
  508. package/src/widgets/TutorialsHistory/index.ts +0 -2
  509. package/src/widgets/index.ts +0 -20
  510. package/tsconfig.json +0 -20
  511. package/tsconfig.publish.json +0 -11
@@ -1,409 +0,0 @@
1
- import React, {useState} from 'react';
2
- import type {Meta, StoryObj} from '@storybook/react';
3
- import {QueriesNavigation} from './QueriesNavigation';
4
- import {createNavigationDetailResolver} from './helpers/createNavigationDetailResolver';
5
- import {createTableDetailConfig} from './helpers/createTableDetailConfig';
6
- import {action} from 'storybook/actions';
7
- import {
8
- NavigationCluster,
9
- NavigationHeaderAction,
10
- NavigationItem,
11
- NavigationLocation,
12
- NavigationSortOrder,
13
- NavigationViewSection,
14
- } from '../../types/navigation';
15
- import {mockLoadPathSuggestions} from '../../components/PathEditor/PathEditor.stories.helpers';
16
- import FileArrowRightOutIcon from '@gravity-ui/icons/svgs/file-arrow-right-out.svg';
17
- import ArrowUpRightFromSquareIcon from '@gravity-ui/icons/svgs/arrow-up-right-from-square.svg';
18
- import CodeIcon from '@gravity-ui/icons/svgs/code.svg';
19
- import GearIcon from '@gravity-ui/icons/svgs/gear.svg';
20
- import {Flex, Icon, Label, Text} from '@gravity-ui/uikit';
21
- import {ClusterRow, NavigationItemRow} from '../../components';
22
- import {SCHEMA_COLUMNS} from '../../modules/NavigationSchema/story/mockData';
23
- import {PREVIEW_COLUMNS, PREVIEW_ROWS} from '../../modules/NavigationPreview/story/mockData';
24
- import {META_GROUPS} from '../../modules/NavigationMeta/story/mockData';
25
- import {VIEW_COLUMNS, makeViewRows} from '../../modules/NavigationView/story/mockData';
26
-
27
- const meta: Meta<typeof QueriesNavigation> = {
28
- title: 'Widgets/QueriesNavigation',
29
- component: QueriesNavigation,
30
- tags: ['autodocs'],
31
- parameters: {
32
- layout: 'padded',
33
- },
34
- };
35
-
36
- const onBreadcrumbsUpdate = action('onUpdate');
37
- const logAction = action('actionClick');
38
-
39
- const defaultActions: NavigationHeaderAction[] = [
40
- {
41
- id: 'paste',
42
- title: 'Paste path',
43
- content: <Icon data={FileArrowRightOutIcon} size={16} />,
44
- onClick: (location) => logAction('Paste', location),
45
- },
46
- {
47
- id: 'open',
48
- title: 'Open in new tab',
49
- content: <Icon data={ArrowUpRightFromSquareIcon} size={16} />,
50
- onClick: (location) => logAction('Open', location),
51
- },
52
- ];
53
-
54
- const CLUSTERS: NavigationCluster[] = [
55
- {
56
- id: 'northstar',
57
- title: 'Northstar',
58
- color: 'white',
59
- backgroundColor: 'rgba(218, 68, 83, 1)',
60
- description: 'Production',
61
- },
62
- {
63
- id: 'cedar',
64
- title: 'Cedar',
65
- color: 'white',
66
- backgroundColor: 'rgba(127, 130, 133, 1)',
67
- description: 'Production',
68
- },
69
- {
70
- id: 'sequoia',
71
- title: 'Sequoia',
72
- color: 'white',
73
- backgroundColor: 'rgba(215, 112, 173, 1)',
74
- description: 'Production',
75
- },
76
- {
77
- id: 'pioneer-test',
78
- title: 'Pioneer-Test',
79
- color: 'white',
80
- backgroundColor: 'rgba(150, 122, 220, 1)',
81
- description: 'Testing',
82
- },
83
- {
84
- id: 'orbit',
85
- title: 'Orbit',
86
- color: 'white',
87
- backgroundColor: 'rgba(233, 87, 63, 1)',
88
- description: 'Production',
89
- },
90
- {
91
- id: 'lighthouse',
92
- title: 'Lighthouse',
93
- color: 'white',
94
- backgroundColor: 'rgba(67, 68, 69, 1)',
95
- description: 'Production',
96
- },
97
- {
98
- id: 'northstar-gnd',
99
- title: 'Northstar-GND',
100
- color: 'white',
101
- backgroundColor: 'rgba(140, 193, 82, 1)',
102
- description: 'tesdting',
103
- },
104
- {
105
- id: 'harbor',
106
- title: 'Harbor',
107
- color: 'white',
108
- backgroundColor: 'rgba(55, 188, 155, 1)',
109
- description: 'Production',
110
- },
111
- {
112
- id: 'cedar-gnd',
113
- title: 'Cedar-GND',
114
- color: 'white',
115
- backgroundColor: 'rgba(140, 193, 82, 1)',
116
- description: 'Prestable',
117
- },
118
- ];
119
-
120
- const ITEM_NAMES: Array<Pick<NavigationItem, 'title' | 'kind' | 'hasChildren' | 'disabled'>> = [
121
- {title: 'abcdapter', kind: 'folder', hasChildren: true},
122
- {title: 'access_control_object', kind: 'file'},
123
- {title: 'account_tree', kind: 'folder', hasChildren: true, disabled: true},
124
- {title: 'cell_balancers', kind: 'folder', hasChildren: true},
125
- {title: 'clusters', kind: 'folder', hasChildren: true},
126
- {title: 'doctors_table', kind: 'table'},
127
- ];
128
-
129
- const getPathDepth = (path: string | undefined): number =>
130
- (path ?? '').split('/').filter(Boolean).length;
131
-
132
- const getItemsForPath = (
133
- path: string | undefined,
134
- sort: NavigationSortOrder = 'asc',
135
- ): NavigationItem[] => {
136
- if (getPathDepth(path) > 1) {
137
- return [];
138
- }
139
-
140
- return [...ITEM_NAMES]
141
- .sort(({title: leftTitle}, {title: rightTitle}) =>
142
- sort === 'asc'
143
- ? leftTitle.localeCompare(rightTitle)
144
- : rightTitle.localeCompare(leftTitle),
145
- )
146
- .map(({title, kind, hasChildren, disabled}) => ({
147
- path: `${path ?? ''}/${title}`,
148
- title,
149
- kind,
150
- hasChildren,
151
- disabled,
152
- }));
153
- };
154
-
155
- export default meta;
156
- type Story = StoryObj<typeof QueriesNavigation>;
157
-
158
- const TABLE_VIEW_SECTIONS_WITH_ACTIONS: NavigationViewSection[] = [
159
- {
160
- id: 'general',
161
- title: 'General',
162
- columns: VIEW_COLUMNS,
163
- rows: makeViewRows(2),
164
- loaded: true,
165
- defaultExpanded: true,
166
- actions: [
167
- {
168
- id: 'code',
169
- title: 'Show code',
170
- content: <Icon data={CodeIcon} size={14} />,
171
- onClick: (section) => logAction('ViewShowCode', section.id),
172
- },
173
- {
174
- id: 'settings',
175
- title: 'Settings',
176
- content: <Icon data={GearIcon} size={14} />,
177
- onClick: (section) => logAction('ViewSettings', section.id),
178
- },
179
- ],
180
- },
181
- {
182
- id: 'attributes',
183
- title: 'Attributes',
184
- columns: VIEW_COLUMNS,
185
- rows: makeViewRows(2),
186
- loaded: true,
187
- },
188
- ];
189
-
190
- const useLocationState = (initial: NavigationLocation) => {
191
- const [location, setLocation] = useState<NavigationLocation>(initial);
192
- const onUpdate = (next: NavigationLocation) => {
193
- onBreadcrumbsUpdate(next);
194
- setLocation(next);
195
- };
196
- return {location, onUpdate};
197
- };
198
-
199
- const useNavigationStoryState = (initial: NavigationLocation) => {
200
- const {location, onUpdate} = useLocationState(initial);
201
- const [sort, setSort] = useState<NavigationSortOrder>('asc');
202
- const items = getItemsForPath(location.path, sort);
203
-
204
- return {location, onUpdate, sort, setSort, items};
205
- };
206
-
207
- const ClustersToItemsStory = () => {
208
- const {location, onUpdate, sort, setSort, items} = useNavigationStoryState({
209
- cluster: undefined,
210
- path: undefined,
211
- });
212
- const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);
213
-
214
- const resolveDetail = createNavigationDetailResolver({
215
- table: createTableDetailConfig({
216
- resolveSchema: () => ({columns: SCHEMA_COLUMNS, loaded: true}),
217
- resolvePreview: () => ({
218
- columns: PREVIEW_COLUMNS,
219
- rows: PREVIEW_ROWS,
220
- loaded: true,
221
- }),
222
- resolveMeta: () => ({groups: META_GROUPS, loaded: true}),
223
- resolveView: () => ({sections: TABLE_VIEW_SECTIONS_WITH_ACTIONS, loaded: true}),
224
- }),
225
- });
226
-
227
- return (
228
- <div style={{width: 300, height: 500}}>
229
- <QueriesNavigation
230
- location={location}
231
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
232
- onUpdate={onUpdate}
233
- clusters={CLUSTERS}
234
- items={items}
235
- sort={{value: sort, onUpdate: setSort}}
236
- detail={{
237
- openedItem,
238
- onItemOpen: (item) => {
239
- action('onItemOpen')(item);
240
- setOpenedItem(item);
241
- },
242
- onClose: () => setOpenedItem(undefined),
243
- resolve: resolveDetail,
244
- }}
245
- onClusterClick={action('onClusterClick')}
246
- onItemClick={action('onItemClick')}
247
- />
248
- </div>
249
- );
250
- };
251
-
252
- const LoadingStory = () => {
253
- const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});
254
-
255
- return (
256
- <div style={{width: 300, height: 500}}>
257
- <QueriesNavigation
258
- location={location}
259
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
260
- onUpdate={onUpdate}
261
- clusters={[]}
262
- listState={{loading: true}}
263
- />
264
- </div>
265
- );
266
- };
267
-
268
- const EmptyStory = () => {
269
- const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home/empty'});
270
-
271
- return (
272
- <div style={{width: 300, height: 500}}>
273
- <QueriesNavigation
274
- location={location}
275
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
276
- onUpdate={onUpdate}
277
- items={[]}
278
- />
279
- </div>
280
- );
281
- };
282
-
283
- const EmptySearchStory = () => {
284
- const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});
285
- const [search, setSearch] = useState('no-such-item');
286
-
287
- return (
288
- <div style={{width: 300, height: 500}}>
289
- <QueriesNavigation
290
- location={location}
291
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
292
- onUpdate={onUpdate}
293
- items={[]}
294
- search={{value: search, onUpdate: setSearch}}
295
- />
296
- </div>
297
- );
298
- };
299
-
300
- const ErrorStory = () => {
301
- const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});
302
-
303
- return (
304
- <div style={{width: 300, height: 500}}>
305
- <QueriesNavigation
306
- location={location}
307
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
308
- onUpdate={onUpdate}
309
- clusters={[]}
310
- listState={{error: 'Custom load error message'}}
311
- />
312
- </div>
313
- );
314
- };
315
-
316
- type CustomCluster = NavigationCluster & {env: string};
317
- type CustomItem = NavigationItem & {owner?: string};
318
-
319
- const CUSTOM_CLUSTERS: CustomCluster[] = CLUSTERS.map((cluster) => ({
320
- ...cluster,
321
- env: cluster.description ?? 'Unknown',
322
- }));
323
-
324
- const getCustomItemsForPath = (path: string | undefined, sort: NavigationSortOrder): CustomItem[] =>
325
- getItemsForPath(path, sort).map((item, index) => ({
326
- ...item,
327
- owner: index % 2 === 0 ? 'robot' : 'user',
328
- }));
329
-
330
- const CustomRowsStory = () => {
331
- const {location, onUpdate} = useLocationState({cluster: undefined, path: undefined});
332
- const [sort, setSort] = useState<NavigationSortOrder>('asc');
333
-
334
- return (
335
- <div style={{width: 340, height: 500}}>
336
- <QueriesNavigation<CustomItem, CustomCluster>
337
- location={location}
338
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
339
- onUpdate={onUpdate}
340
- clusters={CUSTOM_CLUSTERS}
341
- items={getCustomItemsForPath(location.path, sort)}
342
- sort={{value: sort, onUpdate: setSort}}
343
- renderClusterItem={({cluster}) => (
344
- <Flex alignItems="center" gap={2} style={{width: '100%', padding: '0 8px'}}>
345
- <ClusterRow cluster={cluster} />
346
- <Label theme="info">{cluster.env}</Label>
347
- </Flex>
348
- )}
349
- renderNavigationItem={({item, isParentRow}) =>
350
- isParentRow ? (
351
- <NavigationItemRow item={item} />
352
- ) : (
353
- <Flex alignItems="center" gap={2} style={{width: '100%', padding: '0 8px'}}>
354
- <NavigationItemRow item={item} />
355
- {item.owner && (
356
- <Text color="secondary" variant="caption-2">
357
- {item.owner}
358
- </Text>
359
- )}
360
- </Flex>
361
- )
362
- }
363
- onClusterClick={action('onClusterClick')}
364
- onItemClick={action('onItemClick')}
365
- />
366
- </div>
367
- );
368
- };
369
-
370
- const CustomDetailResolverStory = () => {
371
- const {location, onUpdate} = useLocationState({cluster: 'northstar', path: '/home'});
372
- const [openedItem, setOpenedItem] = useState<NavigationItem | undefined>(undefined);
373
-
374
- const resolveDetail = createNavigationDetailResolver({
375
- file: (item) => ({
376
- tabs: [
377
- {id: 'content', title: 'Content', content: `Content of ${item.title}`},
378
- {id: 'meta', title: 'Meta', content: 'Meta placeholder'},
379
- ],
380
- hasSearch: false,
381
- }),
382
- });
383
-
384
- return (
385
- <div style={{width: 340, height: 600}}>
386
- <QueriesNavigation
387
- location={location}
388
- header={{actions: defaultActions, onLoadSuggestions: mockLoadPathSuggestions}}
389
- onUpdate={onUpdate}
390
- items={getItemsForPath(location.path)}
391
- detail={{
392
- openedItem,
393
- onItemOpen: setOpenedItem,
394
- onClose: () => setOpenedItem(undefined),
395
- resolve: resolveDetail,
396
- }}
397
- onItemClick={action('onItemClick')}
398
- />
399
- </div>
400
- );
401
- };
402
-
403
- export const ClustersToItems: Story = {render: () => <ClustersToItemsStory />};
404
- export const Loading: Story = {render: () => <LoadingStory />};
405
- export const Empty: Story = {render: () => <EmptyStory />};
406
- export const EmptySearch: Story = {render: () => <EmptySearchStory />};
407
- export const Error: Story = {render: () => <ErrorStory />};
408
- export const CustomRows: Story = {render: () => <CustomRowsStory />};
409
- export const CustomDetailResolver: Story = {render: () => <CustomDetailResolverStory />};
@@ -1,195 +0,0 @@
1
- import React from 'react';
2
- import {Flex, Text} from '@gravity-ui/uikit';
3
- import {ClustersList, NavigationDetail, NavigationHeader, NavigationItemsList} from '../../modules';
4
- import {EmptyContent, SearchWithButtons} from '../../components';
5
- import {
6
- NavigationCluster,
7
- NavigationDetailConfig,
8
- NavigationDetailPanelConfig,
9
- NavigationHeaderConfig,
10
- NavigationItem,
11
- NavigationListStateConfig,
12
- NavigationLocation,
13
- NavigationSearchConfig,
14
- NavigationSortConfig,
15
- RenderNavigationCluster,
16
- RenderNavigationItem,
17
- } from '../../types/navigation';
18
- import {createEmptyDetailConfig} from './helpers/createEmptyDetailConfig';
19
- import i18n from './i18n';
20
- import cn from 'bem-cn-lite';
21
- import './QueriesNavigation.scss';
22
-
23
- const block = cn('qp-queries-navigation');
24
-
25
- export type QueriesNavigationProps<
26
- TItem extends NavigationItem = NavigationItem,
27
- TCluster extends NavigationCluster = NavigationCluster,
28
- > = {
29
- location: NavigationLocation;
30
- onUpdate: (location: NavigationLocation) => void;
31
- clusters?: TCluster[];
32
- items?: TItem[];
33
- header?: NavigationHeaderConfig;
34
- search?: NavigationSearchConfig;
35
- sort?: NavigationSortConfig;
36
- listState?: NavigationListStateConfig;
37
- detail?: NavigationDetailPanelConfig<TItem>;
38
- renderClusterItem?: RenderNavigationCluster<TCluster>;
39
- renderNavigationItem?: RenderNavigationItem<TItem>;
40
- onClusterClick?: (cluster: TCluster) => void;
41
- onItemClick?: (item: TItem) => void;
42
- className?: string;
43
- };
44
-
45
- type NavigationBody<TItem extends NavigationItem> =
46
- | {type: 'loading'}
47
- | {type: 'details'; item: TItem; config: NavigationDetailConfig}
48
- | {type: 'clusters'}
49
- | {type: 'items'};
50
-
51
- export const QueriesNavigation = <
52
- TItem extends NavigationItem = NavigationItem,
53
- TCluster extends NavigationCluster = NavigationCluster,
54
- >({
55
- location,
56
- onUpdate,
57
- clusters = [],
58
- items = [],
59
- header,
60
- search,
61
- sort,
62
- listState,
63
- detail,
64
- renderClusterItem,
65
- renderNavigationItem,
66
- onClusterClick,
67
- onItemClick,
68
- className,
69
- }: QueriesNavigationProps<TItem, TCluster>) => {
70
- const {loading, error, hasMore, onLoadMore} = listState ?? {};
71
- const {actions, onLoadSuggestions} = header ?? {};
72
- const {value: searchValue, onUpdate: onSearchUpdate} = search ?? {};
73
- const {value: sortValue, onUpdate: onSortUpdate} = sort ?? {};
74
- const {
75
- openedItem,
76
- onItemOpen,
77
- onClose: onDetailClose,
78
- resolve: resolveDetail,
79
- search: detailSearch,
80
- onSearchUpdate: onDetailSearchUpdate,
81
- activeTab: detailActiveTab,
82
- onTabUpdate: onDetailTabUpdate,
83
- actions: detailActions,
84
- } = detail ?? {};
85
-
86
- const resolvedDetailActions = detailActions ?? actions;
87
-
88
- const resolvedErrorContent = error ? (
89
- <Text color="danger" className={block('error')}>
90
- {error === true ? i18n('alert_load-error') : error}
91
- </Text>
92
- ) : null;
93
-
94
- const openedConfig = openedItem
95
- ? (resolveDetail?.(openedItem) ?? createEmptyDetailConfig(openedItem))
96
- : undefined;
97
-
98
- const body: NavigationBody<TItem> = (() => {
99
- if (loading) {
100
- return {type: 'loading'};
101
- }
102
- if (openedItem && openedConfig) {
103
- return {type: 'details', item: openedItem, config: openedConfig};
104
- }
105
- if (!location.cluster) {
106
- return {type: 'clusters'};
107
- }
108
- return {type: 'items'};
109
- })();
110
-
111
- const handleNavigate = (next: NavigationLocation) => {
112
- onDetailClose?.();
113
- onUpdate(next);
114
- };
115
-
116
- const handleClusterClick = (cluster: TCluster) => {
117
- handleNavigate({cluster: cluster.id, path: undefined});
118
- onClusterClick?.(cluster);
119
- };
120
-
121
- const handleItemClick = (item: TItem) => {
122
- if (item.hasChildren) {
123
- handleNavigate({cluster: location.cluster, path: item.path});
124
- } else {
125
- onItemOpen?.(item);
126
- }
127
- onItemClick?.(item);
128
- };
129
-
130
- if (body.type === 'details') {
131
- return (
132
- <NavigationDetail
133
- key={body.item.path}
134
- config={body.config}
135
- location={{cluster: location.cluster, path: body.item.path}}
136
- actions={resolvedDetailActions}
137
- onUpdate={handleNavigate}
138
- onLoadSuggestions={onLoadSuggestions}
139
- search={detailSearch}
140
- onSearchUpdate={onDetailSearchUpdate}
141
- activeTab={detailActiveTab}
142
- onTabUpdate={onDetailTabUpdate}
143
- className={block(null, className)}
144
- />
145
- );
146
- }
147
-
148
- return (
149
- <Flex direction="column" gap={1} className={block(null, className)}>
150
- <NavigationHeader
151
- location={location}
152
- actions={actions}
153
- onUpdate={handleNavigate}
154
- onLoadSuggestions={onLoadSuggestions}
155
- />
156
- <SearchWithButtons
157
- placeholder={i18n('field_search-placeholder')}
158
- value={searchValue}
159
- onUpdate={onSearchUpdate}
160
- />
161
- {body.type === 'clusters' || (body.type === 'loading' && !location.cluster) ? (
162
- <ClustersList<TCluster>
163
- items={clusters}
164
- loading={loading}
165
- error={resolvedErrorContent}
166
- hasMore={hasMore}
167
- onLoadMore={onLoadMore}
168
- emptyContent={
169
- <EmptyContent variant={searchValue ? 'nothing-found' : 'no-clusters'} />
170
- }
171
- renderRowItem={renderClusterItem}
172
- onItemClick={handleClusterClick}
173
- />
174
- ) : (
175
- <NavigationItemsList<TItem>
176
- items={items}
177
- path={location.path}
178
- search={searchValue}
179
- sort={sortValue}
180
- onSortUpdate={onSortUpdate}
181
- titleLabel={i18n('title_name')}
182
- loading={loading}
183
- error={resolvedErrorContent}
184
- hasMore={hasMore}
185
- onLoadMore={onLoadMore}
186
- emptyContent={
187
- <EmptyContent variant={searchValue ? 'nothing-found' : 'no-files'} />
188
- }
189
- renderRowItem={renderNavigationItem}
190
- onItemClick={handleItemClick}
191
- />
192
- )}
193
- </Flex>
194
- );
195
- };
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import type {NavigationDetailConfig, NavigationItem} from '../../../types/navigation';
3
- import {EmptyContent} from '../../../components';
4
-
5
- export const createEmptyDetailConfig = (_item: NavigationItem): NavigationDetailConfig => ({
6
- tabs: [],
7
- emptyContent: <EmptyContent variant="no-files" />,
8
- });
@@ -1,28 +0,0 @@
1
- import type {
2
- NavigationDetailConfigFactory,
3
- NavigationItem,
4
- NavigationItemKind,
5
- ResolveNavigationDetail,
6
- } from '../../../types/navigation';
7
- import {createTableDetailConfig} from './createTableDetailConfig';
8
-
9
- const defaultDetailRegistry: Partial<Record<NavigationItemKind, NavigationDetailConfigFactory>> = {
10
- table: createTableDetailConfig(),
11
- };
12
-
13
- export const createNavigationDetailResolver = <T extends NavigationItem = NavigationItem>(
14
- registry?: Partial<Record<NavigationItemKind, NavigationDetailConfigFactory<T>>>,
15
- fallback?: NavigationDetailConfigFactory<T>,
16
- ): ResolveNavigationDetail<T> => {
17
- const merged = {
18
- ...(defaultDetailRegistry as Partial<
19
- Record<NavigationItemKind, NavigationDetailConfigFactory<T>>
20
- >),
21
- ...registry,
22
- };
23
-
24
- return (item) => {
25
- const factory = (item.kind && merged[item.kind]) ?? fallback;
26
- return factory?.(item);
27
- };
28
- };