Skip to content
Extensões

Radio

Controle de seleção única dentro de um grupo. Quando selecionado, exibe um ponto na cor da marca com borda accent. Dark mode automático via tokens semânticos.

components/radio.cssAbrir no Figma

Estados

Padrão, selecionado, desativado e desativado selecionado. O hover aparece ao passar o mouse.

Carregando exemplo...

Anatomia

Estrutura interna do componente e seus elementos.

ParteElementoDescrição
Container.radioLabel wrapper, flex horizontal, gap 12px
Input.radio-inputInput nativo escondido (acessibilidade)
Circle.radio-circleCírculo 20x20, borda 1px, radius full
Dot.radio-dotPonto interno 10x10, cor accent quando selecionado
Label.radio-labelInter 14px medium, line-height 24px

Propriedades

Classes disponíveis para configurar o radio.

PropriedadeTipoDefaultDescrição
.radioclasseContainer principal (label).
.radio-inputclasseInput nativo escondido.
.radio-circleclasseCírculo visual do radio.
.radio-dotclassePonto interno (selecionado).
.radio-labelclasseTexto do label.

Código

Snippets prontos para copiar e usar no seu projeto.

Radio simples

html
<label class="radio">
    <input type="radio" class="radio-input" name="opcao" value="1">
    <span class="radio-circle">
        <span class="radio-dot"></span>
    </span>
    <span class="radio-label">Opção 1</span>
</label>

Grupo de radios

html
<label class="radio">
    <input type="radio" class="radio-input" name="plano" value="basico" checked>
    <span class="radio-circle"><span class="radio-dot"></span></span>
    <span class="radio-label">Plano básico</span>
</label>

<label class="radio">
    <input type="radio" class="radio-input" name="plano" value="pro">
    <span class="radio-circle"><span class="radio-dot"></span></span>
    <span class="radio-label">Plano profissional</span>
</label>

<label class="radio">
    <input type="radio" class="radio-input" name="plano" value="enterprise">
    <span class="radio-circle"><span class="radio-dot"></span></span>
    <span class="radio-label">Plano empresarial</span>
</label>

Desativado

html
<label class="radio">
    <input type="radio" class="radio-input" name="disabled" disabled>
    <span class="radio-circle"><span class="radio-dot"></span></span>
    <span class="radio-label">Indisponível</span>
</label>

Tokens utilizados

Variáveis semânticas aplicadas ao componente.

TokenUso
--border-base-neutral-strongBorda padrão do circle
--border-base-neutral-defaultBorda no estado desativado
--border-base-brand-defaultBorda quando selecionado / outline de foco
--surface-base-neutral-container-deepBackground no hover
--surface-base-neutral-container-emphasisBackground no disabled+selected
--surface-base-brand-container-mediumCor do dot quando selecionado
--text-base-neutral-defaultCor do label
--text-base-neutral-subtleCor do label e dot desativados
--spacing-3Gap entre circle e label (12px)

Design System interno do GALES