Componentes/Checkbox

Checkbox

Caixa de seleção com 3 estados: Checked, Unchecked e Mixed (indeterminado). 16×16px, border-radius 5px.

Formulário / Controles
Figma: 1462:18059

Preview

Estados
Disabled

Código

Copie e cole no Claude Code para implementar este componente em pixel-perfect usando os tokens TRDR.

<!-- Checked -->
<label class="trdr-checkbox">
  <input type="checkbox" checked />
  <span class="trdr-checkbox-box trdr-checkbox-checked">
    <svg width="8" height="7" viewBox="0 0 8 7" fill="none">
      <path d="M1 3L3 5.5L7 1" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
    </svg>
  </span>
  <span>Aceitar termos</span>
</label>

<!-- Unchecked -->
<label class="trdr-checkbox">
  <input type="checkbox" />
  <span class="trdr-checkbox-box"></span>
  <span>Receber atualizações</span>
</label>

<!-- Mixed (indeterminado) -->
<label class="trdr-checkbox">
  <input type="checkbox" />
  <span class="trdr-checkbox-box trdr-checkbox-checked trdr-checkbox-mixed">
    <svg width="8" height="2" viewBox="0 0 8 2" fill="none">
      <path d="M1 1H7" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
    </svg>
  </span>
  <span>Selecionar todos</span>
</label>

Dimensões

VarianteLarguraAltura
Box16px16px

Props / Variantes

PropTipoValores
Typeenum
CheckedUncheckedMixed
Stateenum
DefaultFocused
Disabledboolean
truefalse

Tokens Utilizados

PropriedadeTokenValor
BG Checked / Mixedaction-brand-default
#00D4FF
BG Uncheckedsurface-secondary
#222222
Border padrãoborder-default
#4A4A4A
Border hoverborder-strong
#A4A4A4
Focus ringborder-focus
#00D4FF
Check / Dash
#FFFFFF

Anatomia

[label cursor=pointer gap=8px]
  └── [input type=checkbox hidden]
  └── [Box 16×16px border-radius=5px]
        └── [Checkmark SVG 8×7px | Dash SVG 8×2px (mixed)]
  └── [Label 12px/500]