Button
The primary interactive element. Five variants cover every emphasis level — use accent for the one CTA per view, primary for high-emphasis actions, secondary as the default, ghost for toolbar/icon buttons, and danger for destructive actions. Add a glyph for visual reinforcement and kbd to surface keyboard shortcuts.
Examples
Loading examples…
API
From COMPONENTS.md.
Primary interactive element.
<Button
variant="primary" // 'primary' | 'secondary' (default) | 'accent' | 'ghost' | 'danger'
size="md" // 'sm' | 'md' (default) | 'lg'
glyph="book" // GlyphName — optional icon
glyphPosition="start" // 'start' (default) | 'end'
kbd="⌘S" // string — keyboard shortcut hint (display only)
onClick={…}
>
Save
</Button>
// secondary is the outline button: its border takes the accent under the chrome and surface dials
// href renders an <a> styled as a button — use for navigation
<Button variant="accent" size="lg" href="/signup">Start a list</Button>
// Style another element (e.g. a router Link) as a button
<Link to="/lists" className={buttonClassName({ variant: 'accent', size: 'md' })}>My lists</Link>