Tabs & icon toolbar
Tabs switch between views within a single page. Three variants: line (default, subtle border underline), contained (pill indicator on a gray track), and segmented (outlined pill with filled active button). IconToolbar is the companion pattern for icon-only formatting toolbars.
Line variant (default)
The canonical tab pattern for page-level navigation. Active indicator is a 2px bottom border in the inverse (near-black) color.
Show sourceHide source
<Tabs defaultValue="overview">
<TabsList>
<TabsTrigger value="overview">Overview</TabsTrigger>
<TabsTrigger value="usage">Usage</TabsTrigger>
<TabsTrigger value="api">API</TabsTrigger>
</TabsList>
<TabsContent value="overview">Content…</TabsContent>
</Tabs>Contained variant
Pill indicator on a gray track. Good for compact secondary tabs inside a card or panel.
Show sourceHide source
<Tabs defaultValue="week">
<TabsList variant="contained">
<TabsTrigger variant="contained" value="day">Day</TabsTrigger>
<TabsTrigger variant="contained" value="week">Week</TabsTrigger>
<TabsTrigger variant="contained" value="month">Month</TabsTrigger>
</TabsList>
</Tabs>Segmented variant
Outlined pill where the active button is filled with the warm-dark button token. Matches the segmented-action pattern from Figma DS v1.2 (node 15286:20494). Three sizes.
Show sourceHide source
<Tabs defaultValue="b">
<TabsList variant="segmented">
<TabsTrigger variant="segmented" value="a">Action</TabsTrigger>
<TabsTrigger variant="segmented" value="b">Action</TabsTrigger>
<TabsTrigger variant="segmented" value="c">Action</TabsTrigger>
</TabsList>
</Tabs>IconToolbar — independent toggles (mode='multiple')
Formatting toolbar pattern: bold, italic, underline, etc. Each button toggles independently. Accessible via aria-pressed per button.
Show sourceHide source
<IconToolbar aria-label="Text formatting" defaultValue={["bold"]}>
<IconToolbarItem value="bold" aria-label="Bold">
<Icon icon={Bold} size="sm" />
</IconToolbarItem>
<IconToolbarItem value="italic" aria-label="Italic">
<Icon icon={Italic} size="sm" />
</IconToolbarItem>
<IconToolbarItem value="underline" aria-label="Underline">
<Icon icon={Underline} size="sm" />
</IconToolbarItem>
<IconToolbarItem value="strike" aria-label="Strikethrough">
<Icon icon={Strikethrough} size="sm" />
</IconToolbarItem>
</IconToolbar>IconToolbar — exclusive selection (mode='single')
Radio-like group for mutually-exclusive choices (e.g. text alignment). Emits aria-checked + role='radio' per item.
Show sourceHide source
<IconToolbar aria-label="Text alignment" mode="single" defaultValue="left">
<IconToolbarItem value="left" aria-label="Align left">
<Icon icon={AlignLeft} size="sm" />
</IconToolbarItem>
<IconToolbarItem value="center" aria-label="Align center">
<Icon icon={AlignCenter} size="sm" />
</IconToolbarItem>
<IconToolbarItem value="right" aria-label="Align right">
<Icon icon={AlignRight} size="sm" />
</IconToolbarItem>
</IconToolbar>IconToolbar — disabled
Either the whole toolbar or an individual item can be disabled.
Show sourceHide source
<IconToolbar aria-label="Formatting" disabled>…</IconToolbar>