Preview live, install via shadcn or copy the source.
| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| items | CurvedCardItem[] | — | Yes | Cards with name, image, optional video. |
| contentType | "images" | "videos" | "mixed" | mixed | No | What to render: "images" (image only, least intensive), "videos" (video when available), "mixed" (video if present else image). |
| radius | string | 92em | No | Wheel radius controlling curvature. |
| radiusMobile | string | 72em | No | Radius on mobile. |
| cardWidth | string | 24em | No | Card width. |
| cardAspect | string | 1.48 | No | Card aspect ratio. |
| angleStep | number | 18 | No | Degrees between cards. |
| count | number | — | No | Rendered card count (repeats items). |
| duration | number | 68 | No | Seconds per full rotation. |
| startRotation | number | -90 | No | Wheel start rotation. |
| endRotation | number | — | No | Wheel end rotation (default start-360). |
| pauseOnHover | boolean | false | No | Pause on hover. |
| height | string | clamp(700px, 60vw, 900px) | No | Stage height CSS. |
| wheelTop | string | -3rem | No | Top offset of wheel. |
| cardRadius | string | 5px | No | Card border radius. |
| cardPadding | string | 6px | No | Card padding. |
| visualRadius | string | 3px | No | Visual radius. |
| cardBackground | string | #18181b | No | Card background. |
| showGuide | boolean | true | No | Show faint guide. |
| disableOnMobile | boolean | true | No | Disable rotation on mobile (static). |
| mobileBreakpoint | number | 768 | No | Mobile breakpoint px. |
| onCardClick | (item, index) => void | — | No | Click handler. |
| renderCard | (item, index) => React.ReactNode | — | No | Custom card renderer. |
| className | string | — | No | Root class. |
| cardClassName | string | — | No | Card class. |