rc-slider
Advanced tools
Comparing version 11.0.6 to 11.1.0
import * as React from 'react'; | ||
import type { Direction, OnStartMove } from '../interface'; | ||
import type { OffsetValues } from './useOffset'; | ||
declare function useDrag(containerRef: React.RefObject<HTMLDivElement>, direction: Direction, rawValues: number[], min: number, max: number, formatValue: (value: number) => number, triggerChange: (values: number[]) => void, finishChange: (draggingDelete: boolean) => void, offsetValues: OffsetValues, editable: boolean): [ | ||
declare function useDrag(containerRef: React.RefObject<HTMLDivElement>, direction: Direction, rawValues: number[], min: number, max: number, formatValue: (value: number) => number, triggerChange: (values: number[]) => void, finishChange: (draggingDelete: boolean) => void, offsetValues: OffsetValues, editable: boolean, minCount: number): [ | ||
draggingIndex: number, | ||
@@ -6,0 +6,0 @@ draggingValue: number, |
@@ -14,3 +14,3 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; | ||
} | ||
function useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable) { | ||
function useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable, minCount) { | ||
var _React$useState = React.useState(null), | ||
@@ -152,3 +152,3 @@ _React$useState2 = _slicedToArray(_React$useState, 2), | ||
// Check if need mark remove | ||
deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST : false; | ||
deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST && minCount < cacheValues.length : false; | ||
setDraggingDelete(deleteMark); | ||
@@ -155,0 +155,0 @@ updateCacheValue(valueIndex, offSetPercent, deleteMark); |
import type { SliderProps } from '../Slider'; | ||
export default function useRange(range?: SliderProps['range']): [range: boolean, rangeEditable: boolean, rangeDraggableTrack: boolean]; | ||
export default function useRange(range?: SliderProps['range']): [ | ||
range: boolean, | ||
rangeEditable: boolean, | ||
rangeDraggableTrack: boolean, | ||
minCount: number, | ||
maxCount?: number | ||
]; |
@@ -6,11 +6,13 @@ import { warning } from "rc-util/es/warning"; | ||
if (range === true || !range) { | ||
return [!!range, false, false]; | ||
return [!!range, false, false, 0]; | ||
} | ||
var editable = range.editable, | ||
draggableTrack = range.draggableTrack; | ||
draggableTrack = range.draggableTrack, | ||
minCount = range.minCount, | ||
maxCount = range.maxCount; | ||
if (process.env.NODE_ENV !== 'production') { | ||
warning(!editable || !draggableTrack, '`editable` can not work with `draggableTrack`.'); | ||
} | ||
return [true, editable, !editable && draggableTrack]; | ||
return [true, editable, !editable && draggableTrack, minCount || 0, maxCount]; | ||
}, [range]); | ||
} |
@@ -21,2 +21,6 @@ import * as React from 'react'; | ||
draggableTrack?: boolean; | ||
/** Set min count when `editable` */ | ||
minCount?: number; | ||
/** Set max count when `editable` */ | ||
maxCount?: number; | ||
}; | ||
@@ -35,2 +39,3 @@ export interface SliderProps<ValueType = number | number[]> { | ||
range?: boolean | RangeConfig; | ||
/** @deprecated Use `range.minCount` or `range.maxCount` to handle this */ | ||
count?: number; | ||
@@ -37,0 +42,0 @@ min?: number; |
@@ -98,6 +98,8 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; | ||
var _useRange = useRange(range), | ||
_useRange2 = _slicedToArray(_useRange, 3), | ||
_useRange2 = _slicedToArray(_useRange, 5), | ||
rangeEnabled = _useRange2[0], | ||
rangeEditable = _useRange2[1], | ||
rangeDraggableTrack = _useRange2[2]; | ||
rangeDraggableTrack = _useRange2[2], | ||
minCount = _useRange2[3], | ||
maxCount = _useRange2[4]; | ||
var mergedMin = React.useMemo(function () { | ||
@@ -221,13 +223,14 @@ return isFinite(min) ? min : 0; | ||
var onDelete = function onDelete(index) { | ||
if (!disabled && rangeEditable) { | ||
var cloneNextValues = _toConsumableArray(rawValues); | ||
cloneNextValues.splice(index, 1); | ||
onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(cloneNextValues)); | ||
triggerChange(cloneNextValues); | ||
var nextFocusIndex = Math.max(0, index - 1); | ||
handlesRef.current.hideHelp(); | ||
handlesRef.current.focus(nextFocusIndex); | ||
if (disabled || !rangeEditable || rawValues.length <= minCount) { | ||
return; | ||
} | ||
var cloneNextValues = _toConsumableArray(rawValues); | ||
cloneNextValues.splice(index, 1); | ||
onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(cloneNextValues)); | ||
triggerChange(cloneNextValues); | ||
var nextFocusIndex = Math.max(0, index - 1); | ||
handlesRef.current.hideHelp(); | ||
handlesRef.current.focus(nextFocusIndex); | ||
}; | ||
var _useDrag = useDrag(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues, rangeEditable), | ||
var _useDrag = useDrag(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues, rangeEditable, minCount), | ||
_useDrag2 = _slicedToArray(_useDrag, 5), | ||
@@ -262,3 +265,3 @@ draggingIndex = _useDrag2[0], | ||
var focusIndex = valueIndex; | ||
if (rangeEditable && valueDist !== 0) { | ||
if (rangeEditable && valueDist !== 0 && (!maxCount || rawValues.length < maxCount)) { | ||
cloneNextValues.splice(valueBeforeIndex + 1, 0, newValue); | ||
@@ -265,0 +268,0 @@ focusIndex = valueBeforeIndex + 1; |
import * as React from 'react'; | ||
import type { Direction, OnStartMove } from '../interface'; | ||
import type { OffsetValues } from './useOffset'; | ||
declare function useDrag(containerRef: React.RefObject<HTMLDivElement>, direction: Direction, rawValues: number[], min: number, max: number, formatValue: (value: number) => number, triggerChange: (values: number[]) => void, finishChange: (draggingDelete: boolean) => void, offsetValues: OffsetValues, editable: boolean): [ | ||
declare function useDrag(containerRef: React.RefObject<HTMLDivElement>, direction: Direction, rawValues: number[], min: number, max: number, formatValue: (value: number) => number, triggerChange: (values: number[]) => void, finishChange: (draggingDelete: boolean) => void, offsetValues: OffsetValues, editable: boolean, minCount: number): [ | ||
draggingIndex: number, | ||
@@ -6,0 +6,0 @@ draggingValue: number, |
@@ -24,3 +24,3 @@ "use strict"; | ||
} | ||
function useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable) { | ||
function useDrag(containerRef, direction, rawValues, min, max, formatValue, triggerChange, finishChange, offsetValues, editable, minCount) { | ||
var _React$useState = React.useState(null), | ||
@@ -162,3 +162,3 @@ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), | ||
// Check if need mark remove | ||
deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST : false; | ||
deleteMark = editable ? Math.abs(removeDist) > REMOVE_DIST && minCount < cacheValues.length : false; | ||
setDraggingDelete(deleteMark); | ||
@@ -165,0 +165,0 @@ updateCacheValue(valueIndex, offSetPercent, deleteMark); |
import type { SliderProps } from '../Slider'; | ||
export default function useRange(range?: SliderProps['range']): [range: boolean, rangeEditable: boolean, rangeDraggableTrack: boolean]; | ||
export default function useRange(range?: SliderProps['range']): [ | ||
range: boolean, | ||
rangeEditable: boolean, | ||
rangeDraggableTrack: boolean, | ||
minCount: number, | ||
maxCount?: number | ||
]; |
@@ -12,11 +12,13 @@ "use strict"; | ||
if (range === true || !range) { | ||
return [!!range, false, false]; | ||
return [!!range, false, false, 0]; | ||
} | ||
var editable = range.editable, | ||
draggableTrack = range.draggableTrack; | ||
draggableTrack = range.draggableTrack, | ||
minCount = range.minCount, | ||
maxCount = range.maxCount; | ||
if (process.env.NODE_ENV !== 'production') { | ||
(0, _warning.warning)(!editable || !draggableTrack, '`editable` can not work with `draggableTrack`.'); | ||
} | ||
return [true, editable, !editable && draggableTrack]; | ||
return [true, editable, !editable && draggableTrack, minCount || 0, maxCount]; | ||
}, [range]); | ||
} |
@@ -21,2 +21,6 @@ import * as React from 'react'; | ||
draggableTrack?: boolean; | ||
/** Set min count when `editable` */ | ||
minCount?: number; | ||
/** Set max count when `editable` */ | ||
maxCount?: number; | ||
}; | ||
@@ -35,2 +39,3 @@ export interface SliderProps<ValueType = number | number[]> { | ||
range?: boolean | RangeConfig; | ||
/** @deprecated Use `range.minCount` or `range.maxCount` to handle this */ | ||
count?: number; | ||
@@ -37,0 +42,0 @@ min?: number; |
@@ -107,6 +107,8 @@ "use strict"; | ||
var _useRange = (0, _useRange3.default)(range), | ||
_useRange2 = (0, _slicedToArray2.default)(_useRange, 3), | ||
_useRange2 = (0, _slicedToArray2.default)(_useRange, 5), | ||
rangeEnabled = _useRange2[0], | ||
rangeEditable = _useRange2[1], | ||
rangeDraggableTrack = _useRange2[2]; | ||
rangeDraggableTrack = _useRange2[2], | ||
minCount = _useRange2[3], | ||
maxCount = _useRange2[4]; | ||
var mergedMin = React.useMemo(function () { | ||
@@ -230,13 +232,14 @@ return isFinite(min) ? min : 0; | ||
var onDelete = function onDelete(index) { | ||
if (!disabled && rangeEditable) { | ||
var cloneNextValues = (0, _toConsumableArray2.default)(rawValues); | ||
cloneNextValues.splice(index, 1); | ||
onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(cloneNextValues)); | ||
triggerChange(cloneNextValues); | ||
var nextFocusIndex = Math.max(0, index - 1); | ||
handlesRef.current.hideHelp(); | ||
handlesRef.current.focus(nextFocusIndex); | ||
if (disabled || !rangeEditable || rawValues.length <= minCount) { | ||
return; | ||
} | ||
var cloneNextValues = (0, _toConsumableArray2.default)(rawValues); | ||
cloneNextValues.splice(index, 1); | ||
onBeforeChange === null || onBeforeChange === void 0 || onBeforeChange(getTriggerValue(cloneNextValues)); | ||
triggerChange(cloneNextValues); | ||
var nextFocusIndex = Math.max(0, index - 1); | ||
handlesRef.current.hideHelp(); | ||
handlesRef.current.focus(nextFocusIndex); | ||
}; | ||
var _useDrag = (0, _useDrag3.default)(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues, rangeEditable), | ||
var _useDrag = (0, _useDrag3.default)(containerRef, direction, rawValues, mergedMin, mergedMax, formatValue, triggerChange, finishChange, offsetValues, rangeEditable, minCount), | ||
_useDrag2 = (0, _slicedToArray2.default)(_useDrag, 5), | ||
@@ -271,3 +274,3 @@ draggingIndex = _useDrag2[0], | ||
var focusIndex = valueIndex; | ||
if (rangeEditable && valueDist !== 0) { | ||
if (rangeEditable && valueDist !== 0 && (!maxCount || rawValues.length < maxCount)) { | ||
cloneNextValues.splice(valueBeforeIndex + 1, 0, newValue); | ||
@@ -274,0 +277,0 @@ focusIndex = valueBeforeIndex + 1; |
{ | ||
"name": "rc-slider", | ||
"version": "11.0.6", | ||
"version": "11.1.0", | ||
"description": "Slider UI component for React", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
167672
3762