Componentes / Checkboxes

Checkboxes

Checkboxes brutalistas com input oculto, caixa customizada e checkmark via CSS puro. 3 tamanhos, estados de erro e grupos horizontal/vertical.

Checkbox Basico

Preview
HTML
<label class="canta-checkbox">
  <input type="checkbox" class="canta-checkbox__input">
  <span class="canta-checkbox__box"></span>
  <span class="canta-checkbox__label">Aceito os termos</span>
</label>

Estados

Checked / Disabled / Error
HTML
<!-- Checked -->
<label class="canta-checkbox">
  <input type="checkbox" class="canta-checkbox__input" checked>
  <span class="canta-checkbox__box"></span>
  <span class="canta-checkbox__label">Marcado</span>
</label>

<!-- Disabled -->
<label class="canta-checkbox">
  <input type="checkbox" class="canta-checkbox__input" disabled>
  <span class="canta-checkbox__box"></span>
  <span class="canta-checkbox__label">Desabilitado</span>
</label>

<!-- Error -->
<label class="canta-checkbox canta-checkbox--error">
  <input type="checkbox" class="canta-checkbox__input">
  <span class="canta-checkbox__box"></span>
  <span class="canta-checkbox__label">Com erro</span>
</label>

Tamanhos

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

Checkbox Group

Vertical (padrao)
Notificacoes
Horizontal
Categorias
HTML
<!-- Vertical (padrao) -->
<div class="canta-checkbox-group">
  <div class="canta-checkbox-group__label">Notificacoes</div>
  <label class="canta-checkbox">
    <input type="checkbox" class="canta-checkbox__input">
    <span class="canta-checkbox__box"></span>
    <span class="canta-checkbox__label">E-mail</span>
  </label>
  <!-- ... -->
</div>

<!-- Horizontal -->
<div class="canta-checkbox-group canta-checkbox-group--horizontal">
  <div class="canta-checkbox-group__label">Categorias</div>
  <label class="canta-checkbox">...</label>
  <label class="canta-checkbox">...</label>
</div>

API

Classe Descricao
.canta-checkboxClasse base do checkbox (label wrapper, obrigatoria)
.canta-checkbox__inputInput hidden real (type="checkbox")
.canta-checkbox__boxCaixa visual customizada com checkmark CSS
.canta-checkbox__labelTexto do label
.canta-checkbox--errorEstado de erro (borda e fundo vermelhos)
.canta-checkbox--smTamanho pequeno (20px)
.canta-checkbox--lgTamanho grande (28px)
.canta-checkbox-groupContainer para agrupar checkboxes (vertical)
.canta-checkbox-group--horizontalLayout horizontal para o grupo
.canta-checkbox-group__labelTitulo do grupo (uppercase, bold)
checkedAtributo HTML nativo para marcar
disabledAtributo HTML nativo para desabilitar