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

Header

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-header é o cabeçalho da página: logotipo, nome do sistema, links, atalhos, busca, acesso e botão do menu.

Como montar​

Cada área tem um slot:

ÁreaSlotComponente sugerido
Atalhos (contraste, ajuda…)functionsbr-header-list com br-header-function
Buscasearch e search-iconbr-input e um br-button com ícone
Entraraccessbr-sign-in
Linkslinksbr-header-list com br-header-link
Logotipologobr-header-logo
Menumenu-triggerbr-button que abre o br-menu
Nome e subtítulo—props caption e subcaption
<br-header caption="Nome do sistema" subcaption="Nome do órgão" sticky>
<br-header-logo slot="logo" src="/logo.svg" description="gov.br"></br-header-logo>

<br-header-list slot="links" list-title="Acesso rápido">
<br-header-link href="/servicos">Serviços</br-header-link>
</br-header-list>

<br-input slot="search" label="Buscar" type="search"></br-input>

<br-button slot="menu-trigger" shape="circle" aria-label="Abrir menu" data-toggle="menu" data-target="#menu-principal">
<br-icon src="/icones/menu.svg"></br-icon>
</br-button>
</br-header>

Use sticky para manter o cabeçalho visível ao rolar a página e compact para a versão reduzida. Em telas menores, a busca fica escondida até o clique no botão do slot search-icon.

Consulte as diretrizes de design do GovBR.

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​

caption​

Atributocaption
DescriçãoTexto exibido como título do cabeçalho.
Tipostring
Valor padrãonull

captionUrl​

Atributocaption-url
DescriçãoURL associada ao título do cabeçalho.
Tipostring
Valor padrãonull

compact​

Atributocompact
DescriçãoEstado compacto. Quando informado, tem precedência sobre isCompact.
Tipoboolean
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()

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

Valores inválidos usam medium.
Tipo"large" | "medium" | "small"
Valor padrão'medium'

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

Atributois-compact
DepreciaçãoUse compact.
DescriçãoAtiva o modo compacto do cabeçalho.
Tipoboolean
Valor padrãofalse

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

Atributois-sticky
DepreciaçãoUse sticky.
DescriçãoFixa o cabeçalho no topo durante a rolagem.
Quando compact ou is-compact é definido explicitamente, o modo visual
permanece fixo durante a rolagem. Sem essa configuração, o header sticky
alterna automaticamente entre os modos compacto e expandido.
Tipoboolean
Valor padrãofalse

layoutWidth​

Atributolayout-width
DescriçãoDefine a largura do container interno do cabeçalho.
- contained: largura máxima limitada pela grade no breakpoint desktop (container-lg).
- full: sempre ocupa 100% da largura disponível (container-fluid).
Tipo"contained" | "full"
Valor padrão'contained'
Atributonavigation-mode
DescriçãoControla como os links internos do cabeçalho integram a navegação mantendo href real.
- native (padrão): preserva o comportamento do navegador, conforme HTML/W3C.
- event: emite brNavigate; se o evento for cancelado, bloqueia a navegação nativa para a SPA assumir.
Tipo"event" | "native"
Valor padrão'native'

shrinkFirst​

Atributoshrink-first
DescriçãoDefine qual lista encolhe primeiro quando o espaço é limitado.
Tipo"functions" | "links"
Valor padrão'functions'

signature​

Atributosignature
DescriçãoTexto da assinatura exibida ao lado da logo.
Tipostring
Valor padrãonull

sticky​

Atributosticky
DescriçãoFixa o cabeçalho no topo. Quando informado, tem precedência sobre isSticky.
Tipoboolean
Valor padrão---

subcaption​

Atributosubcaption
DescriçãoTexto exibido como subtítulo do cabeçalho.
Tipostring
Valor padrãonull

subcaptionUrl​

Atributosubcaption-url
DescriçãoURL associada ao subtítulo do cabeçalho.
Tipostring
Valor padrãonull

Slots​

