Tabs e SegmentedControl
Estrutura
Abas trocam de seção; o SegmentedControl troca a visão ou o período do mesmo conteúdo.
Substitui no Brain:ds TabsAbaspartners tabsSegToggleAlternadorDeVisao
Abas
Lista de usuários
Lista de usuários
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@paytime/ui";
export default function Example() {
return (
<Tabs defaultValue="usuarios">
<TabsList>
<TabsTrigger value="usuarios">Usuários</TabsTrigger>
<TabsTrigger value="cargos">Cargos</TabsTrigger>
<TabsTrigger value="permissoes">Permissões</TabsTrigger>
</TabsList>
<TabsContent value="usuarios">Lista de usuários</TabsContent>
<TabsContent value="cargos">Lista de cargos</TabsContent>
<TabsContent value="permissoes">Matriz de permissões</TabsContent>
</Tabs>
);
}Abas em pílula
import { Tabs, TabsList, TabsTrigger } from "@paytime/ui";
export default function Example() {
return (
<Tabs defaultValue="resumo">
<TabsList variant="pill">
<TabsTrigger value="resumo">Resumo</TabsTrigger>
<TabsTrigger value="detalhe">Detalhe</TabsTrigger>
</TabsList>
</Tabs>
);
}SegmentedControl
"use client";
import { SegmentedControl } from "@paytime/ui";
import { useState } from "react";
export default function Example() {
const [period, setPeriod] = useState("mes");
return (
<SegmentedControl
aria-label="Período"
value={period}
onValueChange={setPeriod}
options={[
{ value: "mes", label: "Mês" },
{ value: "90d", label: "90 dias" },
{ value: "ano", label: "Ano" },
]}
/>
);
}Selector Button (Pill)
"use client";
import { SegmentedControl } from "@paytime/ui";
import { useState } from "react";
export default function Example() {
const [measure, setMeasure] = useState("quantidade");
const [period, setPeriod] = useState("mes");
return (
<div className="flex flex-col items-start gap-4">
<SegmentedControl
appearance="tabs"
aria-label="Medida"
value={measure}
onValueChange={setMeasure}
options={[
{ value: "quantidade", label: "Quantidade" },
{ value: "valor", label: "Valor (R$)" },
]}
/>
<SegmentedControl
aria-label="Período"
value={period}
onValueChange={setPeriod}
options={[
{ value: "dia", label: "Dia" },
{ value: "semana", label: "Semana" },
{ value: "mes", label: "Mês" },
{ value: "ano", label: "Ano" },
]}
/>
</div>
);
}