Input
Exibe um campo de formulário ou um componente que se parece com um campo de texto.
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 input
do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/input_component.rb -
app/helpers/ui/input_helper.rb -
vendor/shadwire/shadwire.css
Ainda não instalou a CLI?
gem install shadwire
e depois shadwire init.
Uso
Use o helper ui_input
em qualquer view. Como <input>
é um elemento vazio, o helper não aceita bloco — todo o estado vai em atributos.
Ou renderize o componente
Ui::InputComponent
diretamente:
Exemplos
Padrão
Um campo de texto com o visual shadcn. Atributos HTML livres passam direto para o <input>.
Com label
Combine com ui_label usando for:/id: para associar o rótulo ao campo.
Desabilitado
Passe disabled: true como atributo HTML.
Arquivo
type: :file estiliza o seletor de arquivo nativo.
Com form_with
Use form.field_name/form.field_id para integrar com formulários Rails.
Referência da API
ui_input(**options)
encapsula
Ui::InputComponent.new(**options).
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
type |
Symbol/String | :text |
Qualquer tipo nativo de input (:email, :password, :file, :number, …). |
class / class_name |
String | nil |
Classes extras, mescladas após as classes base. |
**attrs |
Hash | {} |
Atributos HTML livres (name, id, placeholder, disabled, required, data:, aria:, …). |