import React, { useState } from "react"; import { Box, Slider as ThemeSlider } from "theme-ui"; function Slider({ min, max, value, ml, mr, labelFunc, ...rest }) { const percentValue = ((value - min) * 100) / (max - min); const [labelVisible, setLabelVisible] = useState(false); return ( {labelVisible && ( {labelFunc(value)} )} setLabelVisible(true)} onMouseUp={() => setLabelVisible(false)} onTouchStart={() => setLabelVisible(true)} onTouchEnd={() => setLabelVisible(false)} {...rest} /> ); } Slider.defaultProps = { min: 0, max: 1, value: 0, ml: 0, mr: 0, labelFunc: (value) => value, }; export default Slider;