PanelSkeleton
PanelSkeleton — рамка Panel на время загрузки её содержимого: тот же грид, фон, скругление и отступы, а внутри — скелетоны того, что панель покажет, например CellSkeleton.
Типовой сценарий — фолбэк ленивой панели (тулбокса), пока грузится её чанк. Такой фолбэк едет в начальную загрузку, поэтому скелетон легче Panel: PanelSkeleton.Content — обычный блок без встроенного скролла (заглушки короче панели), а части собраны по файлам и не тянут за собой ScrollArea.
Шапка — настоящая Panel.Header с теми же пропсами: заголовок панели известен до загрузки, поэтому показывается сразу. PanelSkeleton.Footer нет — подвал у загружающейся панели показывать нечем.
Плашки скрыты от скринридеров (aria-hidden), поэтому признак загрузки — aria-busy на контейнере заглушек.
Использует: Panel
Анатомия
API
| Prop | Type | Default |
|---|---|---|
children*Части скелетона: PanelSkeleton.Header и PanelSkeleton.Content — в любом порядке, каждая находит свою строку грида сама, как у Panel | ReactNode | - |
PanelSkeleton.Header
Шапка панели — та же Panel.Header: слоты left / center / right или произвольная разметка через children.
| Prop | Type | Default |
|---|---|---|
childrenПроизвольное содержимое шапки вместо трёх слотов Triplet (например, ряд табов); если передано — left/center/right игнорируются | ReactNode | - |
classNameДополнительный класс на корне шапки | string | - |
leftКонтент, отображаемый слева | TripletItem | - |
centerКонтент, отображаемый по центру | TripletItem | - |
rightКонтент, отображаемый справа | TripletItem | - |
Наследуется от ComponentProps<typeof PanelHeader>
PanelSkeleton.Content
Зона контента с отступами Panel.Content, но без скролла: дети встают колонкой.
| Prop | Type | Default |
|---|---|---|
children*Заглушки содержимого — например, несколько CellSkeleton | ReactNode | - |