Skeleton
Набор компонентов для создания скелетов загрузки (placeholders).
LineSkeleton
RectSkeleton
TextSkeleton
На примере карточки
Доступность
При использовании HOC withSkeleton
необходимо воспользоваться атрибутами WAI ARIA. Пример с кнопкой:
import React, { useState } from 'react';
import { Button } from '@salutejs/plasma-b2c';
const ButtonSkeleton = withSkeleton<ButtonProps & WithSkeletonProps>(BasicButton);
export default function App () {
const [skeleton, setSkeleton] = useState(false);
return (
<ButtonSkeleton
type="button"
text={skeleton ? 'Загрузка' : 'Нажмите'}
skeleton={skeleton}
aria-busy={skeleton}
onClick={() => setSkeleton((prevValue) => !prevValue)}
/>
);
}
Таким образом, при skeleton=true
и aria-busy=true
screen reader будет оповещать о соответствующем статусе компонента.