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

Carousel

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

ariaLabel

Atributoaria-label
DescriçãoRótulo acessível do carrossel.
Não deve conter a palavra "carrossel" (W3C APG).
Atribuído ao aria-label do container raiz.
Tipostring
Valor padrão---

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

Atributoauto-play
DepreciaçãoUse autoplay.
DescriçãoHabilita reprodução automática.
Pausa em hover e foco (W3C). Ativa o loop circular automaticamente.
Não recomendado em dispositivos móveis.
Tipoboolean
Valor padrãofalse

autoplay

Atributoautoplay
DescriçãoHabilita reprodução automática. Quando informada, tem precedência sobre autoPlay.
Tipoboolean
Valor padrão---

circular

Atributocircular
DescriçãoHabilita navegação circular. Quando informada, tem precedência sobre isCircular.
Tipoboolean
Valor padrão---

colorMode

Atributocolor-mode
DescriçãoAplica esquema de cores escuro ao componente.
Tipo"dark"
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()

direction

Atributodirection
DescriçãoDireção de navegação automática do carrossel.
- left: retrocede (vai para o slide anterior).
- right: avança (vai para o próximo slide).
Só tem efeito quando autoPlay=true.
Tipo"left" | "right"
Valor padrão'right'

height

Atributoheight
DescriçãoAltura do carrossel.
Aceita qualquer valor CSS válido para height (ex.: 400px, 50vh).
Tipostring
Valor padrão---

imageFit

Atributoimage-fit
DescriçãoAjuste aplicado a imagens filhas diretas de br-carousel-page.
Tipo"contain" | "cover" | "fill" | "none" | "scale-down"
Valor padrão'cover'

indicatorPosition

Atributoindicator-position
DescriçãoPosição do indicador de páginas em relação ao palco.
Ignorada quando indicatorType="none".
- outside: indicador fica abaixo do palco.
- inside: indicador fica sobreposto ao conteúdo.
Tipo"inside" | "outside"
Valor padrão'outside'

indicatorType

Atributoindicator-type
DescriçãoDefine o tipo de indicador de páginas renderizado.
- simple: dots usando br-step em modo controller.
- textual: texto "X/N" com aria-live.
- none: sem indicador.
Tipo"none" | "simple" | "textual"
Valor padrão'simple'

interval

Atributointerval
DescriçãoIntervalo em milissegundos entre cada avanço automático.
Só tem efeito quando autoPlay=true.
Tiponumber
Valor padrão5000

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

Atributois-circular
DepreciaçãoUse circular.
DescriçãoHabilita a navegação circular entre os slides.
Quando true, os botões "Anterior" e "Próximo" permanecem sempre habilitados: avançar a partir do último slide retorna ao primeiro, e retroceder a partir do primeiro leva ao último.
Se autoPlay estiver ativado, o comportamento circular será aplicado automaticamente, independentemente deste valor.
Tipoboolean
Valor padrãofalse

maxWidth

Atributomax-width
DescriçãoLargura máxima do carrossel.
Quando definido, o componente é centralizado horizontalmente.
Aceita qualquer valor CSS válido para max-width (ex.: 800px, 64rem).
Tipostring
Valor padrão---

minHeight

Atributomin-height
DescriçãoAltura mínima do palco do carrossel.
Aceita qualquer valor CSS válido para min-height (ex.: 400px, 50vh).
Tipostring
Valor padrão---

mobileNav

Atributomobile-nav
DescriçãoExibe botões de navegação em dispositivos móveis.
Por padrão os botões são ocultados no breakpoint sm.
Tipoboolean
Valor padrãofalse
Atributonav-position
DescriçãoPosição dos botões de navegação (prev/next) em relação ao palco.
- outside: botões ficam nas laterais externas ao palco.
- inside: botões ficam sobrepostos dentro do palco, ocupando toda a altura.
Tipo"inside" | "outside"
Valor padrão'outside'

Slots

NomeDescrição
"default"Slot para os slides do carrossel. Aceita exclusivamente elementos br-carousel-page.

Eventos

EventoDescriçãoDepreciaçãoPropagação
brCarouselAutoplayPauseEvento canônico emitido quando a reprodução automática é pausada.---true
brCarouselAutoplayStartEvento canônico emitido quando a reprodução automática começa.---true
brCarouselPageChangeEvento canônico emitido quando o slide ativo muda.---true
brDidAutoPlayPauseEmitido quando a reprodução automática é pausada.---true
brDidAutoPlayStartEmitido quando a reprodução automática é iniciada ou retomada.---true
brDidPageChangeEmitido quando o slide ativo muda. Disparado por clique nos botões de navegação, clique no indicador de step, gesto swipe (apenas em mobile, breakpoint < 576px) ou avanço automático. activePage é 1-based: o primeiro slide emite 1, o segundo 2, e assim por diante.---true

Métodos

getActivePage

DescriçãoRetorna o número do slide atualmente ativo (1 = primeiro slide, 2 = segundo, …).
AssinaturagetActivePage() => Promise<number>
Parâmetros---

getIsPlaying

DescriçãoRetorna true se a reprodução automática está ativa no momento.
AssinaturagetIsPlaying() => Promise<boolean>
Parâmetros---

goToPage

DescriçãoNavega para o slide de número index (1 = primeiro slide, 2 = segundo, …).
Valores fora do intervalo válido são ignorados.
AssinaturagoToPage(index: number) => Promise<void>
Parâmetrosindex:

nextPage

DescriçãoAvança para o próximo slide. Respeita a prop isCircular (ou ativo automaticamente com autoPlay).
AssinaturanextPage() => Promise<void>
Parâmetros---

pause

DescriçãoPausa a reprodução automática programaticamente.
Assinaturapause() => Promise<void>
Parâmetros---

play

DescriçãoInicia ou retoma a reprodução automática programaticamente.
Assinaturaplay() => Promise<void>
Parâmetros---

previousPage

DescriçãoRetorna ao slide anterior. Respeita a prop isCircular (ou ativo automaticamente com autoPlay).
AssinaturapreviousPage() => Promise<void>
Parâmetros---

CSS Shadow Parts

NomeDescrição
"container"Elemento raiz do carrossel. Recebe role="region" e aria-roledescription="carousel".
"indicator"Wrapper do indicador de páginas. - Quando indicatorType="simple": renderiza br-step em mode="tablist". - Quando indicatorType="textual": renderiza um span[aria-live] com "X/N".
"nav-next"Wrapper do botão de navegação para o próximo slide.
"nav-prev"Wrapper do botão de navegação para o slide anterior.
"play-button"Wrapper do botão de play/pause. Presente apenas quando autoPlay=true.
"stage"Área do palco que contém os slides. Recebe aria-live e aria-atomic.

Dependências

Subcomponentes

Depende de

Gráfico