Componentes

Toggle Group

Grupo de toggles single/multiple.

Ações e indicadores

Carregando demonstração…

Código da demo
"use client";

import * as React from "react";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";
import { AlignCenterIcon, AlignLeftIcon, AlignRightIcon, CalendarDaysIcon, ListIcon } from "lucide-react";

export function Demo() {
  const [view, setView] = React.useState("lista");
  return (
    <div className="flex flex-col items-start gap-fe-4">
      <ToggleGroup type="single" defaultValue="left" variant="outline">
        <ToggleGroupItem value="left" aria-label="Alinhar à esquerda">
          <AlignLeftIcon />
        </ToggleGroupItem>
        <ToggleGroupItem value="center" aria-label="Centralizar">
          <AlignCenterIcon />
        </ToggleGroupItem>
        <ToggleGroupItem value="right" aria-label="Alinhar à direita">
          <AlignRightIcon />
        </ToggleGroupItem>
      </ToggleGroup>

      <ToggleGroup
        type="single"
        variant="segmented"
        value={view}
        onValueChange={setView}
        aria-label="Modo de visualização"
      >
        <ToggleGroupItem value="lista">
          <ListIcon />
          Lista
        </ToggleGroupItem>
        <ToggleGroupItem value="semana">
          <CalendarDaysIcon />
          Semana
        </ToggleGroupItem>
        <ToggleGroupItem value="mes">Mês</ToggleGroupItem>
      </ToggleGroup>
    </div>
  );
}

Use

  • variant segmented para alternar a visão de um mesmo conteúdo.
  • type single no segmentado: sempre uma opção ativa.
  • Rótulo curto; ícone opcional ao lado do texto.

Não use

  • Não use segmentado para trocar de página: use Tabs.
  • Não passe de quatro opções: use Select.
  • Não recrie o segmentado localmente: use esta variante.
Acessibilidade
role=group; cada item com label.
Importar
import { ToggleGroup, ToggleGroupItem } from "@financeequity/ui/toggle-group"

Neste repositório:

import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group"
Dependências
radix-ui