components
form
Composição de inputs com label, helper, validação e ações. Layout vertical default, com agrupamento por seção lógica.
overview
variantes
Single column (default)
Forms longos · mais legível, melhor em mobile.
Inline
Forms curtos (login, busca) · economiza espaço vertical.
estados
email válido
senha fraca · considere mais caracteres
formato de email inválido
campo desabilitado · faça login pra editar
modifiers · api
| prop | tipo | default | descrição |
|---|---|---|---|
| .form-group | class | — | agrupador label+input+helper |
| .form-label | class | — | label uppercase mono |
| .form-label .req | class | — | asterisco obrigatório |
| .form-helper | class | — | texto auxiliar abaixo |
| .form-error | class | — | mensagem de erro |
| .invalid | class no input | — | estado de erro visual |
quando usar
use
não use
acessibilidade
- Todo input tem <label for="id">
- Required tem required attribute, não só asterisco
- Erros associados por aria-describedby
- Foco visível em todos os controles
- Submit funciona via Enter no input
código
<form>
<div class="form-group">
<label class="form-label" for="name">nome <span class="req">*</span></label>
<input class="input" id="name" required>
<div class="form-helper">ajuda</div>
</div>
<button type="submit" class="btn btn--primary">enviar</button>
</form>