Click Wheel
Bring the joy of the iPod style click wheel back. A tactile React component for playback, volume, and everything you used to slide.
Start buildingA dial or a wheel is a perfect example of good hardware design, it's timeless, simple and beautiful. From the Braun SK2 radio to Fellow kettles, coffee grinders, guitar amplifiers, and the iPod, the same idea keeps appearing: turn to explore a range, stop to make a choice.
It’s compact, tactile, and satisfying to use. Yet a control so familiar in physical products is surprisingly rare in digital interfaces. There may be good reasons for that, but I wanted to explore what it could feel like on a touchscreen. So here’s my take on bringing the wheel to mobile UI.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.

Drag around the dial, scroll, or use the arrow keys. Home and End select the limits.
Tap a photo to try the dial
pnpm add click-wheelThemes
Add a theme with the shadcn CLI, or copy its source. Each theme uses the click-wheel package.
Install with shadcn/ui
pnpm dlx shadcn@latest add https://click-wheel.jackymo.me/r/click-wheel-shadcn.json