Controls
Buttons, toggles and sliders. The things a thumb touches.
Everything here is live. Press, drag and toggle. Every control springs; the primary fill glows only when it moves.
Button · Intents × states
hover the default column
<Button primary> · <Button secondary loading> · <Button destructive disabled> · <Button link>
Button · Sizes & shapes
32 · 40 · 48
Left
Center
Right
<Button small> · <Button large> · <Button icon> · <ButtonGroup> · <Button block>
Glass surfaces
Liquid Glass on iOS 26, frost elsewhere
Reduced motion
Zero every duration, keep spinners
Haptics
Email notifications
Get notified when activity happens.
Weekly digest
Select all teams
Indeterminate → off → mixed → on
Stable
3.0.0
Beta
3.1.0-beta.2
Canary
nightly
<Switch description="…">Glass surfaces</Switch> · <Checkbox indeterminate> · <RadioGroup> + <Radio>
Neutral
Beta
Active
Pending
Failed
New
12
Outline
--ion-soft
Noor Park
esc
↵
Kbd · keycaps read as one unit
AvatarMenu
NotificationBadge
iOS
Android
Web
BadgeGroup
<Avatar large> · <AvatarGroup> · <AvatarMenu> · <BadgeGroup> · <NotificationBadge> · <Badge status success> · <Badge outline> · <Badge mono> · <Chip onPress> · <Chip onRemove> · <Kbd>
ButtonGroup · segmented · split
live
List
Grid
Board
B
I
U
<ButtonGroup segmented> · <ButtonGroup split> · attached groups share one hairline and one recess
Radio · card style · inline
same state as the list
Stable
3.0.0
Beta
3.1.0-beta.2
Canary
nightly
Digest
Daily
Weekly
default
<RadioGroup> stacked by default · card style for richer choices · inline for two to three short options