Рецепты
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базаОбязательный. Без него модификатор не работает.