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

Notification

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​

O br-notification organiza a central de mensagens, comunicados e avisos do usuário em um painel retrátil.

Use os métodos open(), close() ou a propriedade isOpen para controlar o painel. Estruture o conteúdo com br-notification-header, br-notification-body e br-notification-item.

<br-notification>
<div slot="header">
<br-notification-header title-text="Notificações"></br-notification-header>
</div>
<br-notification-body>
<br-notification-item title-text="Seu processo foi atualizado" date="10/10/2026"></br-notification-item>
</br-notification-body>
</br-notification>

Quando usar​

  • Central de avisos acumulados da aplicação, normalmente acionada por um botão no cabeçalho.

Quando evitar​

  • Mensagens em linha como resposta direta a uma ação na tela: use br-message.
  • Confirmação de ação crítica: use br-modal.

Consulte as diretrizes de design do GovBR.

Exemplo(s)​

Desktop (100%)
Tablet - 768px
iPhone (iOS) - 390x844
Android - 360x800
Compartilhar URL
Ativar movimento reduzido
Mudar fundo
Abrir no StackBlitz
Mais opções
Tela cheia
Carregando preview…
HTML
Controles do componente
Console: logs, eventos e erros
Angular (Somente leitura)
React (Somente leitura)
Vue (Somente leitura)
Acessibilidade
Recolher controles e código
Desfazer alteração
Refazer alteração
Comparar alterações
Formatar código
Resetar código para o estado inicial
Escolher formato para copiar

Propriedades​

closeOnOutsideClick​

Atributoclose-on-outside-click
DescriçãoFecha o painel ao clicar fora da superfície.
Tipoboolean
Valor padrãotrue

closeOnTriggerClick​

Atributoclose-on-trigger-click
DescriçãoFecha o painel ao clicar novamente no acionador.
Tipoboolean
Valor padrãotrue

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()

internalScroll​

Atributointernal-scroll
DescriçãoHabilita rolagem apenas na região de itens, preservando cabeçalho e abas fixos.
Tipoboolean
Valor padrãotrue

isStatic​

Atributois-static
DescriçãoDefine se o painel de notificações deve ser renderizado de forma estática (inline).
Quando verdadeiro, o posicionamento absoluto é desativado. Ideal para centrais de notificações fixas ou documentação.
Tipoboolean
Valor padrãofalse

label​

Atributolabel
DescriçãoNome acessível do painel de notificações. Exposto via aria-label. (obrigatório)
Tipostring
Valor padrão---

maxHeight​

Atributomax-height
DescriçãoSobrescreve a altura máxima do painel.
Por padrão, o CSS aplica calc(100vh - 86px) via token --notification-height.
Tipostring
Valor padrão---

maxWidth​

Atributomax-width
DescriçãoSobrescreve o max-width do painel. Por padrão, o CSS aplica max-width: 50vw em viewports ≥576px
conforme a especificação do Design System.
Tipostring
Valor padrão---

mobileFullscreen​

Atributomobile-fullscreen
DescriçãoFaz o painel ocupar toda a largura disponível em viewports pequenas.
Tipoboolean
Valor padrãotrue

open​

Atributoopen
DescriçãoControla se o painel de notificações está aberto.
Tipoboolean
Valor padrãofalse

placement​

Atributoplacement
DescriçãoDefine o posicionamento do painel em relação ao acionador. Valores inválidos usam bottom-end.
Tipo"bottom-end" | "bottom-start" | "top-end" | "top-start"
Valor padrão'bottom-end'

width​

Atributowidth
DescriçãoLargura explícita do painel. Quando não definida, o painel dimensiona conforme o conteúdo,
respeitando o max-width definido por spec ou pelo prop maxWidth.
Tipostring
Valor padrão---

Slots​

