Capítulo 40 de 108
Um conjunto de painéis de conteúdo em camadas (tab panels) exibidos um de cada vez, com navegação por clique ou teclado. Built on Base UI Tabs.
defaultValue/value (tab ativa) e orientation.variant="line" para estilo de linha e dir para RTL.value; aceita disabled.value.TabsList na vertical.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>
Tabs com TabsList/TabsTrigger/TabsContent pareados por value.<Tabs defaultValue="preview">
<TabsList>
<TabsTrigger value="preview">
<AppWindowIcon />
Preview
</TabsTrigger>
<TabsTrigger value="code">
<CodeIcon />
Code
</TabsTrigger>
</TabsList>
</Tabs>
TabsTrigger.Composição:
Tabs
├── TabsList
│ ├── TabsTrigger
│ └── TabsTrigger
├── TabsContent
└── TabsContent
TabsTrigger/TabsContent são pareados pelo mesmo value, não por posição/ordem.TabsList variant="line" troca o estilo padrão (pill) por sublinhado.orientation="vertical" funciona tanto em Tabs quanto propaga pra TabsList.disabled em TabsTrigger impede a troca de painel sem remover visualmente o item.npm install @base-ui/react.TabsContent para estruturar cada painel./docs/rtl): necessário pra dir funcionar corretamente em TabsList/Tabs.