Ir para o conteúdo principal

Carousel

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.

Exemplos​

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

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​

Atributoauto-play
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

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 Helpers.generateUniqueId().

> Uso compartilhado: mantenha esta descrição idêntica em todos os componentes que usam customId.
Tipostring
Valor padrãoHelpers.generateUniqueId()

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'

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​

Atributois-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

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çãoPropagação
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​

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

getIsPlaying​

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

goToPage​

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

nextPage​

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

pause​

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

play​

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

previousPage​

AssinaturapreviousPage() => Promise<void>
DescriçãoRetorna ao slide anterior. Respeita a prop isCircular (ou ativo automaticamente com autoPlay).
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​