@gravity-ui/querieskit 1.3.0 → 1.3.2

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 (546) hide show
  1. package/build/cjs/components/AttachmentList/AttachmentList.d.ts +2 -2
  2. package/build/cjs/components/AttachmentList/AttachmentList.js +9 -1
  3. package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
  4. package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
  5. package/build/cjs/components/AttachmentList/AttachmentList.stories.js +3 -0
  6. package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -1
  7. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
  8. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js +11 -0
  9. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
  10. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  11. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  12. package/build/cjs/modules/Attachments/Attachments.css +4 -0
  13. package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
  14. package/build/cjs/modules/Attachments/Attachments.d.ts +2 -1
  15. package/build/cjs/modules/Attachments/Attachments.js +8 -1
  16. package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
  17. package/build/cjs/modules/Attachments/Attachments.stories.d.ts +2 -1
  18. package/build/cjs/modules/Attachments/Attachments.stories.js +7 -3
  19. package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
  20. package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  21. package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
  22. package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  23. package/build/cjs/modules/RowsList/RowsList.css +4 -0
  24. package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
  25. package/build/cjs/types/queryList.d.ts +1 -1
  26. package/build/cjs/types/queryList.js.map +1 -1
  27. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
  28. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  29. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  30. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
  31. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  32. package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  33. package/build/esm/components/AttachmentList/AttachmentList.d.ts +2 -2
  34. package/build/esm/components/AttachmentList/AttachmentList.js +9 -1
  35. package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
  36. package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
  37. package/build/esm/components/AttachmentList/AttachmentList.stories.js +3 -0
  38. package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -1
  39. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
  40. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js +5 -0
  41. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
  42. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  43. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  44. package/build/esm/modules/Attachments/Attachments.css +4 -0
  45. package/build/esm/modules/Attachments/Attachments.css.map +1 -1
  46. package/build/esm/modules/Attachments/Attachments.d.ts +2 -1
  47. package/build/esm/modules/Attachments/Attachments.js +8 -1
  48. package/build/esm/modules/Attachments/Attachments.js.map +1 -1
  49. package/build/esm/modules/Attachments/Attachments.scss +5 -0
  50. package/build/esm/modules/Attachments/Attachments.stories.d.ts +2 -1
  51. package/build/esm/modules/Attachments/Attachments.stories.js +7 -3
  52. package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
  53. package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  54. package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
  55. package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  56. package/build/esm/modules/RowsList/RowsList.css +4 -0
  57. package/build/esm/modules/RowsList/RowsList.css.map +1 -1
  58. package/build/esm/modules/RowsList/RowsList.scss +3 -0
  59. package/build/esm/types/queryList.d.ts +1 -1
  60. package/build/esm/types/queryList.js.map +1 -1
  61. package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
  62. package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  63. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  64. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
  65. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  66. package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  67. package/package.json +29 -2
  68. package/.agents/skills/code-review-checklist/SKILL.md +0 -94
  69. package/.agents/skills/github-pr-review/SKILL.md +0 -24
  70. package/.agents/skills/gravity-ui/SKILL.md +0 -175
  71. package/.agents/skills/gravity-ui/references/icons.md +0 -60
  72. package/.agents/skills/gravity-ui/references/layout.md +0 -366
  73. package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
  74. package/.agents/skills/gravity-ui/references/theming.md +0 -309
  75. package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
  76. package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
  77. package/.eslintignore +0 -3
  78. package/.github/workflows/ci.yml +0 -25
  79. package/.github/workflows/main-preview.yml +0 -31
  80. package/.github/workflows/pr-preview-build.yml +0 -13
  81. package/.github/workflows/pr-preview-deploy.yml +0 -22
  82. package/.github/workflows/pr-title.yml +0 -27
  83. package/.github/workflows/release.yml +0 -20
  84. package/.nvmrc +0 -1
  85. package/.prettierrc.js +0 -1
  86. package/.storybook/main.ts +0 -31
  87. package/.storybook/preview.tsx +0 -43
  88. package/.storybook/redefinition.css +0 -3
  89. package/.storybook/tsconfig.json +0 -9
  90. package/.stylelintrc +0 -9
  91. package/AGENTS.md +0 -129
  92. package/CHANGELOG.md +0 -103
  93. package/CODEOWNERS +0 -2
  94. package/CONTRIBUTING.md +0 -31
  95. package/NOTICES.md +0 -8
  96. package/app-builder.config.ts +0 -9
  97. package/commitlint.config.cjs +0 -6
  98. package/eslint.config.mjs +0 -53
  99. package/plans/i18n-rules.md +0 -116
  100. package/plans/navigation-architecture.md +0 -262
  101. package/plans/queries-history-structure.md +0 -143
  102. package/plans/queries-navigation-architecture-review.md +0 -217
  103. package/plans/styles-rules.md +0 -137
  104. package/skills-lock.json +0 -11
  105. package/src/components/AddChartButton/AddChartButton.scss +0 -12
  106. package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
  107. package/src/components/AddChartButton/AddChartButton.tsx +0 -139
  108. package/src/components/AddChartButton/index.ts +0 -6
  109. package/src/components/AttachmentList/AttachmentList.scss +0 -25
  110. package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
  111. package/src/components/AttachmentList/AttachmentList.tsx +0 -67
  112. package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
  113. package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
  114. package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
  115. package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
  116. package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
  117. package/src/components/AttachmentList/i18n/dicts.ts +0 -4
  118. package/src/components/AttachmentList/i18n/en.json +0 -10
  119. package/src/components/AttachmentList/i18n/index.ts +0 -5
  120. package/src/components/AttachmentList/i18n/ru.json +0 -10
  121. package/src/components/AttachmentList/index.ts +0 -4
  122. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
  123. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
  124. package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
  125. package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
  126. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
  127. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
  128. package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
  129. package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
  130. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
  131. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
  132. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
  133. package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
  134. package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
  135. package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
  136. package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
  137. package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
  138. package/src/components/AttachmentListPlaceholder/index.ts +0 -2
  139. package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
  140. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
  141. package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
  142. package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
  143. package/src/components/Breadcrumbs/i18n/en.json +0 -4
  144. package/src/components/Breadcrumbs/i18n/index.ts +0 -5
  145. package/src/components/Breadcrumbs/i18n/ru.json +0 -4
  146. package/src/components/Breadcrumbs/index.ts +0 -2
  147. package/src/components/Chart/Chart.scss +0 -40
  148. package/src/components/Chart/Chart.stories.tsx +0 -75
  149. package/src/components/Chart/Chart.tsx +0 -120
  150. package/src/components/Chart/i18n/dicts.ts +0 -4
  151. package/src/components/Chart/i18n/en.json +0 -6
  152. package/src/components/Chart/i18n/index.ts +0 -5
  153. package/src/components/Chart/i18n/ru.json +0 -6
  154. package/src/components/Chart/index.ts +0 -2
  155. package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
  156. package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
  157. package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
  158. package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
  159. package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
  160. package/src/components/ChartEditorForm/i18n/en.json +0 -12
  161. package/src/components/ChartEditorForm/i18n/index.ts +0 -5
  162. package/src/components/ChartEditorForm/i18n/ru.json +0 -12
  163. package/src/components/ChartEditorForm/index.ts +0 -7
  164. package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
  165. package/src/components/ChartEditorForm/types.ts +0 -44
  166. package/src/components/ClusterRow/ClusterRow.tsx +0 -34
  167. package/src/components/ClusterRow/index.ts +0 -2
  168. package/src/components/Dashboard/Dashboard.scss +0 -4
  169. package/src/components/Dashboard/Dashboard.stories.scss +0 -18
  170. package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
  171. package/src/components/Dashboard/Dashboard.tsx +0 -51
  172. package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
  173. package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
  174. package/src/components/Dashboard/index.ts +0 -2
  175. package/src/components/Dashboard/internal/DashPlate.scss +0 -23
  176. package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
  177. package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
  178. package/src/components/Dashboard/types.ts +0 -21
  179. package/src/components/DataTable/DataTable.scss +0 -27
  180. package/src/components/DataTable/DataTable.stories.tsx +0 -65
  181. package/src/components/DataTable/DataTable.tsx +0 -100
  182. package/src/components/DataTable/index.ts +0 -1
  183. package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
  184. package/src/components/EditableRowTitle/index.ts +0 -2
  185. package/src/components/EmptyContent/EmptyContent.scss +0 -3
  186. package/src/components/EmptyContent/EmptyContent.tsx +0 -57
  187. package/src/components/EmptyContent/i18n/dicts.ts +0 -4
  188. package/src/components/EmptyContent/i18n/en.json +0 -7
  189. package/src/components/EmptyContent/i18n/index.ts +0 -5
  190. package/src/components/EmptyContent/i18n/ru.json +0 -7
  191. package/src/components/EmptyContent/index.ts +0 -1
  192. package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
  193. package/src/components/ErrorTree/ErrorTree.tsx +0 -30
  194. package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
  195. package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
  196. package/src/components/ErrorTree/i18n/dicts.ts +0 -4
  197. package/src/components/ErrorTree/i18n/en.json +0 -11
  198. package/src/components/ErrorTree/i18n/index.ts +0 -5
  199. package/src/components/ErrorTree/i18n/ru.json +0 -13
  200. package/src/components/ErrorTree/index.ts +0 -1
  201. package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
  202. package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
  203. package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
  204. package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
  205. package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
  206. package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
  207. package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
  208. package/src/components/FieldsSearchToolbar/index.ts +0 -2
  209. package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
  210. package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
  211. package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
  212. package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
  213. package/src/components/FieldsSelector/i18n/en.json +0 -3
  214. package/src/components/FieldsSelector/i18n/index.ts +0 -5
  215. package/src/components/FieldsSelector/i18n/ru.json +0 -3
  216. package/src/components/FieldsSelector/index.ts +0 -2
  217. package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
  218. package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
  219. package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
  220. package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
  221. package/src/components/HistoryFilter/i18n/en.json +0 -4
  222. package/src/components/HistoryFilter/i18n/index.ts +0 -5
  223. package/src/components/HistoryFilter/i18n/ru.json +0 -4
  224. package/src/components/HistoryFilter/index.ts +0 -1
  225. package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
  226. package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
  227. package/src/components/HistoryGroupHeader/index.ts +0 -1
  228. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
  229. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
  230. package/src/components/HistoryPrivateIcon/index.ts +0 -1
  231. package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
  232. package/src/components/Icons/index.ts +0 -1
  233. package/src/components/LazyList/LazyList.scss +0 -13
  234. package/src/components/LazyList/LazyList.tsx +0 -97
  235. package/src/components/LazyList/index.ts +0 -2
  236. package/src/components/ListSpinner/ListSpinner.scss +0 -3
  237. package/src/components/ListSpinner/ListSpinner.tsx +0 -18
  238. package/src/components/ListSpinner/index.ts +0 -2
  239. package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
  240. package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
  241. package/src/components/MonacoEditor/index.ts +0 -11
  242. package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
  243. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
  244. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
  245. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
  246. package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
  247. package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
  248. package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
  249. package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
  250. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
  251. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
  252. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
  253. package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
  254. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
  255. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
  256. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
  257. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
  258. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
  259. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
  260. package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
  261. package/src/components/NavigationActionButtons/index.ts +0 -2
  262. package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
  263. package/src/components/NavigationItemRow/index.ts +0 -2
  264. package/src/components/PathEditor/PathEditor.scss +0 -41
  265. package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
  266. package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
  267. package/src/components/PathEditor/PathEditor.tsx +0 -380
  268. package/src/components/PathEditor/helpers/suggestions.ts +0 -40
  269. package/src/components/PathEditor/i18n/dicts.ts +0 -4
  270. package/src/components/PathEditor/i18n/en.json +0 -4
  271. package/src/components/PathEditor/i18n/index.ts +0 -5
  272. package/src/components/PathEditor/i18n/ru.json +0 -4
  273. package/src/components/PathEditor/index.ts +0 -2
  274. package/src/components/QueryDuration/QueryDuration.scss +0 -6
  275. package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
  276. package/src/components/QueryDuration/QueryDuration.tsx +0 -21
  277. package/src/components/QueryDuration/index.ts +0 -1
  278. package/src/components/QueryDuration/useQueryDuration.ts +0 -34
  279. package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
  280. package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
  281. package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
  282. package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
  283. package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
  284. package/src/components/QueryResultsTable/i18n/en.json +0 -5
  285. package/src/components/QueryResultsTable/i18n/index.ts +0 -4
  286. package/src/components/QueryResultsTable/i18n/ru.json +0 -5
  287. package/src/components/QueryResultsTable/index.ts +0 -3
  288. package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
  289. package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
  290. package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
  291. package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
  292. package/src/components/QueryStatusIcon/index.ts +0 -1
  293. package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
  294. package/src/components/RowActionsMenu/index.ts +0 -2
  295. package/src/components/RowLink/RowLink.scss +0 -8
  296. package/src/components/RowLink/RowLink.tsx +0 -23
  297. package/src/components/RowLink/index.ts +0 -2
  298. package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
  299. package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
  300. package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
  301. package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
  302. package/src/components/SearchRowLayout/index.ts +0 -2
  303. package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
  304. package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
  305. package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
  306. package/src/components/SearchWithButtons/index.ts +0 -2
  307. package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
  308. package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
  309. package/src/components/SimpleForm/SelectField.tsx +0 -24
  310. package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
  311. package/src/components/SimpleForm/SimpleForm.tsx +0 -65
  312. package/src/components/SimpleForm/SwitchField.tsx +0 -23
  313. package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
  314. package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
  315. package/src/components/SimpleForm/helpers/index.ts +0 -2
  316. package/src/components/SimpleForm/index.ts +0 -7
  317. package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
  318. package/src/components/SkeletonRows/index.ts +0 -2
  319. package/src/components/index.ts +0 -71
  320. package/src/constants/query.ts +0 -10
  321. package/src/constants/row.ts +0 -2
  322. package/src/helpers/buildColumnsFromKeys.ts +0 -17
  323. package/src/helpers/createUuid.ts +0 -3
  324. package/src/helpers/getDefaultNavigationIcon.ts +0 -33
  325. package/src/helpers/getListKey.ts +0 -12
  326. package/src/helpers/getParentPath.ts +0 -10
  327. package/src/helpers/isEmptyValue.ts +0 -2
  328. package/src/helpers/isFieldVisible.ts +0 -20
  329. package/src/helpers/isObjectEqual.ts +0 -15
  330. package/src/helpers/time.ts +0 -29
  331. package/src/helpers/useDebouncedValue.ts +0 -14
  332. package/src/helpers/useLoadMoreSentinel.ts +0 -31
  333. package/src/helpers/useToggle.ts +0 -11
  334. package/src/helpers/useVisibleColumns.ts +0 -26
  335. package/src/i18n/index.ts +0 -26
  336. package/src/index.ts +0 -12
  337. package/src/modules/Attachments/Attachments.scss +0 -10
  338. package/src/modules/Attachments/Attachments.stories.tsx +0 -112
  339. package/src/modules/Attachments/Attachments.tsx +0 -336
  340. package/src/modules/Attachments/i18n/dicts.ts +0 -4
  341. package/src/modules/Attachments/i18n/en.json +0 -5
  342. package/src/modules/Attachments/i18n/index.ts +0 -5
  343. package/src/modules/Attachments/i18n/ru.json +0 -5
  344. package/src/modules/Attachments/index.ts +0 -2
  345. package/src/modules/ChartEditor/ChartEditor.scss +0 -12
  346. package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
  347. package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
  348. package/src/modules/ChartEditor/i18n/en.json +0 -3
  349. package/src/modules/ChartEditor/i18n/index.ts +0 -5
  350. package/src/modules/ChartEditor/i18n/ru.json +0 -3
  351. package/src/modules/ChartEditor/index.ts +0 -2
  352. package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
  353. package/src/modules/ChartEditor/story/mockData.ts +0 -222
  354. package/src/modules/ChartEditor/types.ts +0 -18
  355. package/src/modules/ClustersList/ClustersList.scss +0 -11
  356. package/src/modules/ClustersList/ClustersList.tsx +0 -49
  357. package/src/modules/ClustersList/index.ts +0 -2
  358. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
  359. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
  360. package/src/modules/HistoryComparisonActions/index.ts +0 -2
  361. package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
  362. package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
  363. package/src/modules/HistoryHeader/index.ts +0 -1
  364. package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
  365. package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
  366. package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
  367. package/src/modules/HistoryLayout/index.ts +0 -2
  368. package/src/modules/HistoryRow/HistoryRow.scss +0 -32
  369. package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
  370. package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
  371. package/src/modules/HistoryRow/index.ts +0 -1
  372. package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
  373. package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
  374. package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
  375. package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
  376. package/src/modules/HistorySearchRow/index.ts +0 -1
  377. package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
  378. package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
  379. package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
  380. package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
  381. package/src/modules/NavigationDetail/index.ts +0 -2
  382. package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
  383. package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
  384. package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
  385. package/src/modules/NavigationHeader/index.ts +0 -2
  386. package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
  387. package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
  388. package/src/modules/NavigationItemsList/index.ts +0 -2
  389. package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
  390. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
  391. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
  392. package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
  393. package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
  394. package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
  395. package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
  396. package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
  397. package/src/modules/NavigationMeta/i18n/en.json +0 -4
  398. package/src/modules/NavigationMeta/i18n/index.ts +0 -5
  399. package/src/modules/NavigationMeta/i18n/ru.json +0 -4
  400. package/src/modules/NavigationMeta/index.ts +0 -3
  401. package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
  402. package/src/modules/NavigationMeta/story/mockData.ts +0 -22
  403. package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
  404. package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
  405. package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
  406. package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
  407. package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
  408. package/src/modules/NavigationPreview/i18n/en.json +0 -3
  409. package/src/modules/NavigationPreview/i18n/index.ts +0 -5
  410. package/src/modules/NavigationPreview/i18n/ru.json +0 -3
  411. package/src/modules/NavigationPreview/index.ts +0 -4
  412. package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
  413. package/src/modules/NavigationPreview/story/mockData.ts +0 -14
  414. package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
  415. package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
  416. package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
  417. package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
  418. package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
  419. package/src/modules/NavigationSchema/i18n/en.json +0 -9
  420. package/src/modules/NavigationSchema/i18n/index.ts +0 -5
  421. package/src/modules/NavigationSchema/i18n/ru.json +0 -9
  422. package/src/modules/NavigationSchema/index.ts +0 -4
  423. package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
  424. package/src/modules/NavigationSchema/story/mockData.ts +0 -9
  425. package/src/modules/NavigationView/NavigationView.scss +0 -44
  426. package/src/modules/NavigationView/NavigationView.tsx +0 -60
  427. package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
  428. package/src/modules/NavigationView/i18n/dicts.ts +0 -4
  429. package/src/modules/NavigationView/i18n/en.json +0 -3
  430. package/src/modules/NavigationView/i18n/index.ts +0 -5
  431. package/src/modules/NavigationView/i18n/ru.json +0 -3
  432. package/src/modules/NavigationView/index.ts +0 -3
  433. package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
  434. package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
  435. package/src/modules/NavigationView/story/mockData.ts +0 -35
  436. package/src/modules/QueriesList/QueriesList.scss +0 -10
  437. package/src/modules/QueriesList/QueriesList.tsx +0 -98
  438. package/src/modules/QueriesList/index.ts +0 -2
  439. package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
  440. package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
  441. package/src/modules/QueryStatistics/helpers.ts +0 -96
  442. package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
  443. package/src/modules/QueryStatistics/i18n/en.json +0 -16
  444. package/src/modules/QueryStatistics/i18n/index.ts +0 -4
  445. package/src/modules/QueryStatistics/i18n/ru.json +0 -16
  446. package/src/modules/QueryStatistics/index.ts +0 -13
  447. package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
  448. package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
  449. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
  450. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
  451. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
  452. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
  453. package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
  454. package/src/modules/RowsList/RowsList.scss +0 -5
  455. package/src/modules/RowsList/RowsList.tsx +0 -96
  456. package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
  457. package/src/modules/RowsList/index.ts +0 -2
  458. package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
  459. package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
  460. package/src/modules/SavedQueryRow/index.ts +0 -2
  461. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
  462. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
  463. package/src/modules/SavedQuerySearchRow/index.ts +0 -2
  464. package/src/modules/TutorialRow/TutorialRow.scss +0 -9
  465. package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
  466. package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
  467. package/src/modules/TutorialRow/index.ts +0 -2
  468. package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
  469. package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
  470. package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
  471. package/src/modules/TutorialSearchRow/index.ts +0 -2
  472. package/src/modules/index.ts +0 -50
  473. package/src/types/declarations.d.ts +0 -25
  474. package/src/types/errorTree.ts +0 -30
  475. package/src/types/forms.ts +0 -33
  476. package/src/types/history.ts +0 -12
  477. package/src/types/navigation.ts +0 -209
  478. package/src/types/pathEditor.ts +0 -29
  479. package/src/types/queryList.ts +0 -92
  480. package/src/types/queryResults.ts +0 -48
  481. package/src/types/queryStatistics.ts +0 -67
  482. package/src/types/savedQueries.ts +0 -7
  483. package/src/types/tutorial.ts +0 -3
  484. package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
  485. package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
  486. package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
  487. package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
  488. package/src/widgets/DashboardCharts/i18n/en.json +0 -7
  489. package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
  490. package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
  491. package/src/widgets/DashboardCharts/index.ts +0 -2
  492. package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
  493. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
  494. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
  495. package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
  496. package/src/widgets/DashboardCharts/types.ts +0 -30
  497. package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
  498. package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
  499. package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
  500. package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
  501. package/src/widgets/QueriesHistory/i18n/en.json +0 -3
  502. package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
  503. package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
  504. package/src/widgets/QueriesHistory/index.ts +0 -2
  505. package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
  506. package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
  507. package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
  508. package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
  509. package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
  510. package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
  511. package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
  512. package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
  513. package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
  514. package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
  515. package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
  516. package/src/widgets/QueriesNavigation/index.ts +0 -13
  517. package/src/widgets/QueryResults/QueryResults.scss +0 -25
  518. package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
  519. package/src/widgets/QueryResults/QueryResults.tsx +0 -121
  520. package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
  521. package/src/widgets/QueryResults/i18n/en.json +0 -10
  522. package/src/widgets/QueryResults/i18n/index.ts +0 -4
  523. package/src/widgets/QueryResults/i18n/ru.json +0 -12
  524. package/src/widgets/QueryResults/index.ts +0 -2
  525. package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
  526. package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
  527. package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
  528. package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
  529. package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
  530. package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
  531. package/src/widgets/SavedQueries/i18n/en.json +0 -3
  532. package/src/widgets/SavedQueries/i18n/index.ts +0 -4
  533. package/src/widgets/SavedQueries/i18n/ru.json +0 -3
  534. package/src/widgets/SavedQueries/index.ts +0 -2
  535. package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
  536. package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
  537. package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
  538. package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
  539. package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
  540. package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
  541. package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
  542. package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
  543. package/src/widgets/TutorialsHistory/index.ts +0 -2
  544. package/src/widgets/index.ts +0 -20
  545. package/tsconfig.json +0 -20
  546. package/tsconfig.publish.json +0 -11
