rc-slider
Advanced tools
+1
-0
@@ -50,2 +50,3 @@ .rc-slider { | ||
| opacity: 0.8; | ||
| user-select: none; | ||
| touch-action: pan-x; | ||
@@ -52,0 +53,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]); | ||
| } |
+5
-0
@@ -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; |
+15
-12
@@ -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]); | ||
| } |
+5
-0
@@ -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; |
+15
-12
@@ -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; |
+1
-1
| { | ||
| "name": "rc-slider", | ||
| "version": "11.0.6", | ||
| "version": "11.1.0", | ||
| "description": "Slider UI component for React", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
167672
0.7%3762
0.88%