Slider
Range input for numeric value adjustment with immediate feedback.
01 Live Demo
40
Current value: 40
02 Code Snippet
src/ui/Slider.tsx
import { Slider } from "@/ui/Slider"; <Slider.Root label="Volume" value={volume} min={0} max={100} step={1} onValueChange={setVolume} />
03 Copy-Paste (Single File)
Slider.tsx
function SliderRoot({ value, onChange }: { value: number; onChange: (value: number) => void }) { return <input type="range" value={value} onChange={(e) => onChange(Number(e.target.value))} className="h-2 w-full accent-primary" />; } type SliderCompound = typeof SliderRoot & { Root: typeof SliderRoot }; export const Slider = Object.assign(SliderRoot, { Root: SliderRoot }) as SliderCompound;