@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.
- package/build/cjs/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/cjs/components/AttachmentList/AttachmentList.js +9 -1
- package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js +11 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.css +4 -0
- package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.js +8 -1
- package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.stories.js +7 -3
- package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/cjs/modules/RowsList/RowsList.css +4 -0
- package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
- package/build/cjs/types/queryList.d.ts +1 -1
- package/build/cjs/types/queryList.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/esm/components/AttachmentList/AttachmentList.js +9 -1
- package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/esm/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js +5 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.css +4 -0
- package/build/esm/modules/Attachments/Attachments.css.map +1 -1
- package/build/esm/modules/Attachments/Attachments.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.js +8 -1
- package/build/esm/modules/Attachments/Attachments.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.scss +5 -0
- package/build/esm/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.stories.js +7 -3
- package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/esm/modules/RowsList/RowsList.css +4 -0
- package/build/esm/modules/RowsList/RowsList.css.map +1 -1
- package/build/esm/modules/RowsList/RowsList.scss +3 -0
- package/build/esm/types/queryList.d.ts +1 -1
- package/build/esm/types/queryList.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/package.json +29 -2
- package/.agents/skills/code-review-checklist/SKILL.md +0 -94
- package/.agents/skills/github-pr-review/SKILL.md +0 -24
- package/.agents/skills/gravity-ui/SKILL.md +0 -175
- package/.agents/skills/gravity-ui/references/icons.md +0 -60
- package/.agents/skills/gravity-ui/references/layout.md +0 -366
- package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
- package/.agents/skills/gravity-ui/references/theming.md +0 -309
- package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
- package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
- package/.eslintignore +0 -3
- package/.github/workflows/ci.yml +0 -25
- package/.github/workflows/main-preview.yml +0 -31
- package/.github/workflows/pr-preview-build.yml +0 -13
- package/.github/workflows/pr-preview-deploy.yml +0 -22
- package/.github/workflows/pr-title.yml +0 -27
- package/.github/workflows/release.yml +0 -20
- package/.nvmrc +0 -1
- package/.prettierrc.js +0 -1
- package/.storybook/main.ts +0 -31
- package/.storybook/preview.tsx +0 -43
- package/.storybook/redefinition.css +0 -3
- package/.storybook/tsconfig.json +0 -9
- package/.stylelintrc +0 -9
- package/AGENTS.md +0 -129
- package/CHANGELOG.md +0 -103
- package/CODEOWNERS +0 -2
- package/CONTRIBUTING.md +0 -31
- package/NOTICES.md +0 -8
- package/app-builder.config.ts +0 -9
- package/commitlint.config.cjs +0 -6
- package/eslint.config.mjs +0 -53
- package/plans/i18n-rules.md +0 -116
- package/plans/navigation-architecture.md +0 -262
- package/plans/queries-history-structure.md +0 -143
- package/plans/queries-navigation-architecture-review.md +0 -217
- package/plans/styles-rules.md +0 -137
- package/skills-lock.json +0 -11
- package/src/components/AddChartButton/AddChartButton.scss +0 -12
- package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
- package/src/components/AddChartButton/AddChartButton.tsx +0 -139
- package/src/components/AddChartButton/index.ts +0 -6
- package/src/components/AttachmentList/AttachmentList.scss +0 -25
- package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
- package/src/components/AttachmentList/AttachmentList.tsx +0 -67
- package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
- package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
- package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
- package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
- package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
- package/src/components/AttachmentList/i18n/dicts.ts +0 -4
- package/src/components/AttachmentList/i18n/en.json +0 -10
- package/src/components/AttachmentList/i18n/index.ts +0 -5
- package/src/components/AttachmentList/i18n/ru.json +0 -10
- package/src/components/AttachmentList/index.ts +0 -4
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
- package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
- package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
- package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
- package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
- package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
- package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
- package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
- package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
- package/src/components/AttachmentListPlaceholder/index.ts +0 -2
- package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
- package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
- package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
- package/src/components/Breadcrumbs/i18n/en.json +0 -4
- package/src/components/Breadcrumbs/i18n/index.ts +0 -5
- package/src/components/Breadcrumbs/i18n/ru.json +0 -4
- package/src/components/Breadcrumbs/index.ts +0 -2
- package/src/components/Chart/Chart.scss +0 -40
- package/src/components/Chart/Chart.stories.tsx +0 -75
- package/src/components/Chart/Chart.tsx +0 -120
- package/src/components/Chart/i18n/dicts.ts +0 -4
- package/src/components/Chart/i18n/en.json +0 -6
- package/src/components/Chart/i18n/index.ts +0 -5
- package/src/components/Chart/i18n/ru.json +0 -6
- package/src/components/Chart/index.ts +0 -2
- package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
- package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
- package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
- package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
- package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
- package/src/components/ChartEditorForm/i18n/en.json +0 -12
- package/src/components/ChartEditorForm/i18n/index.ts +0 -5
- package/src/components/ChartEditorForm/i18n/ru.json +0 -12
- package/src/components/ChartEditorForm/index.ts +0 -7
- package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
- package/src/components/ChartEditorForm/types.ts +0 -44
- package/src/components/ClusterRow/ClusterRow.tsx +0 -34
- package/src/components/ClusterRow/index.ts +0 -2
- package/src/components/Dashboard/Dashboard.scss +0 -4
- package/src/components/Dashboard/Dashboard.stories.scss +0 -18
- package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
- package/src/components/Dashboard/Dashboard.tsx +0 -51
- package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
- package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
- package/src/components/Dashboard/index.ts +0 -2
- package/src/components/Dashboard/internal/DashPlate.scss +0 -23
- package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
- package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
- package/src/components/Dashboard/types.ts +0 -21
- package/src/components/DataTable/DataTable.scss +0 -27
- package/src/components/DataTable/DataTable.stories.tsx +0 -65
- package/src/components/DataTable/DataTable.tsx +0 -100
- package/src/components/DataTable/index.ts +0 -1
- package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
- package/src/components/EditableRowTitle/index.ts +0 -2
- package/src/components/EmptyContent/EmptyContent.scss +0 -3
- package/src/components/EmptyContent/EmptyContent.tsx +0 -57
- package/src/components/EmptyContent/i18n/dicts.ts +0 -4
- package/src/components/EmptyContent/i18n/en.json +0 -7
- package/src/components/EmptyContent/i18n/index.ts +0 -5
- package/src/components/EmptyContent/i18n/ru.json +0 -7
- package/src/components/EmptyContent/index.ts +0 -1
- package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
- package/src/components/ErrorTree/ErrorTree.tsx +0 -30
- package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
- package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
- package/src/components/ErrorTree/i18n/dicts.ts +0 -4
- package/src/components/ErrorTree/i18n/en.json +0 -11
- package/src/components/ErrorTree/i18n/index.ts +0 -5
- package/src/components/ErrorTree/i18n/ru.json +0 -13
- package/src/components/ErrorTree/index.ts +0 -1
- package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
- package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
- package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
- package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
- package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
- package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
- package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
- package/src/components/FieldsSearchToolbar/index.ts +0 -2
- package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
- package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
- package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
- package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
- package/src/components/FieldsSelector/i18n/en.json +0 -3
- package/src/components/FieldsSelector/i18n/index.ts +0 -5
- package/src/components/FieldsSelector/i18n/ru.json +0 -3
- package/src/components/FieldsSelector/index.ts +0 -2
- package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
- package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
- package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
- package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
- package/src/components/HistoryFilter/i18n/en.json +0 -4
- package/src/components/HistoryFilter/i18n/index.ts +0 -5
- package/src/components/HistoryFilter/i18n/ru.json +0 -4
- package/src/components/HistoryFilter/index.ts +0 -1
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
- package/src/components/HistoryGroupHeader/index.ts +0 -1
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
- package/src/components/HistoryPrivateIcon/index.ts +0 -1
- package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
- package/src/components/Icons/index.ts +0 -1
- package/src/components/LazyList/LazyList.scss +0 -13
- package/src/components/LazyList/LazyList.tsx +0 -97
- package/src/components/LazyList/index.ts +0 -2
- package/src/components/ListSpinner/ListSpinner.scss +0 -3
- package/src/components/ListSpinner/ListSpinner.tsx +0 -18
- package/src/components/ListSpinner/index.ts +0 -2
- package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
- package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
- package/src/components/MonacoEditor/index.ts +0 -11
- package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
- package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
- package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
- package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
- package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
- package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
- package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
- package/src/components/NavigationActionButtons/index.ts +0 -2
- package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
- package/src/components/NavigationItemRow/index.ts +0 -2
- package/src/components/PathEditor/PathEditor.scss +0 -41
- package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
- package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
- package/src/components/PathEditor/PathEditor.tsx +0 -380
- package/src/components/PathEditor/helpers/suggestions.ts +0 -40
- package/src/components/PathEditor/i18n/dicts.ts +0 -4
- package/src/components/PathEditor/i18n/en.json +0 -4
- package/src/components/PathEditor/i18n/index.ts +0 -5
- package/src/components/PathEditor/i18n/ru.json +0 -4
- package/src/components/PathEditor/index.ts +0 -2
- package/src/components/QueryDuration/QueryDuration.scss +0 -6
- package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
- package/src/components/QueryDuration/QueryDuration.tsx +0 -21
- package/src/components/QueryDuration/index.ts +0 -1
- package/src/components/QueryDuration/useQueryDuration.ts +0 -34
- package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
- package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
- package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
- package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
- package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
- package/src/components/QueryResultsTable/i18n/en.json +0 -5
- package/src/components/QueryResultsTable/i18n/index.ts +0 -4
- package/src/components/QueryResultsTable/i18n/ru.json +0 -5
- package/src/components/QueryResultsTable/index.ts +0 -3
- package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
- package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
- package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
- package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
- package/src/components/QueryStatusIcon/index.ts +0 -1
- package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
- package/src/components/RowActionsMenu/index.ts +0 -2
- package/src/components/RowLink/RowLink.scss +0 -8
- package/src/components/RowLink/RowLink.tsx +0 -23
- package/src/components/RowLink/index.ts +0 -2
- package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
- package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
- package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
- package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
- package/src/components/SearchRowLayout/index.ts +0 -2
- package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
- package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
- package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
- package/src/components/SearchWithButtons/index.ts +0 -2
- package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
- package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
- package/src/components/SimpleForm/SelectField.tsx +0 -24
- package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
- package/src/components/SimpleForm/SimpleForm.tsx +0 -65
- package/src/components/SimpleForm/SwitchField.tsx +0 -23
- package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
- package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
- package/src/components/SimpleForm/helpers/index.ts +0 -2
- package/src/components/SimpleForm/index.ts +0 -7
- package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
- package/src/components/SkeletonRows/index.ts +0 -2
- package/src/components/index.ts +0 -71
- package/src/constants/query.ts +0 -10
- package/src/constants/row.ts +0 -2
- package/src/helpers/buildColumnsFromKeys.ts +0 -17
- package/src/helpers/createUuid.ts +0 -3
- package/src/helpers/getDefaultNavigationIcon.ts +0 -33
- package/src/helpers/getListKey.ts +0 -12
- package/src/helpers/getParentPath.ts +0 -10
- package/src/helpers/isEmptyValue.ts +0 -2
- package/src/helpers/isFieldVisible.ts +0 -20
- package/src/helpers/isObjectEqual.ts +0 -15
- package/src/helpers/time.ts +0 -29
- package/src/helpers/useDebouncedValue.ts +0 -14
- package/src/helpers/useLoadMoreSentinel.ts +0 -31
- package/src/helpers/useToggle.ts +0 -11
- package/src/helpers/useVisibleColumns.ts +0 -26
- package/src/i18n/index.ts +0 -26
- package/src/index.ts +0 -12
- package/src/modules/Attachments/Attachments.scss +0 -10
- package/src/modules/Attachments/Attachments.stories.tsx +0 -112
- package/src/modules/Attachments/Attachments.tsx +0 -336
- package/src/modules/Attachments/i18n/dicts.ts +0 -4
- package/src/modules/Attachments/i18n/en.json +0 -5
- package/src/modules/Attachments/i18n/index.ts +0 -5
- package/src/modules/Attachments/i18n/ru.json +0 -5
- package/src/modules/Attachments/index.ts +0 -2
- package/src/modules/ChartEditor/ChartEditor.scss +0 -12
- package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
- package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
- package/src/modules/ChartEditor/i18n/en.json +0 -3
- package/src/modules/ChartEditor/i18n/index.ts +0 -5
- package/src/modules/ChartEditor/i18n/ru.json +0 -3
- package/src/modules/ChartEditor/index.ts +0 -2
- package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
- package/src/modules/ChartEditor/story/mockData.ts +0 -222
- package/src/modules/ChartEditor/types.ts +0 -18
- package/src/modules/ClustersList/ClustersList.scss +0 -11
- package/src/modules/ClustersList/ClustersList.tsx +0 -49
- package/src/modules/ClustersList/index.ts +0 -2
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
- package/src/modules/HistoryComparisonActions/index.ts +0 -2
- package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
- package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
- package/src/modules/HistoryHeader/index.ts +0 -1
- package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
- package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
- package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
- package/src/modules/HistoryLayout/index.ts +0 -2
- package/src/modules/HistoryRow/HistoryRow.scss +0 -32
- package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
- package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
- package/src/modules/HistoryRow/index.ts +0 -1
- package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
- package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
- package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
- package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
- package/src/modules/HistorySearchRow/index.ts +0 -1
- package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
- package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
- package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
- package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
- package/src/modules/NavigationDetail/index.ts +0 -2
- package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
- package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
- package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
- package/src/modules/NavigationHeader/index.ts +0 -2
- package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
- package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
- package/src/modules/NavigationItemsList/index.ts +0 -2
- package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
- package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
- package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
- package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
- package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
- package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
- package/src/modules/NavigationMeta/i18n/en.json +0 -4
- package/src/modules/NavigationMeta/i18n/index.ts +0 -5
- package/src/modules/NavigationMeta/i18n/ru.json +0 -4
- package/src/modules/NavigationMeta/index.ts +0 -3
- package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
- package/src/modules/NavigationMeta/story/mockData.ts +0 -22
- package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
- package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
- package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
- package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
- package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
- package/src/modules/NavigationPreview/i18n/en.json +0 -3
- package/src/modules/NavigationPreview/i18n/index.ts +0 -5
- package/src/modules/NavigationPreview/i18n/ru.json +0 -3
- package/src/modules/NavigationPreview/index.ts +0 -4
- package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
- package/src/modules/NavigationPreview/story/mockData.ts +0 -14
- package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
- package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
- package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
- package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
- package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
- package/src/modules/NavigationSchema/i18n/en.json +0 -9
- package/src/modules/NavigationSchema/i18n/index.ts +0 -5
- package/src/modules/NavigationSchema/i18n/ru.json +0 -9
- package/src/modules/NavigationSchema/index.ts +0 -4
- package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
- package/src/modules/NavigationSchema/story/mockData.ts +0 -9
- package/src/modules/NavigationView/NavigationView.scss +0 -44
- package/src/modules/NavigationView/NavigationView.tsx +0 -60
- package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
- package/src/modules/NavigationView/i18n/dicts.ts +0 -4
- package/src/modules/NavigationView/i18n/en.json +0 -3
- package/src/modules/NavigationView/i18n/index.ts +0 -5
- package/src/modules/NavigationView/i18n/ru.json +0 -3
- package/src/modules/NavigationView/index.ts +0 -3
- package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
- package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
- package/src/modules/NavigationView/story/mockData.ts +0 -35
- package/src/modules/QueriesList/QueriesList.scss +0 -10
- package/src/modules/QueriesList/QueriesList.tsx +0 -98
- package/src/modules/QueriesList/index.ts +0 -2
- package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
- package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
- package/src/modules/QueryStatistics/helpers.ts +0 -96
- package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
- package/src/modules/QueryStatistics/i18n/en.json +0 -16
- package/src/modules/QueryStatistics/i18n/index.ts +0 -4
- package/src/modules/QueryStatistics/i18n/ru.json +0 -16
- package/src/modules/QueryStatistics/index.ts +0 -13
- package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
- package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
- package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
- package/src/modules/RowsList/RowsList.scss +0 -5
- package/src/modules/RowsList/RowsList.tsx +0 -96
- package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
- package/src/modules/RowsList/index.ts +0 -2
- package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
- package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
- package/src/modules/SavedQueryRow/index.ts +0 -2
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
- package/src/modules/SavedQuerySearchRow/index.ts +0 -2
- package/src/modules/TutorialRow/TutorialRow.scss +0 -9
- package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
- package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
- package/src/modules/TutorialRow/index.ts +0 -2
- package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
- package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
- package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
- package/src/modules/TutorialSearchRow/index.ts +0 -2
- package/src/modules/index.ts +0 -50
- package/src/types/declarations.d.ts +0 -25
- package/src/types/errorTree.ts +0 -30
- package/src/types/forms.ts +0 -33
- package/src/types/history.ts +0 -12
- package/src/types/navigation.ts +0 -209
- package/src/types/pathEditor.ts +0 -29
- package/src/types/queryList.ts +0 -92
- package/src/types/queryResults.ts +0 -48
- package/src/types/queryStatistics.ts +0 -67
- package/src/types/savedQueries.ts +0 -7
- package/src/types/tutorial.ts +0 -3
- package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
- package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
- package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
- package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
- package/src/widgets/DashboardCharts/i18n/en.json +0 -7
- package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
- package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
- package/src/widgets/DashboardCharts/index.ts +0 -2
- package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
- package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
- package/src/widgets/DashboardCharts/types.ts +0 -30
- package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
- package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
- package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
- package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesHistory/i18n/en.json +0 -3
- package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
- package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
- package/src/widgets/QueriesHistory/index.ts +0 -2
- package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
- package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
- package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
- package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
- package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
- package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
- package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
- package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
- package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
- package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
- package/src/widgets/QueriesNavigation/index.ts +0 -13
- package/src/widgets/QueryResults/QueryResults.scss +0 -25
- package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
- package/src/widgets/QueryResults/QueryResults.tsx +0 -121
- package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
- package/src/widgets/QueryResults/i18n/en.json +0 -10
- package/src/widgets/QueryResults/i18n/index.ts +0 -4
- package/src/widgets/QueryResults/i18n/ru.json +0 -12
- package/src/widgets/QueryResults/index.ts +0 -2
- package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
- package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
- package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
- package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
- package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
- package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
- package/src/widgets/SavedQueries/i18n/en.json +0 -3
- package/src/widgets/SavedQueries/i18n/index.ts +0 -4
- package/src/widgets/SavedQueries/i18n/ru.json +0 -3
- package/src/widgets/SavedQueries/index.ts +0 -2
- package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
- package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
- package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
- package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
- package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
- package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
- package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
- package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
- package/src/widgets/TutorialsHistory/index.ts +0 -2
- package/src/widgets/index.ts +0 -20
- package/tsconfig.json +0 -20
- 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
|
-
```
|