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

Cookiebar

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 componente br-cookiebar é o orquestrador completo do GovBR-DS para aviso e gestão de consentimento de cookies, atendendo às exigências da LGPD (Lei Geral de Proteção de Dados).

Para que serve​

  • Aviso de privacidade e cookies: Informa com clareza à pessoa usuária sobre a coleta e finalidade de cookies no sistema.
  • Gestão de consentimento: Permite aceitar todos os cookies, rejeitar os não essenciais ou gerenciar categorias de forma granular.
  • Detalhamento transparente: Exibe a relação técnica de cookies utilizados por categoria com nome, validade e finalidade.

Quando utilizar​

  • Utilize quando:
    • A aplicação ou portal público utilizar cookies de sessão, rastreamento ou preferências que demandem consentimento explícito.
    • For necessário dar cumprimento às diretrizes de privacidade e proteção de dados pessoais (LGPD).
  • Evite e prefira outro componente quando:
    • A notificação for apenas um alerta contextual ou mensagem simples de status sem relação com consentimento (prefira br-message ou br-notification).

Composição e Subcomponentes​

SubcomponentePapelRegra de uso
br-cookiebar-cookieItem de cookie. Descreve detalhadamente um cookie específico.Inserido dentro de um br-cookiebar-group.
br-cookiebar-groupCategoria de cookies. Agrupa cookies por finalidade com controle de seleção.Inserido no corpo de opções do br-cookiebar.
br-cookiebar-headerCabeçalho informativo. Exibe título e mensagem inicial de contexto.Inserido no slot de topo do br-cookiebar.
br-cookiebar-linkLink informativo. Atalho para a Política de Privacidade e termos.Usado no cabeçalho ou notas do br-cookiebar.
br-cookiebar-note-groupAgrupador de notas. Organiza múltiplas notas informativas.Posicionado na área de notas do br-cookiebar.
br-cookiebar-noteNota complementar. Mensagem ou aviso jurídico adicional.Inserido individualmente ou em br-cookiebar-note-group.
br-cookiebarOrquestrador principal. Gerencia abertura, fechamento, persistência e emissão dos eventos de consentimento.Declarado como contêiner do aviso de cookies na aplicação.

Como os subcomponentes se relacionam​

O br-cookiebar atua como orquestrador central. Ele controla a visualização do painel (modo compacto ou expandido), agrupa as categorias (br-cookiebar-group) com seus respectivos cookies (br-cookiebar-cookie) e disponibiliza os botões de ação para aceitar todos, rejeitar ou salvar preferências. A aplicação consome eventos unificados de consentimento disparados pelo componente pai.

Para a documentação completa de design, incluindo diretrizes de acessibilidade e especificações visuais, consulte o Design System do GovBR.

Exemplo(s)​

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

Desktop (100%)
Tablet - 768px
iPhone (iOS) - 390x844
Android - 360x800
Padrão
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

Fluxo, camada e modalidade​

O aviso simples permanece como barra fixed, fora do fluxo da página. Com scrim ou no modo open, o container usa <dialog> modal e a top layer quando disponível. A máscara ocupa a subcamada local 0 e o painel a 1, garantindo que cliques e foco alcancem sempre os controles do painel.

Sem showModal(), o cookiebar usa a camada bloqueadora 4. Nesse fallback CSS, mantenha somente um bloqueador legado ativo por vez.

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

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. Valores inválidos usam default.
- 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çãoDepreciaçã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​

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

getSelectedCookies​

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

openDefault​

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

openPanel​

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

CSS Shadow Parts​

NomeDescrição
"body"Corpo do painel aberto (com rolagem).
"container"Container 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​

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

A 1.x modelava o conteúdo da cookiebar em um objeto e controlava sua abertura com open. Na 2.x, consentimento, painel e ações são expressos por propriedades e composição próprias.

Propriedades e composição​

API 1.xAPI 2.xAção na migração
—mode, scrim, selectAllConfigure o fluxo de consentimento da versão atual.
contentslots e labels atuaisMova o texto e as informações para a composição da cookiebar.
lang—Remova; traduza os textos por labels e conteúdo da aplicação.
openshowRenomeie o estado de visibilidade.

Use os métodos close, openDefault e openPanel, além de getSelectedCookies, para integrar o consentimento. Trate os eventos atuais da cookiebar em vez do evento report da 1.x.

Exemplo​

1.x:

<br-cookiebar :content="content" lang="pt-BR" open></br-cookiebar>

2.x:

<br-cookiebar show mode="default" scrim>
<span slot="description">Usamos cookies para melhorar sua experiência.</span>
</br-cookiebar>
Comece aquiComponentesQuickstartsSobre o projetoRepositório GitLabVersõesDiscordGovBR-DSFAQWikiRedefinir cookies