Skip to main content

Swiper

Apresentação

O componente Swiper é responsável por criar um carrossel de slides interativo e responsivo. Ele oferece suporte a navegação por gestos de toque, reprodução automática, indicadores de slide e controles de navegação, sendo ideal para galerias de imagens, banners e apresentações de conteúdo.

Quando usar

  • Para criar galerias de imagens
  • Para exibir banners promocionais
  • Para apresentar conteúdo em slides
  • Para criar carrosséis de produtos
  • Para implementar apresentações
  • Para exibir conteúdo em formato de slideshow

Forma básica de uso

import { Swiper } from 'eitri-luminus';

// Swiper básico
<Swiper>
<Swiper.Item>
<img src="/slide1.jpg" alt="Slide 1" />
</Swiper.Item>
<Swiper.Item>
<img src="/slide2.jpg" alt="Slide 2" />
</Swiper.Item>
<Swiper.Item>
<img src="/slide3.jpg" alt="Slide 3" />
</Swiper.Item>
</Swiper>

// Swiper com reprodução automática
<Swiper
config={{
autoPlay: true,
interval: 3000,
loop: true
}}
>
<Swiper.Item>Conteúdo 1</Swiper.Item>
<Swiper.Item>Conteúdo 2</Swiper.Item>
<Swiper.Item>Conteúdo 3</Swiper.Item>
</Swiper>

// Swiper com controles personalizados
<Swiper
config={{
showArrows: true,
showIndicators: true,
prevButton: <button>Anterior</button>,
nextButton: <button>Próximo</button>
}}
>
<Swiper.Item>Slide 1</Swiper.Item>
<Swiper.Item>Slide 2</Swiper.Item>
<Swiper.Item>Slide 3</Swiper.Item>
</Swiper>

// Swiper com comportamento de arrasto personalizado
<Swiper
config={{
dragBehavior: {
minVelocity: 5,
minDistance: 10,
dampingFactor: 0.8,
returnAnimationDuration: 300,
slideTransitionDuration: 300
}
}}
>
<Swiper.Item>Item 1</Swiper.Item>
<Swiper.Item>Item 2</Swiper.Item>
<Swiper.Item>Item 3</Swiper.Item>
</Swiper>

Propriedades

Swiper

PropriedadeTipoDescrição
configSwiperConfigConfigurações do carrossel
classNamestringClasses CSS adicionais para o container
idstringIdentificador único do componente

Swiper.Item

PropriedadeTipoDescrição
classNamestringClasses CSS adicionais para o item
idstringIdentificador único do componente

SwiperConfig

PropriedadeTipoDescrição
autoPlaybooleanDefine se o carrossel deve reproduzir automaticamente (padrão: false)
intervalnumberIntervalo em milissegundos entre os slides (padrão: 5000)
loopbooleanDefine se o carrossel deve voltar ao início após o último slide (padrão: true)
snapTo'start' | 'center' | 'right'Define o alinhamento do slide (padrão: 'start')
showArrowsbooleanDefine se as setas de navegação devem ser exibidas (padrão: true)
showIndicatorsbooleanDefine se os indicadores de slide devem ser exibidos (padrão: true)
currentSlidenumberDefine o slide atual
prevButtonReact.ReactNodeComponente personalizado para o botão anterior
nextButtonReact.ReactNodeComponente personalizado para o botão próximo
indicatorTemplatefunctionFunção para renderizar indicadores personalizados
onChangefunctionCallback chamado quando o slide muda
onStartfunctionCallback chamado quando a reprodução automática inicia
onStopfunctionCallback chamado quando a reprodução automática para
dragBehaviorobjectConfigurações do comportamento de arrasto

DragBehavior

PropriedadeTipoDescrição
minVelocitynumberVelocidade mínima para iniciar a animação de inércia (padrão: 10)
minDistancenumberDistância mínima para considerar um arrasto (padrão: 2)
dampingFactornumberFator de amortecimento do arrasto (padrão: 1)
returnAnimationDurationnumberDuração da animação de retorno (padrão: 200)
slideTransitionDurationnumberDuração da transição entre slides (padrão: 200)
inertiaFactornumberFator de inércia da animação (padrão: 0.7)
minInertiaVelocitynumberVelocidade mínima para iniciar a inércia (padrão: 3)
maxInertiaDurationnumberDuração máxima da animação de inércia (padrão: 200)

Heranças

O componente Swiper e seus subcomponentes herdam todas as propriedades comuns da biblioteca através da interface CommonProps, que inclui:

  • Propriedades de estilo (margin, padding, etc)
  • Propriedades de layout (flex, grid, etc)
  • Propriedades de posicionamento
  • Propriedades de acessibilidade
  • Propriedades de identificação (id, data-e)

Observações

  • O componente suporta navegação por gestos de toque
  • Inclui suporte a reprodução automática
  • Permite personalização completa dos controles
  • Suporta diferentes comportamentos de alinhamento
  • Inclui animações suaves de transição
  • Suporta comportamento de inércia no arrasto
  • É responsivo por padrão
  • Permite personalização através de classes CSS
  • Suporta indicadores de slide personalizados
  • Inclui callbacks para eventos importantes
  • Ideal para galerias e apresentações de conteúdo
  • Suporta loop infinito de slides
  • Permite controle programático do slide atual