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