@@ -1,366 +0,0 @@
1
- # Layout — spacing scale, `Flex`/`Box`, grid (`Row`/`Col`/`Container`)
2
-
3
- > **Source of truth:** this is a verbatim copy of
4
- > [`@gravity-ui/uikit`'s `docs/layout.md`](https://github.com/gravity-ui/uikit/blob/main/docs/layout.md).
5
- > The current version in the installed `node_modules` may differ — for the exact
6
- > file matching your version, read
7
- > `node_modules/@gravity-ui/uikit/build/docs/guides/layout.md` (or fetch the
8
- > version-pinned copy at `gravity-ui.com/llms/uikit/<major>/llms.txt`).
9
- >
10
- > This copy is bundled offline. If a token or prop you need is missing or looks
11
- > different here, prefer the version-matched source over this snapshot.
12
-
13
- This reference covers the **spacing scale, layout components, and responsive
14
- breakpoints**. For the **flex-contract traps** — who shrinks vs who holds, why
15
- `min-width:0` matters, scroll-vs-page — see
16
- [`../rules/hallucination-traps.md`](../rules/hallucination-traps.md).
17
-
18
- ---
19
-
20
- # Layout components and spacings
21
-
22
- This guide covers UIKit's layout foundations: a shared **spacing** scale (`--g-spacing-*`, used
23
- everywhere via tokens and props) and a responsive **grid** (`Container`/`Row`/`Col`), plus the
24
- flexbox-based `Flex`/`Box` primitives built on top of them. Compose pages from these instead of
25
- raw `div`s and inline styles.
26
-
27
- ## Spacing
28
-
29
- Spacing in UIKit is a **scale**, not free-form pixels. You reference a step (`1`, `2`, … `10`)
30
- and the design system turns it into a concrete size. Sticking to the scale is what keeps rhythm
31
- consistent across the whole app, and lets you rescale everything from a single variable.
32
-
33
- ### The scale
34
-
35
- Every step is a multiple of a base unit (`--g-spacing-base`, `4px` by default), so `step × 4px`:
36
-
37
- | Step | CSS variable | Size |
38
- | ----- | ------------------ | ---- |
39
- | `0` | `--g-spacing-0` | 0 |
40
- | `0.5` | `--g-spacing-half` | 2px |
41
- | `1` | `--g-spacing-1` | 4px |
42
- | `2` | `--g-spacing-2` | 8px |
43
- | `3` | `--g-spacing-3` | 12px |
44
- | `4` | `--g-spacing-4` | 16px |
45
- | `5` | `--g-spacing-5` | 20px |
46
- | `6` | `--g-spacing-6` | 24px |
47
- | `7` | `--g-spacing-7` | 28px |
48
- | `8` | `--g-spacing-8` | 32px |
49
- | `9` | `--g-spacing-9` | 36px |
50
- | `10` | `--g-spacing-10` | 40px |
51
-
52
- Because every step is derived from `--g-spacing-base`, changing that one value rescales the
53
- entire spacing system proportionally (see [Customization](#customization)).
54
-
55
- ### Ways to apply spacing
56
-
57
- There are three ways to consume the scale — pick by context:
58
-
59
- **1. Component props** — spacing **between** children of `Flex`/`Box`, via the `gap` prop:
60
-
61
- ```tsx
62
- import {Flex} from '@gravity-ui/uikit';
63
-
64
- <Flex gap={5}>
65
- <Button />
66
- <Button />
67
- </Flex>; // 20px between children
68
- ```
69
-
70
- **2. CSS custom properties** — the same steps as `--g-spacing-{step}` variables, for use in your
71
- own styles (e.g. `--g-spacing-half` for the `0.5` step):
72
-
73
- ```css
74
- .example-class {
75
- margin-right: var(--g-spacing-5); /* 20px */
76
- padding: var(--g-spacing-2) var(--g-spacing-4);
77
- }
78
- ```
79
-
80
- **3. The `spacing()` utility** — for one-off margins/paddings on any element without hand-writing
81
- class names. It returns a generated class name string:
82
-
83
- ```tsx
84
- import {spacing} from '@gravity-ui/uikit';
85
-
86
- <>
87
- <Button className={spacing({mr: 5})}>button 1</Button>
88
- <Button className={spacing({mt: 2, px: 4})}>button 2</Button>
89
- </>;
90
- ```
91
-
92
- `sp` is a shorter alias: `import {sp} from '@gravity-ui/uikit'` → `sp({mr: 5})`.
93
-
94
- Supported keys (each takes a scale step):
95
-
96
- | Key | Property |
97
- | ------------------- | --------------------------------- |
98
- | `m` | `margin` |
99
- | `mt` `mr` `mb` `ml` | `margin-top/right/bottom/left` |
100
- | `mx` | horizontal margin (left + right) |
101
- | `my` | vertical margin (top + bottom) |
102
- | `p` | `padding` |
103
- | `pt` `pr` `pb` `pl` | `padding-top/right/bottom/left` |
104
- | `px` | horizontal padding (left + right) |
105
- | `py` | vertical padding (top + bottom) |
106
-
107
- You can pass a second argument to merge extra class names: `spacing({mr: 5}, myClassName)`.
108
-
109
- > **Rule of thumb:** `gap` for spacing between siblings in a `Flex`/`Box`; the `spacing()`/`sp()`
110
- > utility for one-off offsets on an element; raw `--g-spacing-*` variables inside your own CSS.
111
- > Always use scale steps, never hard-coded pixels.
112
-
113
- ### Customization
114
-
115
- Override the base unit to rescale the whole system. Do it via CSS at the project level:
116
-
117
- ```css
118
- :root {
119
- --g-spacing-base: 5px; /* now step 5 = 25px, etc. */
120
- }
121
- ```
122
-
123
- Or through the layout theme, which keeps the JS `Space` values and CSS variables in sync:
124
-
125
- ```tsx
126
- import {ThemeProvider, LayoutTheme} from '@gravity-ui/uikit';
127
-
128
- const config: LayoutTheme = {
129
- spaceBaseSize: 5,
130
- };
131
-
132
- export const App = () => {
133
- return (
134
- <ThemeProvider layout={{config, fixBreakpoints: true}}>
135
- {...}
136
- </ThemeProvider>
137
- );
138
- };
139
- ```
140
-
141
- ## Screen sizes:
142
-
143
- We use **mobile-first** approach. It means that you should adapt your app for desktop after completing development of mobile version.
144
- The default breakpoints are:
145
-
146
- - `xs` - < 576px
147
- - `s` - ≥ 576px;
148
- - `m` - ≥ 768px;
149
- - `l` - ≥ 1080px;
150
- - `xl` - ≥ 1200px;
151
- - `xxl` - ≥ 1400px;
152
- - `xxxl` - ≥ 1920px;
153
-
154
- To override a breakpoint use the `breakpoints` property in the layout config:
155
-
156
- ```tsx
157
- const APP_LAYOUT_THEME: LayoutTheme = {
158
- spaceBaseSize: 4,
159
- components: {
160
- container: {
161
- gutters: 3,
162
- media: {
163
- l: {
164
- gutters: 5,
165
- },
166
- },
167
- },
168
- },
169
- breakpoints: {
170
- s: 320,
171
- l: 980,
172
- },
173
- };
174
-
175
- <ThemeProvider layout={{config: APP_LAYOUT_THEME}}>
176
- {...}
177
- </ThemeProvider>;
178
- ```
179
-
180
- ## Box
181
-
182
- The `Box` component is a developer friend and basic block to build other components. Aware about spacing, its own sizes and most commonly used CSS properties.
183
-
184
- Use it to declaratively describe elements with a fixed height/width. It also has built-in support for the most commonly used properties, such as `overflow`.
185
- It is mainly used as a base unit for other components such as `Flex` and `Card`.
186
-
187
- It is also well suited for use as a base for data loading containers, for example:
188
-
189
- ```tsx
190
- import React, {Suspense} from 'react';
191
- import {Flex, Loader} from '@gravity-ui/uikit';
192
-
193
- // `Flex` extended from `Box` component and enriched flexbox model properties
194
- <Flex centerContent width="100%" height="100%">
195
- <Suspense fallback={<Loader size="m" />}>
196
- <LazyLoadedComponent />
197
- </Suspense>
198
- </Flex>;
199
- ```
200
-
201
- ## Layout Grid
202
-
203
- Main components to describe 12-th column grid layout for your app.
204
- Supports nested grids. This should be used when you have mobile and desktop app versions.
205
-
206
- ```tsx
207
- import {Row, Col} from '@gravity-ui/uikit';
208
-
209
- <Row space="5">
210
- <Col size="4">...</Col>
211
- <Col size="4">...</Col>
212
- <Col size="4">...</Col>
213
- </Row>;
214
- ```
215
-
216
- ### Row
217
-
218
- **Props**
219
-
220
- - `space` - specify horizontal spacing between child `Col` components;
221
- - `spaceRow` - specify vertical spacing between child `Col` components. By default, it takes values from the `space` prop.
222
-
223
- ### Col
224
-
225
- How many columns of your 12-th column layout will take content.
226
- Must be used as a child of `Row` component.
227
-
228
- **Props**
229
-
230
- - `size` - column width in column number (if omitted the column will occupy all free space in the row)
231
-
232
- ```tsx
233
- import {Row, Col} from '@gravity-ui/uikit';
234
-
235
- <Row
236
- /**
237
- * In this example we override default theme behavior.
238
- *
239
- * space={{s: '1', xl:'5'}}
240
- */
241
- space="5"
242
- >
243
- <Col
244
- // Will be:
245
- // 12 for "xs" and "s"
246
- // 6 for "m" and "l"
247
- // 4 for "xl" and "xxl"
248
- size={[12, {m: 6, xl: 4}]}
249
- />
250
- </Row>;
251
- ```
252
-
253
- > Grid system use negative margins under the hood. So you can specify background-color css property directly in `Col` components. Use wrapper components in such cases.
254
-
255
- ## Container
256
-
257
- Center you content. Almost always it should be one per page. Manage max width corresponding to current screen size
258
-
259
- **Props**
260
-
261
- - `gutters` - left and right content padding. Needed when you content width equals screen width;
262
- - `maxWidth` - limits screen width for specific screen size;
263
- - `spaceRow` - ability to specify spacing between children `Row` components
264
-
265
- ## Flex
266
-
267
- CSS `Flexbox` model representation in `jsx` world. Has built-in `spacing` to manage space between children. All flex properties are available in props.
268
- For most used properties it supports object syntax config to override behavior in different screen sizes.
269
-
270
- #### Examples
271
-
272
- _Space between children components in row direction_
273
-
274
- ```jsx
275
- import {Flex, TextInput, Button} from '@gravity-ui/uikit';
276
-
277
- <Flex space="5">
278
- <TextInput />
279
- <Button />
280
- </Flex>;
281
- ```
282
-
283
- _Nested `Flex` example_
284
-
285
- ```jsx
286
- import {Flex, TextInput, Button, Table} from '@gravity-ui/uikit';
287
-
288
- <Flex direction="column" space="5">
289
- <Flex space="5">
290
- <TextInput />
291
- <Button />
292
- </Flex>
293
- <Table />
294
- </Flex>;
295
- ```
296
-
297
- _Responsible example_
298
-
299
- ```jsx
300
- import {Flex, TextInput, Button} from '@gravity-ui/uikit';
301
-
302
- <Flex
303
- // direction: column will be applied to l, xl, xxl, xxxl screen sizes here
304
- direction={{l: 'column'}}
305
- space={{s: '5', m: '3'}}
306
- >
307
- <TextInput />
308
- <Button />
309
- </Flex>;
310
- ```
311
-
312
- ## Hooks
313
-
314
- ### useLayoutContext
315
-
316
- Hook `useLayoutContext` provide ability to use `LayoutTheme` and helper functions to work with media queries.
317
-
318
- It returns the following methods and objects:
319
-
320
- - `theme` - `LayoutTheme` object;
321
- - `activeMediaQuery` - returns current [Screen sizes](#screen-sizes) keys.
322
-
323
- ```tsx
324
- import {useLayoutContext} from '@gravity-ui/uikit';
325
-
326
- const Component = () => {
327
- const {activeMediaQuery} = useLayoutContext();
328
-
329
- return (
330
- <>{activeMediaQuery === 'l' ? <Text>I render only on screen resolution "l"</Text> : null}</>
331
- );
332
- };
333
- ```
334
-
335
- - `isMediaActive` - returns `true` if passed value is equal to or greater than the current active media. It is necessary to implement logic of adaptive elements for **mobile-first** approach.
336
-
337
- ```tsx
338
- import {useLayoutContext} from '@gravity-ui/uikit';
339
-
340
- // this example will be shown on xl, xxl and xxxl screen sizes
341
- const Component = () => {
342
- const {isMediaActive} = useLayoutContext();
343
-
344
- return (
345
- <>{isMediaActive('xl') ? <Text>I render on "xl", "xxl" and "xxxl" screen sizes</Text> : null}</>
346
- );
347
- };
348
- ```
349
-
350
- - `getClosestMediaProps` - it works in a similar way as `isMediaActive`, but takes a map with screen media as an argument. Returns the nearest available value in the map taking into account the **mobile-first** approach.
351
-
352
- ```tsx
353
- import {useLayoutContext} from '@gravity-ui/uikit';
354
-
355
- const mapOfPropsByScreen = {
356
- s: "i'm will be shown on 's' and 'n' screen size",
357
- l: "i'm will be shown on 'l' and 'xl' screen size",
358
- xxl: "i'm will be shown on 'xxl' and 'xxxl' screen size",
359
- };
360
-
361
- const Component = () => {
362
- const {getClosestMediaProps} = useLayoutContext();
363
-
364
- return <Text>{getClosestMediaProps(mapOfPropsByScreen)}</Text>;
365
- };
366
- ```