Рецепты
02

CalloutList

Лента событий с уровнями важности, со встроенными состояниями загрузки и пустоты. Как и любой рецепт, на битых или отсутствующих данных рисует пустое состояние, а не падает.

отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
отрендерил aura-react
Build failed
aura-svelte — 2 minutes ago
Budget at 80%
Three days left in the cycle.
New accent shipped
teal is now available.

Код

Demo.tsx
import { Alert, Stack } from '@ilomee/aura-react';

const ITEMS = [
  { id: 'build', tone: 'danger', title: 'Build failed', body: 'aura-svelte — 2 minutes ago' },
  { id: 'budget', tone: 'warning', title: 'Budget at 80%', body: 'Three days left in the cycle.' },
  { id: 'accent', tone: 'info', title: 'New accent shipped', body: 'teal is now available.' },
] as const;

// Лента с уровнями важности — это Stack из Alert. Рецепт, который тут был, добавлял обёртку, пустое
// состояние и три новых имени пропсов — ничего из этого здесь не нужно.
export default function Demo() {
  return (
    <Stack gap={2} style={{ width: '100%' }}>
      {ITEMS.map((item) => (
        <Alert key={item.id} tone={item.tone} title={item.title}>
          {item.body}
        </Alert>
      ))}
    </Stack>
  );
}

Это пример, а не компонент: его не поставляет ни один пакет и импортировать нечего. Он собран из примитивов, которые есть во всех четырёх пакетах, поэтому та же композиция работает в любом стеке — скопируйте её в свой компонент, и дальше она ваша.

Пропсы

Пропсов нет: композиция принимает то, что вы передадите примитивам внутри неё. Их пропсы — на их собственных страницах.

Какие классы отдаёт

Все фреймворки отдают одни и те же классы — именно поэтому четыре библиотеки выглядят одинаково. Их можно использовать напрямую, вообще без библиотеки компонентов.

КлассРольПримечания
.aura-calloutбазаОбязательный. Без него модификатор не работает.
.aura-callout__rowэлемент
.aura-callout__row--<tone>модификатор
.aura-callout__titleэлемент