Skeleton

Набор компонентов для создания скелетов загрузки (placeholders).

LineSkeleton

Live Editor

Result

RectSkeleton

Live Editor

Result

TextSkeleton

Live Editor

Result

На примере карточки

Live Editor

Result

Доступность

При использовании 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 будет оповещать о соответствующем статусе компонента.