components
dropdown
Select customizado com ARIA listbox. Suporta navegação por teclado (setas, Enter, Esc), clique e visualização de selecionado.
overview
variantes
Variante única.
comportamentos
- Click no trigger abre/fecha o menu
- ↓ / ↑ navegam as opções
- Enter / Space seleciona a opção focada
- Esc fecha sem selecionar
- Click fora fecha
- Disparou evento custom chds:change com {value, label}
modifiers · api
| prop | tipo | default | descrição |
|---|---|---|---|
| .dropdown | class | — | container |
| .dropdown-trigger | class | — | botão clicável |
| .dropdown-menu | class | — | lista de opções |
| .dropdown-item | class | — | opção |
| .selected | class | — | item selecionado |
| data-value | attr | — | valor enviado no evento |
quando usar
use
não use
acessibilidade
- role="listbox" no menu
- role="option" nas opções
- aria-haspopup="listbox" e aria-expanded no trigger
- Foco mantido visível na opção atual
- Funciona via teclado totalmente
código
<div class="dropdown">
<button class="dropdown-trigger" type="button">
label <span class="chevron">▼</span>
</button>
<div class="dropdown-menu">
<div class="dropdown-item" data-value="1">opção 1</div>
<div class="dropdown-item" data-value="2">opção 2</div>
</div>
</div>