diff --git a/packages/geoview-core/src/ui/slider/slider-style.ts b/packages/geoview-core/src/ui/slider/slider-style.ts index 39de43aa3aa..f762c6878e5 100644 --- a/packages/geoview-core/src/ui/slider/slider-style.ts +++ b/packages/geoview-core/src/ui/slider/slider-style.ts @@ -23,6 +23,13 @@ export const getSxClasses = (theme: Theme): any => ({ height: 30, }, }, + '& .MuiSlider-thumb:hover, .MuiSlider-thumb.Mui-focusVisible': { + boxShadow: 'rgba(1, 0, 155, 0.7) 0px 0px 0px 3px !important', + }, + '& .MuiSlider-valueLabel': { + fontSize: '0.7rem', + padding: '0.25rem 0.4rem', + }, '& .MuiSlider-rail': { opacity: 0.35, color: theme.palette.geoViewColor?.grey.darken(0.9, 0.87), diff --git a/packages/geoview-core/src/ui/slider/slider.tsx b/packages/geoview-core/src/ui/slider/slider.tsx index b1958768020..0b3adcc2ec6 100644 --- a/packages/geoview-core/src/ui/slider/slider.tsx +++ b/packages/geoview-core/src/ui/slider/slider.tsx @@ -26,7 +26,7 @@ type SliderProps = { // custom onChange callback onChange?: (value: number | number[], activeThumb: number) => void; onChangeCommitted?: (value: number | number[]) => void; - onValueDisplay?: (value: number, index: number) => string; + onValueLabelFormat?: (value: number, index: number) => string; onValueDisplayAriaLabel?: (value: number, index: number) => string; // MUI optional props @@ -51,7 +51,7 @@ type SliderProps = { * @returns {JSX.Element} the created Slider element */ export function Slider(props: SliderProps): JSX.Element { - const { value: parentValue, min, max, onChange, onChangeCommitted, onValueDisplay, onValueDisplayAriaLabel, ...properties } = props; + const { value: parentValue, min, max, onChange, onChangeCommitted, onValueLabelFormat, onValueDisplayAriaLabel, ...properties } = props; const theme = useTheme(); const sxClasses = getSxClasses(theme); @@ -199,12 +199,12 @@ export function Slider(props: SliderProps): JSX.Element { step={properties.step} size={properties.size} disableSwap={false} - valueLabelDisplay="auto" - onChange={handleChange} - onChangeCommitted={handleChangeCommitted} - valueLabelFormat={onValueDisplay} + valueLabelDisplay="on" + valueLabelFormat={onValueLabelFormat} getAriaLabel={(): string => 'To implement with translation'} getAriaValueText={onValueDisplayAriaLabel} + onChange={handleChange} + onChangeCommitted={handleChangeCommitted} /> ); } diff --git a/packages/geoview-time-slider/src/time-slider.tsx b/packages/geoview-time-slider/src/time-slider.tsx index a7c6cc8e3be..eda8a20e43f 100644 --- a/packages/geoview-time-slider/src/time-slider.tsx +++ b/packages/geoview-time-slider/src/time-slider.tsx @@ -57,6 +57,9 @@ export function TimeSlider(props: TimeSliderProps): JSX.Element { const [isPlaying, setIsPlaying] = useState(false); const playIntervalRef = useRef(); + // Defautl stepping value (1 day) + const defaultStepValue = 86400000; // 24h x 60m x 60s x 1000ms = 86,400,000ms + // References for play button const sliderValueRef = useRef(); const sliderDeltaRef = useRef(); @@ -408,9 +411,9 @@ export function TimeSlider(props: TimeSliderProps): JSX.Element { max={minAndMax[1]} value={values} marks={sliderMarks} - step={!discreteValues ? null : 0.1} + step={!discreteValues ? defaultStepValue : 0.1} onChangeCommitted={handleSliderChange} - onValueDisplay={handleLabelFormat} + onValueLabelFormat={handleLabelFormat} />