Checkbox
Um controle que permite alternar entre marcado e desmarcado, mantendo o input nativo.
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 checkbox
do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/checkbox_component.rb -
app/helpers/ui/checkbox_helper.rb -
vendor/shadwire/shadwire.css
Ainda não instalou a CLI?
gem install shadwire
e depois shadwire init.
Uso
O componente estiliza o <input type="checkbox">
nativo — semântica, foco e teclado vêm do navegador. O glifo de check vem da
utility .shadwire-checkbox
em shadwire.css.
Ou renderize o componente
Ui::CheckboxComponent
diretamente:
Exemplos
Padrão
Um checkbox nativo estilizado, associado a um ui_label via for:/id:.
Marcado
Use checked: true para renderizar marcado; combine com textos auxiliares.
Enviamos no máximo um email por semana.
Desabilitado
disabled: true desabilita o input nativo.
Com form_with
Use form.field_name/form.field_id. Diferente de form.check_box, não há input hidden — trate a ausência do parâmetro como desmarcado.
Referência da API
ui_checkbox(**options)
encapsula
Ui::CheckboxComponent.new(**options).
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
checked |
Boolean | false |
Renderiza o input marcado. |
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:, …). |