Icon
atoms
Inline SVG icon library — 21 standard icons used across admin. Always aria-hidden — paired with text or aria-label from parent.
Demo
Demo for Icon (atoms)
Inline SVG icon library — 21 standard icons used across admin. Always aria-hidden — paired with text or aria-label from parent.
Props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
name | IconName | Yes | — |
TypeScript Interface
interface IconProps {
name: 'dashboard' | 'events' | 'transactions' | 'bookings' | 'statistics' | 'promotions' | 'packages' | 'consignment' | 'permissions' | 'settings' | 'search' | 'bell' | 'gear' | 'chevron-down' | 'check' | 'arrow-up' | 'arrow-down' | 'location' | 'music' | 'close' | 'plus' | 'minus';
size?: 16 | 20 | 24;
strokeWidth?: 1.5 | 2;
className?: string;
}Assertions (NASA Rule 5)
- [type]name must be a valid IconName union member(NASA Rule 5)
- [aria]Icon must always be aria-hidden='true' — never the only label for an interactive element(WCAG 1.1.1)
Usage
Import
import { Icon } from '@epasslive/design-system'Basic
<Icon />With Variants
<Icon variant="primary" size="md" />