An infinite curving marquee gallery with dynamic circular arc trajectory, smooth velocity spring physics, and pointer drag momentum.
$ npx shadcn@latest add https://akshitr.com/r/arc-marquee.json
import ArcMarquee from "@/components/arc-marquee";
export default function Example() {
return (
<ArcMarquee
speed={45}
cardWidth={180}
cardHeight={250}
gap={20}
pauseOnHover={true}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
items | ArcMarqueeItem[] | DEFAULT_ITEMS | List of items with id, image, and optional title. |
speed | number | 45 | Speed in pixels per second. |
direction | "left" | "right" | "left" | Scroll direction. |
cardWidth | number | 200 | Width of each card. |
cardHeight | number | 270 | Height of each card. |
arcRadius | number | auto | Curvature radius of the arch (larger = flatter curve). |
gap | number | 24 | Gap in pixels between cards. |
pauseOnHover | boolean | true | Automatically pause ticker animation when hovered. |