30 lines
663 B
TypeScript
Raw Normal View History

2023-05-15 08:51:32 +08:00
import ReactSlider from 'react-slider'
import cn from 'classnames'
2023-05-15 08:51:32 +08:00
import './style.css'
2023-05-15 08:51:32 +08:00
type ISliderProps = {
className?: string
2023-05-15 08:51:32 +08:00
value: number
max?: number
min?: number
step?: number
disabled?: boolean
2023-05-15 08:51:32 +08:00
onChange: (value: number) => void
}
const Slider: React.FC<ISliderProps> = ({ className, max, min, step, value, disabled, onChange }) => {
2023-05-15 08:51:32 +08:00
return <ReactSlider
disabled={disabled}
value={isNaN(value) ? 0 : value}
min={min || 0}
max={max || 100}
step={step || 1}
className={cn(className, 'slider')}
thumbClassName="slider-thumb"
trackClassName="slider-track"
onChange={onChange}
/>
2023-05-15 08:51:32 +08:00
}
export default Slider