CONTAINER · stable
#Validação (valid/invalid)
Validação (valid/invalid), preservado do laboratório original e isolado para uso e teste independente.
HTML e exemplo
<div class="sc-grid sc-cols-2 sc-gap-4" style="align-items:start;">
<div class="sc-select-menu" data-value="v1">
<button class="sc-select-trigger is-valid" type="button" aria-label="Select válido">
<span class="sc-select-value">Válido</span>
<span class="sc-select-caret" aria-hidden="true"></span>
</button>
<div class="sc-select-popover" role="listbox" tabindex="-1">
<div class="sc-select-option" role="option" tabindex="0" data-value="v1" data-label="Válido">Válido</div>
<div class="sc-select-option" role="option" tabindex="0" data-value="v2" data-label="Outro">Outro</div>
</div>
</div>
<div class="sc-select-menu" data-value="i1">
<button class="sc-select-trigger is-invalid" type="button" aria-label="Select inválido">
<span class="sc-select-value">Inválido</span>
<span class="sc-select-caret" aria-hidden="true"></span>
</button>
<div class="sc-select-popover" role="listbox" tabindex="-1">
<div class="sc-select-option" role="option" tabindex="0" data-value="i1" data-label="Inválido">Inválido</div>
<div class="sc-select-option" role="option" tabindex="0" data-value="i2" data-label="Outro">Outro</div>
</div>
</div>
</div>Classes, JavaScript e API
Inicialize selectMenu após o DOM. Os atributos data-* do exemplo são a API declarativa.
- Plugin
- selectMenu
- Dependências
- smart-ui.js
- Desde
- 0.1.0
Acessibilidade, teclado e movimento
- Foco visível e ordem de leitura preservados.
- Rótulos acessíveis devem acompanhar controles sem texto.
- A interação preserva foco visível, ordem lógica de Tab e acionamento por Enter ou Espaço quando aplicável.
Não depende de movimento contínuo.
Temas e responsividade
Compatível com os temas Default, Clean e Tech nos modos claro, escuro e sistema.
As composições reduzem colunas, preservam alvos de toque e evitam rolagem horizontal a partir de 320 px.