Tabs

Content partitioner on bits-ui Tabs. Roving focus, keyboard-first navigation. Default variant springs a single pill between triggers; solid keeps the muted-rail look; line runs an underline indicator.

Usage

Account

Update your handle, display name, and avatar. Changes apply instantly.

Solid

Muted rail background with each active trigger painting its own surface. Use when tabs sit on a page with competing surfaces and need a firmer rail.

Summary metrics, recent events, and quick actions.

Line

Underline indicator — the active trigger drops a 2px rail. No container, no pill; works well inside panels where a contained look would double up on the surface.

Summary metrics, recent events, and quick actions.

Tabs.Root props

Inherits from bits-ui Tabs.Root. Tabs.List adds one bloom-specific prop; other subcomponents passthrough.

PropTypeDescription
string (bindable)Currently selected tab value. Two-way bindable.
'horizontal' | 'vertical'Layout axis. Vertical stacks triggers and pipes roving focus up/down.
'automatic' | 'manual'Whether focus alone activates a tab, or activation requires Enter/Space.
booleanRoving focus wraps at the ends when true.

Tabs.List props

PropTypeDescription
'default' | 'solid' | 'line'Presentation. `default` springs a single pill between triggers. `solid` keeps the muted-rail with per-trigger paint. `line` renders an underline rail.
stringMerged onto the list container via tailwind-merge.