├── .babelrc
├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── config.yml
│ └── feature_request.yml
└── workflows
│ ├── ci.yml
│ ├── main-preview.yml
│ ├── pr-preview-build.yml
│ ├── pr-preview-deploy.yml
│ ├── pr-title.yml
│ ├── pr-visual-tests-report.yml
│ ├── pr-visual-tests.yml
│ ├── release.yml
│ └── test-storybook.yml
├── .gitignore
├── .husky
├── commit-msg
└── pre-commit
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .prettierrc.js
├── .storybook
├── decorators
│ ├── withLang.tsx
│ ├── withMobile.tsx
│ ├── withStrictMode.tsx
│ └── withTheme.tsx
├── main.ts
├── manager.ts
├── preview-head.html
├── preview.tsx
├── test-runner.ts
├── theme-addon
│ └── register.tsx
└── theme.ts
├── .stylelintrc
├── CHANGELOG.md
├── CODEOWNERS
├── CONTRIBUTING.md
├── LICENSE
├── README-ru.md
├── README.md
├── build-utils
└── sass-functions.js
├── commitlint.config.js
├── docs
└── assets
│ ├── book-open_dark.svg
│ ├── book-open_light.svg
│ ├── bucket-paint_dark.svg
│ ├── bucket-paint_light.svg
│ ├── figma_dark.svg
│ ├── figma_light.svg
│ ├── globe_dark.svg
│ ├── globe_light.svg
│ ├── storybook_dark.svg
│ ├── storybook_light.svg
│ ├── telegram_dark.svg
│ ├── telegram_light.svg
│ └── uikit_cover.png
├── eslint.config.mjs
├── gulpfile.js
├── jest.config.js
├── package-lock.json
├── package.json
├── playwright
├── README.md
├── core
│ ├── expectScreenshotFixture.ts
│ ├── index.ts
│ ├── mountFixture.tsx
│ └── types.ts
├── playwright.config.ts
├── playwright
│ ├── index.html
│ ├── index.scss
│ └── index.tsx
└── run-docker-command.sh
├── src
├── components
│ ├── ActionTooltip
│ │ ├── ActionTooltip.scss
│ │ ├── ActionTooltip.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── ActionTooltip.visual.test.tsx-snapshots
│ │ │ │ ├── ActionTooltip-smoke-default-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-auto-end-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-auto-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-auto-start-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-bottom-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-left-end-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-left-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-left-start-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-right-end-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-right-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-right-start-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-top-end-light-chromium-linux.png
│ │ │ │ ├── ActionTooltip-smoke-placement-top-light-chromium-linux.png
│ │ │ │ └── ActionTooltip-smoke-placement-top-start-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── ActionTooltip.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── ActionTooltip.test.tsx
│ │ │ ├── ActionTooltip.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── ActionsPanel
│ │ ├── ActionsPanel.scss
│ │ ├── ActionsPanel.tsx
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── ActionsPanel.visual.test.tsx-snapshots
│ │ │ │ ├── ActionsPanel-smoke-group-light-chromium-linux.png
│ │ │ │ ├── ActionsPanel-smoke-group-opened-light-chromium-linux.png
│ │ │ │ ├── ActionsPanel-smoke-light-chromium-linux.png
│ │ │ │ ├── ActionsPanel-smoke-with-note-light-chromium-linux.png
│ │ │ │ ├── ActionsPanel-smoke-with-submenu-light-chromium-linux.png
│ │ │ │ └── ActionsPanel-smoke-with-submenu-opened-submenu-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── ActionsPanel.stories.tsx
│ │ │ ├── Docs.mdx
│ │ │ └── actions.tsx
│ │ ├── __tests__
│ │ │ ├── ActionsPanel.visual.test.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── components
│ │ │ ├── CollapseActions.scss
│ │ │ ├── CollapseActions.tsx
│ │ │ └── hooks
│ │ │ │ ├── index.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── useCollapseActions.ts
│ │ │ │ ├── useDropdownActions.ts
│ │ │ │ └── useObserveIntersection.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── types.ts
│ ├── Alert
│ │ ├── Alert.scss
│ │ ├── Alert.test.tsx
│ │ ├── Alert.tsx
│ │ ├── AlertAction.tsx
│ │ ├── AlertActions.tsx
│ │ ├── AlertContext.tsx
│ │ ├── AlertContextProvider.tsx
│ │ ├── AlertIcon.tsx
│ │ ├── AlertTitle.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Alert.visual.test.tsx-snapshots
│ │ │ │ ├── Alert-render-story-Actions-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Actions-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Align-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Align-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Corners-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Corners-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-CustomIcon-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-CustomIcon-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Layout-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Layout-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Theme-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-Theme-light-chromium-linux.png
│ │ │ │ ├── Alert-render-story-View-dark-chromium-linux.png
│ │ │ │ ├── Alert-render-story-View-light-chromium-linux.png
│ │ │ │ └── Alert-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Alert.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Alert.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── useAlertContext.tsx
│ ├── ArrowToggle
│ │ ├── ArrowToggle.scss
│ │ ├── ArrowToggle.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── ArrowToggle.visual.test.tsx-snapshots
│ │ │ │ └── ArrowToggle-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── ArrowToggle.new.stories.tsx
│ │ │ ├── ArrowToggle.stories.tsx
│ │ │ ├── Docs.mdx
│ │ │ └── examples
│ │ │ │ └── ArrowToggleView.tsx
│ │ ├── __tests__
│ │ │ ├── ArrowToggle.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Avatar
│ │ ├── Avatar.scss
│ │ ├── Avatar.tsx
│ │ ├── AvatarIcon
│ │ │ ├── AvatarIcon.tsx
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── AvatarImage
│ │ │ ├── AvatarImage.tsx
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── AvatarText
│ │ │ ├── AvatarText.tsx
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── utils.ts
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Avatar.visual.test.tsx-snapshots
│ │ │ │ ├── Avatar-render-story-Icon-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Icon-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Image-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Image-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-ImageFallback-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-ImageFallback-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Showcase-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Showcase-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Text-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-Text-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-TextInitials-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-TextInitials-light-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-WithBorder-dark-chromium-linux.png
│ │ │ │ ├── Avatar-render-story-WithBorder-light-chromium-linux.png
│ │ │ │ ├── Avatar-should-render-default-border-for-the-image-if-withImageBorder-true-dark-chromium-linux.png
│ │ │ │ ├── Avatar-should-render-default-border-for-the-image-if-withImageBorder-true-light-chromium-linux.png
│ │ │ │ ├── Avatar-smoke-with-icon-light-chromium-linux.png
│ │ │ │ ├── Avatar-smoke-with-image-light-chromium-linux.png
│ │ │ │ └── Avatar-smoke-with-text-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Avatar.stories.tsx
│ │ │ ├── Docs.mdx
│ │ │ └── utils
│ │ │ │ ├── getAvatarSrcSet.ts
│ │ │ │ ├── getClosestNumber.ts
│ │ │ │ ├── getSrcSet.ts
│ │ │ │ └── types.ts
│ │ ├── __tests__
│ │ │ ├── Avatar.test.tsx
│ │ │ ├── Avatar.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── stories.ts
│ │ ├── _variables.scss
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ └── types
│ │ │ ├── common.ts
│ │ │ └── main.ts
│ ├── AvatarStack
│ │ ├── AvatarStack.scss
│ │ ├── AvatarStack.tsx
│ │ ├── AvatarStackItem.tsx
│ │ ├── AvatarStackMore.tsx
│ │ ├── AvatarStackMoreButton.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── AvatarStack.visual.test.tsx-snapshots
│ │ │ │ ├── AvatarStack-render-story-MoreButton-dark-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButton-dark-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButton-light-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButton-light-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButtonOmit-dark-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButtonOmit-dark-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButtonOmit-light-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-MoreButtonOmit-light-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-SingleItem-dark-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-SingleItem-dark-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-SingleItem-light-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-SingleItem-light-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-Total-dark-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-Total-dark-webkit-linux.png
│ │ │ │ ├── AvatarStack-render-story-Total-light-chromium-linux.png
│ │ │ │ ├── AvatarStack-render-story-Total-light-webkit-linux.png
│ │ │ │ ├── AvatarStack-smoke-light-chromium-linux.png
│ │ │ │ └── AvatarStack-smoke-with-custom-more-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ └── AvatarStack.stories.tsx
│ │ ├── __tests__
│ │ │ ├── AvatarStack.visual.test.tsx
│ │ │ ├── cases.ts
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── stories.ts
│ │ ├── constants.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── types.ts
│ ├── Breadcrumbs
│ │ ├── Breadcrumbs.scss
│ │ ├── Breadcrumbs.tsx
│ │ ├── BreadcrumbsDropdownMenu.tsx
│ │ ├── BreadcrumbsItem.tsx
│ │ ├── BreadcrumbsSeparator.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Breadcrumbs.visual.test.tsx-snapshots
│ │ │ │ ├── Breadcrumbs-smoke-with-custom-icons-default-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-custom-icons-disabled-true-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-custom-separator-default-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-custom-separator-disabled-true-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-link-items-default-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-link-items-disabled-true-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-default-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-auto-end-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-auto-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-auto-start-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-bottom-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-left-end-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-left-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-left-start-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-right-end-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-right-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-right-start-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-top-end-light-chromium-linux.png
│ │ │ │ ├── Breadcrumbs-smoke-with-text-items-popupPlacement-top-light-chromium-linux.png
│ │ │ │ └── Breadcrumbs-smoke-with-text-items-popupPlacement-top-start-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Breadcrumbs.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Breadcrumbs.test.tsx
│ │ │ ├── Breadcrumbs.visual.test.tsx
│ │ │ ├── cases.ts
│ │ │ └── helpersPlaywright.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── utils.ts
│ ├── Button
│ │ ├── Button.scss
│ │ ├── Button.tsx
│ │ ├── ButtonIcon.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Button.visual.test.tsx-snapshots
│ │ │ │ ├── Button-render-custom-Icon-size-dark-chromium-linux.png
│ │ │ │ ├── Button-render-custom-Icon-size-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Disabled-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Disabled-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Icon-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Icon-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-InsideText-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-InsideText-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Link-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Link-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Loading-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Loading-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Pin-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Pin-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Selected-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Selected-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Size-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Size-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-View-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-View-light-chromium-linux.png
│ │ │ │ ├── Button-render-story-Width-dark-chromium-linux.png
│ │ │ │ ├── Button-render-story-Width-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-dark-chromium-linux.png
│ │ │ │ ├── Button-smoke-default-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-brick-brick-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-brick-circle-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-brick-clear-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-brick-round-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-circle-brick-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-circle-circle-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-circle-clear-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-clear-brick-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-clear-circle-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-clear-clear-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-clear-round-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-round-brick-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-round-clear-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-pin-round-round-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-action-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-action-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-contrast-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-danger-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-info-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-secondary-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-success-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-utility-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-flat-warning-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-normal-contrast-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-normal-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-action-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-contrast-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-danger-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-info-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-success-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-utility-hovered-light-chromium-linux.png
│ │ │ │ ├── Button-smoke-view-outlined-warning-hovered-light-chromium-linux.png
│ │ │ │ └── Button-smoke-view-raised-hovered-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Button.stories.tsx
│ │ │ ├── ButtonViewShowcase.scss
│ │ │ ├── ButtonViewShowcase.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Button.test.tsx
│ │ │ ├── Button.visual.test.tsx
│ │ │ ├── cases.ts
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ └── index.ts
│ ├── Card
│ │ ├── Card.scss
│ │ ├── Card.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Card.visual.test.tsx-snapshots
│ │ │ │ ├── Card-render-story-ActionType-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-ActionType-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-Custom-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-Custom-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-SelectionType-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-SelectionType-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-Size-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-Size-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-Theme-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-Theme-light-chromium-linux.png
│ │ │ │ ├── Card-render-story-View-dark-chromium-linux.png
│ │ │ │ ├── Card-render-story-View-light-chromium-linux.png
│ │ │ │ ├── Card-smoke-smoke-action-type-light-chromium-linux.png
│ │ │ │ ├── Card-smoke-smoke-container-type-light-chromium-linux.png
│ │ │ │ └── Card-smoke-smoke-selection-type-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Card.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Card.test.tsx
│ │ │ ├── Card.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ └── index.ts
│ ├── Checkbox
│ │ ├── Checkbox.scss
│ │ ├── Checkbox.tsx
│ │ ├── CheckboxDashIcon.tsx
│ │ ├── CheckboxTickIcon.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Checkbox.visual.test.tsx-snapshots
│ │ │ │ ├── Checkbox-smoke-dark-chromium-linux.png
│ │ │ │ └── Checkbox-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Checkbox.stories.tsx
│ │ │ ├── CheckboxShowcase.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Checkbox.test.tsx
│ │ │ ├── Checkbox.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── ClipboardButton
│ │ ├── ClipboardButton.scss
│ │ ├── ClipboardButton.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── ClipboardButton.visual.test.tsx-snapshots
│ │ │ │ ├── ClipboardButton-smoke-with-function-text-after-copy-light-chromium-linux.png
│ │ │ │ ├── ClipboardButton-smoke-with-function-text-after-hover-light-chromium-linux.png
│ │ │ │ ├── ClipboardButton-smoke-with-function-text-light-chromium-linux.png
│ │ │ │ ├── ClipboardButton-smoke-with-string-text-after-copy-light-chromium-linux.png
│ │ │ │ ├── ClipboardButton-smoke-with-string-text-after-hover-light-chromium-linux.png
│ │ │ │ └── ClipboardButton-smoke-with-string-text-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── ClipboardButton.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── ClipboardButton.test.tsx
│ │ │ └── ClipboardButton.visual.test.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ └── index.ts
│ ├── ClipboardIcon
│ │ ├── ClipboardIcon.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── ClipboardIcon.visual.test.tsx-snapshots
│ │ │ │ └── ClipboardIcon-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── ClipboardIcon.stories.scss
│ │ │ ├── ClipboardIcon.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── ClipboardIcon.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── ControlLabel
│ │ ├── ControlLabel.scss
│ │ ├── ControlLabel.tsx
│ │ ├── index.ts
│ │ └── types.ts
│ ├── CopyToClipboard
│ │ ├── CopyToClipboard.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ └── CopyToClipboard.test.tsx
│ │ ├── copyText.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── DefinitionList
│ │ ├── DefinitionList.scss
│ │ ├── DefinitionList.tsx
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── DefinitionList.visual.test.tsx-snapshots
│ │ │ │ ├── DefinitionList-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── DefinitionList-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── DefinitionList-smoke-default-light-chromium-linux.png
│ │ │ │ ├── DefinitionList-smoke-direction-horizontal-light-chromium-linux.png
│ │ │ │ ├── DefinitionList-smoke-direction-vertical-light-chromium-linux.png
│ │ │ │ ├── DefinitionList-smoke-responsive-contentMaxWidth-100-light-chromium-linux.png
│ │ │ │ ├── DefinitionList-smoke-responsive-default-light-chromium-linux.png
│ │ │ │ └── DefinitionList-smoke-responsive-nameMaxWidth-100-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ └── DefinitionList.stories.tsx
│ │ ├── __tests__
│ │ │ ├── DefinitionList.test.tsx
│ │ │ ├── DefinitionList.visual.test.tsx
│ │ │ └── stories.ts
│ │ ├── components
│ │ │ ├── DefinitionContent.tsx
│ │ │ ├── DefinitionListContext.tsx
│ │ │ ├── DefinitionListItem.tsx
│ │ │ └── TermContent.tsx
│ │ ├── constants.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Dialog
│ │ ├── ButtonClose
│ │ │ ├── ButtonClose.scss
│ │ │ └── ButtonClose.tsx
│ │ ├── Dialog.scss
│ │ ├── Dialog.tsx
│ │ ├── DialogBody
│ │ │ ├── DialogBody.scss
│ │ │ └── DialogBody.tsx
│ │ ├── DialogDivider
│ │ │ ├── DialogDivider.scss
│ │ │ └── DialogDivider.tsx
│ │ ├── DialogFooter
│ │ │ ├── DialogFooter.scss
│ │ │ └── DialogFooter.tsx
│ │ ├── DialogHeader
│ │ │ ├── DialogHeader.scss
│ │ │ └── DialogHeader.tsx
│ │ ├── DialogPrivateContext.ts
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Dialog.visual.test.tsx-snapshots
│ │ │ │ ├── Dialog-smoke-bodyContent-long-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-bodyHasBorder-true-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-default-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerLoading-true-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerPreset-danger-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerPreset-default-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerPreset-success-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerShowError-true-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerTextButtonApply-Custom-button-apply-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-footerTextButtonCancel-Custom-button-cancel-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-headerCaption-long-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-headerInsertAfter-true-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-headerInsertBefore-true-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-size-l-light-chromium-linux.png
│ │ │ │ ├── Dialog-smoke-size-m-light-chromium-linux.png
│ │ │ │ └── Dialog-smoke-size-s-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Dialog.stories.tsx
│ │ │ ├── DialogShowcase.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Dialog.test.tsx
│ │ │ ├── Dialog.visual.test.tsx
│ │ │ └── cases.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ └── index.ts
│ ├── Disclosure
│ │ ├── Disclosure.scss
│ │ ├── Disclosure.tsx
│ │ ├── DisclosureContext.tsx
│ │ ├── DisclosureDetails
│ │ │ └── DisclosureDetails.tsx
│ │ ├── DisclosureSummary
│ │ │ └── DisclosureSummary.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Disclosure.visual.test.tsx-snapshots
│ │ │ │ ├── Disclosure-smoke-smoke-collapsed-light-chromium-linux.png
│ │ │ │ └── Disclosure-smoke-smoke-expanded-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Disclosure.stories.scss
│ │ │ ├── Disclosure.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Disclosure.test.tsx
│ │ │ ├── Disclosure.visual.test.tsx
│ │ │ └── cases.tsx
│ │ ├── constants.ts
│ │ └── index.ts
│ ├── Divider
│ │ ├── Divider.scss
│ │ ├── Divider.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Divider.visual.test.tsx-snapshots
│ │ │ │ └── Divider-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Divider.stories.tsx
│ │ │ └── Docs.mdx
│ │ ├── __tests__
│ │ │ ├── Divider.test.tsx
│ │ │ ├── Divider.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpers.tsx
│ │ └── index.ts
│ ├── DropdownMenu
│ │ ├── DropdownMenu.classname.ts
│ │ ├── DropdownMenu.scss
│ │ ├── DropdownMenu.test.tsx
│ │ ├── DropdownMenu.tsx
│ │ ├── DropdownMenuContext.ts
│ │ ├── DropdownMenuItem.tsx
│ │ ├── DropdownMenuNavigationContext.tsx
│ │ ├── DropdownMenuPopup.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── DropdownMenu.visual.test.tsx-snapshots
│ │ │ │ ├── DropdownMenu-subitems-inherit-parents-size-smoke-default-light-chromium-linux.png
│ │ │ │ ├── DropdownMenu-subitems-inherit-parents-size-smoke-size-l-light-chromium-linux.png
│ │ │ │ ├── DropdownMenu-subitems-inherit-parents-size-smoke-size-m-light-chromium-linux.png
│ │ │ │ ├── DropdownMenu-subitems-inherit-parents-size-smoke-size-s-light-chromium-linux.png
│ │ │ │ └── DropdownMenu-subitems-inherit-parents-size-smoke-size-xl-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── DropdownMenu.stories.scss
│ │ │ ├── DropdownMenu.stories.tsx
│ │ │ └── options.tsx
│ │ ├── __tests__
│ │ │ ├── DropdownMenu.visual.test.tsx
│ │ │ └── cases.ts
│ │ ├── constants.ts
│ │ ├── hooks
│ │ │ ├── usePopupVisibility.ts
│ │ │ ├── useScrollHandler.ts
│ │ │ └── useSubmenu.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils
│ │ │ ├── isMenuActive.ts
│ │ │ ├── isSeparator.ts
│ │ │ ├── isSubmenuOpen.ts
│ │ │ ├── shouldSkipItemNavigation.ts
│ │ │ ├── stringifyNavigationPath.ts
│ │ │ └── toItemList.ts
│ ├── FilePreview
│ │ ├── FilePreview.scss
│ │ ├── FilePreview.tsx
│ │ ├── FilePreviewActions
│ │ │ ├── DesktopActionsMenu
│ │ │ │ ├── DesktopActionsMenu.scss
│ │ │ │ └── DesktopActionsMenu.tsx
│ │ │ ├── FilePreviewActions.tsx
│ │ │ └── MobileActionsMenu
│ │ │ │ ├── MobileActionsMenu.scss
│ │ │ │ └── MobileActionsMenu.tsx
│ │ ├── README.md
│ │ ├── __stories__
│ │ │ ├── CompactFilePreviewWithActionsShowcase
│ │ │ │ ├── CompactActionsMenu
│ │ │ │ │ ├── CompactActionsMenu.scss
│ │ │ │ │ └── CompactActionsMenu.tsx
│ │ │ │ ├── CompactFilePreviewWithActionsShowcase.scss
│ │ │ │ └── CompactFilePreviewWithActionsShowcase.tsx
│ │ │ ├── Docs.mdx
│ │ │ └── FilePreview.stories.tsx
│ │ ├── __tests__
│ │ │ └── FilePreview.test.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── utils.ts
│ │ └── variables.scss
│ ├── HelpMark
│ │ ├── HelpMark.scss
│ │ ├── HelpMark.tsx
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── HelpMark.visual.test.tsx-snapshots
│ │ │ │ ├── HelpMark-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── HelpMark-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-default-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-auto-end-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-auto-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-auto-start-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-bottom-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-left-end-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-left-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-left-start-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-right-end-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-right-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-right-start-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-top-end-light-chromium-linux.png
│ │ │ │ ├── HelpMark-smoke-placement-top-light-chromium-linux.png
│ │ │ │ └── HelpMark-smoke-placement-top-start-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── HelpMark.stories.tsx
│ │ │ └── Showcase.mdx
│ │ ├── __tests__
│ │ │ ├── HelpMark.test.tsx
│ │ │ ├── HelpMark.visual.test.tsx
│ │ │ ├── cases.ts
│ │ │ └── stories.ts
│ │ ├── constants.ts
│ │ └── index.ts
│ ├── Hotkey
│ │ ├── Hotkey.scss
│ │ ├── Hotkey.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Hotkey.visual.test.tsx-snapshots
│ │ │ │ ├── Hotkey-smoke-smoke-dark-view-dark-chromium-linux.png
│ │ │ │ └── Hotkey-smoke-smoke-light-view-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Hotkey.stories.tsx
│ │ │ └── README.md
│ │ ├── __tests__
│ │ │ ├── Hotkey.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── parse.test.ts
│ │ ├── definitions.ts
│ │ ├── index.ts
│ │ ├── parse.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Icon
│ │ ├── Icon.scss
│ │ ├── Icon.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Icon.visual.test.tsx-snapshots
│ │ │ │ └── Icon-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Icon.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Icon.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── utils.test.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Label
│ │ ├── Label.scss
│ │ ├── Label.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Label.visual.test.tsx-snapshots
│ │ │ │ ├── Label-render-story-Close-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Close-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Close-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Close-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Copy-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Copy-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Copy-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Copy-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Default-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Default-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Icon-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Icon-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Icon-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Icon-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Interactive-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Interactive-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Interactive-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Interactive-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-LinkWrapper-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-LinkWrapper-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-LinkWrapper-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-LinkWrapper-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Size-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Size-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Size-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Size-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Theme-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Theme-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Theme-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Theme-light-webkit-linux.png
│ │ │ │ ├── Label-render-story-Value-dark-chromium-linux.png
│ │ │ │ ├── Label-render-story-Value-dark-webkit-linux.png
│ │ │ │ ├── Label-render-story-Value-light-chromium-linux.png
│ │ │ │ ├── Label-render-story-Value-light-webkit-linux.png
│ │ │ │ ├── Label-smoke-dark-chromium-linux.png
│ │ │ │ ├── Label-smoke-light-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-close-dark-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-close-light-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-copy-dark-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-copy-light-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-custom-icon-dark-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-custom-icon-light-chromium-linux.png
│ │ │ │ ├── Label-smoke-with-info-dark-chromium-linux.png
│ │ │ │ └── Label-smoke-with-info-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Label.stories.tsx
│ │ │ ├── LabelShowcase.scss
│ │ │ └── LabelShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Label.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ └── index.ts
│ ├── Link
│ │ ├── Link.scss
│ │ ├── Link.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Link.visual.test.tsx-snapshots
│ │ │ │ ├── Link-smoke-dark-chromium-linux.png
│ │ │ │ └── Link-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Link.new.stories.tsx
│ │ │ ├── Link.stories.tsx
│ │ │ └── LinkShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Link.test.tsx
│ │ │ ├── Link.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── List
│ │ ├── List.scss
│ │ ├── List.tsx
│ │ ├── ListLoadingIndicator.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── List.visual.test.tsx-snapshots
│ │ │ │ ├── List-smoke-custom-render-item-light-chromium-linux.png
│ │ │ │ ├── List-smoke-empty-light-chromium-linux.png
│ │ │ │ ├── List-smoke-light-chromium-linux.png
│ │ │ │ └── List-smoke-virtualized-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── List.stories.tsx
│ │ │ ├── ListItem.stories.tsx
│ │ │ ├── ListShowcase.scss
│ │ │ ├── ListShowcase.tsx
│ │ │ ├── ListWithLoader.scss
│ │ │ └── ListWithLoader.tsx
│ │ ├── __tests__
│ │ │ ├── List.test.tsx
│ │ │ ├── List.visual.test.tsx
│ │ │ ├── ListItem.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── components
│ │ │ ├── ListItem.tsx
│ │ │ ├── SimpleContainer.tsx
│ │ │ └── index.ts
│ │ ├── constants.ts
│ │ ├── index.tsx
│ │ └── types.ts
│ ├── Loader
│ │ ├── Loader.scss
│ │ ├── Loader.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Loader.visual.test.tsx-snapshots
│ │ │ │ ├── Loader-smoke-dark-chromium-linux.png
│ │ │ │ └── Loader-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Loader.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Loader.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Menu
│ │ ├── Menu.scss
│ │ ├── Menu.tsx
│ │ ├── MenuGroup.tsx
│ │ ├── MenuItem.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Menu.visual.test.tsx-snapshots
│ │ │ │ ├── Menu-smoke-dark-chromium-linux.png
│ │ │ │ ├── Menu-smoke-light-chromium-linux.png
│ │ │ │ ├── Menu-smoke-menu-group-dark-chromium-linux.png
│ │ │ │ ├── Menu-smoke-menu-group-light-chromium-linux.png
│ │ │ │ ├── Menu-smoke-menu-item-dark-chromium-linux.png
│ │ │ │ ├── Menu-smoke-menu-item-light-chromium-linux.png
│ │ │ │ ├── Menu-smoke-menu-item-with-icons-dark-chromium-linux.png
│ │ │ │ └── Menu-smoke-menu-item-with-icons-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Menu.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Menu.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpers.tsx
│ │ └── index.ts
│ ├── Modal
│ │ ├── Modal.scss
│ │ ├── Modal.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Modal.visual.test.tsx-snapshots
│ │ │ │ ├── Modal-smoke-dark-chromium-linux.png
│ │ │ │ └── Modal-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Modal.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Modal.visual.test.tsx
│ │ │ └── constants.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ └── index.ts
│ ├── NumberInput
│ │ ├── NumberInput.scss
│ │ ├── NumberInput.tsx
│ │ ├── NumericArrows
│ │ │ ├── NumericArrows.scss
│ │ │ └── NumericArrows.tsx
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── NumberInput.visual.test.tsx-snapshots
│ │ │ │ ├── NumberInput-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── NumberInput-render-story-Default-dark-webkit-linux.png
│ │ │ │ ├── NumberInput-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── NumberInput-render-story-Default-light-webkit-linux.png
│ │ │ │ ├── NumberInput-smoke-empty-light-chromium-linux.png
│ │ │ │ ├── NumberInput-smoke-inside-error-placement-tooltip-light-chromium-linux.png
│ │ │ │ ├── NumberInput-smoke-with-error-light-chromium-linux.png
│ │ │ │ └── NumberInput-smoke-with-value-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── NumberInput.stories.tsx
│ │ ├── __tests__
│ │ │ ├── NumberInput.test.tsx
│ │ │ ├── NumberInput.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── stories.tsx
│ │ │ └── utils.test.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── utils.ts
│ ├── Overlay
│ │ ├── Overlay.scss
│ │ ├── Overlay.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Overlay.visual.test.tsx-snapshots
│ │ │ │ ├── Overlay-smoke-dark-chromium-linux.png
│ │ │ │ ├── Overlay-smoke-dark-webkit-linux.png
│ │ │ │ ├── Overlay-smoke-light-chromium-linux.png
│ │ │ │ └── Overlay-smoke-light-webkit-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Overlay.stories.scss
│ │ │ ├── Overlay.stories.tsx
│ │ │ └── data.tsx
│ │ ├── __tests__
│ │ │ ├── Overlay.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Pagination
│ │ ├── Pagination.scss
│ │ ├── Pagination.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Pagination.visual.test.tsx-snapshots
│ │ │ │ ├── Pagination-smoke-not-compact-default-click-on-page-10-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-not-compact-default-click-on-page-2-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-not-compact-default-hover-on-page-10-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-not-compact-default-hover-on-page-2-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-not-compact-default-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-regular-default-click-on-page-10-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-regular-default-click-on-page-2-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-regular-default-hover-on-page-10-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-regular-default-hover-on-page-2-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-regular-default-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-input-default-after-type-enter-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-input-default-after-type-page-number-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-input-default-focus-on-input-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-input-default-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-size-select-default-after-click-on-page-size-select-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-size-select-default-after-hover-option-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-size-select-default-after-select-option-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-with-page-size-select-default-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-without-pages-default-click-on-next-page-button-light-chromium-linux.png
│ │ │ │ ├── Pagination-smoke-without-pages-default-hover-on-next-page-button-light-chromium-linux.png
│ │ │ │ └── Pagination-smoke-without-pages-default-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Pagination.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Pagination.test.tsx
│ │ │ ├── Pagination.visual.test.tsx
│ │ │ └── helpers.tsx
│ │ ├── components
│ │ │ ├── PaginationButton
│ │ │ │ └── PaginationButton.tsx
│ │ │ ├── PaginationEllipsis
│ │ │ │ ├── PaginationEllipsis.scss
│ │ │ │ └── PaginationEllipsis.tsx
│ │ │ ├── PaginationInput
│ │ │ │ ├── PaginationInput.scss
│ │ │ │ └── PaginationInput.tsx
│ │ │ ├── PaginationPage
│ │ │ │ ├── PaginationPage.scss
│ │ │ │ └── PaginationPage.tsx
│ │ │ ├── PaginationPageOf
│ │ │ │ ├── PaginationPageOf.scss
│ │ │ │ └── PaginationPageOf.tsx
│ │ │ ├── PaginationPageSizer
│ │ │ │ └── PaginationPageSizer.tsx
│ │ │ └── index.ts
│ │ ├── constants.ts
│ │ ├── hooks
│ │ │ └── usePagination.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── utils.test.ts
│ │ └── utils.ts
│ ├── Palette
│ │ ├── Palette.scss
│ │ ├── Palette.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Palette.visual.test.tsx-snapshots
│ │ │ │ ├── Palette-smoke-hover-after-click-dark-chromium-linux.png
│ │ │ │ ├── Palette-smoke-hover-after-click-light-chromium-linux.png
│ │ │ │ ├── Palette-smoke-hover-after-focus-dark-chromium-linux.png
│ │ │ │ ├── Palette-smoke-hover-after-focus-light-chromium-linux.png
│ │ │ │ ├── Palette-smoke-hover-dark-chromium-linux.png
│ │ │ │ ├── Palette-smoke-hover-light-chromium-linux.png
│ │ │ │ └── Palette-smoke-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Palette.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Palette.test.tsx
│ │ │ ├── Palette.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── utils.test.ts
│ │ ├── hooks.ts
│ │ ├── index.ts
│ │ └── utils.ts
│ ├── PinInput
│ │ ├── PinInput.scss
│ │ ├── PinInput.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── PinInput.visual.test.tsx-snapshots
│ │ │ │ ├── PinInput-smoke-alphabetic-light-chromium-linux.png
│ │ │ │ ├── PinInput-smoke-empty-light-chromium-linux.png
│ │ │ │ └── PinInput-smoke-number-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── PinInput.stories.tsx
│ │ ├── __tests__
│ │ │ ├── PinInput.test.tsx
│ │ │ ├── PinInput.visual.test.tsx
│ │ │ └── cases.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ └── index.ts
│ ├── PlaceholderContainer
│ │ ├── PlaceholderContainer.scss
│ │ ├── PlaceholderContainer.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── PlaceholderContainer.visual.test.tsx-snapshots
│ │ │ │ ├── PlaceholderContainer-render-story-Actions-dark-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Actions-light-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Align-dark-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Align-light-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Direction-dark-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Direction-light-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Size-dark-chromium-linux.png
│ │ │ │ ├── PlaceholderContainer-render-story-Size-light-chromium-linux.png
│ │ │ │ └── PlaceholderContainer-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── PlaceholderContainer.stories.tsx
│ │ │ └── PlaceholderContainerShowcase.scss
│ │ ├── __tests__
│ │ │ ├── PlaceholderContainer.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── Popover
│ │ ├── Popover.tsx
│ │ ├── README.md
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Popover.stories.tsx
│ │ └── index.ts
│ ├── Popup
│ │ ├── Popup.scss
│ │ ├── Popup.tsx
│ │ ├── PopupArrow.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Popup.visual.test.tsx-snapshots
│ │ │ │ ├── Popup-smoke-default-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-offset-10-25-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-default-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-auto-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-auto-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-auto-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-bottom-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-left-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-left-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-left-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-right-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-right-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-right-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-top-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-top-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-placement-top-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-default-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-auto-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-auto-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-auto-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-bottom-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-left-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-left-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-left-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-right-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-right-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-right-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-top-end-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-top-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-placement-with-arrow-placement-top-start-light-chromium-linux.png
│ │ │ │ ├── Popup-smoke-strategy-absolute-light-chromium-linux.png
│ │ │ │ └── Popup-smoke-strategy-fixed-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Popup.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Popup.test.tsx
│ │ │ ├── Popup.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── constants.ts
│ │ │ └── helpers.tsx
│ │ ├── constants.ts
│ │ ├── hooks.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Portal
│ │ ├── Portal.scss
│ │ ├── Portal.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Portal.stories.tsx
│ │ │ └── README.md
│ │ └── index.ts
│ ├── Progress
│ │ ├── Progress.scss
│ │ ├── Progress.tsx
│ │ ├── ProgressInnerText.tsx
│ │ ├── ProgressStackItem.tsx
│ │ ├── ProgressWithStack.tsx
│ │ ├── ProgressWithValue.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── __snapshots__
│ │ │ └── Progress.visual.test.tsx-snapshots
│ │ │ │ ├── Progress-smoke-smoke-light-chromium-linux.png
│ │ │ │ ├── Progress-smoke-smoke-with-color-stops-light-chromium-linux.png
│ │ │ │ └── Progress-smoke-smoke-with-stack-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Progress.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Progress.visual.test.tsx
│ │ │ └── cases.tsx
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Radio
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Radio.scss
│ │ ├── Radio.tsx
│ │ ├── __snapshots__
│ │ │ └── Radio.visual.test.tsx-snapshots
│ │ │ │ ├── Radio-smoke-dark-chromium-linux.png
│ │ │ │ ├── Radio-smoke-default-checked-dark-chromium-linux.png
│ │ │ │ ├── Radio-smoke-default-checked-light-chromium-linux.png
│ │ │ │ ├── Radio-smoke-disabled-dark-chromium-linux.png
│ │ │ │ ├── Radio-smoke-disabled-light-chromium-linux.png
│ │ │ │ └── Radio-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Radio.stories.tsx
│ │ │ └── RadioShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Radio.test.tsx
│ │ │ ├── Radio.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── RadioGroup
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── RadioGroup.scss
│ │ ├── RadioGroup.tsx
│ │ ├── __snapshots__
│ │ │ └── RadioGroup.visual.test.tsx-snapshots
│ │ │ │ ├── RadioGroup-smoke-dark-chromium-linux.png
│ │ │ │ ├── RadioGroup-smoke-disabled-dark-chromium-linux.png
│ │ │ │ ├── RadioGroup-smoke-disabled-light-chromium-linux.png
│ │ │ │ └── RadioGroup-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── RadioGroup.stories.tsx
│ │ │ └── RadioGroupShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── RadioGroup.test.tsx
│ │ │ ├── RadioGroup.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── SegmentedRadioGroup
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── SegmentedRadioGroup.scss
│ │ ├── SegmentedRadioGroup.tsx
│ │ ├── SegmentedRadioGroupOption.tsx
│ │ ├── __snapshots__
│ │ │ └── RadioButton.visual.test.tsx-snapshots
│ │ │ │ ├── SegmentedRadioGroup-smoke-dark-chromium-linux.png
│ │ │ │ ├── SegmentedRadioGroup-smoke-disabled-dark-chromium-linux.png
│ │ │ │ ├── SegmentedRadioGroup-smoke-disabled-light-chromium-linux.png
│ │ │ │ └── SegmentedRadioGroup-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── SegmentedRadioGroup.stories.tsx
│ │ │ └── SegmentedRadioGroupShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── RadioButton.visual.test.tsx
│ │ │ ├── SegmentedRadioGroup.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Select
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Select.scss
│ │ ├── Select.tsx
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Select.stories.tsx
│ │ │ ├── SelectPopupWidthShowcase.tsx
│ │ │ ├── SelectShowcase.scss
│ │ │ ├── Showcase.mdx
│ │ │ ├── UseSelectOptionsShowcase.tsx
│ │ │ └── constants.ts
│ │ ├── __tests__
│ │ │ ├── Select.base-actions.test.tsx
│ │ │ ├── Select.clear.test.tsx
│ │ │ ├── Select.error.test.tsx
│ │ │ ├── Select.filter.test.tsx
│ │ │ ├── Select.form.test.tsx
│ │ │ ├── Select.muitiple.test.tsx
│ │ │ ├── Select.popup.test.tsx
│ │ │ ├── Select.renderPopup.test.tsx
│ │ │ ├── Select.single.test.tsx
│ │ │ ├── getSelectedOptionsContent.test.ts
│ │ │ ├── useSelectOptions.test.ts
│ │ │ └── utils.tsx
│ │ ├── components
│ │ │ ├── EmptyOptions
│ │ │ │ ├── EmptyOptions.scss
│ │ │ │ └── EmptyOptions.tsx
│ │ │ ├── HiddenSelect
│ │ │ │ └── HiddenSelect.tsx
│ │ │ ├── SelectClear
│ │ │ │ ├── SelectClear.scss
│ │ │ │ └── SelectClear.tsx
│ │ │ ├── SelectControl
│ │ │ │ ├── SelectControl.scss
│ │ │ │ └── SelectControl.tsx
│ │ │ ├── SelectCounter
│ │ │ │ ├── SelectCounter.scss
│ │ │ │ └── SelectCounter.tsx
│ │ │ ├── SelectFilter
│ │ │ │ ├── SelectFilter.scss
│ │ │ │ └── SelectFilter.tsx
│ │ │ ├── SelectList
│ │ │ │ ├── GroupLabel.tsx
│ │ │ │ ├── OptionWrap.tsx
│ │ │ │ ├── SelectList.scss
│ │ │ │ ├── SelectList.tsx
│ │ │ │ └── SelectLoadingIndicator.tsx
│ │ │ ├── SelectPopup
│ │ │ │ ├── SelectPopup.scss
│ │ │ │ ├── SelectPopup.tsx
│ │ │ │ ├── middlewares.ts
│ │ │ │ └── types.ts
│ │ │ └── index.ts
│ │ ├── constants.ts
│ │ ├── hooks-public
│ │ │ ├── index.ts
│ │ │ └── useSelectOptions
│ │ │ │ ├── README.md
│ │ │ │ └── index.ts
│ │ ├── hooks
│ │ │ ├── index.ts
│ │ │ ├── useActiveItemIndex.ts
│ │ │ └── useQuickSearch.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── tech-components.tsx
│ │ ├── types-misc.ts
│ │ ├── types.ts
│ │ ├── utils.tsx
│ │ └── variables.scss
│ ├── Sheet
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Sheet.scss
│ │ ├── Sheet.tsx
│ │ ├── SheetContent.tsx
│ │ ├── __snapshots__
│ │ │ └── Sheet.visual.test.tsx-snapshots
│ │ │ │ ├── Sheet-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Sheet-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Sheet-smoke-default-light-chromium-linux.png
│ │ │ │ ├── Sheet-smoke-hideTopBar-true-light-chromium-linux.png
│ │ │ │ └── Sheet-smoke-title-Title-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── DefaultShowcase
│ │ │ │ ├── DefaultShowcase.scss
│ │ │ │ └── DefaultShowcase.stories.tsx
│ │ │ ├── Docs.mdx
│ │ │ ├── MultipleSheetsShowcase
│ │ │ │ ├── MultipleSheets.scss
│ │ │ │ └── MultipleSheets.stories.tsx
│ │ │ ├── Sheet.stories.tsx
│ │ │ ├── WithMenuShowcase
│ │ │ │ ├── WithMenuShowcase.scss
│ │ │ │ └── WithMenuShowcase.stories.tsx
│ │ │ └── constants.ts
│ │ ├── __tests__
│ │ │ ├── Sheet.test.tsx
│ │ │ ├── Sheet.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── constants.ts
│ │ │ ├── helpers.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ └── utils.ts
│ ├── Skeleton
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Skeleton.scss
│ │ ├── Skeleton.tsx
│ │ ├── __snapshots__
│ │ │ └── Skeleton.visual.test.tsx-snapshots
│ │ │ │ ├── Skeleton-smoke-dark-chromium-linux.png
│ │ │ │ └── Skeleton-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Skeleton.stories.tsx
│ │ │ ├── SkeletonShowcase.scss
│ │ │ └── SkeletonShowcase.tsx
│ │ ├── __tests__
│ │ │ └── Skeleton.visual.test.tsx
│ │ └── index.ts
│ ├── Slider
│ │ ├── BaseSlider
│ │ │ ├── BaseSlider.scss
│ │ │ └── BaseSlider.tsx
│ │ ├── HandleWithTooltip
│ │ │ └── HandleWithTooltip.tsx
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Slider.scss
│ │ ├── Slider.tsx
│ │ ├── SliderTooltip
│ │ │ ├── SliderTooltip.scss
│ │ │ ├── SliderTooltip.tsx
│ │ │ └── SliderTooltipPin.tsx
│ │ ├── __snapshots__
│ │ │ └── Slider.visual.test.tsx-snapshots
│ │ │ │ ├── Slider-smoke-light-chromium-linux.png
│ │ │ │ ├── Slider-smoke-range-value-light-chromium-linux.png
│ │ │ │ ├── Slider-smoke-range-value-with-error-light-chromium-linux.png
│ │ │ │ └── Slider-smoke-with-error-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Slider.stories.tsx
│ │ │ ├── SliderShowcase.scss
│ │ │ └── SliderShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Slider.visual.test.tsx
│ │ │ └── cases.tsx
│ │ ├── __tetsts__
│ │ │ └── Slider.form.test.tsx
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── utils.ts
│ │ └── variables.scss
│ ├── Spin
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Spin.scss
│ │ ├── Spin.tsx
│ │ ├── __snapshots__
│ │ │ └── Spin.visual.test.tsx-snapshots
│ │ │ │ ├── Spin-smoke-dark-chromium-linux.png
│ │ │ │ └── Spin-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Spin.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Spin.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Stepper
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Stepper.scss
│ │ ├── Stepper.tsx
│ │ ├── StepperItem.tsx
│ │ ├── StepperSeparator.tsx
│ │ ├── __snapshots__
│ │ │ └── Stepper.visual.test.tsx-snapshots
│ │ │ │ ├── Stepper-render-story-CustomIcons-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-CustomIcons-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-CustomSeparator-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-CustomSeparator-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Disabled-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Disabled-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-InteractiveShowcase-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-InteractiveShowcase-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Size-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-Size-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-View-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-View-light-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-WithFloatingElements-dark-chromium-linux.png
│ │ │ │ ├── Stepper-render-story-WithFloatingElements-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-sizes-default-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-sizes-size-l-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-sizes-size-m-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-sizes-size-s-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-views-default-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-views-view-error-light-chromium-linux.png
│ │ │ │ ├── Stepper-smoke-with-different-views-view-idle-light-chromium-linux.png
│ │ │ │ └── Stepper-smoke-with-different-views-view-success-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Stepper.stories.tsx
│ │ │ └── StepperShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Stepper.test.tsx
│ │ │ ├── Stepper.visual.test.tsx
│ │ │ ├── cases.ts
│ │ │ └── helpersPlaywright.tsx
│ │ ├── context.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── Switch
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Switch.scss
│ │ ├── Switch.tsx
│ │ ├── __snapshots__
│ │ │ └── Switch.visual.test.tsx-snapshots
│ │ │ │ ├── Switch-smoke-checked-dark-chromium-linux.png
│ │ │ │ ├── Switch-smoke-checked-light-chromium-linux.png
│ │ │ │ ├── Switch-smoke-dark-chromium-linux.png
│ │ │ │ └── Switch-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Switch.stories.tsx
│ │ │ └── SwitchShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Switch.test.tsx
│ │ │ ├── Switch.visual.test.tsx
│ │ │ └── cases.tsx
│ │ └── index.ts
│ ├── Table
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Table.scss
│ │ ├── Table.tsx
│ │ ├── __snapshots__
│ │ │ └── Table.visual.test.tsx-snapshots
│ │ │ │ ├── Table-render-story-Adaptive-light-chromium-linux.png
│ │ │ │ ├── Table-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── Table-render-story-EmptyCustom-light-chromium-linux.png
│ │ │ │ ├── Table-render-story-EmptyDefault-light-chromium-linux.png
│ │ │ │ ├── Table-render-story-HOCWithTableSorting-light-chromium-linux.png
│ │ │ │ ├── Table-render-story-RowInteractive-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-column-config-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-with-actions-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-with-checkbox-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-with-copy-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-with-filterable-settings-light-chromium-linux.png
│ │ │ │ ├── Table-smoke-with-settings-light-chromium-linux.png
│ │ │ │ └── Table-smoke-with-table-settings-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Adaptive.tsx
│ │ │ ├── Docs.mdx
│ │ │ ├── Table.stories.tsx
│ │ │ ├── WithTableSettingsCustomActions
│ │ │ │ ├── WithTableSettingsCustomActions.tsx
│ │ │ │ └── index.ts
│ │ │ └── utils.tsx
│ │ ├── __tests__
│ │ │ ├── Table.hocs.test.ts
│ │ │ ├── Table.test.tsx
│ │ │ ├── Table.visual.test.tsx
│ │ │ ├── Table.withTableSettings.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── utils.ts
│ │ ├── hoc
│ │ │ ├── index.ts
│ │ │ ├── withTableActions
│ │ │ │ ├── withTableActions.scss
│ │ │ │ └── withTableActions.tsx
│ │ │ ├── withTableCopy
│ │ │ │ ├── withTableCopy.scss
│ │ │ │ └── withTableCopy.tsx
│ │ │ ├── withTableSelection
│ │ │ │ ├── withTableSelection.scss
│ │ │ │ └── withTableSelection.tsx
│ │ │ ├── withTableSettings
│ │ │ │ ├── TableColumnSetup
│ │ │ │ │ ├── TableColumnSetup.scss
│ │ │ │ │ ├── TableColumnSetup.tsx
│ │ │ │ │ └── i18n
│ │ │ │ │ │ ├── en.json
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── ru.json
│ │ │ │ ├── i18n
│ │ │ │ │ ├── en.json
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── ru.json
│ │ │ │ ├── withTableSettings.scss
│ │ │ │ └── withTableSettings.tsx
│ │ │ └── withTableSorting
│ │ │ │ ├── SortIndicator
│ │ │ │ └── SortIndicator.tsx
│ │ │ │ ├── withTableSorting.scss
│ │ │ │ └── withTableSorting.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── variables.scss
│ ├── TableColumnSetup
│ │ ├── TableColumnSetup.scss
│ │ ├── TableColumnSetup.tsx
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ └── index.ts
│ ├── Text
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Text.tsx
│ │ ├── __snapshots__
│ │ │ └── Text.visual.test.tsx-snapshots
│ │ │ │ ├── Text-smoke-long-text-light-chromium-linux.png
│ │ │ │ ├── Text-smoke-regular-light-chromium-linux.png
│ │ │ │ ├── Text-smoke-render-story-Ellipsis-light-chromium-linux.png
│ │ │ │ └── Text-smoke-render-story-WordBreak-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Text.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Text.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpersPlaywright.tsx
│ │ │ └── stories.ts
│ │ ├── colorText
│ │ │ ├── colorText.scss
│ │ │ └── colorText.ts
│ │ ├── index.ts
│ │ └── text
│ │ │ ├── text.scss
│ │ │ └── text.ts
│ ├── Toaster
│ │ ├── Provider
│ │ │ ├── ToasterContext.ts
│ │ │ ├── ToasterProvider.tsx
│ │ │ └── ToastsContext.ts
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Toast
│ │ │ ├── Toast.scss
│ │ │ └── Toast.tsx
│ │ ├── ToastList
│ │ │ ├── ToastAnimation.scss
│ │ │ ├── ToastList.scss
│ │ │ └── ToastList.tsx
│ │ ├── Toaster.ts
│ │ ├── ToasterComponent
│ │ │ └── ToasterComponent.tsx
│ │ ├── __mocks__
│ │ │ ├── fireAnimationEndEvent.ts
│ │ │ ├── getToast.ts
│ │ │ └── tick.ts
│ │ ├── __snapshots__
│ │ │ └── Toast.visual.test.tsx-snapshots
│ │ │ │ ├── Toast-render-story-ToastPlayground-danger-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-danger-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-danger-light-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-danger-light-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-info-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-info-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-info-light-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-info-light-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-normal-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-normal-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-normal-light-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-normal-light-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-success-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-success-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-success-light-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-success-light-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-utility-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-utility-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-utility-light-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-utility-light-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-warning-dark-chromium-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-warning-dark-webkit-linux.png
│ │ │ │ ├── Toast-render-story-ToastPlayground-warning-light-chromium-linux.png
│ │ │ │ └── Toast-render-story-ToastPlayground-warning-light-webkit-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Toaster.stories.tsx
│ │ │ ├── ToasterShowcase.scss
│ │ │ └── ToasterShowcase.tsx
│ │ ├── __tests__
│ │ │ ├── Toast.visual.test.tsx
│ │ │ ├── ToasterProvider.test.tsx
│ │ │ └── helpersPlaywright.tsx
│ │ ├── constants.ts
│ │ ├── hooks
│ │ │ ├── useInToasterContext.ts
│ │ │ └── useToaster.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── utilities
│ │ │ ├── EventEmitter.ts
│ │ │ ├── getToastIndex.tsx
│ │ │ ├── hasToast.ts
│ │ │ └── removeToast.ts
│ │ └── withToaster.tsx
│ ├── Toc
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Toc.tsx
│ │ ├── TocItem
│ │ │ ├── TocItem.scss
│ │ │ ├── TocItem.tsx
│ │ │ └── index.ts
│ │ ├── TocSections
│ │ │ ├── TocSections.scss
│ │ │ ├── TocSections.tsx
│ │ │ └── index.ts
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── Toc.stories.scss
│ │ │ └── Toc.stories.tsx
│ │ ├── __tests__
│ │ │ └── Toc.test.tsx
│ │ ├── index.ts
│ │ └── types.ts
│ ├── Tooltip
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── Tooltip.scss
│ │ ├── Tooltip.tsx
│ │ ├── __snapshots__
│ │ │ └── Tooltip.visual.test.tsx-snapshots
│ │ │ │ ├── Tooltip-smoke-default-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-auto-end-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-auto-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-auto-start-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-bottom-end-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-bottom-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-bottom-start-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-left-end-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-left-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-left-start-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-right-end-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-right-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-right-start-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-top-end-light-chromium-linux.png
│ │ │ │ ├── Tooltip-smoke-placement-top-light-chromium-linux.png
│ │ │ │ └── Tooltip-smoke-placement-top-start-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── Tooltip.stories.tsx
│ │ ├── __tests__
│ │ │ ├── Tooltip.test.tsx
│ │ │ ├── Tooltip.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── constants.ts
│ │ │ └── helpers.tsx
│ │ └── index.ts
│ ├── TreeList
│ │ ├── TreeList.tsx
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── TreeList.stories.tsx
│ │ │ ├── TreeListDocs.md
│ │ │ ├── components
│ │ │ │ └── RenderVirtualizedContainer.tsx
│ │ │ └── stories
│ │ │ │ ├── DefaultStory.tsx
│ │ │ │ ├── InfinityScrollStory.tsx
│ │ │ │ ├── WithDisabledElementsStory.tsx
│ │ │ │ ├── WithDndListStory.tsx
│ │ │ │ ├── WithFiltrationAndControlsStory.tsx
│ │ │ │ ├── WithGroupSelectionAndCustomIconStory.tsx
│ │ │ │ └── WithItemLinksAndActionsStory.tsx
│ │ ├── index.ts
│ │ └── types.ts
│ ├── TreeSelect
│ │ ├── TreeSelect.scss
│ │ ├── TreeSelect.tsx
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── TreeSelect.stories.tsx
│ │ │ ├── TreeSelectDocs.md
│ │ │ └── components
│ │ │ │ ├── ErrorStateExample.tsx
│ │ │ │ ├── InfinityScrollExample.tsx
│ │ │ │ ├── WithDisabledElementsExample.tsx
│ │ │ │ ├── WithDndListExample.tsx
│ │ │ │ ├── WithFiltrationAndControlsExample.tsx
│ │ │ │ ├── WithGroupSelectionControlledStateAndCustomIcon.tsx
│ │ │ │ └── WithItemLinksAndActionsExample.tsx
│ │ ├── hooks
│ │ │ └── useControlledValue.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── User
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── User.scss
│ │ ├── User.tsx
│ │ ├── __snapshots__
│ │ │ └── User.visual.test.tsx-snapshots
│ │ │ │ ├── User-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── User-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── User-render-story-Showcase-dark-chromium-linux.png
│ │ │ │ ├── User-render-story-Showcase-light-chromium-linux.png
│ │ │ │ └── User-smoke-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── User.stories.tsx
│ │ ├── __tests__
│ │ │ ├── User.test.tsx
│ │ │ ├── User.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpers.tsx
│ │ │ └── stories.ts
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── UserLabel
│ │ ├── README-ru.md
│ │ ├── README.md
│ │ ├── UserLabel.scss
│ │ ├── UserLabel.tsx
│ │ ├── __snapshots__
│ │ │ └── UserLabel.visual.test.tsx-snapshots
│ │ │ │ ├── UserLabel-render-story-Clickable-default-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Clickable-default-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Clickable-hovered-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Clickable-hovered-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Closable-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Closable-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Default-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Default-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Email-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Email-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Empty-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Empty-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Image-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Image-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-LongText-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-LongText-light-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Showcase-dark-chromium-linux.png
│ │ │ │ ├── UserLabel-render-story-Showcase-light-chromium-linux.png
│ │ │ │ ├── UserLabel-smoke-email-light-chromium-linux.png
│ │ │ │ ├── UserLabel-smoke-person-light-chromium-linux.png
│ │ │ │ └── UserLabel-smoke-user-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ └── UserLabel.stories.tsx
│ │ ├── __tests__
│ │ │ ├── UserLabel.test.tsx
│ │ │ ├── UserLabel.visual.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── helpers.tsx
│ │ │ └── stories.ts
│ │ ├── constants.ts
│ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.ts
│ │ │ └── ru.json
│ │ ├── index.ts
│ │ └── types.ts
│ ├── controls
│ │ ├── PasswordInput
│ │ │ ├── PasswordInput.scss
│ │ │ ├── PasswordInput.tsx
│ │ │ ├── README.md
│ │ │ ├── __snapshots__
│ │ │ │ └── PasswordInput.visual.test.tsx-snapshots
│ │ │ │ │ ├── PasswordInput-render-story-Default-dark-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-render-story-Default-dark-webkit-linux.png
│ │ │ │ │ ├── PasswordInput-render-story-Default-light-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-render-story-Default-light-webkit-linux.png
│ │ │ │ │ ├── PasswordInput-smoke-copy-button-tooltip-light-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-smoke-empty-light-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-smoke-inside-error-placement-tooltip-light-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-smoke-light-chromium-linux.png
│ │ │ │ │ ├── PasswordInput-smoke-reveal-button-tooltip-light-chromium-linux.png
│ │ │ │ │ └── PasswordInput-smoke-with-error-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ └── PasswordInput.stories.tsx
│ │ │ ├── __tests__
│ │ │ │ ├── PasswordInput.visual.test.tsx
│ │ │ │ ├── cases.tsx
│ │ │ │ └── helpersPlaywright.ts
│ │ │ ├── constants.ts
│ │ │ ├── i18n
│ │ │ │ ├── en.json
│ │ │ │ ├── index.ts
│ │ │ │ └── ru.json
│ │ │ ├── index.ts
│ │ │ └── utils.ts
│ │ ├── TextArea
│ │ │ ├── README.md
│ │ │ ├── TextArea.scss
│ │ │ ├── TextArea.tsx
│ │ │ ├── TextAreaControl.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── TextArea.visual.test.tsx-snapshots
│ │ │ │ │ ├── TextArea-smoke-empty-light-chromium-linux.png
│ │ │ │ │ ├── TextArea-smoke-with-error-light-chromium-linux.png
│ │ │ │ │ └── TextArea-smoke-with-value-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ ├── TextArea.stories.tsx
│ │ │ │ ├── TextAreaShowcase.scss
│ │ │ │ └── TextAreaShowcase.tsx
│ │ │ ├── __tests__
│ │ │ │ ├── TextArea.test.tsx
│ │ │ │ ├── TextArea.visual.test.tsx
│ │ │ │ └── cases.tsx
│ │ │ └── index.ts
│ │ ├── TextInput
│ │ │ ├── AdditionalContent.tsx
│ │ │ ├── README.md
│ │ │ ├── TextInput.scss
│ │ │ ├── TextInput.tsx
│ │ │ ├── TextInputControl.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── TextInput.visual.test.tsx-snapshots
│ │ │ │ │ ├── TextInput-smoke-empty-light-chromium-linux.png
│ │ │ │ │ ├── TextInput-smoke-inside-error-placement-tooltip-light-chromium-linux.png
│ │ │ │ │ ├── TextInput-smoke-inside-error-placement-tooltip-with-clear-button-light-chromium-linux.png
│ │ │ │ │ ├── TextInput-smoke-with-error-light-chromium-linux.png
│ │ │ │ │ └── TextInput-smoke-with-value-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ ├── TextInput.stories.tsx
│ │ │ │ ├── TextInputCustomThemeShowcase.tsx
│ │ │ │ ├── TextInputShowcase.scss
│ │ │ │ └── TextInputShowcase.tsx
│ │ │ ├── __tests__
│ │ │ │ ├── AdditionalContent.test.tsx
│ │ │ │ ├── TextInput.input.test.tsx
│ │ │ │ ├── TextInput.visual.test.tsx
│ │ │ │ └── cases.tsx
│ │ │ └── index.ts
│ │ ├── common
│ │ │ ├── ClearButton
│ │ │ │ ├── ClearButton.scss
│ │ │ │ ├── ClearButton.tsx
│ │ │ │ └── i18n
│ │ │ │ │ ├── en.json
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── ru.json
│ │ │ ├── OuterAdditionalContent
│ │ │ │ ├── OuterAdditionalContent.scss
│ │ │ │ └── OuterAdditionalContent.tsx
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ ├── mixins.scss
│ │ ├── types.ts
│ │ ├── utils.ts
│ │ └── variables.scss
│ ├── index.ts
│ ├── lab
│ │ ├── ListItemView
│ │ │ ├── ListItemView.scss
│ │ │ └── ListItemView.tsx
│ │ ├── Menu
│ │ │ ├── Menu.scss
│ │ │ ├── Menu.tsx
│ │ │ ├── MenuContext.ts
│ │ │ ├── MenuDivider.scss
│ │ │ ├── MenuDivider.tsx
│ │ │ ├── MenuItem.scss
│ │ │ ├── MenuItem.tsx
│ │ │ ├── MenuItemContext.ts
│ │ │ ├── MenuTrigger.tsx
│ │ │ ├── README.md
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ ├── Menu.stories.tsx
│ │ │ │ └── utils.tsx
│ │ │ ├── __tests__
│ │ │ │ └── Menu.test.tsx
│ │ │ ├── index.ts
│ │ │ ├── types.ts
│ │ │ └── utils.ts
│ │ └── Virtualizer
│ │ │ ├── Virtualizer.tsx
│ │ │ └── useLoadMore.tsx
│ ├── layout
│ │ ├── Box
│ │ │ ├── Box.scss
│ │ │ └── Box.tsx
│ │ ├── Col
│ │ │ ├── Col.scss
│ │ │ ├── Col.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── Col.visual.test.tsx-snapshots
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---l-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---m-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---s-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---xl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-AllMods---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---l-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---m-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---s-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---xl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Dynamic---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---l-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---m-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---s-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---xl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-DynamicWithOverriddenBreakpoints---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Static---l-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Static---m-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Static---s-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Static---xl-light-chromium-linux.png
│ │ │ │ │ ├── Col-smoke-render-story-Static---xxl-light-chromium-linux.png
│ │ │ │ │ └── Col-smoke-render-story-Static---xxxl-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ └── Col.stories.tsx
│ │ │ └── __tests__
│ │ │ │ ├── Col.visual.test.tsx
│ │ │ │ └── stories.ts
│ │ ├── Container
│ │ │ ├── Container.scss
│ │ │ ├── Container.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── Container.visual.test.tsx-snapshots
│ │ │ │ │ ├── Container-smoke-render-story-Default---l-dark-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---l-light-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---m-dark-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---m-light-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---s-dark-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---s-light-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---xl-dark-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---xl-light-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---xxl-dark-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Container-smoke-render-story-Default---xxxl-dark-chromium-linux.png
│ │ │ │ │ └── Container-smoke-render-story-Default---xxxl-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ └── Container.stories.tsx
│ │ │ ├── __tests__
│ │ │ │ ├── Container.visual.test.tsx
│ │ │ │ └── stories.ts
│ │ │ └── useContainerThemeProps.ts
│ │ ├── Flex
│ │ │ ├── Flex.scss
│ │ │ ├── Flex.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── Flex.visual.test.tsx-snapshots
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---l-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---m-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---s-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---xl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-ChildrenWithBgColor---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---l-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---m-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---s-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---xl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-Default---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---l-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---m-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---s-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---xl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-FlexGap---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---l-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---m-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---s-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---xl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-GapAndRowGap---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-WithNullChildren---l-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-WithNullChildren---m-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-WithNullChildren---s-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-WithNullChildren---xl-light-chromium-linux.png
│ │ │ │ │ ├── Flex-smoke-render-story-WithNullChildren---xxl-light-chromium-linux.png
│ │ │ │ │ └── Flex-smoke-render-story-WithNullChildren---xxxl-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ └── Flex.stories.tsx
│ │ │ └── __tests__
│ │ │ │ ├── Flex.visual.test.tsx
│ │ │ │ └── stories.ts
│ │ ├── LayoutProvider
│ │ │ ├── LayoutProvider.tsx
│ │ │ └── __stories__
│ │ │ │ └── Layout.mdx
│ │ ├── Row
│ │ │ ├── Row.scss
│ │ │ ├── Row.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── Row.visual.test.tsx-snapshots
│ │ │ │ │ ├── Row-smoke-render-story-Default---l-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-Default---m-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-Default---s-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-Default---xl-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-Default---xxl-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-Default---xxxl-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-ZeroSpacings---l-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-ZeroSpacings---m-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-ZeroSpacings---s-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-ZeroSpacings---xl-light-chromium-linux.png
│ │ │ │ │ ├── Row-smoke-render-story-ZeroSpacings---xxl-light-chromium-linux.png
│ │ │ │ │ └── Row-smoke-render-story-ZeroSpacings---xxxl-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ └── Row.stories.tsx
│ │ │ └── __tests__
│ │ │ │ ├── Row.visual.test.tsx
│ │ │ │ └── stories.ts
│ │ ├── constants.ts
│ │ ├── contexts
│ │ │ └── LayoutContext.tsx
│ │ ├── demo
│ │ │ ├── Box
│ │ │ │ └── Box.tsx
│ │ │ ├── ColPresenter
│ │ │ │ └── ColPresenter.tsx
│ │ │ ├── LayoutPresenter
│ │ │ │ └── LayoutPresenter.tsx
│ │ │ └── index.ts
│ │ ├── hooks
│ │ │ ├── useCurrentActiveMediaQuery.tsx
│ │ │ └── useLayoutContext.ts
│ │ ├── index.ts
│ │ ├── spacing
│ │ │ ├── spacing.scss
│ │ │ ├── spacing.test.tsx
│ │ │ └── spacing.tsx
│ │ ├── types.ts
│ │ ├── utils
│ │ │ ├── index.test.ts
│ │ │ ├── index.ts
│ │ │ └── overrideLayoutTheme.ts
│ │ └── variables.scss
│ ├── legacy
│ │ ├── Breadcrumbs
│ │ │ ├── Breadcrumbs.scss
│ │ │ ├── Breadcrumbs.tsx
│ │ │ ├── BreadcrumbsButton.tsx
│ │ │ ├── BreadcrumbsItem.tsx
│ │ │ ├── BreadcrumbsMore.tsx
│ │ │ ├── BreadcrumbsSeparator.tsx
│ │ │ ├── README-ru.md
│ │ │ ├── README.md
│ │ │ ├── __stories__
│ │ │ │ ├── Breadcrumbs.stories.tsx
│ │ │ │ ├── BreadcrumbsShowcase.scss
│ │ │ │ ├── BreadcrumbsShowcase.tsx
│ │ │ │ └── Docs.mdx
│ │ │ ├── __tests__
│ │ │ │ └── Breadcrumbs.test.tsx
│ │ │ ├── i18n
│ │ │ │ ├── en.json
│ │ │ │ ├── index.ts
│ │ │ │ └── ru.json
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── Popover
│ │ │ ├── Popover.classname.ts
│ │ │ ├── Popover.scss
│ │ │ ├── Popover.tsx
│ │ │ ├── README-ru.md
│ │ │ ├── README.md
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ ├── Popover.stories.tsx
│ │ │ │ ├── PopoverDemo.classname.ts
│ │ │ │ ├── PopoverDemo.scss
│ │ │ │ └── examples
│ │ │ │ │ ├── Base
│ │ │ │ │ └── Base.tsx
│ │ │ │ │ └── WithCustomAnchor
│ │ │ │ │ └── WithCustomAnchor.tsx
│ │ │ ├── __tests__
│ │ │ │ └── Popover.test.tsx
│ │ │ ├── components
│ │ │ │ ├── Buttons
│ │ │ │ │ ├── Buttons.tsx
│ │ │ │ │ └── helpers
│ │ │ │ │ │ └── getButtonView.ts
│ │ │ │ ├── Content
│ │ │ │ │ └── Content.tsx
│ │ │ │ ├── Links
│ │ │ │ │ └── Links.tsx
│ │ │ │ └── Trigger
│ │ │ │ │ └── Trigger.tsx
│ │ │ ├── config.ts
│ │ │ ├── hooks
│ │ │ │ └── useOpen.ts
│ │ │ ├── index.ts
│ │ │ └── types.ts
│ │ ├── Tabs
│ │ │ ├── README-ru.md
│ │ │ ├── README.md
│ │ │ ├── Tabs.scss
│ │ │ ├── Tabs.tsx
│ │ │ ├── TabsContext.ts
│ │ │ ├── TabsItem.tsx
│ │ │ ├── __snapshots__
│ │ │ │ └── Tabs.visual.test.tsx-snapshots
│ │ │ │ │ ├── Tabs-smoke-allow-not-selected-light-chromium-linux.png
│ │ │ │ │ ├── Tabs-smoke-light-chromium-linux.png
│ │ │ │ │ └── Tabs-smoke-with-custom-tab-light-chromium-linux.png
│ │ │ ├── __stories__
│ │ │ │ ├── Docs.mdx
│ │ │ │ ├── Tabs.stories.tsx
│ │ │ │ ├── getTabsMock.tsx
│ │ │ │ └── types.ts
│ │ │ ├── __tests__
│ │ │ │ ├── Tabs.test.tsx
│ │ │ │ ├── Tabs.visual.test.tsx
│ │ │ │ ├── TabsItem.test.tsx
│ │ │ │ ├── cases.tsx
│ │ │ │ └── helpers.tsx
│ │ │ └── index.ts
│ │ └── index.ts
│ ├── mobile
│ │ ├── MobileContext.ts
│ │ ├── MobileProvider.tsx
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ ├── useMobile.ts
│ │ ├── usePlatform.ts
│ │ └── withMobile.tsx
│ ├── tabs
│ │ ├── README.md
│ │ ├── Tab.scss
│ │ ├── Tab.tsx
│ │ ├── TabList.scss
│ │ ├── TabList.tsx
│ │ ├── TabPanel.scss
│ │ ├── TabPanel.tsx
│ │ ├── TabProvider.tsx
│ │ ├── __snapshots__
│ │ │ └── TabList.visual.test.tsx-snapshots
│ │ │ │ ├── TabList-smoke-light-chromium-linux.png
│ │ │ │ ├── TabList-smoke-with-custom-tab-light-chromium-linux.png
│ │ │ │ └── TabList-smoke-without-value-light-chromium-linux.png
│ │ ├── __stories__
│ │ │ ├── Docs.mdx
│ │ │ ├── TabList.stories.tsx
│ │ │ └── getTabsMock.tsx
│ │ ├── __tests__
│ │ │ ├── Tab.test.tsx
│ │ │ ├── TabList.test.tsx
│ │ │ ├── TabList.visual.test.tsx
│ │ │ ├── TabPanel.test.tsx
│ │ │ ├── TabProvider.test.tsx
│ │ │ ├── cases.tsx
│ │ │ ├── constants.ts
│ │ │ └── helpers.tsx
│ │ ├── constants.ts
│ │ ├── contexts
│ │ │ └── TabContext.tsx
│ │ ├── hooks
│ │ │ ├── useTab.ts
│ │ │ ├── useTabList.ts
│ │ │ └── useTabPanel.ts
│ │ ├── index.ts
│ │ └── types.ts
│ ├── theme
│ │ ├── ThemeContext.ts
│ │ ├── ThemeProvider.tsx
│ │ ├── ThemeSettingsContext.ts
│ │ ├── __stories__
│ │ │ └── Theme.stories.tsx
│ │ ├── constants.ts
│ │ ├── dom-helpers.ts
│ │ ├── getRootClassName.ts
│ │ ├── getThemeType.ts
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── useDirection.ts
│ │ ├── useSystemTheme.ts
│ │ ├── useTheme.ts
│ │ ├── useThemeContext.ts
│ │ ├── useThemeSettings.ts
│ │ ├── useThemeType.ts
│ │ ├── useThemeValue.ts
│ │ ├── withDirection.tsx
│ │ ├── withTheme.tsx
│ │ └── withThemeValue.tsx
│ ├── types.ts
│ ├── useList
│ │ ├── __stories__
│ │ │ ├── DndExample.stories.tsx
│ │ │ ├── Docs.mdx
│ │ │ ├── ListInfinityScroll.stories.tsx
│ │ │ ├── PopupWithToggler.stories.tsx
│ │ │ ├── RecursiveRenderer.stories.tsx
│ │ │ ├── VirtualizedList.stories.tsx
│ │ │ ├── components
│ │ │ │ ├── FlattenList.tsx
│ │ │ │ ├── InfinityScrollList.tsx
│ │ │ │ ├── IntersectionContainer
│ │ │ │ │ └── IntersectionContainer.tsx
│ │ │ │ ├── ListWithDnd.tsx
│ │ │ │ ├── PopupWithTogglerList.tsx
│ │ │ │ ├── RecursiveList.tsx
│ │ │ │ └── VirtualizedListContainer
│ │ │ │ │ ├── VirtualizedListContainer.async.tsx
│ │ │ │ │ ├── VirtualizedListContainer.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ ├── docs
│ │ │ │ ├── compute-item-size.md
│ │ │ │ ├── get-item-render-state.md
│ │ │ │ ├── get-list-item-click-handler.md
│ │ │ │ ├── get-list-item-qa.md
│ │ │ │ ├── get-list-parsed-state.md
│ │ │ │ ├── list-container-view.md
│ │ │ │ ├── list-item-view.md
│ │ │ │ ├── list-recursive-renderer.md
│ │ │ │ ├── scroll-to-list-item.md
│ │ │ │ ├── use-list-filter.md
│ │ │ │ ├── use-list-keydown.md
│ │ │ │ └── use-list.md
│ │ │ └── utils
│ │ │ │ ├── makeData.ts
│ │ │ │ ├── reorderArray.ts
│ │ │ │ └── useInfinityFetch.ts
│ │ ├── components
│ │ │ ├── ListContainer
│ │ │ │ ├── ListContainer.tsx
│ │ │ │ └── index.ts
│ │ │ ├── ListContainerView
│ │ │ │ ├── ListContainerView.scss
│ │ │ │ ├── ListContainerView.tsx
│ │ │ │ └── index.ts
│ │ │ ├── ListItemExpandIcon
│ │ │ │ ├── ListItemExpandIcon.scss
│ │ │ │ ├── ListItemExpandIcon.tsx
│ │ │ │ ├── __stories__
│ │ │ │ │ ├── ListItemExpandIcon.stories.tsx
│ │ │ │ │ └── list-item-expand-icon.md
│ │ │ │ └── index.ts
│ │ │ ├── ListItemView
│ │ │ │ ├── ListItemView.scss
│ │ │ │ ├── ListItemView.tsx
│ │ │ │ ├── ListItemViewContent.tsx
│ │ │ │ ├── __stories__
│ │ │ │ │ └── ListItemView.stories.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.ts
│ │ │ └── ListRecursiveRenderer
│ │ │ │ ├── ListRecursiveRenderer.scss
│ │ │ │ ├── ListRecursiveRenderer.tsx
│ │ │ │ └── index.ts
│ │ ├── constants.ts
│ │ ├── hooks
│ │ │ ├── useFlattenListItems.ts
│ │ │ ├── useList.ts
│ │ │ ├── useListFilter.ts
│ │ │ ├── useListKeydown.tsx
│ │ │ ├── useListParsedState.ts
│ │ │ └── useListState.ts
│ │ ├── index.ts
│ │ ├── migration-guide.md
│ │ ├── types.ts
│ │ └── utils
│ │ │ ├── computeItemSize.ts
│ │ │ ├── defaultFilterItems.test.ts
│ │ │ ├── defaultFilterItems.ts
│ │ │ ├── findNextIndex.ts
│ │ │ ├── flattenItems.test.ts
│ │ │ ├── flattenItems.ts
│ │ │ ├── getItemRenderState.tsx
│ │ │ ├── getListItemClickHandler.ts
│ │ │ ├── getListItemId.ts
│ │ │ ├── getListItemQa.ts
│ │ │ ├── getListParsedState.test.ts
│ │ │ ├── getListParsedState.ts
│ │ │ ├── groupItemId.ts
│ │ │ ├── isTreeItemGuard.ts
│ │ │ └── scrollToListItem.ts
│ ├── utils
│ │ ├── __tests__
│ │ │ ├── class-transform.test.ts
│ │ │ ├── isOfType.test.tsx
│ │ │ └── xpath.test.tsx
│ │ ├── class-transform.ts
│ │ ├── cn.ts
│ │ ├── common.ts
│ │ ├── event-broker
│ │ │ ├── EventBroker.ts
│ │ │ ├── index.ts
│ │ │ └── useEventBroker.ts
│ │ ├── filterDOMProps.ts
│ │ ├── getComponentName.ts
│ │ ├── getElementRef.ts
│ │ ├── isOfType.ts
│ │ ├── layer-manager
│ │ │ ├── LayerManager.ts
│ │ │ ├── index.ts
│ │ │ └── useLayer.ts
│ │ ├── mergeProps.ts
│ │ ├── svg.ts
│ │ ├── transition.ts
│ │ ├── typeCheckers.ts
│ │ ├── warn.ts
│ │ ├── withEventBrokerDomHandlers.tsx
│ │ └── xpath.ts
│ └── variables.scss
├── constants.ts
├── demo
│ ├── DocsDecorator
│ │ ├── DocsDecorator.scss
│ │ └── DocsDecorator.tsx
│ ├── DocsExample
│ │ ├── DocsExample.scss
│ │ └── DocsExample.tsx
│ ├── DocsSource
│ │ └── DocsSource.tsx
│ ├── Showcase
│ │ ├── Showcase.scss
│ │ ├── Showcase.tsx
│ │ └── index.ts
│ ├── ShowcaseGrid
│ │ ├── ShowcaseGrid.tsx
│ │ ├── getPropsCombinations.test.ts
│ │ ├── getPropsCombinations.tsx
│ │ └── index.ts
│ ├── ShowcaseItem
│ │ ├── ShowcaseItem.scss
│ │ ├── ShowcaseItem.tsx
│ │ └── index.ts
│ ├── colors
│ │ ├── Base.tsx
│ │ ├── ColorPanel.scss
│ │ ├── ColorPanel.tsx
│ │ ├── ColorTable.scss
│ │ ├── ColorTable.tsx
│ │ ├── Effects.tsx
│ │ ├── Lines.tsx
│ │ ├── Misc.tsx
│ │ ├── Private.tsx
│ │ └── Texts.tsx
│ └── typography
│ │ ├── Fonts.tsx
│ │ ├── TextPanel.scss
│ │ ├── TextPanel.tsx
│ │ └── Variants.tsx
├── deprecated.ts
├── hooks
│ ├── index.ts
│ ├── private
│ │ ├── index.ts
│ │ ├── useAnimateHeight
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useAnimateHeight.ts
│ │ ├── useBoolean
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useBoolean.ts
│ │ ├── useCheckbox
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useCheckbox.ts
│ │ ├── useCloseOnTimeout
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useCloseOnTimeout.ts
│ │ ├── useConditionallyControlledState
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useConditionallyControlledState.ts
│ │ ├── useElementSize
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useElementSize.ts
│ │ ├── useFormResetHandler
│ │ │ └── index.ts
│ │ ├── useHover
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useHover.ts
│ │ ├── usePrevious
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── usePrevious.ts
│ │ ├── useRadio
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useRadio.ts
│ │ ├── useRadioGroup
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useRadioGroup.ts
│ │ ├── useStateWithCallback
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useStateWithCallback.ts
│ │ ├── useTooltipVisible
│ │ │ └── index.ts
│ │ └── useUpdateEffect
│ │ │ ├── README.md
│ │ │ ├── index.ts
│ │ │ └── useUpdateEffect.ts
│ ├── useActionHandlers
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useActionHandlers.ts
│ ├── useAsyncActionHandler
│ │ ├── README.md
│ │ ├── __stories__
│ │ │ ├── ProgressButton.tsx
│ │ │ ├── UseAsyncActionHandlerDemo.classname.ts
│ │ │ ├── UseAsyncActionHandlerDemo.scss
│ │ │ ├── UseAsyncActionHandlerDemo.tsx
│ │ │ └── UseAsyncActionHandlerStories.stories.tsx
│ │ ├── index.ts
│ │ └── useAsyncActionHandler.ts
│ ├── useControlledState
│ │ ├── README.md
│ │ ├── index.ts
│ │ ├── useControlledState.test.tsx
│ │ └── useControlledState.ts
│ ├── useFileInput
│ │ ├── README.md
│ │ ├── __stories__
│ │ │ └── UseFileInput.stories.tsx
│ │ ├── index.ts
│ │ └── useFileInput.ts
│ ├── useFocusWithin
│ │ ├── README.md
│ │ ├── SyntheticFocusEvent.ts
│ │ ├── index.ts
│ │ ├── useFocusWithin.test.tsx
│ │ ├── useFocusWithin.ts
│ │ └── useSyntheticBlurEvent.tsx
│ ├── useForkRef
│ │ ├── README.md
│ │ ├── index.ts
│ │ ├── mergeRefs.ts
│ │ ├── setRef.ts
│ │ └── useForkRef.ts
│ ├── useIntersection
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useIntersection.ts
│ ├── useListNavigation
│ │ ├── README.md
│ │ ├── index.ts
│ │ ├── moveBack.ts
│ │ ├── moveForward.ts
│ │ └── useListNavigation.ts
│ ├── useOutsideClick
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ ├── Demo.tsx
│ │ │ └── useOutsideClick.test.tsx
│ │ ├── index.ts
│ │ └── useOutsideClick.tsx
│ ├── usePortalContainer
│ │ ├── PortalProvider.tsx
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── usePortalContainer.ts
│ ├── useResizeObserver
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useResizeObserver.ts
│ ├── useSelect
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ └── useOpenState.test.tsx
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── useOpenState.ts
│ │ └── useSelect.ts
│ ├── useTimeout
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useTimeout.ts
│ ├── useUniqId
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useUniqId.ts
│ ├── useViewportSize
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ └── useViewportSize.test.tsx
│ │ ├── index.ts
│ │ └── useViewportSize.tsx
│ └── useVirtualElementRef
│ │ ├── README.md
│ │ ├── index.ts
│ │ └── useVirtualElementRef.ts
├── i18n
│ ├── addComponentKeysets.ts
│ ├── addLanguageKeysets.test.ts
│ ├── addLanguageKeysets.ts
│ ├── i18n.ts
│ ├── index.ts
│ └── types.ts
├── index.ts
├── legacy.ts
├── server.ts
├── stories
│ ├── Branding
│ │ ├── BrandingConfugurator
│ │ │ ├── BrandingConfigurator.scss
│ │ │ └── BrandingConfigurator.tsx
│ │ ├── Example.stories.tsx
│ │ ├── Overview.mdx
│ │ ├── PaletteGenerator.stories.tsx
│ │ └── PaletteGenerator
│ │ │ ├── PaletteGenerator.scss
│ │ │ └── PaletteGenerator.tsx
│ ├── Colors.stories.tsx
│ ├── Typography.stories.tsx
│ └── tests-factory
│ │ ├── create-smoke-scenarios.test.ts
│ │ ├── create-smoke-scenarios.ts
│ │ └── models.ts
├── toaster-singleton.ts
├── types
│ └── utils.ts
├── unstable.ts
└── utils
│ ├── configure.ts
│ └── dom.ts
├── styles
├── fonts.scss
├── mixins.scss
├── styles.scss
└── themes
│ ├── _index.scss
│ ├── common
│ ├── _index.scss
│ ├── spacing.scss
│ └── typography.scss
│ ├── dark-hc
│ ├── _index.scss
│ ├── base.scss
│ ├── line.scss
│ ├── private.scss
│ ├── sfx.scss
│ ├── system.scss
│ └── text.scss
│ ├── dark
│ ├── _index.scss
│ ├── base.scss
│ ├── line.scss
│ ├── private.scss
│ ├── sfx.scss
│ ├── system.scss
│ └── text.scss
│ ├── light-hc
│ ├── _index.scss
│ ├── base.scss
│ ├── line.scss
│ ├── private.scss
│ ├── sfx.scss
│ ├── system.scss
│ └── text.scss
│ └── light
│ ├── _index.scss
│ ├── base.scss
│ ├── line.scss
│ ├── private.scss
│ ├── sfx.scss
│ ├── system.scss
│ └── text.scss
├── test-utils
├── setup-tests-after.ts
├── setup-tests.ts
├── setupIntersectionObserverMock.ts
├── setupTimersMock.ts
└── utils.tsx
├── tsconfig.json
└── tsconfig.test.json
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Telegram Chat
4 | url: https://t.me/gravity_ui_chat
5 | about: Ask questions and discuss with other Gravity UI users in real time.
6 |
--------------------------------------------------------------------------------
/.github/workflows/pr-preview-build.yml:
--------------------------------------------------------------------------------
1 | name: PR Preview Build
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | build:
8 | name: Build
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: gravity-ui/preview-build-action@v2
12 | with:
13 | node-version: 20
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | .vscode
3 | .history
4 | .DS_Store
5 | *.log
6 |
7 | node_modules
8 |
9 | /storybook-static
10 | /build
11 | /styles/**/*.css
12 |
13 | /coverage
14 | /playwright/.cache*
15 | /playwright/report*
16 | /playwright/test-results
17 |
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | npx commitlint -e
2 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | npx nano-staged
2 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry=https://registry.npmjs.org
2 | legacy-peer-deps=true
3 | engine-strict=true
4 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 20
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | storybook-static
2 | build
3 | CHANGELOG.md
4 | CONTRIBUTING.md
5 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('@gravity-ui/prettier-config');
2 |
--------------------------------------------------------------------------------
/.storybook/manager.ts:
--------------------------------------------------------------------------------
1 | import {addons} from '@storybook/manager-api';
2 |
3 | import {themes} from './theme';
4 |
5 | addons.setConfig({
6 | theme: themes.light,
7 | });
8 |
--------------------------------------------------------------------------------
/.storybook/preview-head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.stylelintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["@gravity-ui/stylelint-config", "@gravity-ui/stylelint-config/prettier"],
3 | "plugins": ["stylelint-use-logical"],
4 | "rules": {
5 | "csstools/use-logical": ["always", {"except": ["float", "width", "min-width", "max-width", "height", "min-height", "max-height"]}]
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {extends: ['@commitlint/config-conventional']};
2 |
--------------------------------------------------------------------------------
/docs/assets/uikit_cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/docs/assets/uikit_cover.png
--------------------------------------------------------------------------------
/playwright/playwright/index.scss:
--------------------------------------------------------------------------------
1 | @forward '../../styles/styles.scss';
2 |
--------------------------------------------------------------------------------
/src/components/ActionTooltip/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './ActionTooltip.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/ActionTooltip/index.ts:
--------------------------------------------------------------------------------
1 | export {ActionTooltip} from './ActionTooltip';
2 | export type {ActionTooltipProps} from './ActionTooltip';
3 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/__snapshots__/ActionsPanel.visual.test.tsx-snapshots/ActionsPanel-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/ActionsPanel/__snapshots__/ActionsPanel.visual.test.tsx-snapshots/ActionsPanel-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/ActionsPanel/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {ActionsPanel} from '../ActionsPanel';
2 | import type {ActionsPanelProps} from '../types';
3 |
4 | export const TestActionsPanelWithNote = (props: ActionsPanelProps) => {
5 | return 'note'} {...props} />;
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/components/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export {useCollapseActions} from './useCollapseActions';
2 | export {OBSERVER_TARGET_ATTR} from './useObserveIntersection';
3 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/components/hooks/types.ts:
--------------------------------------------------------------------------------
1 | export type VisibilityMap = Record;
2 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close": "Close",
3 | "label_more": "Show more"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'ActionsPanel';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close": "Закрыть",
3 | "label_more": "Показать больше"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ActionsPanel/index.ts:
--------------------------------------------------------------------------------
1 | export {ActionsPanel} from './ActionsPanel';
2 | export type {ActionsPanelProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/Alert/AlertContext.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import type {AlertContextType} from './types';
4 |
5 | export const AlertContext = React.createContext(null);
6 |
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Actions-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Actions-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Actions-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Actions-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Align-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Align-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Align-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Align-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Corners-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Corners-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Corners-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Corners-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-CustomIcon-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-CustomIcon-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-CustomIcon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-CustomIcon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Layout-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Layout-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Layout-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Layout-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Theme-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Theme-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Theme-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-Theme-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-View-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-View-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-View-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-render-story-View-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-smoke-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Alert/__snapshots__/Alert.visual.test.tsx-snapshots/Alert-smoke-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Alert/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Alert.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Alert/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultAlertStories from '../__stories__/Alert.stories';
4 |
5 | export const AlertStories = composeStories(DefaultAlertStories);
6 |
--------------------------------------------------------------------------------
/src/components/Alert/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | import './Alert.scss';
4 |
5 | export const DEFAULT_ICON_SIZE = 18;
6 |
7 | export const bAlert = block('alert');
8 |
--------------------------------------------------------------------------------
/src/components/Alert/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close": "Close"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Alert/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Alert';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Alert/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close": "Закрыть"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Alert/index.ts:
--------------------------------------------------------------------------------
1 | export {Alert} from './Alert';
2 | export type {
3 | AlertProps,
4 | AlertTitleProps,
5 | AlertActionProps,
6 | AlertActionsProps,
7 | AlertIconProps,
8 | } from './types';
9 |
--------------------------------------------------------------------------------
/src/components/ArrowToggle/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './ArrowToggle.new.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/ArrowToggle/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ArrowToggle';
2 |
--------------------------------------------------------------------------------
/src/components/Avatar/AvatarIcon/index.ts:
--------------------------------------------------------------------------------
1 | export type {AvatarIconProps} from './types';
2 | export {AvatarIcon} from './AvatarIcon';
3 |
--------------------------------------------------------------------------------
/src/components/Avatar/AvatarIcon/types.ts:
--------------------------------------------------------------------------------
1 | import type {IconData} from '../../Icon';
2 | import type {AvatarCommonProps} from '../types/common';
3 |
4 | export interface AvatarIconProps extends AvatarCommonProps {
5 | icon: IconData;
6 | color?: string;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/Avatar/AvatarImage/index.ts:
--------------------------------------------------------------------------------
1 | export type {AvatarImageProps} from './types';
2 | export {AvatarImage} from './AvatarImage';
3 |
--------------------------------------------------------------------------------
/src/components/Avatar/AvatarText/index.ts:
--------------------------------------------------------------------------------
1 | export type {AvatarTextProps} from './types';
2 | export {getAvatarDisplayText} from './utils';
3 | export {AvatarText} from './AvatarText';
4 |
--------------------------------------------------------------------------------
/src/components/Avatar/AvatarText/types.ts:
--------------------------------------------------------------------------------
1 | import type {AvatarCommonProps} from '../types/common';
2 |
3 | export interface AvatarTextProps extends AvatarCommonProps {
4 | text: string;
5 | color?: string;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Icon-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Icon-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Icon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Icon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Image-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Image-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Image-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Image-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Showcase-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Showcase-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Showcase-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Showcase-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Text-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Text-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Text-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-Text-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-TextInitials-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-TextInitials-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-WithBorder-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-render-story-WithBorder-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-icon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-icon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-image-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-image-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-text-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Avatar/__snapshots__/Avatar.visual.test.tsx-snapshots/Avatar-smoke-with-text-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Avatar/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Avatar.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Avatar/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as Stories from '../__stories__/Avatar.stories';
4 |
5 | export const AvatarStories = composeStories(Stories);
6 |
--------------------------------------------------------------------------------
/src/components/Avatar/_variables.scss:
--------------------------------------------------------------------------------
1 | @use 'sass:map';
2 |
3 | $sizes: (
4 | '3xs': 16px,
5 | '2xs': 20px,
6 | 'xs': 24px,
7 | 's': 28px,
8 | 'm': 32px,
9 | 'l': 42px,
10 | 'xl': 50px,
11 | );
12 |
13 | $default-size: map.get($sizes, 'm');
14 |
--------------------------------------------------------------------------------
/src/components/Avatar/index.ts:
--------------------------------------------------------------------------------
1 | export type {AvatarSize} from './types/common';
2 | export type {AvatarProps, AvatarTheme, AvatarView} from './types/main';
3 | export {AVATAR_SIZES, DEFAULT_AVATAR_SIZE} from './constants';
4 | export {Avatar} from './Avatar';
5 | export {getAvatarDisplayText} from './AvatarText';
6 |
--------------------------------------------------------------------------------
/src/components/Avatar/types/common.ts:
--------------------------------------------------------------------------------
1 | export type AvatarSize = '3xs' | '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl';
2 |
3 | export interface AvatarCommonProps {
4 | size: AvatarSize;
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/__snapshots__/AvatarStack.visual.test.tsx-snapshots/AvatarStack-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/AvatarStack/__snapshots__/AvatarStack.visual.test.tsx-snapshots/AvatarStack-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/AvatarStack/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/AvatarStack.stories';
4 |
5 | export const AvatarStackStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/constants.ts:
--------------------------------------------------------------------------------
1 | export const AVATAR_STACK_DEFAULT_MAX = 3;
2 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "more": ["and {{count}} more", "and {{count}} more", "and {{count}} more"]
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'AvatarStack';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "more": ["И eщё {{count}}", "И eщё {{count}}", "И eщё {{count}}"]
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/AvatarStack/index.ts:
--------------------------------------------------------------------------------
1 | export {AvatarStack} from './AvatarStack';
2 | export type {
3 | AvatarStackProps,
4 | AvatarStackOverlapSize,
5 | AvatarStackMoreProps,
6 | AvatarStackMoreButtonProps,
7 | } from './types';
8 |
--------------------------------------------------------------------------------
/src/components/Breadcrumbs/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "breadcrumbs": "Breadcrumbs",
3 | "label_more": "Show more"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/Breadcrumbs/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'lab/Breadcrumbs';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Breadcrumbs/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "breadcrumbs": "Навигация",
3 | "label_more": "Показать больше"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/Breadcrumbs/index.ts:
--------------------------------------------------------------------------------
1 | export {Breadcrumbs} from './Breadcrumbs';
2 | export type {BreadcrumbsProps} from './Breadcrumbs';
3 |
4 | export {BreadcrumbsItem} from './BreadcrumbsItem';
5 | export type {BreadcrumbsItemProps} from './BreadcrumbsItem';
6 |
--------------------------------------------------------------------------------
/src/components/Breadcrumbs/utils.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const b = block('breadcrumbs');
4 |
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Disabled-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Disabled-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Disabled-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Disabled-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Icon-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Icon-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Icon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Icon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Link-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Link-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Link-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Link-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Loading-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Loading-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Loading-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Loading-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Pin-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Pin-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Pin-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Pin-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Selected-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Selected-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Selected-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Selected-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Size-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Size-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Size-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Size-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-View-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-View-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-View-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-View-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Width-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Width-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Width-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-render-story-Width-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-default-hovered-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-default-hovered-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Button/__snapshots__/Button.visual.test.tsx-snapshots/Button-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Button/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Button.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-ActionType-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-ActionType-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-ActionType-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-ActionType-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Custom-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Custom-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Custom-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Custom-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-SelectionType-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-SelectionType-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-SelectionType-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-SelectionType-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Size-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Size-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Size-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Size-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Theme-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Theme-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Theme-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-Theme-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-View-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-View-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-View-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-render-story-View-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-action-type-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-action-type-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-container-type-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-container-type-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-selection-type-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Card/__snapshots__/Card.visual.test.tsx-snapshots/Card-smoke-smoke-selection-type-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Card/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Card.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Card/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultCardStories from '../__stories__/Card.stories';
4 |
5 | export const CardStories = composeStories(DefaultCardStories);
6 |
--------------------------------------------------------------------------------
/src/components/Card/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Card';
2 |
--------------------------------------------------------------------------------
/src/components/Checkbox/__snapshots__/Checkbox.visual.test.tsx-snapshots/Checkbox-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Checkbox/__snapshots__/Checkbox.visual.test.tsx-snapshots/Checkbox-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Checkbox/__snapshots__/Checkbox.visual.test.tsx-snapshots/Checkbox-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Checkbox/__snapshots__/Checkbox.visual.test.tsx-snapshots/Checkbox-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Checkbox/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Checkbox.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Checkbox/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Checkbox';
2 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/ClipboardButton.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}clipboard-button';
4 |
5 | #{$block} {
6 | &__icon {
7 | // prevent button icon from firing onMouseEnter/onFocus through parent button's handler
8 | pointer-events: none;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './ClipboardButton.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "startCopy": "Copy",
3 | "endCopy": "Copied"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'ClipboardButton';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "startCopy": "Копировать",
3 | "endCopy": "Скопировано"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/ClipboardButton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ClipboardButton';
2 |
--------------------------------------------------------------------------------
/src/components/ClipboardIcon/__stories__/ClipboardIcon.stories.scss:
--------------------------------------------------------------------------------
1 | .clipboard-icon-stories {
2 | display: grid;
3 | gap: 10px;
4 | grid-template-columns: auto;
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/ClipboardIcon/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './ClipboardIcon.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/ClipboardIcon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ClipboardIcon';
2 |
--------------------------------------------------------------------------------
/src/components/ControlLabel/index.ts:
--------------------------------------------------------------------------------
1 | export {ControlLabel} from './ControlLabel';
2 | export type {Size as ControlLabelSize, Props as ControlLabelProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/CopyToClipboard/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CopyToClipboard';
2 | export type {CopyToClipboardStatus, CopyToClipboardProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/DefinitionList.stories';
4 |
5 | export const DefinitionListStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const b = block('definition-list');
4 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_note": "Note"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | export default addComponentKeysets({en, ru}, 'DefinitionList');
7 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_note": "Справка"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/index.ts:
--------------------------------------------------------------------------------
1 | export {DefinitionList} from './DefinitionList';
2 | export {DefinitionListItem} from './components/DefinitionListItem';
3 | export type {DefinitionListProps, DefinitionListItemProps} from './types';
4 |
--------------------------------------------------------------------------------
/src/components/DefinitionList/utils.ts:
--------------------------------------------------------------------------------
1 | export function isUnbreakableOver(limit: number) {
2 | return function (value: string): boolean {
3 | const posibleLines = value.split(/\s+/);
4 |
5 | return posibleLines.some((line) => line.length > limit);
6 | };
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/Dialog/DialogDivider/DialogDivider.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 |
3 | $block: '.#{variables.$ns}dialog-divider';
4 |
5 | #{$block} {
6 | border-block-start: 1px solid var(--g-color-line-generic);
7 | margin: 0 calc(-1 * var(--_--side-padding));
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-l-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-l-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-m-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-m-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-s-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Dialog/__snapshots__/Dialog.visual.test.tsx-snapshots/Dialog-smoke-size-s-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Dialog/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Dialog.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Dialog/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Close dialog"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Dialog/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Dialog';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Dialog/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Закрыть диалоговое окно"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Dialog/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Dialog';
2 | export * from './DialogBody/DialogBody';
3 | export * from './DialogDivider/DialogDivider';
4 | export * from './DialogHeader/DialogHeader';
5 | export * from './DialogFooter/DialogFooter';
6 |
--------------------------------------------------------------------------------
/src/components/Disclosure/__stories__/Disclosure.stories.scss:
--------------------------------------------------------------------------------
1 | .disclosure-stories {
2 | display: grid;
3 | gap: 10px;
4 | grid-template-columns: auto;
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Disclosure/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Disclosure.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Disclosure/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const b = block('disclosure');
4 |
5 | export const DisclosureQa = {
6 | SUMMARY: 'disclosure-summary',
7 | DETAILS: 'disclosure-details',
8 | };
9 |
--------------------------------------------------------------------------------
/src/components/Disclosure/index.ts:
--------------------------------------------------------------------------------
1 | export {Disclosure} from './Disclosure';
2 | export type {DisclosureSize, DisclosureArrowPosition, DisclosureProps} from './Disclosure';
3 | export {DisclosureQa} from './constants';
4 |
--------------------------------------------------------------------------------
/src/components/Divider/__snapshots__/Divider.visual.test.tsx-snapshots/Divider-smoke-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Divider/__snapshots__/Divider.visual.test.tsx-snapshots/Divider-smoke-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Divider/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Divider.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Divider/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {DividerProps} from '../Divider';
3 |
4 | export const orientationCases: Cases = ['vertical', 'horizontal'];
5 |
--------------------------------------------------------------------------------
/src/components/Divider/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Divider';
2 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/DropdownMenu.classname.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const cnDropdownMenu = block('dropdown-menu');
4 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './DropdownMenu.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/__stories__/DropdownMenu.stories.scss:
--------------------------------------------------------------------------------
1 | .dropdown-menu-stories {
2 | &__label-switcher-menu {
3 | width: 150px;
4 | }
5 |
6 | &__label-switcher-switcher {
7 | cursor: pointer;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/__tests__/cases.ts:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {DropdownMenuItemProps} from '../DropdownMenuItem';
3 |
4 | export const sizeCases: Cases['size']> = ['s', 'm', 'l', 'xl'];
5 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/constants.ts:
--------------------------------------------------------------------------------
1 | import type {DropdownMenuListItem} from './types';
2 |
3 | export const dropdownMenuSeparator: DropdownMenuListItem = {text: '', action: () => {}, path: []};
4 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/index.ts:
--------------------------------------------------------------------------------
1 | export * from './DropdownMenu';
2 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/utils/isMenuActive.ts:
--------------------------------------------------------------------------------
1 | import {stringifyNavigationPath} from './stringifyNavigationPath';
2 |
3 | export function isMenuActive(path: number[], activeMenuPath: number[]) {
4 | return stringifyNavigationPath(path) === stringifyNavigationPath(activeMenuPath);
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/utils/isSeparator.ts:
--------------------------------------------------------------------------------
1 | import {dropdownMenuSeparator} from '../constants';
2 | import type {DropdownMenuListItem} from '../types';
3 |
4 | export function isSeparator(item: DropdownMenuListItem) {
5 | return item === dropdownMenuSeparator;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/utils/isSubmenuOpen.ts:
--------------------------------------------------------------------------------
1 | export function isSubmenuOpen(path?: number[], activeMenuPath?: number[]) {
2 | return path?.every((item, index) => item === activeMenuPath?.[index]) ?? false;
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/utils/shouldSkipItemNavigation.ts:
--------------------------------------------------------------------------------
1 | import type {DropdownMenuListItem} from '../types';
2 |
3 | import {isSeparator} from './isSeparator';
4 |
5 | export function shouldSkipItemNavigation(item: DropdownMenuListItem) {
6 | return item.disabled || isSeparator(item);
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/DropdownMenu/utils/stringifyNavigationPath.ts:
--------------------------------------------------------------------------------
1 | export function stringifyNavigationPath(path?: number[]) {
2 | return path?.join(' ') ?? '';
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/FilePreview/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_image-preview-error": "Failed to load image"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/FilePreview/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'FilePreview';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/FilePreview/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_image-preview-error": "Не удалось загрузить изображение"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/FilePreview/index.ts:
--------------------------------------------------------------------------------
1 | export {FilePreview} from './FilePreview';
2 | export type {FilePreviewProps} from './FilePreview';
3 | export type {FileType, FilePreviewAction} from './types';
4 | export {getFileType} from './utils';
5 |
--------------------------------------------------------------------------------
/src/components/FilePreview/variables.scss:
--------------------------------------------------------------------------------
1 | $verticalCardPadding: 4px;
2 | $horizontalCardPadding: 10px;
3 | $cardWidth: 120px;
4 | $compactCardWidth: 48px;
5 | $imagePreviewWidth: 96px;
6 | $imagePreviewHeight: 64px;
7 |
--------------------------------------------------------------------------------
/src/components/HelpMark/__snapshots__/HelpMark.visual.test.tsx-snapshots/HelpMark-smoke-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/HelpMark/__snapshots__/HelpMark.visual.test.tsx-snapshots/HelpMark-smoke-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/HelpMark/__stories__/Showcase.mdx:
--------------------------------------------------------------------------------
1 | import {Canvas, Meta} from '@storybook/blocks';
2 | import * as Stories from './HelpMark.stories';
3 |
4 |
5 |
6 | ## Size
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/components/HelpMark/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/HelpMark.stories';
4 |
5 | export const HelpMarkStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/HelpMark/constants.ts:
--------------------------------------------------------------------------------
1 | export const ICON_SIZE_MAP = {
2 | s: 14,
3 | m: 16,
4 | l: 18,
5 | xl: 20,
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/HelpMark/index.ts:
--------------------------------------------------------------------------------
1 | export * from './HelpMark';
2 |
--------------------------------------------------------------------------------
/src/components/Hotkey/__snapshots__/Hotkey.visual.test.tsx-snapshots/Hotkey-smoke-smoke-dark-view-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Hotkey/__snapshots__/Hotkey.visual.test.tsx-snapshots/Hotkey-smoke-smoke-dark-view-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Hotkey/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Hotkey.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Hotkey/index.ts:
--------------------------------------------------------------------------------
1 | export {Hotkey, parseHotkeys} from './Hotkey';
2 | export type {HotkeyProps} from './Hotkey';
3 |
--------------------------------------------------------------------------------
/src/components/Hotkey/utils.ts:
--------------------------------------------------------------------------------
1 | export const isMac = (): boolean =>
2 | typeof navigator !== 'undefined' ? /Mac|iP(hone|[oa]d)/.test(navigator.platform) : false;
3 |
4 | export function split(val: string, separator: string | RegExp): string[] {
5 | return val.trim().split(separator).filter(Boolean);
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/Icon/Icon.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}icon';
4 |
5 | #{$block} {
6 | line-height: 0;
7 | vertical-align: top;
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Icon/__snapshots__/Icon.visual.test.tsx-snapshots/Icon-smoke-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Icon/__snapshots__/Icon.visual.test.tsx-snapshots/Icon-smoke-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Icon/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Icon.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Icon/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {IconProps} from '../Icon';
3 |
4 | export const sizeCases: Cases = [10, 20, 30];
5 |
--------------------------------------------------------------------------------
/src/components/Icon/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {Rocket} from '@gravity-ui/icons';
2 |
3 | import type {IconProps} from '../Icon';
4 | import {Icon} from '../Icon';
5 |
6 | export const TestIcon = (props: Omit) => {
7 | return ;
8 | };
9 |
--------------------------------------------------------------------------------
/src/components/Icon/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Icon';
2 |
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Close-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Copy-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Default-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Icon-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Interactive-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-LinkWrapper-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Size-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Theme-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-render-story-Value-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-close-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-close-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-close-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-close-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-copy-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-copy-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-copy-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-copy-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-custom-icon-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-custom-icon-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-custom-icon-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-custom-icon-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-info-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-info-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-info-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Label/__snapshots__/Label.visual.test.tsx-snapshots/Label-smoke-with-info-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Label/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Label.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Label/constants.ts:
--------------------------------------------------------------------------------
1 | export const LabelQa = {
2 | copyButton: 'copy-button',
3 | closeButton: 'close-button',
4 | mainButton: 'main-button',
5 | };
6 |
--------------------------------------------------------------------------------
/src/components/Label/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Label';
2 |
--------------------------------------------------------------------------------
/src/components/Link/__snapshots__/Link.visual.test.tsx-snapshots/Link-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Link/__snapshots__/Link.visual.test.tsx-snapshots/Link-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Link/__snapshots__/Link.visual.test.tsx-snapshots/Link-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Link/__snapshots__/Link.visual.test.tsx-snapshots/Link-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Link/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Link.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Link/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Link';
2 |
--------------------------------------------------------------------------------
/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-custom-render-item-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-custom-render-item-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-empty-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-empty-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-virtualized-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/List/__snapshots__/List.visual.test.tsx-snapshots/List-smoke-virtualized-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/List/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './List.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/List/__stories__/ListWithLoader.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 | @use '../../../../styles/mixins';
3 |
4 | .list-with-loader {
5 | overflow: auto;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/List/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ListItem';
2 | export * from './SimpleContainer';
3 |
--------------------------------------------------------------------------------
/src/components/List/constants.ts:
--------------------------------------------------------------------------------
1 | import {KeyCode} from '../../constants';
2 |
3 | export const ListQa = {
4 | ACTIVE_ITEM: 'list-active-item',
5 | };
6 |
7 | export const listNavigationIgnoredKeys = [
8 | // Tab key should focus the next element
9 | KeyCode.TAB,
10 | ];
11 |
--------------------------------------------------------------------------------
/src/components/List/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './List';
2 | export * from './types';
3 | export * from './components/ListItem';
4 | export {ListQa} from './constants';
5 |
--------------------------------------------------------------------------------
/src/components/Loader/__snapshots__/Loader.visual.test.tsx-snapshots/Loader-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Loader/__snapshots__/Loader.visual.test.tsx-snapshots/Loader-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Loader/__snapshots__/Loader.visual.test.tsx-snapshots/Loader-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Loader/__snapshots__/Loader.visual.test.tsx-snapshots/Loader-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Loader/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Loader.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Loader/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {LoaderProps} from '../Loader';
3 |
4 | export const sizeCases: Cases = ['s', 'm', 'l'];
5 |
--------------------------------------------------------------------------------
/src/components/Loader/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Loader';
2 |
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-group-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-group-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-group-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-group-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-with-icons-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-with-icons-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-with-icons-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Menu/__snapshots__/Menu.visual.test.tsx-snapshots/Menu-smoke-menu-item-with-icons-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Menu/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Menu.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Menu/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Menu';
2 | export {MenuItem} from './MenuItem';
3 | export {MenuGroup} from './MenuGroup';
4 |
--------------------------------------------------------------------------------
/src/components/Modal/__snapshots__/Modal.visual.test.tsx-snapshots/Modal-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Modal/__snapshots__/Modal.visual.test.tsx-snapshots/Modal-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Modal/__snapshots__/Modal.visual.test.tsx-snapshots/Modal-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Modal/__snapshots__/Modal.visual.test.tsx-snapshots/Modal-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Modal/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Modal.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Modal/__tests__/constants.ts:
--------------------------------------------------------------------------------
1 | export const ModalQa = {
2 | content: 'content',
3 | trigger: 'trigger',
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/Modal/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Close"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Modal/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Modal';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Modal/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Закрыть"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Modal/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Modal';
2 |
--------------------------------------------------------------------------------
/src/components/NumberInput/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './NumberInput.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/NumberInput/__tests__/stories.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultNumberInputStories from '../__stories__/NumberInput.stories';
4 |
5 | export const NumberInputStories = composeStories(DefaultNumberInputStories);
6 |
--------------------------------------------------------------------------------
/src/components/NumberInput/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_increment": "Increment",
3 | "label_decrement": "Decrement"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/NumberInput/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'NumberInput';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/NumberInput/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_increment": "Увеличить",
3 | "label_decrement": "Уменьшить"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/NumberInput/index.ts:
--------------------------------------------------------------------------------
1 | export {NumberInput} from './NumberInput';
2 | export type {NumberInputProps} from './NumberInput';
3 |
--------------------------------------------------------------------------------
/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-dark-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-dark-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-light-webkit-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Overlay/__snapshots__/Overlay.visual.test.tsx-snapshots/Overlay-smoke-light-webkit-linux.png
--------------------------------------------------------------------------------
/src/components/Overlay/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Overlay.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Overlay/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {OverlayProps} from '../Overlay';
3 |
4 | export const backgroundCases: Cases = ['base', 'float'];
5 | export const visibleCases: Cases = [false];
6 |
--------------------------------------------------------------------------------
/src/components/Overlay/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Overlay';
2 |
--------------------------------------------------------------------------------
/src/components/Pagination/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Pagination.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Pagination/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_previous": "Previous",
3 | "button_next": "Next",
4 | "button_first": "First",
5 | "label_input-placeholder": "Page #",
6 | "label_page-of": "of",
7 | "label_select_size": "Select page size"
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Pagination/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Pagination';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Pagination/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_previous": "Предыдущая",
3 | "button_next": "Следующая",
4 | "button_first": "Первая",
5 | "label_input-placeholder": "Стр.",
6 | "label_page-of": "из",
7 | "label_select_size": "Выбрать размер страницы"
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/Pagination/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Pagination';
2 | export type {PaginationProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-hover-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-hover-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-hover-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-hover-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Palette/__snapshots__/Palette.visual.test.tsx-snapshots/Palette-smoke-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Palette/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Palette.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Palette/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Palette';
2 |
--------------------------------------------------------------------------------
/src/components/PinInput/__snapshots__/PinInput.visual.test.tsx-snapshots/PinInput-smoke-empty-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/PinInput/__snapshots__/PinInput.visual.test.tsx-snapshots/PinInput-smoke-empty-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/PinInput/__snapshots__/PinInput.visual.test.tsx-snapshots/PinInput-smoke-number-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/PinInput/__snapshots__/PinInput.visual.test.tsx-snapshots/PinInput-smoke-number-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/PinInput/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './PinInput.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/PinInput/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_one-of": "{{number}} of {{count}}, "
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/PinInput/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'PinInput';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/PinInput/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_one-of": "{{number}} из {{count}}, "
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/PinInput/index.ts:
--------------------------------------------------------------------------------
1 | export * from './PinInput';
2 |
--------------------------------------------------------------------------------
/src/components/PlaceholderContainer/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './PlaceholderContainer.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/PlaceholderContainer/constants.ts:
--------------------------------------------------------------------------------
1 | export const componentClassName = 'placeholder-container';
2 |
--------------------------------------------------------------------------------
/src/components/PlaceholderContainer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './PlaceholderContainer';
2 | export * from './types';
3 |
--------------------------------------------------------------------------------
/src/components/Popover/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Popover.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Popover/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Popover';
2 |
--------------------------------------------------------------------------------
/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-offset-10-25-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-offset-10-25-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-placement-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-placement-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-strategy-absolute-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-strategy-absolute-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-strategy-fixed-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Popup/__snapshots__/Popup.visual.test.tsx-snapshots/Popup-smoke-strategy-fixed-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Popup/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Popup.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Popup/__tests__/constants.ts:
--------------------------------------------------------------------------------
1 | export const VisualTestQA = {
2 | trigger: 'trigger',
3 | popupContent: 'popup-content',
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/Popup/constants.ts:
--------------------------------------------------------------------------------
1 | export const AUTO_PLACEMENTS = ['auto', 'auto-start', 'auto-end'] as const;
2 | export const ARROW_SIZE = 8;
3 | export const OVERFLOW_PADDING = 4;
4 | export const TRANSITION_DURATION = 100;
5 |
--------------------------------------------------------------------------------
/src/components/Popup/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Close"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Popup/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Popup';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Popup/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "close": "Закрыть"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Popup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Popup';
2 | export * from './types';
3 |
--------------------------------------------------------------------------------
/src/components/Portal/Portal.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}portal';
4 |
5 | #{$block} {
6 | &__theme-wrapper {
7 | display: contents;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/Portal/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Portal.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Portal/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Portal';
2 |
--------------------------------------------------------------------------------
/src/components/Progress/__snapshots__/Progress.visual.test.tsx-snapshots/Progress-smoke-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Progress/__snapshots__/Progress.visual.test.tsx-snapshots/Progress-smoke-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Progress/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Progress.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Progress/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const progressBlock = block('progress');
4 |
--------------------------------------------------------------------------------
/src/components/Progress/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Progress';
2 | export type {
3 | ProgressColorStops,
4 | ProgressProps,
5 | ProgressSize,
6 | ProgressTheme,
7 | ProgressValue,
8 | Stack,
9 | } from './types';
10 |
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-default-checked-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-default-checked-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-default-checked-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-default-checked-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-disabled-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-disabled-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-disabled-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-disabled-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Radio/__snapshots__/Radio.visual.test.tsx-snapshots/Radio-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Radio/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Radio.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Radio/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {RadioProps} from '../Radio';
3 |
4 | export const sizeCases: Cases = ['m', 'l'];
5 |
--------------------------------------------------------------------------------
/src/components/Radio/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Radio';
2 |
--------------------------------------------------------------------------------
/src/components/RadioGroup/__snapshots__/RadioGroup.visual.test.tsx-snapshots/RadioGroup-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/RadioGroup/__snapshots__/RadioGroup.visual.test.tsx-snapshots/RadioGroup-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/RadioGroup/__snapshots__/RadioGroup.visual.test.tsx-snapshots/RadioGroup-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/RadioGroup/__snapshots__/RadioGroup.visual.test.tsx-snapshots/RadioGroup-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/RadioGroup/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './RadioGroup.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/RadioGroup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RadioGroup';
2 |
--------------------------------------------------------------------------------
/src/components/SegmentedRadioGroup/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './SegmentedRadioGroup.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/SegmentedRadioGroup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './SegmentedRadioGroup';
2 | export {SegmentedRadioGroupOption} from './SegmentedRadioGroupOption';
3 | export type {SegmentedRadioGroupOptionProps} from './SegmentedRadioGroupOption';
4 |
--------------------------------------------------------------------------------
/src/components/Select/Select.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}select';
4 |
5 | #{$block} {
6 | display: inline-block;
7 |
8 | max-width: 100%;
9 |
10 | &_width_max {
11 | width: 100%;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/Select/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Select.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Select/components/EmptyOptions/EmptyOptions.scss:
--------------------------------------------------------------------------------
1 | @use '../../../variables';
2 |
3 | $block: '.#{variables.$ns}select-empty-placeholder';
4 |
5 | #{$block} {
6 | margin: 4px;
7 | color: var(--g-color-text-hint);
8 |
9 | &_empty {
10 | margin-block-start: 0;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/Select/components/SelectPopup/SelectPopup.scss:
--------------------------------------------------------------------------------
1 | @use '../../../variables';
2 |
3 | $block: '.#{variables.$ns}select-popup';
4 |
5 | #{$block} {
6 | display: flex;
7 | flex-direction: column;
8 | max-height: 90vh;
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/Select/hooks-public/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useSelectOptions';
2 |
--------------------------------------------------------------------------------
/src/components/Select/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export {useQuickSearch} from './useQuickSearch';
2 | export {useActiveItemIndex} from './useActiveItemIndex';
3 |
--------------------------------------------------------------------------------
/src/components/Select/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_clear": "Clear",
3 | "label_show-error-info": "Show popup with error info",
4 | "label_filter": "Filter"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Select/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Select';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Select/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_clear": "Очистить",
3 | "label_show-error-info": "Показать попап с информацей об ошибке",
4 | "label_filter": "Фильтр"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Select/types-misc.ts:
--------------------------------------------------------------------------------
1 | export type SelectFilterRef = {
2 | focus: () => void;
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/Select/variables.scss:
--------------------------------------------------------------------------------
1 | $s-hor-padding: 8px;
2 | $m-hor-padding: 8px;
3 | $l-hor-padding: 12px;
4 | $xl-hor-padding: 12px;
5 |
--------------------------------------------------------------------------------
/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-hideTopBar-true-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-hideTopBar-true-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-title-Title-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Sheet/__snapshots__/Sheet.visual.test.tsx-snapshots/Sheet-smoke-title-Title-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Sheet/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './DefaultShowcase/DefaultShowcase.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Sheet/__stories__/Sheet.stories.tsx:
--------------------------------------------------------------------------------
1 | import type {Meta} from '@storybook/react';
2 |
3 | import {Sheet} from '../Sheet';
4 |
5 | export default {
6 | title: 'Components/Overlays/Sheet',
7 | component: Sheet,
8 | } as Meta;
9 |
--------------------------------------------------------------------------------
/src/components/Sheet/__stories__/constants.ts:
--------------------------------------------------------------------------------
1 | export const DEFAULT_SHEET_QA = 'default-sheet-qa';
2 |
--------------------------------------------------------------------------------
/src/components/Sheet/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {SheetProps} from '../Sheet';
3 |
4 | export const hideTopBarCases: Cases = [true];
5 | export const titleCases: Cases = ['Title'];
6 |
--------------------------------------------------------------------------------
/src/components/Sheet/__tests__/constants.ts:
--------------------------------------------------------------------------------
1 | export const QASheet = {
2 | content: 'content',
3 | };
4 |
--------------------------------------------------------------------------------
/src/components/Sheet/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as stories from '../__stories__/DefaultShowcase/DefaultShowcase.stories';
4 |
5 | export const SheetStories = composeStories(stories);
6 |
--------------------------------------------------------------------------------
/src/components/Sheet/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const sheetBlock = block('sheet');
4 |
5 | export const SheetQa = {
6 | VEIL: 'sheet-veil',
7 | };
8 |
--------------------------------------------------------------------------------
/src/components/Sheet/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Sheet';
2 |
--------------------------------------------------------------------------------
/src/components/Skeleton/__snapshots__/Skeleton.visual.test.tsx-snapshots/Skeleton-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Skeleton/__snapshots__/Skeleton.visual.test.tsx-snapshots/Skeleton-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Skeleton/__snapshots__/Skeleton.visual.test.tsx-snapshots/Skeleton-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Skeleton/__snapshots__/Skeleton.visual.test.tsx-snapshots/Skeleton-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Skeleton/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Skeleton.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Skeleton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Skeleton';
2 |
--------------------------------------------------------------------------------
/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-range-value-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-range-value-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-with-error-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Slider/__snapshots__/Slider.visual.test.tsx-snapshots/Slider-smoke-with-error-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Slider/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Slider.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Slider/constants.ts:
--------------------------------------------------------------------------------
1 | export const CLEAR_MARK_STYLE = {left: '', right: '', transform: ''};
2 |
--------------------------------------------------------------------------------
/src/components/Slider/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Slider';
2 | export type {SliderSize, SliderValue, SliderProps, BaseSliderRefType} from './types';
3 | export {prepareSliderInnerState} from './utils';
4 |
--------------------------------------------------------------------------------
/src/components/Slider/variables.scss:
--------------------------------------------------------------------------------
1 | $slider-color: var(--g-color-base-brand);
2 | $slider-error-color: var(--g-color-base-danger-heavy);
3 | $slider-disabled-color: var(--g-color-base-generic-accent); // --g-color-misc-axis in figma
4 | $handle-center-color: var(--g-color-base-background);
5 |
6 | $slider-tooltip-offset: 6px;
7 |
--------------------------------------------------------------------------------
/src/components/Spin/__snapshots__/Spin.visual.test.tsx-snapshots/Spin-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Spin/__snapshots__/Spin.visual.test.tsx-snapshots/Spin-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Spin/__snapshots__/Spin.visual.test.tsx-snapshots/Spin-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Spin/__snapshots__/Spin.visual.test.tsx-snapshots/Spin-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Spin/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Spin.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Spin/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {SpinProps} from '../Spin';
3 |
4 | export const sizeCases: Cases = ['xs', 's', 'm', 'l', 'xl'];
5 |
--------------------------------------------------------------------------------
/src/components/Spin/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Spin';
2 |
--------------------------------------------------------------------------------
/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-Size-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-Size-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-Size-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-Size-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-View-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-View-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-View-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Stepper/__snapshots__/Stepper.visual.test.tsx-snapshots/Stepper-render-story-View-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Stepper/__tests__/helpersPlaywright.tsx:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultStepperStories from '../__stories__/Stepper.stories';
4 |
5 | export const StepperStories = composeStories(DefaultStepperStories);
6 |
--------------------------------------------------------------------------------
/src/components/Stepper/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Stepper';
2 |
3 | export * from './types';
4 |
--------------------------------------------------------------------------------
/src/components/Stepper/types.ts:
--------------------------------------------------------------------------------
1 | export type StepperItemView = 'idle' | 'error' | 'success';
2 |
3 | export type StepperSize = 's' | 'm' | 'l';
4 |
--------------------------------------------------------------------------------
/src/components/Stepper/utils.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const b = block('stepper');
4 |
--------------------------------------------------------------------------------
/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-checked-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-checked-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-checked-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-checked-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Switch/__snapshots__/Switch.visual.test.tsx-snapshots/Switch-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Switch/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Switch.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Switch/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Switch';
2 |
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-Adaptive-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-Adaptive-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-EmptyCustom-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-render-story-EmptyCustom-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-column-config-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-column-config-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-actions-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-actions-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-checkbox-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-checkbox-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-copy-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-copy-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-settings-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Table/__snapshots__/Table.visual.test.tsx-snapshots/Table-smoke-with-settings-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Table/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Table.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Table/__stories__/WithTableSettingsCustomActions/index.ts:
--------------------------------------------------------------------------------
1 | export {WithTableSettingsCustomActionsShowcase} from './WithTableSettingsCustomActions';
2 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/TableColumnSetup/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_apply": "Apply",
3 | "button_reset": "Reset",
4 | "button_switcher": "Columns"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/TableColumnSetup/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'TableColumnSetupInner';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/TableColumnSetup/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_apply": "Применить",
3 | "button_reset": "Сбросить",
4 | "button_switcher": "Колонки"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_settings": "Table settings"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'withTableSettings';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Table/hoc/withTableSettings/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_settings": "Настройки таблицы"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Table/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_empty": "No data",
3 | "label-actions": "Actions",
4 | "label-row-select": "Select"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Table/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Table';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/Table/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_empty": "Нет данных",
3 | "label-actions": "Действия",
4 | "label-row-select": "Выбрать"
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Table/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Table';
2 | export * from './hoc';
3 |
--------------------------------------------------------------------------------
/src/components/Table/variables.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}table';
4 | $tableLineHeight: 18px;
5 |
--------------------------------------------------------------------------------
/src/components/TableColumnSetup/TableColumnSetup.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 |
3 | $block: '.#{variables.$ns}table-column-setup';
4 |
5 | #{$block} {
6 | &__status {
7 | margin-inline-start: 5px;
8 | color: var(--g-color-text-secondary);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/TableColumnSetup/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_switcher": "Columns"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/TableColumnSetup/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'TableColumnSetup';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/TableColumnSetup/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "button_switcher": "Колонки"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/TableColumnSetup/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TableColumnSetup';
2 |
--------------------------------------------------------------------------------
/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-long-text-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-long-text-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-regular-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-regular-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-render-story-Ellipsis-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Text/__snapshots__/Text.visual.test.tsx-snapshots/Text-smoke-render-story-Ellipsis-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Text/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Text.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Text/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/Text.stories';
4 |
5 | export const TextStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/Text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Text';
2 | export {TEXT_VARIANTS, text} from './text/text';
3 | export {TEXT_COLORS, colorText} from './colorText/colorText';
4 |
--------------------------------------------------------------------------------
/src/components/Toaster/Provider/ToasterContext.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import type {ToasterContextMethods} from '../types';
4 |
5 | export const ToasterContext = React.createContext(null);
6 | ToasterContext.displayName = 'ToasterContext';
7 |
--------------------------------------------------------------------------------
/src/components/Toaster/Provider/ToastsContext.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import type {InternalToastProps} from '../types';
4 |
5 | export const ToastsContext = React.createContext([]);
6 | ToastsContext.displayName = 'ToastsContext';
7 |
--------------------------------------------------------------------------------
/src/components/Toaster/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Toaster.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Toaster/constants.ts:
--------------------------------------------------------------------------------
1 | export const TOAST_THEMES = ['normal', 'info', 'success', 'warning', 'danger', 'utility'] as const;
2 |
--------------------------------------------------------------------------------
/src/components/Toaster/hooks/useInToasterContext.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import {ToasterContext} from '../Provider/ToasterContext';
4 |
5 | export function useInToasterContext() {
6 | return React.useContext(ToasterContext) !== null;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/Toaster/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close-button": "Close"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Toaster/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_close-button": "Закрыть"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/Toaster/utilities/getToastIndex.tsx:
--------------------------------------------------------------------------------
1 | import type {ToastProps} from '../types';
2 |
3 | export function getToastIndex(toasts: ToastProps[], name: ToastProps['name']) {
4 | return toasts.findIndex((toast) => toast.name === name);
5 | }
6 |
--------------------------------------------------------------------------------
/src/components/Toaster/utilities/hasToast.ts:
--------------------------------------------------------------------------------
1 | import type {ToastProps} from '../types';
2 |
3 | import {getToastIndex} from './getToastIndex';
4 |
5 | export function hasToast(toasts: ToastProps[], name: ToastProps['name']): boolean {
6 | return getToastIndex(toasts, name) !== -1;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/Toc/TocItem/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TocItem';
2 |
--------------------------------------------------------------------------------
/src/components/Toc/TocSections/TocSections.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 | @use '../../../../styles/mixins.scss';
3 |
4 | $block: '.#{variables.$ns}toc';
5 |
6 | #{$block}__sections {
7 | padding: 0;
8 | margin: 0;
9 |
10 | overflow: hidden auto;
11 |
12 | list-style: none;
13 | }
14 |
--------------------------------------------------------------------------------
/src/components/Toc/TocSections/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TocSections';
2 |
--------------------------------------------------------------------------------
/src/components/Toc/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Toc.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Toc/__stories__/Toc.stories.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 |
3 | $block: '.#{variables.$ns}toc-stories';
4 |
5 | #{$block} {
6 | $class: &;
7 |
8 | max-width: 416px;
9 | }
10 |
--------------------------------------------------------------------------------
/src/components/Toc/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Toc';
2 | export * from './types';
3 |
--------------------------------------------------------------------------------
/src/components/Toc/types.ts:
--------------------------------------------------------------------------------
1 | export interface TocItem {
2 | value?: string;
3 | content?: React.ReactNode;
4 | href?: string;
5 | items?: TocItem[];
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/Tooltip/__snapshots__/Tooltip.visual.test.tsx-snapshots/Tooltip-smoke-default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/Tooltip/__snapshots__/Tooltip.visual.test.tsx-snapshots/Tooltip-smoke-default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/Tooltip/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Tooltip.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/Tooltip/__tests__/constants.ts:
--------------------------------------------------------------------------------
1 | export const TooltipQA = {
2 | trigger: 'trigger',
3 | tooltipContent: 'tooltip-content',
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/Tooltip/index.ts:
--------------------------------------------------------------------------------
1 | export {Tooltip} from './Tooltip';
2 | export type {TooltipProps} from './Tooltip';
3 |
--------------------------------------------------------------------------------
/src/components/TreeList/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 |
3 | import TreeListDocs from './TreeListDocs.md?raw';
4 |
5 |
6 |
7 | {TreeListDocs}
8 |
--------------------------------------------------------------------------------
/src/components/TreeList/index.ts:
--------------------------------------------------------------------------------
1 | export {TreeList} from './TreeList';
2 | export {type TreeListProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/TreeSelect/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 |
3 | import TreeSelectDocs from './TreeSelectDocs.md?raw';
4 |
5 |
6 |
7 | {TreeSelectDocs}
8 |
--------------------------------------------------------------------------------
/src/components/TreeSelect/index.ts:
--------------------------------------------------------------------------------
1 | export {TreeSelect} from './TreeSelect';
2 | export type {TreeSelectProps, TreeSelectRenderItem} from './types';
3 |
--------------------------------------------------------------------------------
/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Default-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Default-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Default-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Default-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Showcase-dark-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Showcase-dark-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Showcase-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-render-story-Showcase-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/User/__snapshots__/User.visual.test.tsx-snapshots/User-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/User/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './User.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/User/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as Stories from '../__stories__/User.stories';
4 |
5 | export const UserStories = composeStories(Stories);
6 |
--------------------------------------------------------------------------------
/src/components/User/index.ts:
--------------------------------------------------------------------------------
1 | export type {UserSize, UserProps} from './types';
2 | export {DEFAULT_USER_SIZE, UserQa} from './constants';
3 | export {User} from './User';
4 |
--------------------------------------------------------------------------------
/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-email-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-email-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-person-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-person-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-user-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/UserLabel/__snapshots__/UserLabel.visual.test.tsx-snapshots/UserLabel-smoke-user-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/UserLabel/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './UserLabel.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/UserLabel/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as Stories from '../__stories__/UserLabel.stories';
4 |
5 | export const UserLabelStories = composeStories(Stories);
6 |
--------------------------------------------------------------------------------
/src/components/UserLabel/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_remove-button": "Remove"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/UserLabel/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../i18n';
2 | import {NAMESPACE} from '../../utils/cn';
3 |
4 | import en from './en.json';
5 | import ru from './ru.json';
6 |
7 | export default addComponentKeysets({en, ru}, `${NAMESPACE}user-label`);
8 |
--------------------------------------------------------------------------------
/src/components/UserLabel/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_remove-button": "Удалить"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/UserLabel/index.ts:
--------------------------------------------------------------------------------
1 | export type {UserLabelType, UserLabelView, UserLabelSize, UserLabelProps} from './types';
2 | export {DEFAULT_USER_LABEL_SIZE} from './constants';
3 | export {UserLabel} from './UserLabel';
4 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './PasswordInput.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/__tests__/helpersPlaywright.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as DefaultPasswordInputStories from '../__stories__/PasswordInput.stories';
4 |
5 | export const PasswordInputStories = composeStories(DefaultPasswordInputStories);
6 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/constants.ts:
--------------------------------------------------------------------------------
1 | export const PasswordInputQa = {
2 | revealButton: 'reveal-button',
3 | copyButton: 'copy-button',
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_show-password": "Show password",
3 | "label_hide-password": "Hide password"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'PasswordInput';
7 |
8 | export const i18n = addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_show-password": "Показать пароль",
3 | "label_hide-password": "Скрыть пароль"
4 | }
5 |
--------------------------------------------------------------------------------
/src/components/controls/PasswordInput/index.ts:
--------------------------------------------------------------------------------
1 | export * from './PasswordInput';
2 |
--------------------------------------------------------------------------------
/src/components/controls/TextArea/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './TextArea.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/controls/TextArea/index.ts:
--------------------------------------------------------------------------------
1 | export {TextArea} from './TextArea';
2 | export type {TextAreaProps, TextAreaPin, TextAreaSize, TextAreaView} from './TextArea';
3 |
--------------------------------------------------------------------------------
/src/components/controls/TextInput/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './TextInput.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/controls/TextInput/index.ts:
--------------------------------------------------------------------------------
1 | export {TextInput} from './TextInput';
2 | export type {TextInputProps, TextInputPin, TextInputSize, TextInputView} from './TextInput';
3 |
--------------------------------------------------------------------------------
/src/components/controls/common/ClearButton/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_clear-button": "Clear"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/controls/common/ClearButton/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../../../i18n';
2 | import {NAMESPACE} from '../../../../utils/cn';
3 |
4 | import en from './en.json';
5 | import ru from './ru.json';
6 |
7 | export default addComponentKeysets({en, ru}, `${NAMESPACE}clear-button`);
8 |
--------------------------------------------------------------------------------
/src/components/controls/common/ClearButton/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_clear-button": "Очистить"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/controls/common/index.ts:
--------------------------------------------------------------------------------
1 | export {ClearButton, mapTextInputSizeToButtonSize} from './ClearButton/ClearButton';
2 |
--------------------------------------------------------------------------------
/src/components/controls/index.ts:
--------------------------------------------------------------------------------
1 | export * from './TextArea';
2 | export * from './TextInput';
3 | export * from './PasswordInput';
4 | export type {InputControlPin, InputControlSize, InputControlState, InputControlView} from './types';
5 |
--------------------------------------------------------------------------------
/src/components/controls/variables.scss:
--------------------------------------------------------------------------------
1 | $border-width: 1px;
2 |
--------------------------------------------------------------------------------
/src/components/lab/Menu/Menu.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 |
3 | $b: '.#{variables.$ns}lab-menu';
4 |
5 | #{$b} {
6 | padding: 4px;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/lab/Menu/MenuDivider.scss:
--------------------------------------------------------------------------------
1 | @use '../../variables';
2 |
3 | $b: '.#{variables.$ns}lab-menu-divider';
4 |
5 | #{$b} {
6 | margin-block: 4px;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/lab/Menu/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Menu.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/lab/Menu/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Menu';
2 | export * from './MenuTrigger';
3 | export * from './MenuItem';
4 | export * from './MenuDivider';
5 | export * from './types';
6 |
--------------------------------------------------------------------------------
/src/components/layout/Col/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/Col.stories';
4 |
5 | export const ColStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/layout/Container/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/Container.stories';
4 |
5 | export const ContainerStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/layout/Flex/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/Flex.stories';
4 |
5 | export const FlexStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/layout/Row/__tests__/stories.ts:
--------------------------------------------------------------------------------
1 | import {composeStories} from '@storybook/react';
2 |
3 | import * as CSFStories from '../__stories__/Row.stories';
4 |
5 | export const RowStories = composeStories(CSFStories);
6 |
--------------------------------------------------------------------------------
/src/components/layout/demo/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Box/Box';
2 | export * from './LayoutPresenter/LayoutPresenter';
3 | export * from './ColPresenter/ColPresenter';
4 |
--------------------------------------------------------------------------------
/src/components/legacy/Breadcrumbs/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Breadcrumbs.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/legacy/Breadcrumbs/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_more": "Show more"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/legacy/Breadcrumbs/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import {addComponentKeysets} from '../../../../i18n';
2 |
3 | import en from './en.json';
4 | import ru from './ru.json';
5 |
6 | const COMPONENT = 'Breadcrumbs';
7 |
8 | export default addComponentKeysets({en, ru}, COMPONENT);
9 |
--------------------------------------------------------------------------------
/src/components/legacy/Breadcrumbs/i18n/ru.json:
--------------------------------------------------------------------------------
1 | {
2 | "label_more": "Показать больше"
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/legacy/Breadcrumbs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Breadcrumbs';
2 |
--------------------------------------------------------------------------------
/src/components/legacy/Popover/Popover.classname.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../../utils/cn';
2 |
3 | export const cnPopover = block('popover-legacy');
4 |
--------------------------------------------------------------------------------
/src/components/legacy/Popover/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Popover.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/legacy/Popover/__stories__/PopoverDemo.classname.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../../../utils/cn';
2 |
3 | export const cnPopoverDemo = block('popover-legacy-demo');
4 |
--------------------------------------------------------------------------------
/src/components/legacy/Popover/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Popover';
2 | export type {
3 | PopoverButtonProps,
4 | PopoverProps,
5 | PopoverInstanceProps,
6 | PopoverAnchorRef,
7 | PopoverAnchorElement,
8 | } from './types';
9 | export {PopoverBehavior} from './config';
10 |
--------------------------------------------------------------------------------
/src/components/legacy/Tabs/TabsContext.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | export const TabsContext = React.createContext<{activeTabId: string | undefined}>({
4 | activeTabId: undefined,
5 | });
6 |
7 | TabsContext.displayName = 'TabsContext';
8 |
--------------------------------------------------------------------------------
/src/components/legacy/Tabs/__snapshots__/Tabs.visual.test.tsx-snapshots/Tabs-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/legacy/Tabs/__snapshots__/Tabs.visual.test.tsx-snapshots/Tabs-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/legacy/Tabs/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './Tabs.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/legacy/Tabs/__stories__/types.ts:
--------------------------------------------------------------------------------
1 | export type StoryParams = {
2 | withIcon?: boolean;
3 | withCounter?: boolean;
4 | withLabel?: boolean;
5 | withOverflow?: boolean;
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/legacy/Tabs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Tabs';
2 |
--------------------------------------------------------------------------------
/src/components/legacy/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Popover';
2 | export * from './Tabs';
3 | export * from './Breadcrumbs';
4 |
--------------------------------------------------------------------------------
/src/components/mobile/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export enum Platform {
4 | IOS = 'ios',
5 | ANDROID = 'android',
6 | BROWSER = 'browser',
7 | }
8 |
9 | const b = block('root');
10 | export const rootMobileClassName = b({mobile: true}).split(/\s+/)[1];
11 |
--------------------------------------------------------------------------------
/src/components/mobile/index.ts:
--------------------------------------------------------------------------------
1 | export * from './MobileContext';
2 | export * from './MobileProvider';
3 | export * from './useMobile';
4 | export * from './usePlatform';
5 | export * from './withMobile';
6 | export * from './constants';
7 |
--------------------------------------------------------------------------------
/src/components/mobile/useMobile.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import {MobileContext} from './MobileContext';
4 | import type {MobileContextProps} from './MobileContext';
5 |
6 | export function useMobile(): MobileContextProps['mobile'] {
7 | return React.useContext(MobileContext).mobile;
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/mobile/usePlatform.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import {MobileContext} from './MobileContext';
4 | import type {MobileContextProps} from './MobileContext';
5 |
6 | export function usePlatform(): MobileContextProps['platform'] {
7 | return React.useContext(MobileContext).platform;
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/tabs/TabPanel.scss:
--------------------------------------------------------------------------------
1 | @use '../variables';
2 | @use '../../../styles/mixins';
3 |
4 | $block: '.#{variables.$ns}tab-panel';
5 |
6 | #{$block} {
7 | &_hidden {
8 | display: none;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-with-custom-tab-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-with-custom-tab-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-without-value-light-chromium-linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/components/tabs/__snapshots__/TabList.visual.test.tsx-snapshots/TabList-smoke-without-value-light-chromium-linux.png
--------------------------------------------------------------------------------
/src/components/tabs/__stories__/Docs.mdx:
--------------------------------------------------------------------------------
1 | import {Meta, Markdown} from '@storybook/addon-docs';
2 | import * as Stories from './TabList.stories';
3 | import Readme from '../README.md?raw';
4 |
5 |
6 |
7 | {Readme}
8 |
--------------------------------------------------------------------------------
/src/components/tabs/__tests__/cases.tsx:
--------------------------------------------------------------------------------
1 | import type {Cases} from '../../../stories/tests-factory/models';
2 | import type {TabListProps} from '../types';
3 |
4 | export const sizeCases: Cases = ['m', 'l', 'xl'];
5 |
--------------------------------------------------------------------------------
/src/components/tabs/constants.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../utils/cn';
2 |
3 | export const bTabList = block('tab-list');
4 | export const bTab = block('tab');
5 | export const bTabPanel = block('tab-panel');
6 |
7 | export const TAB_DATA_ATTRIBUTE = 'data-tab';
8 |
--------------------------------------------------------------------------------
/src/components/theme/ThemeContext.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import type {ThemeContextProps} from './types';
4 |
5 | export const ThemeContext = React.createContext(undefined);
6 | ThemeContext.displayName = 'ThemeContext';
7 |
--------------------------------------------------------------------------------
/src/components/theme/getThemeType.ts:
--------------------------------------------------------------------------------
1 | import {DARK_THEMES} from './constants';
2 | import type {RealTheme, ThemeType} from './types';
3 |
4 | export function getThemeType(theme: RealTheme): ThemeType {
5 | return DARK_THEMES.includes(theme) ? 'dark' : 'light';
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/theme/useDirection.ts:
--------------------------------------------------------------------------------
1 | import type {ThemeContextProps} from './types';
2 | import {useThemeContext} from './useThemeContext';
3 |
4 | export function useDirection(): ThemeContextProps['direction'] {
5 | return useThemeContext().direction;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/theme/useTheme.ts:
--------------------------------------------------------------------------------
1 | import type {ThemeContextProps} from './types';
2 | import {useThemeContext} from './useThemeContext';
3 |
4 | export function useTheme(): ThemeContextProps['theme'] {
5 | return useThemeContext().theme;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/theme/useThemeType.ts:
--------------------------------------------------------------------------------
1 | import {getThemeType} from './getThemeType';
2 | import type {ThemeType} from './types';
3 | import {useThemeValue} from './useThemeValue';
4 |
5 | export function useThemeType(): ThemeType {
6 | return getThemeType(useThemeValue());
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/theme/useThemeValue.ts:
--------------------------------------------------------------------------------
1 | import type {ThemeContextProps} from './types';
2 | import {useThemeContext} from './useThemeContext';
3 |
4 | export function useThemeValue(): ThemeContextProps['themeValue'] {
5 | return useThemeContext().themeValue;
6 | }
7 |
--------------------------------------------------------------------------------
/src/components/useList/__stories__/components/VirtualizedListContainer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './VirtualizedListContainer.async';
2 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListContainer/index.ts:
--------------------------------------------------------------------------------
1 | export {ListContainer} from './ListContainer';
2 | export type {ListContainerProps} from './ListContainer';
3 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListContainerView/index.ts:
--------------------------------------------------------------------------------
1 | export {ListContainerView, type ListContainerViewProps} from './ListContainerView';
2 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListItemExpandIcon/ListItemExpandIcon.scss:
--------------------------------------------------------------------------------
1 | @use '../../../variables';
2 |
3 | $block: '.#{variables.$ns}list-item-expand-icon';
4 |
5 | #{$block} {
6 | flex-shrink: 0;
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListItemExpandIcon/index.ts:
--------------------------------------------------------------------------------
1 | export {ListItemExpandIcon} from './ListItemExpandIcon';
2 | export type {ListItemExpandIconProps} from './ListItemExpandIcon';
3 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListItemView/index.ts:
--------------------------------------------------------------------------------
1 | export {ListItemView} from './ListItemView';
2 | export {isListItemContentPropsGuard} from './ListItemViewContent';
3 | export type {ListItemViewProps, ListItemViewCommonProps} from './ListItemView';
4 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListItemView/styles.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../../../utils/cn';
2 |
3 | import './ListItemView.scss';
4 |
5 | export const b = block('list-item-view');
6 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListRecursiveRenderer/ListRecursiveRenderer.scss:
--------------------------------------------------------------------------------
1 | @use '../../../variables';
2 |
3 | $block: '.#{variables.$ns}list-recursive-renderer';
4 |
5 | #{$block} {
6 | padding: 0;
7 | margin: 0;
8 | }
9 |
--------------------------------------------------------------------------------
/src/components/useList/components/ListRecursiveRenderer/index.ts:
--------------------------------------------------------------------------------
1 | export {ListItemRecursiveRenderer} from './ListRecursiveRenderer';
2 | export type {ListItemRecursiveRendererProps} from './ListRecursiveRenderer';
3 |
--------------------------------------------------------------------------------
/src/components/useList/constants.ts:
--------------------------------------------------------------------------------
1 | export const LIST_ITEM_DATA_ATR = 'data-list-item';
2 |
3 | export const GROUPED_ID_SEPARATOR = '-';
4 |
5 | export const modToHeight = {
6 | s: [22, 44],
7 | m: [26, 44],
8 | l: [34, 52],
9 | xl: [44, 62],
10 | } as const;
11 |
--------------------------------------------------------------------------------
/src/components/useList/utils/computeItemSize.ts:
--------------------------------------------------------------------------------
1 | import {modToHeight} from '../constants';
2 | import type {ListItemSize} from '../types';
3 |
4 | export const computeItemSize = (size: ListItemSize, hasSubRows = false) => {
5 | return modToHeight[size][Number(hasSubRows)];
6 | };
7 |
--------------------------------------------------------------------------------
/src/components/useList/utils/getListItemQa.ts:
--------------------------------------------------------------------------------
1 | import type {ListItemId} from '../types';
2 |
3 | export const getListItemQa = (qa: string, id: ListItemId): string => `${qa}-${id}`;
4 |
--------------------------------------------------------------------------------
/src/components/useList/utils/isTreeItemGuard.ts:
--------------------------------------------------------------------------------
1 | import type {ListItemType, ListTreeItemType} from '../types';
2 |
3 | export const isTreeItemGuard = (item?: ListItemType): item is ListTreeItemType => {
4 | return item !== null && typeof item === 'object' && 'data' in item;
5 | };
6 |
--------------------------------------------------------------------------------
/src/components/utils/event-broker/index.ts:
--------------------------------------------------------------------------------
1 | export {eventBroker, EventBroker} from './EventBroker';
2 | export {useEventBroker} from './useEventBroker';
3 | export type {EventBrokerSubscription, EventBrokerData} from './EventBroker';
4 |
--------------------------------------------------------------------------------
/src/components/utils/getComponentName.ts:
--------------------------------------------------------------------------------
1 | export function getComponentName(Component: React.ComponentType) {
2 | return Component.displayName || Component.name || 'Component';
3 | }
4 |
--------------------------------------------------------------------------------
/src/components/utils/layer-manager/index.ts:
--------------------------------------------------------------------------------
1 | export {layerManager, getLayersCount} from './LayerManager';
2 | export type {LayerConfig, LayerCloseReason} from './LayerManager';
3 | export {useLayer} from './useLayer';
4 | export type {LayerProps} from './useLayer';
5 |
--------------------------------------------------------------------------------
/src/components/utils/svg.ts:
--------------------------------------------------------------------------------
1 | export const a11yHiddenSvgProps = {
2 | // Hides element from a11y tree
3 | 'aria-hidden': true,
4 | };
5 |
--------------------------------------------------------------------------------
/src/components/utils/typeCheckers.ts:
--------------------------------------------------------------------------------
1 | export const isFunction = (value: unknown): value is Function => typeof value === 'function';
2 |
--------------------------------------------------------------------------------
/src/components/utils/warn.ts:
--------------------------------------------------------------------------------
1 | const didWarn = new Map();
2 |
3 | export function warnOnce(msg: string) {
4 | if (!msg || didWarn.has(msg) || process.env.NODE_ENV === 'production') {
5 | return;
6 | }
7 |
8 | console.error(msg);
9 | didWarn.set(msg, true);
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/variables.scss:
--------------------------------------------------------------------------------
1 | $ns: 'g-';
2 |
3 | $xs-height: 20px;
4 | $s-height: 24px;
5 | $m-height: 28px;
6 | $l-height: 36px;
7 | $xl-height: 44px;
8 |
9 | $button-shrink-transition: transform 0.1s ease-out;
10 | $button-shrink-transform: scale(0.96);
11 |
12 | $modal-default-margin: 20px;
13 |
--------------------------------------------------------------------------------
/src/demo/Showcase/index.ts:
--------------------------------------------------------------------------------
1 | export {Showcase} from './Showcase';
2 |
--------------------------------------------------------------------------------
/src/demo/ShowcaseGrid/index.ts:
--------------------------------------------------------------------------------
1 | export {ShowcaseGrid} from './ShowcaseGrid';
2 |
--------------------------------------------------------------------------------
/src/demo/ShowcaseItem/ShowcaseItem.scss:
--------------------------------------------------------------------------------
1 | @use '../../../styles/mixins';
2 |
3 | .showcase-item {
4 | &__title {
5 | @include mixins.text-subheader-3();
6 | margin-block-end: var(--g-spacing-3);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/demo/ShowcaseItem/index.ts:
--------------------------------------------------------------------------------
1 | export {ShowcaseItem} from './ShowcaseItem';
2 |
--------------------------------------------------------------------------------
/src/deprecated.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gravity-ui/uikit/75cf80d323317d2606686b560b25b15376d6558b/src/deprecated.ts
--------------------------------------------------------------------------------
/src/hooks/private/useAnimateHeight/index.ts:
--------------------------------------------------------------------------------
1 | export {useAnimateHeight} from './useAnimateHeight';
2 |
--------------------------------------------------------------------------------
/src/hooks/private/useBoolean/index.ts:
--------------------------------------------------------------------------------
1 | export {useBoolean} from './useBoolean';
2 | export type {UseBooleanResult} from './useBoolean';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useCheckbox/index.ts:
--------------------------------------------------------------------------------
1 | export {useCheckbox} from './useCheckbox';
2 | export type {UseCheckboxProps, UseCheckboxResult} from './useCheckbox';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useCloseOnTimeout/index.ts:
--------------------------------------------------------------------------------
1 | export {useCloseOnTimeout} from './useCloseOnTimeout';
2 | export type {UseCloseOnTimeoutProps, UseCloseOnTimeoutResult} from './useCloseOnTimeout';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useConditionallyControlledState/index.ts:
--------------------------------------------------------------------------------
1 | export {useConditionallyControlledState} from './useConditionallyControlledState';
2 | export type {UseConditionallyControlledStateResult} from './useConditionallyControlledState';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useElementSize/index.ts:
--------------------------------------------------------------------------------
1 | export {useElementSize} from './useElementSize';
2 | export type {UseElementSizeResult} from './useElementSize';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useHover/README.md:
--------------------------------------------------------------------------------
1 | # useHover
2 |
3 | The `useHover` hook makes hover state with callbacks for change it
4 |
5 | ## Result
6 |
7 | ```
8 | [
9 | onMouseEnter, // React.MouseEventHandler
10 | onMouseLeave, // React.MouseEventHandler
11 | isHovering, // boolean
12 | ]
13 | ```
14 |
--------------------------------------------------------------------------------
/src/hooks/private/useHover/index.ts:
--------------------------------------------------------------------------------
1 | export {useHover} from './useHover';
2 | export type {UseHoverResult} from './useHover';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/usePrevious/index.ts:
--------------------------------------------------------------------------------
1 | export {usePrevious} from './usePrevious';
2 |
--------------------------------------------------------------------------------
/src/hooks/private/usePrevious/usePrevious.ts:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | export function usePrevious(value: T): T | undefined {
4 | const ref = React.useRef();
5 |
6 | React.useEffect(() => {
7 | ref.current = value;
8 | });
9 |
10 | return ref.current;
11 | }
12 |
--------------------------------------------------------------------------------
/src/hooks/private/useRadio/index.ts:
--------------------------------------------------------------------------------
1 | export {useRadio} from './useRadio';
2 | export type {UseRadioProps, UseRadioResult} from './useRadio';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useRadioGroup/index.ts:
--------------------------------------------------------------------------------
1 | export {useRadioGroup} from './useRadioGroup';
2 | export type {UseRadioGroupProps, UseRadioGroupResult} from './useRadioGroup';
3 |
--------------------------------------------------------------------------------
/src/hooks/private/useStateWithCallback/index.ts:
--------------------------------------------------------------------------------
1 | export {useStateWithCallback} from './useStateWithCallback';
2 |
--------------------------------------------------------------------------------
/src/hooks/private/useUpdateEffect/README.md:
--------------------------------------------------------------------------------
1 | # useUpdateEffect
2 |
3 | The `useUpdateEffect` hook that ignores the first invocation (e.g. on mount). The signature is exactly the same as the useEffect hook.
4 |
--------------------------------------------------------------------------------
/src/hooks/private/useUpdateEffect/index.ts:
--------------------------------------------------------------------------------
1 | export {useUpdateEffect} from './useUpdateEffect';
2 |
--------------------------------------------------------------------------------
/src/hooks/useActionHandlers/index.ts:
--------------------------------------------------------------------------------
1 | export {useActionHandlers} from './useActionHandlers';
2 | export type {UseActionHandlersProps, UseActionHandlersResult} from './useActionHandlers';
3 |
--------------------------------------------------------------------------------
/src/hooks/useAsyncActionHandler/__stories__/UseAsyncActionHandlerDemo.classname.ts:
--------------------------------------------------------------------------------
1 | import {block} from '../../../components/utils/cn';
2 |
3 | export const cnUseAsyncActionHandlerDemo = block('async-action-handler-demo');
4 |
--------------------------------------------------------------------------------
/src/hooks/useAsyncActionHandler/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useAsyncActionHandler';
2 |
--------------------------------------------------------------------------------
/src/hooks/useControlledState/index.ts:
--------------------------------------------------------------------------------
1 | export * from './useControlledState';
2 |
--------------------------------------------------------------------------------
/src/hooks/useFileInput/index.ts:
--------------------------------------------------------------------------------
1 | export {useFileInput} from './useFileInput';
2 | export type {UseFileInputProps, UseFileInputResult} from './useFileInput';
3 |
--------------------------------------------------------------------------------
/src/hooks/useFocusWithin/index.ts:
--------------------------------------------------------------------------------
1 | export {useFocusWithin} from './useFocusWithin';
2 | export type {UseFocusWithinProps, UseFocusWithinResult} from './useFocusWithin';
3 |
--------------------------------------------------------------------------------
/src/hooks/useForkRef/index.ts:
--------------------------------------------------------------------------------
1 | export {useForkRef} from './useForkRef';
2 | export {mergeRefs} from './mergeRefs';
3 | export {setRef} from './setRef';
4 | export type {UseForkRefProps, UseForkRefResult} from './useForkRef';
5 |
--------------------------------------------------------------------------------
/src/hooks/useIntersection/index.ts:
--------------------------------------------------------------------------------
1 | export {useIntersection} from './useIntersection';
2 | export type {UseIntersectionProps} from './useIntersection';
3 |
--------------------------------------------------------------------------------
/src/hooks/useListNavigation/index.ts:
--------------------------------------------------------------------------------
1 | export {useListNavigation} from './useListNavigation';
2 | export type {UseListNavigationProps, UseListNavigationResult} from './useListNavigation';
3 |
--------------------------------------------------------------------------------
/src/hooks/useOutsideClick/index.ts:
--------------------------------------------------------------------------------
1 | export {useOutsideClick} from './useOutsideClick';
2 | export type {UseOutsideClickProps} from './useOutsideClick';
3 |
--------------------------------------------------------------------------------
/src/hooks/usePortalContainer/index.ts:
--------------------------------------------------------------------------------
1 | export {usePortalContainer} from './usePortalContainer';
2 | export {PortalProvider} from './PortalProvider';
3 | export type {UsePortalContainerResult} from './usePortalContainer';
4 |
--------------------------------------------------------------------------------
/src/hooks/useResizeObserver/index.ts:
--------------------------------------------------------------------------------
1 | export {useResizeObserver} from './useResizeObserver';
2 |
--------------------------------------------------------------------------------
/src/hooks/useSelect/index.ts:
--------------------------------------------------------------------------------
1 | export {useSelect} from './useSelect';
2 | export type {UseSelectOption, UseSelectProps} from './types';
3 |
--------------------------------------------------------------------------------
/src/hooks/useTimeout/index.ts:
--------------------------------------------------------------------------------
1 | export {useTimeout} from './useTimeout';
2 | export type {UseTimeoutProps} from './useTimeout';
3 |
--------------------------------------------------------------------------------
/src/hooks/useUniqId/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # useUniqId
4 |
5 |
6 |
7 | ```tsx
8 | import {useUniqId} from '@gravity-ui/uikit';
9 | ```
10 |
11 | The `useUniqId` hook creates unique ID.
12 |
13 | ## Result
14 |
15 | ID. `string`
16 |
--------------------------------------------------------------------------------
/src/hooks/useUniqId/index.ts:
--------------------------------------------------------------------------------
1 | export {useUniqId} from './useUniqId';
2 | export type {UseUniqIdResult} from './useUniqId';
3 |
--------------------------------------------------------------------------------
/src/hooks/useViewportSize/index.ts:
--------------------------------------------------------------------------------
1 | export {useViewportSize} from './useViewportSize';
2 | export type {UseViewportSizeResult} from './useViewportSize';
3 |
--------------------------------------------------------------------------------
/src/hooks/useVirtualElementRef/index.ts:
--------------------------------------------------------------------------------
1 | export {useVirtualElementRef, useVirtualElement} from './useVirtualElementRef';
2 | export type {
3 | VirtualElementRect,
4 | UseVirtualElementRefProps,
5 | UseVirtualElementRefResult,
6 | } from './useVirtualElementRef';
7 |
--------------------------------------------------------------------------------
/src/i18n/index.ts:
--------------------------------------------------------------------------------
1 | export * from './addComponentKeysets';
2 | export * from './addLanguageKeysets';
3 | export type * from './types';
4 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export {Lang, configure, getConfig} from './utils/configure';
2 | export * from './components';
3 | export * from './hooks';
4 | export * from './utils/dom';
5 | export type {StringWithSuggest} from './types/utils';
6 |
--------------------------------------------------------------------------------
/src/legacy.ts:
--------------------------------------------------------------------------------
1 | export * from './components/legacy';
2 |
--------------------------------------------------------------------------------
/src/server.ts:
--------------------------------------------------------------------------------
1 | export {getRootClassName} from './components/theme/getRootClassName';
2 |
--------------------------------------------------------------------------------
/src/stories/tests-factory/models.ts:
--------------------------------------------------------------------------------
1 | export type CaseName = string;
2 | export type Cases = Array;
3 | export type CasesWithName = Array<[CaseName, T]>;
4 |
5 | export type ScenarioName = string;
6 | export type Scenario = [ScenarioName, T];
7 |
--------------------------------------------------------------------------------
/src/toaster-singleton.ts:
--------------------------------------------------------------------------------
1 | import {Toaster} from './components/Toaster/Toaster';
2 |
3 | export const toaster = new Toaster();
4 |
--------------------------------------------------------------------------------
/styles/fonts.scss:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap');
2 |
--------------------------------------------------------------------------------
/test-utils/setup-tests-after.ts:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-dom';
2 |
--------------------------------------------------------------------------------
/test-utils/setupTimersMock.ts:
--------------------------------------------------------------------------------
1 | export const setupTimersMock = () => {
2 | beforeEach(() => {
3 | jest.useFakeTimers();
4 | });
5 |
6 | afterEach(() => {
7 | jest.runOnlyPendingTimers();
8 | jest.useRealTimers();
9 | });
10 | };
11 |
--------------------------------------------------------------------------------