Dial Wheel

PRONew

Preview live, install via shadcn or copy the source.

Installation

Install via shadcn

This will install the component and its dependencies automatically.

PRO COMPONENT

Unlock with PRO

This component is exclusive to reframe/ui PRO.
Get instant access to all premium components and templates.

Usage

dial-wheel-usage.tsxTSX

Props

NameTypeDefaultRequiredDescription
imagesstring[]YesArray of image URLs placed around the rolling band (side of wheel laid flat, viewed from side – images curve at left/right edges via Three.js cylinder). Auto-repeats to fill if <10.
titleReact.ReactNodeNoOptional header above wheel.
speednumber18NoSeconds per full 360° rotation.
direction"clockwise" | "counterClockwise"clockwiseNoRotation direction (around vertical Y axis).
scalenumber1NoOverall scale multiplier (0.5–2). Scales radius and thickness.
radiusstring | number13.5emNoWheel radius – CSS string e.g. "13.5em" or world units e.g. 3.1. Drum radius laid flat.
thicknessstring | numberNoWheel thickness (height of band). CSS string or world units. If omitted, auto-derived from arc length to keep 4/3 image aspect.
wheelSizestring | numberNoDiameter override – radius = wheelSize/2.
stageHeightstring36emNoHeight of Three.js stage container.
gapstring | number2pxNoTiny gap between images along circumference. CSS "2px" or radians/linear world gap. Mapped to angular gap = gap / radius.
pauseOnHoverbooleanfalseNoPause auto-rotation on hover.
mouseControlbooleantrueNoDrag / swipe to spin with momentum (radians per pixel). Does NOT block page scroll.
dragSensitivitynumber0.012NoRadians per pixel dragged (≈0.5°). Values >0.1 auto-converted from degrees to radians.
speedOnScrollbooleantrueNoAccelerate on page scroll (observes window scroll, never prevents it).
scrollAccelerationnumber2.6NoMultiplier while scrolling.
scrollResetDelaynumber180NoMs after last scroll before reverting.
speedingCurvaturebooleanfalseNoWhen true, the entire cylindrical band bulges outward (barrel) proportionally to current speed (scroll/drag boost). Creates speed-dependent curvature.
speedingCurvatureAmountnumber0.14NoMax outward bulge as fraction of radius when at max scroll boost (0.14 ≈ 14% radius).
wrapperClassNamestringNoClass for title wrapper.
classNamestringNoWrapper class.
© reframe/ui 2026Built by @thommysart
More in Galleries & Carousels