Overview
The demo is a set of customer stories with previous and next arrows, dots and drag or swipe support. Autoplay is off by default; turning it on shows a visible pause control and it stops on hover and focus. Motion: enter (button or dot press settles on the new slide): 220 ms, cubic-bezier(0.2, 0.8, 0.2, 1); release after a fling (carries at most one slide, no bounce): 320 ms, cubic-bezier(0.2, 0.8, 0.2, 1); exit (dot pill shrinks back): 160 ms, cubic-bezier(0.4, 0, 1, 1). Every duration and easing curve lives in one tokens file, so changing a value there changes the motion everywhere. With reduced motion turned on, the component changes state without movement and stays fully usable. Built with React 19 and TypeScript, Tailwind CSS 4 and Motion, with keyboard and screen reader behavior written into the component. Light and dark themes come from CSS variables you can edit. Included: the component source, shared motion tokens, light and dark theme variables, a runnable demo page, and setup guides for people and for AI coding agents.
Highlights
- Production-ready, documented source
- Clean, componentized architecture
- Drops into your stack with minimal setup

