mdc-react
Version:
Material Components for the web implemented in React
43 lines (36 loc) • 1 kB
JSX
import { forwardRef } from 'react';
import { cssClasses } from './constants';
import TickMarks from './TickMarks';
const Track = forwardRef(({
value,
min,
max,
step,
discrete,
tickMarks
}, ref) => {
const style = {
transform: `scaleX(${(value - min) / (max - min)})`
};
return (
<div ref={ref} className={cssClasses.TRACK}>
<div className={cssClasses.TRACK_INACTIVE} />
<div className={cssClasses.TRACK_ACTIVE}>
<div
className={cssClasses.TRACK_ACTIVE_FILL}
style={style}
/>
</div>
{discrete && tickMarks &&
<TickMarks
value={value}
min={min}
max={max}
step={step}
/>
}
</div>
);
});
Track.displayName = 'MDCSliderTrack';
export default Track;