import React, { useMemo } from 'react' import useTheme from '../use-theme' interface Props { max: number min: number step: number } export type MarkLeftValue = number export type Marks = Array const getMarks = (min: number, max: number, step: number): Marks => { const value = max - min const roundFunc = !(value % step) ? Math.floor : Math.ceil const count = roundFunc(value / step) - 1 if (count >= 99) return [] return [...new Array(count)].map((_, index) => (step * (index + 1) * 100) / value) } const SliderMark: React.FC> = ({ step, max, min }) => { const theme = useTheme() const marks = useMemo(() => getMarks(min, max, step), [min, max, step]) return ( <> {marks.map((val, index) => ( ))} ) } export default SliderMark