Рецепты
03
ProgressCard
Карточка с прогресс-баром, который меняет цвет при переходе порога, и необязательным рядом действий. Значения зажимаются в 0–100.
отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
Onboarding
70%7 of 10 steps done
Storage
94%94 GB of 100 GB used
Код
Demo.tsx
import { Badge, Card, Grid, Progress, Stack, Typography } from '@ilomee/aura-react';
const CARDS = [
{ id: 'onboarding', title: 'Onboarding', note: '7 of 10 steps done', value: 70, tone: 'warning' },
{ id: 'storage', title: 'Storage', note: '94 GB of 100 GB used', value: 94, tone: 'success' },
] as const;
// Card, Progress и Badge. Порог, по которому выбирается тон, — правило вызывающего, и это
// единственное, что рецепт знал, а этот пример не знает.
export default function Demo() {
return (
<Grid cols={{ base: 1, md: 2 }} gap={4} style={{ width: '100%' }}>
{CARDS.map((card) => (
<Card key={card.id}>
<Stack gap={2}>
<Stack direction="row" justify="space-between" align="center" gap={3}>
<Typography variant="h3">{card.title}</Typography>
<Badge tone={card.tone}>{card.value}%</Badge>
</Stack>
<Typography variant="body" tone="muted">
{card.note}
</Typography>
<Progress value={card.value} label={card.title} />
</Stack>
</Card>
))}
</Grid>
);
}Это пример, а не компонент: его не поставляет ни один пакет и импортировать нечего. Он собран из примитивов, которые есть во всех четырёх пакетах, поэтому та же композиция работает в любом стеке — скопируйте её в свой компонент, и дальше она ваша.
Пропсы
Пропсов нет: композиция принимает то, что вы передадите примитивам внутри неё. Их пропсы — на их собственных страницах.
Какие классы отдаёт
Все фреймворки отдают одни и те же классы — именно поэтому четыре библиотеки выглядят одинаково. Их можно использовать напрямую, вообще без библиотеки компонентов.
| Класс | Роль | Примечания |
|---|---|---|
| .aura-card | база | Обязательный. Без него модификатор не работает. |