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 o seu app 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". A bolinha que desliza é
desenhada pelo utilitário .shadwire-switch.
Ou renderize o componente
Ui::SwitchComponent
diretamente:
Exemplos
Padrão
Um checkbox nativo com role="switch", para os leitores de tela o anunciarem como interruptor.
Ligado
Use checked: true para iniciar ligado; combine com textos auxiliares.
Get notified about activity on your account.
Desabilitado
disabled: true desabilita o input nativo.
Com form_with
Use form.field_name/form.field_id. Não há input hidden, então 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:, …). |