import { cn } from '../lib/utils';
interface SliderProps {
label: string;
value: number;
onChange: (value: number) => void;
min: number;
max: number;
step?: number;
info?: string;
}
export function Slider({ label, value, onChange, min, max, step = 1, info }: SliderProps) {
return (
onChange(Number(e.target.value))}
min={min}
max={max}
step={step}
className="w-14 px-2 py-1 text-xs text-center bg-white border border-dark-border rounded-lg text-text-primary focus:border-nvidia-green focus:outline-none focus:ring-2 focus:ring-nvidia-green/20"
/>
{info &&
{info}
}
{min}
onChange(Number(e.target.value))}
min={min}
max={max}
step={step}
className={cn(
'flex-1 h-2 rounded-lg appearance-none cursor-pointer',
'bg-dark-input',
'[&::-webkit-slider-thumb]:appearance-none',
'[&::-webkit-slider-thumb]:w-4',
'[&::-webkit-slider-thumb]:h-4',
'[&::-webkit-slider-thumb]:rounded-full',
'[&::-webkit-slider-thumb]:bg-nvidia-green',
'[&::-webkit-slider-thumb]:cursor-pointer',
'[&::-webkit-slider-thumb]:transition-transform',
'[&::-webkit-slider-thumb]:hover:scale-110',
'[&::-webkit-slider-thumb]:shadow-md'
)}
/>
{max}
);
}