![svelte-carousel](./docs/svelte-carousel-logo-md.png) # svelte-carousel
[![npm](https://img.shields.io/npm/v/svelte-carousel.svg)](https://www.npmjs.com/package/svelte-carousel) [![npm](https://img.shields.io/npm/dm/svelte-carousel.svg)](https://www.npmjs.com/package/svelte-carousel)
[![GitHub repo](https://img.shields.io/badge/github-repo-green.svg?style=flat)](https://github.com/vadimkorr/svelte-carousel) [![GitHub followers](https://img.shields.io/github/followers/vadimkorr.svg?style=social&label=Follow)](https://github.com/vadimkorr)
The awesome carousel component for Svelte 3 ## Demo https://vadimkorr.github.io/svelte-carousel ## Installation ```bash yarn add svelte-carousel npm install svelte-carousel ``` Import component ```jsx ``` ## Props | Prop | Type | Default | Description | |----------------------|------------|-----------------|-----------------------------------------------| | `arrows` | `boolean` | `true` | Enable Next/Prev arrows | | `infinite` | `boolean` | `true` | Infinite looping | | `initialPageIndex` | `number` | `0` | Page to start on | | `duration` | `number` | `500` | Transition duration (ms) | | `autoplay` | `boolean` | `false` | Enables auto play of pages | | `autoplayDuration` | `number` | `3000` | Auto play change interval (ms) | | `autoplayDirection` | `string` | `'next'` | Auto play change direction (`next` or `prev`) | | `pauseOnFocus` | `boolean` | `false` | Pause autoplay on focus | | `dots` | `boolean` | `true` | Current page indicator dots | | `timingFunction` | `string` | `'ease-in-out'` | CSS animation timing function | ## Events ### `pageChange` Is dispatched on page change | Payload field | Type | Description | |--------------------|-------------|---------------------------------------| | `event.detail` | `number` | Current page index | ```jsx console.log(`Current page index: ${event.detail}`) } > ``` ## Slots ### `prev` and `next` They are used for customizing prev and next buttons. Slot props: | Prop | Type | Description | |--------------------|-------------|---------------------------------------| | `showPrevPage` | `function` | Call it to switch to the previos page | | `showNextPage` | `function` | Call it to switch to the next page | ```jsx
``` ### `dots` This slot is used for customizing dots appearance. Slot props: | Prop | Type | Description | |---------------------|--------------|----------------------------------------------| | `currentPageIndex` | `number` | Represents current page index (start from 0) | | `pagesCount` | `number` | Total pages amount | | `showPage` | `function` | Takes index as page to be shown | ```jsx
``` ### Default slot This slot takes content for the carousel. Slot props: | Prop | Type | Description | |-------------------|------------|----------------------------------------------------------------------| | `loaded` | `number[]` | Contains indexes of pages to be loaded. Can be used for lazy loading | ```jsx
```