Ravox KitFormulário

Interruptor

Liga e desliga para ajustes que valem na hora. É um checkbox com role="switch": Espaço alterna, o formulário recebe "on" quando ligado e o register() do React Hook Form devolve true/false. Com rótulo antes ou na ponta da linha.

Ajustes

Tamanho
Lado

Exemplos

Linha de ajustes

Formulário comum

Com React Hook Form

Tamanhos e desabilitado

Instalação

O shadcn cria components/ui/interruptor.tsx no seu projeto e instala o tema junto. O arquivo é seu: edite à vontade.

npx shadcn@latest add https://ui.ravoxlabs.com/r/interruptor.json

Opções

OpçãoTipoPadrãoO que faz
rotuloReactNode—Texto do <label>; a linha inteira é clicável. Sem rótulo, passe aria-label.
descricaoReactNode—Linha de apoio embaixo do rótulo, lida junto com o interruptor.
erroReactNode—Mensagem de erro embaixo (ex.: aceite obrigatório).
lado"inicio" | "fim""inicio"fim: texto à esquerda e interruptor na ponta, como numa lista de ajustes.
tamanho"pequeno" | "medio""medio"Trilho de 28 ou 36px.
aoTrocar(ligado: boolean) => void—Atalho para o onChange: recebe só se ficou ligado.
classeBlocostring—Classes do bloco de fora; className vai no trilho (o input).
...propsComponentProps<"input">—Tudo o que um checkbox aceita (name, value, checked, defaultChecked, ref).