NomeDescrição
"access"Slot para o botão de acesso ou autenticação.
"caption"Slot para o título do cabeçalho.
"functions"Slot para botões de ação no cabeçalho.
"links"Slot para links de navegação principais.
"logo"Slot para a logo do cabeçalho.
"menu-trigger"Slot para o botão que abre o menu.
"search-icon"Botão que mostra o campo de busca em telas menores e no modo compacto.
"search"Slot para o campo de busca.
"signature"Slot para a assinatura visual da organização.
"subcaption"Slot para o subtítulo do cabeçalho.

Eventos​

EventoDescriçãoDepreciaçãoPropagação
brHeaderCompactChangeEvento emitido quando o modo compacto muda.---true
brMenuToggleEvento disparado para alternar o estado de um menu associado.---true
brNavigateEvento cancelável emitido em navigation-mode="event" para cliques primários sem modificadores em links _self. Chame event.preventDefault() no listener para impedir a navegação nativa e entregar event.detail.href ao roteador da SPA.---true
headerCompactChangeEvento disparado quando o cabeçalho entra ou sai do modo compacto. O evento contém os detalhes do estado compacto e o ID do componente pai.---true
headerWidthChangeEvento disparado para indicar qual lista deve encolher primeiro. O evento contém os detalhes do ID do componente pai e o nome da lista.---true

Métodos​

resetHeaderList​

DescriçãoReinicializa o estado das listas do cabeçalho, disparando o evento de redimensionamento.
Pode ser chamado externamente para forçar a atualização das listas.
AssinaturaresetHeaderList() => Promise<void>
Parâmetros---

CSS Shadow Parts​

NomeDescrição
"bottom-left"Área inferior esquerda (menu + título).
"bottom-right"Área inferior direita (busca expandida).
"bottom"Área inferior do header.
"header"Elemento header principal.
"top-left"Área superior esquerda (logo + assinatura).
"top-right"Área superior direita (links + funções + busca + acesso).
"top"Área superior do header.

Acessibilidade​

O header é marcado como cabeçalho da página (<header>). O texto de caption é o nome do cabeçalho: use um nome claro.

  • Marque o link da página atual com aria-current="page".
  • Botões só com ícone, nos slots functions e access, precisam de aria-label.
  • O botão do slot menu-trigger informa se o menu está aberto (aria-expanded), sincronizado com o br-menu.
  • Com sticky ou compact, adicione scroll-padding-top na página para que âncoras não fiquem escondidas atrás do cabeçalho.

A reorganização entre os layouts respeita a preferência do sistema por menos movimento.

Migração da navegação​

caption-url e subcaption-url continuam com o mesmo nome. Para a SPA controlar esses links, adicione navigation-mode="event" e trate brNavigate.

<br-header caption="Portal" caption-url="/portal" navigation-mode="event"></br-header>

Dependências​

Subcomponentes​

Depende de​

Gráfico​

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

Na 1.x, logo, título, busca e ações eram propriedades. Na 2.x, cada área usa um slot.

1.x2.xO que fazer
actionSearchslot searchTrate a busca no seu campo.
compactcompactMantenha. is-compact ainda funciona, mas está depreciado.
containerFluidlayout-width="full"Renomeie.
hasMenu / hasSearchslots menu-trigger e searchDeclare o botão do menu e o campo de busca.
image / imageLinkbr-header-logo no slot logoUse src e href na logo.
isStickystickyRenomeie.
signaturesignatureMantenha.
subtitlesubcaptionRenomeie.
titlecaptionRenomeie.
titleLinkUrlcaption-urlRenomeie.

1.x:

<br-header title="Portal" subtitle="Serviços" image="/logo.svg" has-search></br-header>

2.x:

<br-header caption="Portal" subcaption="Serviços">
<br-header-logo slot="logo" src="/logo.svg" description="Portal"></br-header-logo>
<br-input slot="search" label="Buscar" type="search"></br-input>
</br-header>
Comece aquiComponentesQuickstartsSobre o projetoRepositório GitLabVersõesDiscordGovBR-DSFAQWikiRedefinir cookies