Skip to main content

Toggle

Apresentação

O componente Toggle é responsável por criar um interruptor (switch) que permite aos usuários alternar entre dois estados (ligado/desligado). É ideal para configurações binárias, como ativar/desativar funcionalidades, ligar/desligar notificações ou alternar entre modos.

Quando usar

  • Para alternar configurações
  • Para ativar/desativar funcionalidades
  • Para ligar/desligar notificações
  • Para alternar entre modos
  • Para ativar/desativar serviços
  • Para alternar entre temas
  • Para ativar/desativar recursos
  • Para alternar entre estados
  • Para ativar/desativar opções
  • Para alternar entre visibilidades

Forma básica de uso

import { Toggle } from 'eitri-luminus';

// Toggle básico
<Toggle />

// Toggle com valor inicial
<Toggle defaultChecked />

// Toggle com evento onChange
<Toggle
onChange={(e) => console.log(e.target.checked)}
/>

// Toggle com classes personalizadas
<Toggle
className="toggle-primary"
/>

// Toggle desabilitado
<Toggle
disabled
/>

// Toggle com valor controlado
const [checked, setChecked] = useState(false);
<Toggle
checked={checked}
onChange={(e) => setChecked(e.target.checked)}
/>

// Toggle com label
<div className="flex items-center gap-2">
<Toggle id="notificacoes" />
<label htmlFor="notificacoes">Receber notificações</label>
</div>

// Toggle com diferentes tamanhos
<div className="flex flex-col gap-4">
<Toggle className="toggle-xs" />
<Toggle className="toggle-sm" />
<Toggle className="toggle-md" />
<Toggle className="toggle-lg" />
</div>

// Toggle com diferentes cores
<div className="flex flex-col gap-4">
<Toggle className="toggle-primary" />
<Toggle className="toggle-secondary" />
<Toggle className="toggle-accent" />
<Toggle className="toggle-success" />
<Toggle className="toggle-warning" />
<Toggle className="toggle-error" />
</div>

Propriedades

PropriedadeTipoDescrição
checkedbooleanEstado atual (controlado)
defaultCheckedbooleanEstado inicial
disabledbooleanDesabilita o toggle
onChangefunctionFunção chamada quando o estado muda
classNamestringClasses CSS adicionais
idstringIdentificador único do componente
namestringNome do campo no formulário

Heranças

O componente Toggle herda todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente usa a classe 'toggle' para estilização base
  • É possível personalizar a aparência usando classes do Tailwind
  • O componente é responsivo por padrão
  • Mantém a semântica HTML apropriada
  • Suporta estados controlados e não controlados
  • Pode ser desabilitado
  • Suporta eventos de mudança
  • Pode ser estilizado com diferentes cores
  • Mantém a acessibilidade por padrão
  • Pode ser usado em formulários
  • Suporta diferentes tamanhos
  • Pode ser combinado com labels
  • Suporta diferentes estilos
  • Pode ser usado em layouts flexíveis