Switch
Um controle que permite ligar ou desligar uma opção.
Instalação
O Shadwire segue o modelo open-code do shadcn/ui: o código-fonte do componente é copiado para a sua aplicação e passa a ser seu. Instale com a CLI:
O item switch
do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/switch_component.rb -
app/helpers/ui/switch_helper.rb -
vendor/shadwire/shadwire.css
Ainda não instalou a CLI?
gem install shadwire
e depois shadwire init.
Uso
O componente estiliza um <input type="checkbox">
nativo com role="switch" —
o thumb deslizante vem da utility
.shadwire-switch.
Ou renderize o componente
Ui::SwitchComponent
diretamente:
Exemplos
Padrão
Um checkbox nativo com role="switch" — semântica de alternância para leitores de tela.
Ligado
Use checked: true para iniciar ligado; combine com textos auxiliares.
Receba avisos sobre atividades da sua conta.
Desabilitado
disabled: true desabilita o input nativo.
Com form_with
Use form.field_name/form.field_id. Sem input hidden — trate a ausência do parâmetro como desligado.
Referência da API
ui_switch(**options)
encapsula
Ui::SwitchComponent.new(**options).
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
checked |
Boolean | false |
Renderiza o switch ligado. |
disabled |
Boolean | false |
Desabilita o input nativo. |
class / class_name |
String | nil |
Classes extras, mescladas após as classes base. |
**attrs |
Hash | {} |
Atributos HTML livres (name, id, value, data:, aria:, …). |