Spaces:
Running
Running
type SliderProps = { | |
label?: any | |
value?: number | |
min?: number | |
max?: number | |
onChange: (value: number) => void | |
onStart?: () => void | |
} | |
export default function Slider(props: SliderProps) { | |
const { value, label, min, max, onChange, onStart } = props | |
const step = ((max || 100) - (min || 0)) / 100 | |
return ( | |
<div className="inline-flex items-center space-x-4 text-black"> | |
<span>{label}</span> | |
<input | |
className={['appearance-none rounded-lg h-4', 'bg-primary'].join(' ')} | |
type="range" | |
step={step} | |
min={min} | |
max={max} | |
value={value} | |
onPointerDown={onStart} | |
onChange={ev => { | |
ev.preventDefault() | |
ev.stopPropagation() | |
onChange(parseInt(ev.currentTarget.value, 10)) | |
}} | |
/> | |
</div> | |
) | |
} | |