Documentação
Tabs
Um conjunto de seções de conteúdo sobrepostas—conhecidas como painéis de abas—que são exibidas uma de cada vez.
Carregando…
"use client";
import { Button } from "@blips/ui/components/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@blips/ui/components/card";
import { Input } from "@blips/ui/components/input";
import { Label } from "@blips/ui/components/label";
import {
Tabs,
TabsContent,
TabsList,
TabsTrigger,
} from "@blips/ui/components/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>
);
}
Instalação
Uso
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@blips/ui/components/tabs"<Tabs defaultValue="account" className="w-[400px]">
<TabsList>
<TabsTrigger value="account">Conta</TabsTrigger>
<TabsTrigger value="password">Senha</TabsTrigger>
</TabsList>
<TabsContent value="account">Faça alterações na sua conta aqui.</TabsContent>
<TabsContent value="password">Altere sua senha aqui.</TabsContent>
</Tabs>Exemplos
Linha
Use a prop variant="line" no TabsList para um estilo de linha.
Carregando…
import { Tabs, TabsList, TabsTrigger } from "@blips/ui/components/tabs";
export function TabsLine() {
return (
<Tabs defaultValue="overview">
<TabsList variant="line">
<TabsTrigger value="overview">Overview</TabsTrigger>
<TabsTrigger value="analytics">Analytics</TabsTrigger>
<TabsTrigger value="reports">Reports</TabsTrigger>
</TabsList>
</Tabs>
);
}
Vertical
Use orientation="vertical" para abas verticais.
Carregando…
import { Tabs, TabsList, TabsTrigger } from "@blips/ui/components/tabs";
export function TabsVertical() {
return (
<Tabs defaultValue="account" orientation="vertical">
<TabsList>
<TabsTrigger value="account">Account</TabsTrigger>
<TabsTrigger value="password">Password</TabsTrigger>
<TabsTrigger value="notifications">Notifications</TabsTrigger>
</TabsList>
</Tabs>
);
}
Desabilitado
Carregando…
import { Tabs, TabsList, TabsTrigger } from "@blips/ui/components/tabs";
export function TabsDisabled() {
return (
<Tabs defaultValue="home">
<TabsList>
<TabsTrigger value="home">Home</TabsTrigger>
<TabsTrigger value="settings" disabled>
Disabled
</TabsTrigger>
</TabsList>
</Tabs>
);
}
Ícones
Carregando…
import { Tabs, TabsList, TabsTrigger } from "@blips/ui/components/tabs";
import { AppWindow, Code } from "@phosphor-icons/react";
export function TabsIcons() {
return (
<Tabs defaultValue="preview">
<TabsList>
<TabsTrigger value="preview">
<AppWindow />
Preview
</TabsTrigger>
<TabsTrigger value="code">
<Code />
Code
</TabsTrigger>
</TabsList>
</Tabs>
);
}
Referência da API
Consulte a documentação do Radix Tabs.