Wheel Picker

An iOS-style scroll wheel: options sit on a 3D drum with its own momentum physics, so a flick coasts and snaps to a row with a soft bounce. Drag, mouse wheel or arrow keys pick; line several up for dates or times. Optional tick sound.

Preview

Wheel Picker preview width

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @karaui/wheel-picker
@karaui not found? Add it to components.json
{
  "registries": {
    "@karaui": "https://karaui.kamisama-v0.my.id/r/{name}.json"
  }
}

@karaui is in shadcn's public registry directory, so the latest CLI needs no setup. On an older CLI, merge this into the existing file once and every @karaui/… install resolves.

API Reference

options
WheelPickerOption[]
—
value?
string
—
defaultValue?
string
—
onValueChange?
((value: string) => void)
—
visibleCount?
number

Rows visible through the window, odd. More = flatter curve. Default 5.

5
itemHeight?
number

Row height in px. Default 36.

36
disabled?
boolean
false
sound?
boolean

Play a short tick each time the selected value changes. Default false.

false
className?
string
—
aria-label?
string
—

Updated