Skeleton

Maintainer:
ogonkov
GitHub
import {Skeleton} from '@gravity-ui/uikit';

Компонент Skeleton отображает временный макет контента, пока фактические данные загружаются. Такой предварительный макет используется для снижения раздражения, вызываемого ожиданием загрузки.

Анимация

Используйте свойство animation для управления анимацией загрузки. Значение по умолчанию — 'gradient'.

ЗначениеОписание
'gradient'Скользящий градиентный блеск — по умолчанию
'pulse'Пульсация прозрачности
'none'Без анимации

Вариант

Используйте свойство variant для выбора предустановленного вида скелетона. Значение по умолчанию — 'rect'.

ЗначениеОписание
'rect'border-radius с токеном, зависящим от размера — по умолчанию
'circle'Круглая форма (border-radius: 50%, aspect-ratio: 1)
'square'Квадратные пропорции (aspect-ratio: 1) с тем же border-radius, что у 'rect'
'text'Текстовая заглушка — высота наследуется из font-size и line-height родителя

Размер

Используйте свойство size для задания предустановленной высоты скелетона (а также ширины для вариантов 'circle' и 'square'). Каждый размер также влияет на токен border-radius для вариантов 'rect' и 'square'. Если size не задан, используйте свойства width и height.

ЗначениеОписание
'xs'Очень маленький
's'Маленький
'm'Средний
'l'Большой
'xl'Очень большой

Текстовая заглушка

Используйте variant="text", чтобы скелетон наследовал font-size и line-height из родительского контекста. Разместите несколько скелетонов внутри <Text variant="..."> для многострочных заглушек.

Свойства

ИмяОписаниеТипЗначение по умолчанию
styleПользовательские CSS-стили корневого элемента.React.CSSProperties
classNameПользовательский CSS-класс корневого элемента.string
qaHTML-атрибут data-qa, используется для тестирования.string
animationТип анимации, применяемый к скелетону.'gradient' | 'pulse' | 'none'gradient
variantПредустановленный вид. 'circle' и 'square' задают aspect-ratio: 1. 'text' наследует типографику из родителя.'rect' | 'square' | 'circle' | 'text'rect
sizeПредустановленная высота (и ширина для вариантов 'circle'/'square'). Также управляет токеном border-radius для вариантов 'rect'/'square'.'xs' | 's' | 'm' | 'l' | 'xl'
widthПользовательская ширина. Алиас для style.widthnumber | string
heightПользовательская высота. Алиас для style.heightnumber | string