Skip to content
Extensões

Switch

Controle de alternância on/off. O label fica à esquerda do track. Dark mode automático via tokens semânticos.

components/switch.cssAbrir no Figma

Estados

Padrão (off), ativo (on), desativado e desativado ativo. O hover escurece o thumb.

Carregando exemplo...

Anatomia

Estrutura interna do componente e seus elementos.

ParteElementoDescrição
Container.switchLabel wrapper, flex horizontal, gap 12px
Input.switch-inputCheckbox nativo escondido
Label.switch-labelInter 14px medium, posicionado antes do track
Track.switch-trackTrilha 40x20, radius full
Thumb.switch-thumbBotão 16x16, desliza 20px quando ativo

Propriedades

Classes disponíveis para configurar o switch.

PropriedadeTipoDefaultDescrição
.switchclasseContainer principal (label).
.switch-inputclasseInput checkbox nativo escondido.
.switch-labelclasseTexto do label (antes do track).
.switch-trackclasseTrilha do switch (40x20).
.switch-thumbclasseBotão deslizante (16x16).

Código

Snippets prontos para copiar e usar no seu projeto.

Switch com label

html
<label class="switch">
    <input type="checkbox" class="switch-input">
    <span class="switch-label">Notificações por email</span>
    <span class="switch-track">
        <span class="switch-thumb"></span>
    </span>
</label>

Switch ativo

html
<label class="switch">
    <input type="checkbox" class="switch-input" checked>
    <span class="switch-label">Modo escuro</span>
    <span class="switch-track">
        <span class="switch-thumb"></span>
    </span>
</label>

Switch sem label

html
<label class="switch">
    <input type="checkbox" class="switch-input">
    <span class="switch-track">
        <span class="switch-thumb"></span>
    </span>
</label>

Desativado

html
<label class="switch">
    <input type="checkbox" class="switch-input" disabled>
    <span class="switch-label">SMS (indisponível)</span>
    <span class="switch-track">
        <span class="switch-thumb"></span>
    </span>
</label>

Tokens utilizados

Variáveis semânticas aplicadas ao componente.

TokenUso
--surface-base-neutral-container-emphasisBackground do track (off e disabled)
--surface-base-brand-container-mediumBackground do track (on)
--icon-base-neutral-whiteCor do thumb (on)
--icon-base-neutral-secondaryCor do thumb (off)
--icon-base-neutral-defaultCor do thumb (hover)
--icon-base-neutral-subtleCor do thumb (disabled)
--text-base-neutral-defaultCor do label
--text-base-neutral-subtleCor do label (disabled)
--border-base-brand-defaultOutline de foco
--spacing-3Gap entre label e track (12px)

Design System interno do GALES