A lightweight carousel component for Svelte focused on low runtime and minimalism.
<Carousel {slides}>
 <div slot="slide" let:slide>{slide.title}</div>
</Carousel>
| Name | Type | Default | Description | 
|---|---|---|---|
| id | string | random | The base id for the carousel and its accessible properties. | 
| slides | $$Generic[] | [] | The slides to be rendered. | 
| withGrabCursor | boolean | true | Whether the cursor should change to a grab cursor when hovering over the carousel. | 
| key | keyof Slide | undefined | Property of the slide to use as a key in the eached block. | 
| axis | "x" | "y" | x | 
| dragFree | boolean | false | Whether the carousel should be able to be dragged freely. | 
| disableNativeScroll | ResponsiveProperty | false | Whether the native scroll should be disabled. | 
| oneAtTime | boolean | false | Whether only one slide should be scrolled at a time. | 
| autoHeight | boolean | axis === "y" | Whether the carousel should compute its height itself. This introduce a layout shift when the carousel is loaded. | 
| autoPlay | number | 0 | The number of seconds between each slide. 0 means it's disabled. | 
| layout | ResponsiveProperty | 1 | The number of slides to be displayed at a given viewport. | 
| gap | ResponsiveProperty | 20 | The gap between slides to be displayed at a given viewport. | 
| partialDelta | ResponsiveProperty | 0 | The amount of visible pixels of the next slide | 
| class | string | "" | The class of the carousel slider container. | 
| containerClass | string | "" | The class of the carousel container. | 
| slideClass | string | "" | The class of the carousel slide. | 
Render the slide inside the carousel.
| Name | Type | 
|---|---|
| slide | $$Generic | 
| inView | boolean | 
| index | boolean | 
Render the previous button.
| Name | Type | 
|---|---|
| canScrollPrev | boolean | 
| prev | () => void | 
Render the next button.
| Name | Type | 
|---|---|
| canScrollNext | boolean | 
| next | () => void | 
Render the pagination. Useful if you want to group prev and next together.
| Name | Type | 
|---|---|
| canScrollPrev | boolean | 
| prev | typeof prev | 
| canScrollNext | boolean | 
| next | typeof next | 
| nextA11y | ButtonsA11y['a11y'] | 
| prevA11y | ButtonsA11y['a11y'] | 
Render the progress bar indicator.
| Name | Type | 
|---|---|
| progress | number | 
| scrollTo | (e: PointerEvent) => void | 
Render the dots navigation.
| Name | Type | 
|---|---|
| dots | {active: boolean, a11y: DotA11y}[] | 
| scrollTo | (index: number) => void |