Skip to content

Commit bd563c6

Browse files
* minRange prop added
1 parent de18bba commit bd563c6

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ const handleValueChange = useCallback((low, high) => {
7070
| --- | --- | --- | :-------------: |
7171
| `min` | Minimum value of slider | number | _**required**_ |
7272
| `max` | Maximum value of slider | number | _**required**_ |
73+
| `minRange` | Minimum range of thumbs allowed to select **by the user**.<br/>It's still possible to set values closer to each other than `minRange` programmatically.<br/>If `disableRange` is set to true, maximum value allowed for user will be `max` - `minRange`. | number | `0` |
7374
| `step` | Step of slider | number | `1` |
7475
| `low` | Low value of slider | number | Initially `min` value will be set if not provided |
7576
| `high` | High value of slider | number | Initially `max` value will be set if not provided |

index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const Slider = (
1313
{
1414
min,
1515
max,
16+
minRange,
1617
step,
1718
low: lowProp,
1819
high: highProp,
@@ -140,8 +141,8 @@ const Slider = (
140141

141142
const handlePositionChange = positionInView => {
142143
const { low, high, min, max, step } = inPropsRef.current;
143-
const minValue = isLow ? min : low;
144-
const maxValue = isLow ? high : max;
144+
const minValue = isLow ? min : low + minRange;
145+
const maxValue = isLow ? high - minRange : max;
145146
const value = clamp(getValueForPosition(positionInView, containerWidth, thumbWidth, min, max, step), minValue, maxValue);
146147
if (gestureStateRef.current.lastValue === value) {
147148
return;
@@ -221,6 +222,7 @@ Slider.propTypes = {
221222
};
222223

223224
Slider.defaultProps = {
225+
minRange: 0,
224226
allowLabelOverflow: false,
225227
disableRange: false,
226228
disabled: false,

0 commit comments

Comments
 (0)