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

Design System

Para a documentação completa de design, 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

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.
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.

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
disableCloseButtonRemova; use a composição de fechamento disponível.
notificationsRemova 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>