Ir para o conteúdo principal

Cookiebar

Visão Geral

Componente de gestão de consentimento de cookies (LGPD), obrigatório em sites e aplicativos do Governo Federal que coletam dados de usuários.

Apresenta duas etapas visuais:

  • default – barra inferior com texto informativo e botões de ação;
  • open – painel de tela cheia com lista de classes de cookies configuráveis.

A persistência do consentimento é responsabilidade do consumidor: ouça o evento brCookiebarAccept e armazene o payload onde desejar (localStorage, cookie HTTP, API etc.).

Para a documentação completa, consulte o Design System do GovBR.

Exemplos

Opt-out (recomendado)

Padrão em que o usuário pode configurar as preferências de cookies individualmente.

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Propriedades

acceptButton

Atributoaccept-button
DescriçãoTexto do botão primário de aceite. Padrão: Aceitar.
Tipostring
Valor padrão'Aceitar'

allAlertMessage

Atributoall-alert-message
DescriçãoMensagem exibida abaixo do checkbox geral quando está desmarcado ou com seleção parcial.
Tipostring
Valor padrão---

allOptOut

Atributoall-opt-out
DescriçãoDefine se o cookiebar opera no padrão opt-out (true, recomendado) ou opt-in (false).
- opt-out (true): botão secundário "Definir Cookies"; usuário pode configurar cookies.
- opt-in (false): botão secundário "Ver Política de Cookies"; painel é somente leitura.
Tipoboolean
Valor padrãotrue

closeLabel

Atributoclose-label
Descriçãoaria-label do botão fechar exibido no canto do painel expandido (mode="open").
Permite traduzir o rótulo para outros idiomas.
Tipostring
Valor padrão'Fechar'

cookieGroupsLabel

Atributocookie-groups-label
DescriçãoRótulo do título da seção de grupos de cookies.
Tipostring
Valor padrão'Classes de cookies'

customId

Atributocustom-id
DescriçãoIdentificador único; gerado automaticamente quando omitido.
Tipostring
Valor padrãoHelpers.generateUniqueId('br-cookiebar')

defaultPanelLabel

Atributodefault-panel-label
Descriçãoaria-label da barra de aviso de cookies (mode="default").
Deve descrever o propósito da região de forma sucinta (ex: "Aviso de cookies").
Tipostring
Valor padrão'Aviso de cookies'

infoText

Atributoinfo-text
DescriçãoTexto informativo exibido na barra inferior (modo default), descrevendo a política de cookies. (obrigatório)
Tipostring
Valor padrão---

linksLabel

Atributolinks-label
Descriçãoaria-label do elemento <nav> que envolve os links complementares no painel expandido.
Permite traduzir o rótulo para outros idiomas.
Tipostring
Valor padrão'Links complementares'

mode

Atributomode
DescriçãoEstado visual atual do painel.
- default: barra inferior com texto e botões.
- open: painel de tela cheia com grupos de cookies configuráveis.
Tipo"default" | "open"
Valor padrão'default'

optInButton

Atributoopt-in-button
DescriçãoTexto do botão secundário quando all-opt-out="false".
Tipostring
Valor padrão'Ver Política de Cookies'

optOutButton

Atributoopt-out-button
DescriçãoTexto do botão secundário quando all-opt-out="true".
Tipostring
Valor padrão'Definir Cookies'

panelLabel

Atributopanel-label
Descriçãoaria-label do painel expandido (mode="open"), que possui role="dialog".
Leitores de tela anunciam este texto ao entrar no diálogo modal de configuração de cookies.
Deve descrever o propósito do diálogo de forma sucinta (ex: "Configurações de cookies").
Tipostring
Valor padrão'Configurações de cookies'

rejectButton

Atributoreject-button
DescriçãoTexto do botão de rejeição dos cookies não obrigatórios.
Exibido apenas quando show-reject-button="true".
Tipostring
Valor padrão'Rejeitar não obrigatórios'

scrim

Atributoscrim
DescriçãoQuando true, exibe uma camada semitransparente (scrim) sobre o conteúdo da página
abaixo do painel default, sinalizando que o cookiebar requer atenção.

