src/components/Slider.tsx 609 B raw
1
interface SliderProps {
2
  label: string;
3
  value: number;
4
  min: number;
5
  max: number;
6
  step?: number;
7
  onChange: (value: number) => void;
8
}
9
10
export function Slider({ label, value, min, max, step = 1, onChange }: SliderProps) {
11
  return (
12
    <div className="slider-row">
13
      <div className="slider-header">
14
        <label>{label}</label>
15
        <span className="slider-value">{value}</span>
16
      </div>
17
      <input
18
        type="range"
19
        min={min}
20
        max={max}
21
        step={step}
22
        value={value}
23
        onChange={(e) => onChange(Number(e.target.value))}
24
      />
25
    </div>
26
  );
27
}