Command Palette
Search for a command to run...
Tabs
A set of layered sections of content that display one panel at a time.
Account
Make changes to your account here. Click save when you're done.
A tabs component built on top of Radix UI Tabs.
Installation
npx shadcn@latest add tabs
Usage
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
<Tabs defaultValue="account" className="w-[400px]"><TabsList> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="password">Password</TabsTrigger></TabsList><TabsContent value="account">Make changes to your account here.</TabsContent><TabsContent value="password">Change your password here.</TabsContent></Tabs>
Examples
Default
Account
Make changes to your account here. Click save when you're done.
import { Button } from "@/components/xfork-ui/button"import {Card,CardContent,CardDescription,CardFooter,CardHeader,CardTitle,} from "@/components/xfork-ui/card"import { Input } from "@/components/xfork-ui/input"import { Label } from "@/components/ui/label"import {Tabs,TabsContent,TabsList,TabsTrigger,} from "@/components/ui/tabs"export default function TabsDemo() {return ( <Tabs defaultValue="account" className="w-[400px]"> <TabsList className="grid w-full grid-cols-2"> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="password">Password</TabsTrigger> </TabsList> <TabsContent value="account"> <Card> <CardHeader> <CardTitle>Account</CardTitle> <CardDescription> Make changes to your account here. Click save when you're done. </CardDescription> </CardHeader> <CardContent className="space-y-2"> <div className="space-y-1"> <Label htmlFor="name">Name</Label> <Input id="name" defaultValue="Pedro Duarte" /> </div> <div className="space-y-1"> <Label htmlFor="username">Username</Label> <Input id="username" defaultValue="@peduarte" /> </div> </CardContent> <CardFooter> <Button>Save changes</Button> </CardFooter> </Card> </TabsContent> <TabsContent value="password"> <Card> <CardHeader> <CardTitle>Password</CardTitle> <CardDescription> Change your password here. After saving, you'll be logged out. </CardDescription> </CardHeader> <CardContent className="space-y-2"> <div className="space-y-1"> <Label htmlFor="current">Current password</Label> <Input id="current" type="password" /> </div> <div className="space-y-1"> <Label htmlFor="new">New password</Label> <Input id="new" type="password" /> </div> </CardContent> <CardFooter> <Button>Save password</Button> </CardFooter> </Card> </TabsContent> </Tabs>)}
Props
Tabs
Extends React.ComponentProps<typeof TabsPrimitive.Root>
| Prop | Type | Default | Description |
| :-- | :-- | :-- | :-- |
| defaultValue
| string
| undefined
| The value of the tab that should be active when initially rendered. |
| value
| string
| undefined
| The controlled value of the tab to activate. |
| onValueChange
| (value: string) => void
| undefined
| Callback invoked when the value changes. |
TabsList
Extends React.ComponentProps<typeof TabsPrimitive.List>
TabsTrigger
Extends React.ComponentProps<typeof TabsPrimitive.Trigger>
TabsContent
Extends React.ComponentProps<typeof TabsPrimitive.Content>