DEVELOPMENT PREVIEWIn development

tabs API

navigation/tabs.tsx

Tabs

Props

PropTypeDefaultDescription
items*
{}—Tabs in order — the first enabled one is selected when no `value`/`defaultValue` is given.
variant
TabsVariant | "default" | "pills" | "underline" | "buttons" | "glass" | undefinedTabsVariant.DefaultVisual style.
size
TabsSize | "sm" | "md" | "lg" | undefinedTabsSize.MediumSize preset.
fullWidth
boolean | undefinedfalseStretch tabs evenly across the container width.
activationMode
"auto" | "manual" | undefinedauto'auto' selects a tab as focus moves to it (default); 'manual' requires Enter/Space — better when switching panels is expensive.
children
any—Render `<TabPanel>` children to get automatic aria wiring.
Show native HTML props

Native HTML Props

PropTypeDefaultDescription
value
string | undefined—Controlled selected key.
defaultValue
string | undefined—Initial key for uncontrolled usage.
onChange
((key: string) => void) | undefined—Called with the key of the newly selected tab.
className
string | undefined—

TabPanel

Props

PropTypeDefaultDescription
selectedValue
string | undefined—Optional when rendered inside `<Tabs>` (read from context).
children*
React.ReactNode—
keepMounted
boolean | undefinedfalseKeep the panel mounted (hidden) when inactive.
Show native HTML props

Native HTML Props

PropTypeDefaultDescription
value*
string—Key of the tab this panel belongs to.
className
string | undefined—

TabsVariant

TabsVariant.Default

TabsVariant.Pills

TabsVariant.Underline

TabsVariant.Buttons

TabsVariant.Glass

TabsSize