Checkbox
Um controle para marcar e desmarcar uma opção, feito sobre o input nativo.
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 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, então semântica, foco e teclado ficam por conta do navegador. O sinal de marcado é
desenhado pelo utilitário .shadwire-checkbox
do shadwire.css.
Ou renderize o componente
Ui::CheckboxComponent
diretamente:
Exemplos
Padrão
Um checkbox nativo estilizado, ligado a um ui_label por for:/id:.
Marcado
Use checked: true para renderizar marcado; combine com textos auxiliares.
Enviamos no máximo um e-mail por semana.
Desabilitado
disabled: true desabilita o input nativo.
Com form_with
Use form.field_name/form.field_id. Ao contrário do form.check_box, não há input hidden, então 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:, …). |