Skip to content

Commit 1092ac7

Browse files
authored
Merge pull request #261 from bcalvery/range-slider-min-value-track-issue
fix(ui): correct progress track display for range slider with non-zero minimum values
2 parents 35dc611 + 002c268 commit 1092ac7

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

packages/ui/src/components/range-slider/range-slider.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,13 @@ export const RangeSlider = createComponent<HTMLInputElement, RangeSliderProps>(
8989
const renderProgressTrack = useCallback(function (options: {
9090
value: number
9191
maximum: number
92+
minimum: number
9293
}) {
93-
const { value, maximum } = options
94+
const { value, maximum, minimum } = options
9495
const inputElement = getCurrentFromRef(inputElementRef)
9596
const inputElementWidth = inputElement.offsetWidth
9697
const sliderThumbElementWidth = inputElement.offsetHeight
97-
const percentage = value / maximum
98+
const percentage = (value - minimum) / (maximum - minimum)
9899
const px = `${
99100
percentage * (inputElementWidth - sliderThumbElementWidth) +
100101
sliderThumbElementWidth / 2
@@ -104,9 +105,9 @@ export const RangeSlider = createComponent<HTMLInputElement, RangeSliderProps>(
104105

105106
useEffect(
106107
function () {
107-
renderProgressTrack({ maximum, value: parseFloat(value) })
108+
renderProgressTrack({ maximum, minimum, value: parseFloat(value) })
108109
},
109-
[maximum, renderProgressTrack, value]
110+
[maximum, minimum, renderProgressTrack, value]
110111
)
111112

112113
return (

0 commit comments

Comments
 (0)