NomeDescrição
"default"Região principal da lista de notificações.
"footer"Região opcional para ações complementares, como "ver todas".
"header"Região superior do componente, para uso com subcomponentes de cabeçalho ou conteúdo customizado.
"tabs"Região opcional para navegação por abas.
"trigger"Elemento acionador externo responsável por abrir e fechar o painel.

Eventos​

EventoDescriçãoDepreciaçãoPropagação
brNotificationCloseInforma que o painel foi fechado.---true
brNotificationItemClickExpõe a interação com um item da lista.---true
brNotificationOpenInforma que o painel foi aberto.---true
brNotificationTabChangeInforma troca de aba quando o componente possuir navegação por tabs.---true
brOpenChangeInforma a mudança de estado aberto/fechado do painel.---true

Métodos​

focusFirstItem​

DescriçãoMove o foco para o primeiro item interativo da lista.
AssinaturafocusFirstItem() => Promise<void>
Parâmetros---

focusTrigger​

DescriçãoMove o foco de volta para o acionador.
AssinaturafocusTrigger() => Promise<void>
Parâmetros---

hide​

DescriçãoFecha o painel de notificações.
Assinaturahide(reason?: NotificationCloseReason) => Promise<void>
Parâmetrosreason:

show​

DescriçãoAbre o painel de notificações.
Assinaturashow() => Promise<void>
Parâmetros---

toggle​

DescriçãoAlterna o estado aberto/fechado.
Assinaturatoggle() => Promise<void>
Parâmetros---

CSS Shadow Parts​

NomeDescrição
"base"Superfície principal do painel.
"body"Região principal do componente.
"close-button"Botão de fechar do painel.
"divider"Divisor entre itens da lista.
"footer"
"header"Região superior do componente.
"list"Região com rolagem onde os itens são exibidos.
"tabs"Região de abas, quando existir.

Acessibilidade​

O painel é uma superfície ancorada a um acionador. O label (obrigatório) vira o aria-label do painel, dando a ele um nome acessível. O estado open é refletido e o acionador recebe aria-expanded sincronizado.

Foco​

  • Ao abrir, o foco vai para o primeiro elemento focável do painel.
  • Tab/Shift+Tab circulam entre os focáveis do painel enquanto ele está aberto.
  • Ao fechar, o foco volta para o elemento que estava focado antes da abertura.

Teclado e fechamento​

  • Escape fecha o painel.
  • close-on-outside-click (padrão) fecha ao clicar fora; close-on-trigger-click (padrão) permite alternar pelo próprio acionador.

Conteúdo​

  • Use os subcomponentes de cabeçalho, abas e itens para estrutura semântica.
  • Abas emitem brNotificationTabChange; itens emitem brNotificationItemClick — reflita a mudança de contexto para tecnologias assistivas quando a navegação alterar o conteúdo visível.

Movimento​

Entrada e saída do painel respeitam prefers-reduced-motion: reduce.

Dependências​

Subcomponentes​

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

Na 1.x, a notificação recebia uma coleção de objetos em notifications. Na 2.x, o componente representa a superfície de notificação; o conteúdo deve ser composto por slots e subcomponentes.

Propriedades e composição​

API 1.xAPI 2.xAção na migração
disableCloseButton—Remova; use a composição de fechamento disponível.
notifications—Remova o objeto de dados e renderize os itens no conteúdo atual.
showNotificationopenControle a abertura com a propriedade atual.
subtitleconteúdo do slotMova o texto para a composição interna.
titlelabel ou slotUse label para o gatilho/superfície e slot para conteúdo rico.
evento closemétodos/eventos de fechamento atuaisAtualize o listener conforme o fluxo da aplicação.

Exemplo​

1.x:

<br-notification :notifications="notifications" show-notification></br-notification>

2.x:

<br-notification label="Notificações" open>
<div slot="content">Itens da notificação</div>
</br-notification>
Comece aquiComponentesQuickstartsSobre o projetoRepositório GitLabVersõesDiscordGovBR-DSFAQWikiRedefinir cookies