Slider/Swiper
The Slider component is a mobile touch slider with hardware accelerated transitions.
Why use it
Section titled “Why use it”The Slider component builds the slider so that the developer does not have to build their own slider.
It uses the iDangerous Swiper under the hood.
| Name | Type | Default | Description |
|---|---|---|---|
| children* | node | The swiper content | |
| autoPlay | boolean | false |
Whether to enable autoplay |
| interval | number | 3000 |
Delay between transitions (in ms) |
| controls | object | boolean | false |
Whether to show controls for prev and next slide. Check IDSwiper API for the object use. |
| className | string | null |
Class name for styling |
| classNames | object | {} |
Class names for specific elements. Available elements container, item, bulletClass, bulletActiveClassExample: {bulletActiveClass: 'active-bullet'} |
| rebuildOnUpdate | boolean | true |
Whether to rebuild swiper when component is updated |
| initialSlide | number | 0 |
Index number of initial slide |
| slidesPerView | number | 1 |
Number of slides per view (slides visible at the same time on slider’s container). Is always 1 if loop is set totrue. |
| indicators | boolean | false |
Whether to show pagination (e.g. bullets) |
| loop | boolean | false |
Whether to enable continuous loop mode |
| freeMode | boolean | false |
Whether slides have fixed positions. If true then slides do not have fixed positions. |
| onSlideChange | function | Callback invoked when currently active slide is changed | |
| zoom | object | boolean | false |
Enables zoom functionality. Object with zoom parameters or boolean true to enable with default settings. |
| disabled | boolean | false |
Whether to disable swiping to previous or next slide |
| * | Additionally, you can use every param from the IDSwiper and it simply passes through. |
Slider.Item
Section titled “Slider.Item”A wrapper for a single slide of the slider.
| Name | Type | Default | Description |
|---|---|---|---|
| children* | node | The item content | |
| className | string | null |
className for styling |
import { Slider } from '@shopgate/engage/components';
const slides = [ { id: 1, content: 'My first slide', }, { id: 2, content: 'My second slide', }];
const Component = () => ( <Slider loop={true} autoPlay={true} > {slides.map((slide) => ( <Slider.Item key={slide.id)}> <p>{slide.content}</p> </Slider.Item> ))} </Slider>);
export default Component;
