navigation
Switch between views of related content in the same place, like Account and Billing settings.
npx blankui add tabsBuilt on Radix. Arrow keys move between tabs. Use defaultValue, or value with onValueChange to control it.
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
<Tabs defaultValue="account">
<TabsList>
<TabsTrigger value="account">Account</TabsTrigger>
<TabsTrigger value="password">Password</TabsTrigger>
</TabsList>
<TabsContent value="account">
<Card>...</Card>
</TabsContent>
<TabsContent value="password">
<Card>...</Card>
</TabsContent>
</Tabs>
| Avoid | Instead |
|---|---|
| Buttons that set state and show different divs | <Tabs> handles keyboard navigation and ARIA roles |
| A TabsTrigger without a TabsContent of the same value | One TabsContent per TabsTrigger |
Install with the shadcn CLI: npx shadcn add https://blank.vageshwar.dev/r/tabs.json