Ir para o conteúdo principal
WBC - GovBR-DS
Copiar página como Markdown para IA

Button

Componente estável e recomendada para novos projetos.
Anatomia, uso, comportamento visual e recomendações conceituais são mantidos pelo Padrão Digital de Governo. Esta página documenta a implementação Web Components e sua API executável.

Visão Geral

Para a documentação completa, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o Design System do GovBR.

Exemplo(s)

Desktop (100%)
Tablet - 768px
iPhone (iOS) - 390x844
Android - 360x800
Compartilhar URL
Mudar fundo
Abrir no StackBlitz
Tela cheia
HTML
Controles
JS
CSS
Console
Angular (Somente leitura)
React (Somente leitura)
Vue (Somente leitura)
Acessibilidade
Recolher controles e código
Formatar código
Resetar código para o estado inicial
Copiar para a área de transferência

Propriedades

active

Atributoactive
DescriçãoEstado ativo canônico. Quando informado, tem precedência sobre isActive.
Tipoboolean
Valor padrão---

ariaControls

Atributoaria-controls
DescriçãoReferência ao ID do elemento que o botão controla.
Use em conjunto com ariaExpanded para relacionar o botão ao painel que ele expande/recolhe.
Tipostring
Valor padrãonull

ariaExpanded

Atributoaria-expanded
DescriçãoIndica se um elemento controlado pelo botão está expandido ou recolhido.
Use em botões que abrem menus, acordeões ou outros painéis expansíveis.
O valor deve ser 'true' ou 'false'.
Tipostring
Valor padrãonull

ariaHaspopup

Atributoaria-haspopup
DescriçãoIndica que o botão abre um menu, listbox, tree, grid ou dialog.
Os valores permitidos são: 'true', 'menu', 'listbox', 'tree', 'grid' ou 'dialog'.
Tipo"dialog" | "grid" | "listbox" | "menu" | "tree" | "true"
Valor padrãonull

ariaLabel

Atributoaria-label
DescriçãoDefine o rótulo acessível usado por tecnologias assistivas.
Tipostring
Valor padrãonull

ariaPressed

Atributoaria-pressed
DescriçãoDefine o estado de pressionado do botão.
Este atributo é usado para indicar se o botão está atualmente pressionado ou não.
É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.
O valor deve ser 'true' ou 'false'.
Tipostring
Valor padrãonull

colorMode

Atributocolor-mode
DescriçãoDefine se o botão usará um esquema de cores escuro.
Tipo"dark"
Valor padrão---

customId

Atributocustom-id
DescriçãoIdentificador único do componente.
Quando omitido, um valor é gerado automaticamente.

> Padrão: valor único gerado por generateUniqueId().
Tipostring
Valor padrãogenerateUniqueId()

customTabIndex Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributocustom-tab-index
DepreciaçãoUse o atributo/propriedade nativo tabIndex do host.
Descrição
Tiponumber
Valor padrão---

density

Atributodensity
DescriçãoDefine a densidade visual do componente.

- small: Alta densidade (componente menor, mais compacto e com menos espaçamento).
- medium: Densidade intermediária, padrão recomendado para a maioria dos casos.
- large: Baixa densidade (componente maior, mais espaçamento e altura).
Tipo"large" | "medium" | "small"
Valor padrão'medium'

disabled

Atributodisabled
DescriçãoDesabilita a interação com o componente.
Tipoboolean
Valor padrãofalse

emphasis

Atributoemphasis
DescriçãoDefine a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.
Tipo"primary" | "secondary" | "tertiary"
Valor padrão---

isActive Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributois-active
DepreciaçãoUse active.
Descrição
Tipoboolean
Valor padrãofalse

isLoading Componente mantido por compatibilidade; prefira a alternativa indicada na documentação.

Atributois-loading
DepreciaçãoUse loading.
Descrição
Tipoboolean
Valor padrãofalse

loading

Atributoloading
DescriçãoEstado de carregamento canônico. Quando informado, tem precedência sobre isLoading.
Tipoboolean
Valor padrão---

shape

Atributoshape
DescriçãoDefine o formato do botão.
Tipo"block" | "circle" | "pill"
Valor padrão---

type

Atributotype
DescriçãoDefine o tipo de botão, especificando seu comportamento padrão.
Tipo"button" | "reset" | "submit"
Valor padrão---

value

Atributovalue
DescriçãoDefine o valor inicial do botão em um formulário.
Tipostring
Valor padrão---

Slots

NomeDescrição
"default"Slot para o rótulo ou conteúdo do botão.

CSS Shadow Parts

NomeDescrição
"button"Parte para o elemento button interno, usada para estilos customizados via ::part(button).

Dependências

Usado por

Gráfico

Eventos nativos

Elemento HTML de referência

br-button encapsula um <button>. O host representa a ação e preserva ativação, foco e os tipos button, submit e reset.

Eventos nativos suportados

EventoQuando ocorreBubblesComposedCancelableHostObservações
clickativação por ponteiro, Enter ou SpaceSimSimSimSimO alvo externo é o host.
resetbotão reset ativa o resetSimNãoSimNo <form>O evento pertence ao formulário.
submitbotão submit ativa formulário válidoSimNãoSimNo <form>O evento pertence ao formulário.

Eventos não aplicáveis ou não suportados

EventoSituaçãoMotivoAlternativa
input / changeNão aplicávelBotão não mantém valor editável.Ouça click ou o evento do formulário.

Migração de <br-button> (1.x → 2.x)

O elemento br-button continua existindo. A principal mudança é que o texto e o ícone passaram a ser conteúdo do componente, enquanto a aparência usa propriedades semânticas.

Propriedades

API 1.xAPI 2.xAção na migração
block / circleshapeConverta para o valor de forma equivalente.
iconslot/conteúdo do botãoMova o ícone para o conteúdo do componente.
invertedcolor-modeRenomeie a propriedade.
labelconteúdo padrãoMova o texto para dentro do elemento.
loadingloadingMantenha.
submittype="submit"Use o atributo nativo do botão.
typeemphasisUse emphasis para a aparência; preserve type="submit" apenas para o comportamento nativo de formulário.

Exemplo

1.x:

<br-button label="Salvar" type="primary" icon="check" submit></br-button>

2.x:

<br-button emphasis="primary" type="submit">
<br-icon icon-name="check"></br-icon>
Salvar
</br-button>