Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProA looping slide show with a Pause button, a progress bar, dots and arrows that holds still for the pointer, focus, a hidden tab or an off-screen carousel.
This item has no props to tune. Use the lens above to change theme, density, direction and more.
Use it when content should rotate on its own, such as promotions or highlights, and you need the controls that WCAG 2.2.2 asks for.
Do not use it for content people need to read carefully or act on: moving content competes with the task. Prefer manual paging.
| Part | Prop | Type | Default | Description |
|---|---|---|---|---|
AutoplayCarousel | items | CarouselItem[] | required | { id, label, content }. |
AutoplayCarousel | label | string | required | Accessible name of the carousel. |
CarouselAutoplay | interval | number | 5000 | Time on each slide, in ms. |
CarouselAutoplay | pauseOnHover | boolean | true | Hold while the pointer is over the carousel. |
CarouselAutoplay | pauseOnFocus | boolean | true | Hold while focus is inside the carousel. |
CarouselAutoplay | stopOnInteraction | boolean | false | Pause for good after a drag. |
CarouselAutoplay | startPaused | boolean | false | Start paused. Always true with reduced motion. |
AutoplayCarousel | onIndexChange | (index) => void | - | Called with the snap index when the selection changes. |
AutoplayCarousel | setApi | (api) => void | - | Receives the Embla API, for controls placed outside the carousel. |
The component ships with a Testing Library test (carousel-autoplay.test.tsx). Embla needs layout to count snaps, and jsdom has none, so the repo's mockCarouselLayout helper gives the viewport and slides real sizes in tests.