svelte-wheel-picker
An iOS-style wheel picker for Svelte 5 — smooth inertia scrolling, infinite loop, cylindrical 3D drum effect, and full keyboard navigation. Headless, zero dependencies, works via npm or the shadcn-svelte CLI.
npm install @uinstinct/svelte-wheel-picker npx shadcn-svelte@latest add https://svelte-wheel-picker.netlify.app/r/wheel-picker.jsonFeatures
- Svelte 5 runes-based reactivity
- Smooth inertia scrolling with spring physics
- Infinite loop mode
- Cylindrical/drum 3D visual effect
- Full keyboard navigation with type-ahead search
- Controlled and uncontrolled modes
- Disabled options support
- WheelPickerWrapper for multi-wheel layouts
- Headless/unstyled with data attributes for CSS targeting
- Zero runtime dependencies
- TypeScript types included
- SSR safe
Single Wheel
Selected: cherry
Disabled Options
Selected: 1
Infinite Loop
Selected: cherry
Two Wheels
Hour: 12 — Minute: 00
Drum / Cylinder
Selected: cherry
Sensitivity
Selected: cherry