Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProA row that glides on its own and loops without a seam, with a Pause button, hold on hover or focus, drag to scrub and a plain scrollable row for reduced motion.
This item has no props to tune. Use the lens above to change theme, density, direction and more.
Use it for logos, press quotes or avatars that you want always in motion, with the pause control WCAG 2.2.2 asks for.
Do not use it for content that needs reading or clicking; moving targets are hard to hit. Use a paged carousel.
| Part | Prop | Type | Default | Description |
| -------------------- | -------------------- | ------------------ | ---------- | -------------------------------------------------------------- | -------------------------- |
| CarouselAutoScroll | items | CarouselItem[] | required | { id, label, content }. |
| CarouselAutoScroll | label | string | required | Accessible name of the carousel. |
| CarouselAutoScroll | speed | number | 40 | Pixels per second. |
| CarouselAutoScroll | direction | "start" | "end" | "start" | Which way the row travels. |
| CarouselAutoScroll | pauseOnInteraction | boolean | true | Hold for pointer and focus. |
| CarouselAutoScroll | itemClassName | string | "w-56" | Width classes for each item. |
| CarouselAutoScroll | paused | boolean | - | Controlled pause state, to drive several rows from one button. |
| CarouselAutoScroll | onPausedChange | (paused) => void | - | Called when the built-in button toggles pause. |
| CarouselAutoScroll | showControl | boolean | true | Show the built-in Pause button. |
The component ships with a Testing Library test (carousel-auto-scroll.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.