Componentes / Dropdowns

Dropdowns

Menus suspensos e selects nativos com estilo brutalista: borda solida, seta customizada e estados de erro/sucesso. Inclui select nativo e dropdown de menu (via navbar).

Select Nativo

Preview
HTML
<select class="canta-select">
  <option value="">Selecione uma opcao...</option>
  <option value="1">Opcao 1</option>
  <option value="2">Opcao 2</option>
  <option value="3">Opcao 3</option>
</select>

Tamanhos

Small / Default / Large
HTML
<select class="canta-select canta-select--sm">...</select>
<select class="canta-select">...</select>
<select class="canta-select canta-select--lg">...</select>

Estados

Error / Success / Disabled
HTML
<select class="canta-select canta-select--error">...</select>
<select class="canta-select canta-select--success">...</select>
<select class="canta-select" disabled>...</select>

Com Icone

Select wrapper com icone
search
HTML
<div class="canta-select-wrapper">
  <span class="canta-select-wrapper__icon">
    <span class="material-symbols-rounded">search</span>
  </span>
  <select class="canta-select canta-select--with-icon">
    <option value="">Buscar categoria...</option>
    <option value="1">Design</option>
  </select>
</div>

Select Multiplo

Selecao multipla
HTML
<select class="canta-select canta-select--multiple" multiple>
  <option value="1">JavaScript</option>
  <option value="2">TypeScript</option>
  <option value="3">PHP</option>
</select>

Dropdown Menu

Para menus dropdown customizados (nao select nativo), use o padrao de dropdown da Navbar: .canta-navbar__dropdown. O menu abre ao passar o mouse ou com a classe --open.

HTML
<div class="canta-navbar__dropdown">
  <button class="canta-navbar__dropdown-trigger">
    Acoes <span class="canta-navbar__dropdown-icon"></span>
  </button>
  <ul class="canta-navbar__dropdown-menu">
    <li class="canta-navbar__dropdown-item">
      <a href="#" class="canta-navbar__dropdown-link">Editar</a>
    </li>
    <li class="canta-navbar__dropdown-item">
      <a href="#" class="canta-navbar__dropdown-link">Duplicar</a>
    </li>
    <li class="canta-navbar__dropdown-divider"></li>
    <li class="canta-navbar__dropdown-item">
      <a href="#" class="canta-navbar__dropdown-link">Excluir</a>
    </li>
  </ul>
</div>

<!-- Para abrir via JS, adicione a classe --open -->
<div class="canta-navbar__dropdown canta-navbar__dropdown--open">
  ...
</div>

API

Classe Descricao
Select Nativo
.canta-selectClasse base do select (borda brutalista, seta customizada)
.canta-select--smTamanho pequeno
.canta-select--lgTamanho grande
.canta-select--errorEstado de erro (borda vermelha)
.canta-select--successEstado de sucesso (borda verde)
.canta-select--multipleSelect multiplo (sem seta, min-height 120px)
.canta-select--with-iconPadding esquerdo maior para icone
.canta-select-wrapperContainer para select com icone
.canta-select-wrapper__iconIcone posicionado a esquerda
Dropdown Menu
.canta-navbar__dropdownContainer do dropdown (position relative)
.canta-navbar__dropdown-triggerBotao que abre o menu
.canta-navbar__dropdown-iconSeta indicadora (rotaciona ao abrir)
.canta-navbar__dropdown-menuMenu suspenso (sombra brutalista)
.canta-navbar__dropdown-itemItem do menu
.canta-navbar__dropdown-linkLink clicavel do item
.canta-navbar__dropdown-link--activeLink ativo (fundo preto)
.canta-navbar__dropdown-dividerSeparador horizontal (2px)
.canta-navbar__dropdown--openForca dropdown aberto via JS