Skip to main content

Pressable

The base of every tappable control in the kit. It fires a haptic on press, is reachable by keyboard and TV remote (with a focus ring), and shows a press animation. It renders a button and accepts all its attributes.
'light' | 'medium' | 'heavy' | false
default:"'light'"
Haptic on press. false turns it off.
boolean
Take focus first when its screen or overlay opens (TV and keyboard).

Button

'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'
default:"'primary'"
Visual style. Colors come from theme tokens.
'sm' | 'md' | 'lg'
default:"'md'"
Height follows control.heightSm, height and heightLg.
boolean
Fill the container’s width.
boolean
Replace the label with a spinner and disable the button.
ReactNode
Icons beside the label.
Also accepts every Pressable prop. An anchor with Pressable behavior: focusable, remote-reachable, with a haptic on tap.
string
required
Destination.
boolean
Open in a new tab with a safe rel.
'text' | 'plain'
default:"'text'"
text is an inline accent link; plain wraps a card or row with no link styling.
'light' | 'medium' | 'heavy' | false
default:"'light'"
Haptic on tap.

Chip

A selectable pill, for filters and tags.
boolean
Selected styling.
Also accepts every Pressable prop.