Efeito no foco: com scrim=true, o atributo inert é aplicado nos irmãos do
cookiebar no DOM, prendendo o foco e o cursor virtual do leitor de tela dentro do
painel default enquanto ele estiver visível. Com scrim=false (padrão), nenhum trap
é ativado — o usuário pode navegar livremente pela página, em conformidade com
WCAG 2.1.2 (No Keyboard Trap). Use scrim=true apenas quando o cenário de negócio
exigir que a decisão sobre cookies seja tomada antes de qualquer outra interação.

No modo open (diálogo modal), o inert é aplicado independentemente do valor de scrim.
Tipoboolean
Valor padrãofalse

selectAll

Atributoselect-all
DescriçãoEstado inicial do checkbox "Selecionar tudo".
Quando true, todos os grupos opt-out iniciam selecionados.
Tipoboolean
Valor padrãofalse

selectAllLabel

Atributoselect-all-label
DescriçãoTexto do checkbox geral quando está totalmente selecionado (ação: desselecionar).
Tipostring
Valor padrão'Selecionar tudo'

show

Atributoshow
DescriçãoControla a visibilidade do componente.
O consumidor é responsável por definir este valor com base na persistência do consentimento
(ex: verificar se já existe um cookie de consentimento salvo).
Tipoboolean
Valor padrãofalse

showRejectButton

Atributoshow-reject-button
DescriçãoQuando true, exibe o botão "Rejeitar não obrigatórios" nos painéis default e open.
Cookies de grupos com group-opt-out="false" (sempre ativos) não são afetados.
Tipoboolean
Valor padrãofalse

unselectAllLabel

Atributounselect-all-label
DescriçãoTexto do checkbox geral quando está desmarcado ou indeterminado (ação: selecionar).
Tipostring
Valor padrão'Desselecionar tudo'

Slots

NomeDescrição
"actions"Recebe botões de ação. Se vazio, o componente renderiza os botões padrão.
"default"Recebe os subcomponentes br-cookiebar-group, br-cookiebar-note-group e br-cookiebar-note.
"header"Recebe br-cookiebar-header ou HTML livre.
"links"Recebe links complementares (br-cookiebar-link ou elementos <a> livres).

Eventos

EventoDescriçãoPropagação
brCookiebarAcceptSinal emitido quando o usuário clica em Aceitar. Não carrega payload — ouça brCookiebarResponse para obter o estado completo de consentimento.true
brCookiebarCloseEmitido quando o painel recolhe para modo default.true
brCookiebarHideEmitido quando o componente é ocultado (show → false).true
brCookiebarOpenEmitido quando o painel expande para modo open.true
brCookiebarPolicyClickEmitido quando o usuário clica no botão secundário no modo opt-in (allOptOut=false). O consumidor é responsável por navegar para a página de Política de Cookies.true
brCookiebarRejectSinal emitido quando o usuário clica em "Rejeitar não obrigatórios". Não carrega payload — ouça brCookiebarResponse para obter o estado completo de consentimento.true
brCookiebarResponseEmitido após brCookiebarAccept ou brCookiebarReject, com o estado final de consentimento. É o único evento que carrega CookiebarOutputData — use-o para persistir o consentimento (localStorage, cookie HTTP, API etc.). Não é disparado durante interações com checkboxes e switches internos.true
brCookiebarShowEmitido quando o componente se torna visível (show → true).true

Métodos

close

Assinaturaclose() => Promise<void>
DescriçãoOculta o cookiebar.
Parâmetros---

getSelectedCookies

AssinaturagetSelectedCookies() => Promise<CookiebarOutputData>
DescriçãoRetorna o JSON com o estado atual de seleção de todos os grupos e cookies.
Parâmetros---

openDefault

AssinaturaopenDefault() => Promise<void>
DescriçãoExibe o cookiebar no modo default (barra inferior).
Parâmetros---

openPanel

AssinaturaopenPanel() => Promise<void>
DescriçãoExibe o cookiebar diretamente no modo open (painel de tela cheia).
Parâmetros---

CSS Shadow Parts

NomeDescrição
"body"Corpo do painel aberto (com rolagem).
"container"Div raiz do componente.
"default-panel"Painel fechado (modo default).
"footer"Rodapé com botões de ação.
"header"Cabeçalho do painel aberto.
"open-panel"Painel expandido (modo open).
"scrim"Camada de sobreposição opcional.

Dependências

Subcomponentes

Depende de

Gráfico