itemsYour own option names and photos. Each entry takes a label and an image URL, plus an optional imageAlt. | WheelCarouselItem[] | Built-in demo set |
modeUse automatic, fixed, or custom color behavior. | "system" | "light" | "dark" | "custom" | "system" |
photoSideSide of the wheel used for the active image. | "left" | "right" | "left" |
photoWidthImage column width as a percentage. | number | 24 |
photoAspectAspect ratio of the active image. | "3/4" | "1/1" | "4/3" | "3/2" | "3/4" |
photoRadiusCorner radius of the active image in pixels. | number | 14 |
contentWidthMaximum inner content width in pixels. | number | 900 |
gapSpace between the image column and the wheel in pixels. | number | 0 |
radiusRadius of the label wheel in pixels. | number | 320 |
spacingAngular spacing between labels in degrees. | number | 14 |
visibleItemsNumber of labels visible on either side of the selection. | number | 7 |
apexInsetHorizontal position of the wheel's selection point. | number | 34 |
snapSettles the wheel on the nearest whole item. | boolean | true |
momentumPreserves drag and wheel velocity after input ends. | boolean | true |
appearPlays an entrance animation on mount. | boolean | true |
crossfadeDurationDuration in seconds of the active image crossfade. | number | 0.5 |
scrollSpeedRotation per wheel delta pixel. | number | 0.008 |
dragSpeedRotation per pointer pixel dragged. | number | 0.02 |
backgroundCanvas color in "custom" mode. | string | "rgb(255, 246, 236)" |
panelColorImage placeholder color in "custom" mode. Defaults to background. | string | — |
textColorInactive label color in "custom" mode. | string | "rgba(180, 90, 20, 0.45)" |
selectedColorActive label color in "custom" mode. | string | "rgb(180, 84, 30)" |
showMarkerShows the dot marking the selection point. | boolean | true |
markerColorSelection dot color in "custom" mode. | string | "rgb(232, 121, 46)" |
markerSizeSelection dot diameter in pixels. | number | 16 |
markerGapDistance between the selection dot and the labels. | number | 20 |
edgeFadeFades labels at the top and bottom edges. | boolean | true |
edgeFadeSizeSize of the edge fade as a percentage. | number | 30 |
activeIndexControlled active item index. | number | — |
initialIndexInitially selected item in uncontrolled usage. | number | 0 |
onActiveChangeRuns whenever the active item changes. | (item: WheelCarouselItem, index: number) => void | — |
classNameAdditional classes for the outer carousel. | string | — |
photoClassNameAdditional classes for the active image frame. | string | — |
itemClassNameAdditional classes for each wheel label. | string | — |