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

List

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-list é o contêiner estrutural do GovBR-DS desenvolvido para apresentar coleções verticais de itens homogêneos ou relacionados de forma organizada, fácil de percorrer visualmente e acessível.

Para que serve​

  • Apresentação sequencial de informações: Organiza listagens de dados, tarefas, configurações, opções de navegação ou mensagens.
  • Cabeçalho e ações integradas: Suporta cabeçalho contextual (header) para exibição de título da lista, contadores de itens ou botões de ação em lote.
  • Composição com itens padronizados: Integra-se perfeitamente com elementos br-item e divisores br-divider, mantendo ritmo visual e alinhamento consistentes.

Quando utilizar​

  • Utilize quando:
    • Desejar exibir uma sequência vertical de itens que compartilham a mesma estrutura ou propósito.
    • O conteúdo favorecer leitura linear ou seleção de uma linha e precisar ser percorrido visualmente com rapidez.
  • Evite e prefira outro componente quando:
    • As informações forem tabulares com múltiplas colunas e necessidade de ordenação por coluna (prefira br-table).
    • A lista representar o menu principal de navegação do sistema (prefira br-menu).

Estrutura e Slots​

O br-list atua como contêiner de itens:

  • header: Slot opcional para cabeçalho da lista (título, filtros ou ações globais).
  • default: Slot principal onde são inseridos os elementos filhos (como br-item ou divs semânticas).

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

Exemplo(s)​

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

Para seções extensas que permanecem no DOM, consulte o guia de content-visibility. A propriedade reduz layout e pintura fora da viewport, mas não virtualiza os itens fornecidos por slot.

Propriedades​

accordion​

Atributoaccordion
DescriçãoTítulo do grupo de accordion. br-list irmãs (mesmo elemento-pai) com o
mesmo valor formam um grupo e mantêm apenas uma aberta por vez — abrir uma
fecha as demais do grupo.

Sozinha já torna a lista recolhível (não precisa de collapse) e, como o
collapse, exige um cabeçalho (header ou slot header) como acionador.
Começa recolhida.
Tipostring
Valor padrãonull

collapse​

Atributocollapse
DescriçãoTorna a lista recolhível: o corpo é envolvido por um br-collapse interno
que abre e fecha ao acionar o cabeçalho. Começa recolhida.

Requer um cabeçalho (atributo header ou slot header) — ele é o acionador.
Sem cabeçalho não há como recolher.

Para "apenas uma aberta por vez" entre listas, use accordion.
Tipoboolean
Valor padrãofalse

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çãoModificador de densidade da lista. Aceita small, medium ou large.
Valores inválidos usam medium. Quando omitida ou null, nenhuma densidade é aplicada.
Tipo"large" | "medium" | "small"
Valor padrãonull

divider​

Atributodivider
DescriçãoIndica se a lista possui divisores (divider) entre os itens.
Tipoboolean
Valor padrãofalse
Atributoheader
DescriçãoDefine o texto do cabeçalho da lista.
Quando definido, também é usado como aria-label do elemento role="list",
fornecendo um nome acessível que leitores de tela anunciam ao entrar na lista.
Tipostring
Valor padrãonull

hideHeaderDivider​

Atributohide-header-divider
DescriçãoIndica que o divider para o título da lista estará oculto.
Tipoboolean
Valor padrãofalse

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

Atributois-horizontal
DepreciaçãoUse orientation.
DescriçãoIndica se a lista será horizontal. Por padrão, a lista é vertical.
Tipoboolean
Valor padrãofalse

listRole​

Atributolist-role
DescriçãoSemântica do host quando o conteúdo não representa itens de lista. Valores inválidos usam list.
Tipo"group" | "list"
Valor padrão'list'

orientation​

Atributoorientation
DescriçãoOrientação canônica. Quando informada, tem precedência sobre isHorizontal; valores inválidos usam vertical.
Tipo"horizontal" | "vertical"
Valor padrão---

Slots​

NomeDescrição
"default"Slot para os itens da lista.
"header"Slot para ações ou conteúdo do cabeçalho da lista.

Métodos​

focusFirstItem​

DescriçãoMove o foco para o primeiro item navegável da lista.
API pública para componentes que abrem a lista programaticamente
(ex.: br-dropdown), evitando acesso direto ao br-item.
AssinaturafocusFirstItem() => Promise<void>
Parâmetros---

CSS Shadow Parts​

NomeDescrição
"container"Wrapper principal da lista.

Dependências​

Usado por​

Depende de​

Gráfico​

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

A lista da 2.x usa nomes que descrevem sua estrutura e delega comportamento de recolhimento aos recursos atuais de composição.

Propriedades​

API 1.xAPI 2.xAção na migração
dataToggle / dataUniquecollapse/accordion atuaisReestruture o comportamento usando os componentes atuais.
densitydensityMantenha.
hideTitleDividerhideHeaderDividerRenomeie a propriedade.
horizontalorientationUse orientation="horizontal" ou orientation="vertical".
spaceBetween—Remova; ajuste a distribuição na composição/layout.
titleheaderRenomeie a propriedade.

Exemplo​

1.x:

<br-list title="Serviços" horizontal hide-title-divider></br-list>

2.x:

<br-list header="Serviços" orientation="horizontal" hide-header-divider></br-list>
Comece aquiComponentesQuickstartsSobre o projetoRepositório GitLabVersõesDiscordGovBR-DSFAQWikiRedefinir cookies