Icon
Atombeta@macaw-ds/icons · since 0.1.0Renders one icon from the curated set, bound to size and tone tokens. Not for logos or illustrations.
A thin wrapper over a curated Lucide subset. Decorative by default (aria-hidden); pass `label` when the icon carries meaning on its own. The set is deliberately small: adding an icon is a PR with a screenshot of where it is used.
Do and don't
Do
Use size="sm" inside label-sm text and size="md" inside body text.
Don't
Do not import from lucide-react directly in a consumer; the curated set is the contract.
Do not use icons for logos or illustrations.
Rules
Hard rules an agent must follow. The reviewer agent and the lint config check the ones that can be checked.
- Icons next to visible text are decorative: do not pass label.
- An icon that is the only content of a control needs a label, or the control needs aria-label.
- Use tone="inherit" inside buttons and text so the icon follows the text colour.