Pickers
Wheel picker
A wheel for bounded, ordered values that a user nudges rather than searches for: months, hours, repeat counts. It is driven by an index rather than by a scroll box, which is what lets it hold a real cylinder shape, move one row per wheel notch, and answer the arrow keys. At either end it hands the scroll back to the page instead of swallowing it.
npx shadcn@latest add @minflow/wheel-pickerWhere to use it
- Touch-first surfaces and sheets, where spinning beats hunting through a dropdown.
- Ordered sets of roughly a dozen values: months, hours, minutes, durations.
- Never for an unordered or long list; that is a select or a combo box.
Variations
Single wheel
One bounded set of values with a starting row already under the band. Scroll, drag, or arrow through it.
Side by side
Two or three wheels read as one compound value, which is how a time or a duration picker is built.
Driven from state
When the chosen value has to appear elsewhere on screen or feed another control, rather than living inside the wheel.