Tabs
Carbon-spec Tabs. Wraps Radix Tabs. Two visual variants: line — Carbon's default; underlined active tab. contained — Filled active tab; used in nested contexts.
Live playground
Edit the JSX below — preview updates instantly. Switch brand × tone in the toolbar to see the same component re-themed in place.
Edit JSX — preview updates livereact-live
import { Tabs } from "@avala/design"; <Tabs variant="line" variant="line">Tabs</Tabs>
All variants
The Storybook stories file rendered as an iframe — every variant, every size, every state, baselined for visual regression.
primitives-tabs--defaultOpen in Storybook →
When to use
- Switch between related sections within a single page (project tabs, settings sub-pages, dataset views).
- 2-7 distinct content groups that share context.
When not to use
- Top-level site navigation → use `NavigationMenu`.
- Single-of-many input within a form → use `RadioButton` or
ContentSwitcherpattern. - Sequential flows → use the
ProgressIndicatorpattern. - Long content sections that should remain accessible → use the
Accordionpattern.