@salutejs/plasma-new-hope 0.83.0-canary.1194.9157747369.0 → 0.83.0-canary.1194.9174145281.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Slider/components/Double/Double.js +20 -2
- package/cjs/components/Slider/components/Double/Double.js.map +1 -1
- package/cjs/components/Slider/ui/Handler/Handler.js +1 -8
- package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/es/components/Slider/components/Double/Double.js +20 -2
- package/es/components/Slider/components/Double/Double.js.map +1 -1
- package/es/components/Slider/ui/Handler/Handler.js +2 -9
- package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Slider/components/Double/Double.js +20 -2
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +1 -8
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +5 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +5 -0
- package/styled-components/es/components/Slider/components/Double/Double.js +20 -2
- package/styled-components/es/components/Slider/ui/Handler/Handler.js +2 -9
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +5 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +5 -0
- package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
- package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -1
@@ -120,6 +120,13 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
120
120
|
}
|
121
121
|
};
|
122
122
|
var onFirstHandleChangeCommitted = function onFirstHandleChangeCommitted(handleValue, data) {
|
123
|
+
if (!(secondHandleRef !== null && secondHandleRef !== void 0 && secondHandleRef.current)) {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
var newHandleXPosition = data.x;
|
127
|
+
var secondHandleXPosition = getXCenterHandle(secondHandleRef.current);
|
128
|
+
var fillWidth = secondHandleXPosition - newHandleXPosition;
|
129
|
+
firstHandleValue.current = handleValue;
|
123
130
|
setFirstValue(handleValue);
|
124
131
|
if (onChangeCommitted) {
|
125
132
|
onChangeCommitted([handleValue, value[1]]);
|
@@ -127,7 +134,9 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
127
134
|
setState(function (prevState) {
|
128
135
|
return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prevState), {}, {
|
129
136
|
firstValue: handleValue,
|
130
|
-
xFirstHandle: data.
|
137
|
+
xFirstHandle: data.x,
|
138
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
139
|
+
railFillXPosition: newHandleXPosition
|
131
140
|
});
|
132
141
|
});
|
133
142
|
};
|
@@ -173,6 +182,13 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
173
182
|
}
|
174
183
|
};
|
175
184
|
var onSecondHandleChangeCommitted = function onSecondHandleChangeCommitted(handleValue, data) {
|
185
|
+
if (!(firstHandleRef !== null && firstHandleRef !== void 0 && firstHandleRef.current)) {
|
186
|
+
return;
|
187
|
+
}
|
188
|
+
var firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);
|
189
|
+
var newHandleXPosition = data.x;
|
190
|
+
var fillWidth = newHandleXPosition - firstXHandleXPosition;
|
191
|
+
secondHandleValue.current = handleValue;
|
176
192
|
if (onChangeCommitted) {
|
177
193
|
onChangeCommitted([value[0], handleValue]);
|
178
194
|
}
|
@@ -180,7 +196,9 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
180
196
|
setState(function (prevState) {
|
181
197
|
return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, prevState), {}, {
|
182
198
|
secondValue: handleValue,
|
183
|
-
xSecondHandle: data.
|
199
|
+
xSecondHandle: data.x,
|
200
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
201
|
+
railFillXPosition: firstXHandleXPosition
|
184
202
|
});
|
185
203
|
});
|
186
204
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Double.js","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport type { FC, ChangeEvent, KeyboardEvent, FocusEvent } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport type { HandlerProps } from '../../ui';\nimport { sizeData } from '../../utils';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport { DoubleSliderProps } from './Double.types';\nimport {\n SliderWrapper,\n InputsWrapper,\n Label,\n LabelContentLeft,\n LabelWrapper,\n StyledInput,\n DoubleWrapper,\n} from './Double.styles';\n\nfunction getXCenterHandle(handle: HTMLDivElement) {\n const containerX = handle.parentElement?.getBoundingClientRect()?.x || 0;\n const handleRect = handle.getBoundingClientRect();\n const handlePosition = handleRect.x;\n return handlePosition - containerX;\n}\n\nexport const DoubleSlider: FC<DoubleSliderProps> = ({\n min,\n max,\n value,\n disabled,\n label,\n labelContentLeft,\n size = 'm',\n onChangeCommitted,\n onChangeTextField,\n onBlurTextField,\n onKeyDownTextField,\n onChange,\n ariaLabel,\n multipleStepSize = 10,\n ...rest\n}) => {\n const [state, setState] = useState({\n stepSize: 0,\n railFillWidth: 0,\n railFillXPosition: 0,\n xFirstHandle: 0,\n xSecondHandle: 0,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n firstValue: value[0],\n secondValue: value[1],\n });\n const [firstInputActive, setFirstInputActive] = useState(false);\n const [secondInputActive, setSecondInputActive] = useState(false);\n\n const [firstValue, setFirstValue] = useState<number>(value[0]);\n const [secondValue, setSecondValue] = useState<number>(value[1]);\n\n const firstHandleRef = useRef<HTMLDivElement | null>(null);\n const secondHandleRef = useRef<HTMLDivElement | null>(null);\n\n const firstHandleValue = useRef<number>(value[0]);\n const secondHandleValue = useRef<number>(value[1]);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const firstInputActiveClass = firstInputActive && !disabled ? classes.textFieldActive : undefined;\n const secondInputActiveClass = secondInputActive && !disabled ? classes.textFieldActive : undefined;\n\n useEffect(() => {\n const firstLocalValue = Math.min(Math.max(value[0], min), max) - min;\n const secondLocalValue = Math.min(Math.max(value[1], min), max) - min;\n\n setFirstValue(value[0]);\n setSecondValue(value[1]);\n\n setState((prevState) => ({\n ...prevState,\n railFillXPosition: stepSize * firstLocalValue,\n railFillWidth: stepSize * secondLocalValue - stepSize * firstLocalValue,\n xFirstHandle: stepSize * firstLocalValue,\n xSecondHandle: stepSize * secondLocalValue,\n }));\n }, [value, stepSize, min, max, setFirstValue, setSecondValue]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onFirstHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 101,\n secondHandleZIndex: 100,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n if (onChange) {\n onChange([handleValue, value[1]]);\n }\n };\n\n const onFirstHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n setFirstValue(handleValue);\n if (onChangeCommitted) {\n onChangeCommitted([handleValue, value[1]]);\n }\n\n setState((prevState) => ({\n ...prevState,\n firstValue: handleValue,\n xFirstHandle: data.lastX,\n }));\n };\n\n const onFirstTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([handleValue, secondValue], event);\n }\n };\n\n const onFirstTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField && onBlurTextField([handleValue, secondValue], event);\n }\n };\n\n const onSecondHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n if (onChange) {\n onChange([value[0], handleValue]);\n }\n };\n\n const onSecondHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (onChangeCommitted) {\n onChangeCommitted([value[0], handleValue]);\n }\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n secondValue: handleValue,\n xSecondHandle: data.lastX,\n }));\n };\n\n const onSecondTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([firstValue, handleValue], event);\n }\n };\n\n const onSecondTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField([firstValue, handleValue], event);\n }\n };\n\n const onTextfieldKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDownTextField) {\n onKeyDownTextField([firstValue, secondValue], event);\n }\n };\n\n const [ariaLabelLeft, ariaLabelRight] = ariaLabel || [];\n const currentFirstSliderValue = Math.max(state.firstValue, min);\n\n return (\n <DoubleWrapper>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderWrapper>\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n railFillXPosition={state.railFillXPosition}\n {...rest}\n >\n <Handler\n ref={firstHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onFirstHandleChangeCommitted}\n onChange={onFirstHandleChange}\n min={min}\n max={state.secondValue}\n disabled={disabled}\n bounds={[min, state.secondValue]}\n side=\"left\"\n xPosition={state.xFirstHandle}\n zIndex={state.firstHandleZIndex}\n value={currentFirstSliderValue}\n ariaLabel={ariaLabelLeft}\n onMouseEnter={() => setFirstInputActive(true)}\n onMouseLeave={() => setFirstInputActive(false)}\n />\n <Handler\n ref={secondHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onSecondHandleChangeCommitted}\n onChange={onSecondHandleChange}\n min={min}\n ariaValueMin={currentFirstSliderValue}\n max={max}\n disabled={disabled}\n bounds={[state.firstValue, max]}\n side=\"right\"\n xPosition={state.xSecondHandle}\n zIndex={state.secondHandleZIndex}\n value={Math.max(state.secondValue, min)}\n ariaLabel={ariaLabelRight}\n onMouseEnter={() => setSecondInputActive(true)}\n onMouseLeave={() => setSecondInputActive(false)}\n />\n </SliderBase>\n\n <InputsWrapper>\n <StyledInput\n className={cx(classes.firstTextField, firstInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={firstValue}\n onChange={onFirstTextfieldChange}\n onBlur={onFirstTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n <StyledInput\n className={cx(classes.secondTextField, secondInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={secondValue}\n onChange={onSecondTextfieldChange}\n onBlur={onSecondTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n </InputsWrapper>\n </SliderWrapper>\n </DoubleWrapper>\n );\n};\n"],"names":["getXCenterHandle","handle","_handle$parentElement","containerX","parentElement","getBoundingClientRect","x","handleRect","handlePosition","DoubleSlider","_ref","min","max","value","disabled","label","labelContentLeft","_ref$size","size","onChangeCommitted","onChangeTextField","onBlurTextField","onKeyDownTextField","onChange","ariaLabel","_ref$multipleStepSize","multipleStepSize","rest","_objectWithoutProperties","_excluded","_useState","useState","stepSize","railFillWidth","railFillXPosition","xFirstHandle","xSecondHandle","firstHandleZIndex","secondHandleZIndex","firstValue","secondValue","_useState2","_slicedToArray","state","setState","_useState3","_useState4","firstInputActive","setFirstInputActive","_useState5","_useState6","secondInputActive","setSecondInputActive","_useState7","_useState8","setFirstValue","_useState9","_useState10","setSecondValue","firstHandleRef","useRef","secondHandleRef","firstHandleValue","secondHandleValue","hasLabelContent","firstInputActiveClass","classes","textFieldActive","undefined","secondInputActiveClass","useEffect","firstLocalValue","Math","secondLocalValue","prevState","_objectSpread","setStepSize","useCallback","newStepSize","onFirstHandleChange","handleValue","data","current","newHandleXPosition","secondHandleXPosition","fillWidth","onFirstHandleChangeCommitted","lastX","onFirstTextfieldChange","event","isNumber","target","Number","onFirstTextfieldBlur","onSecondHandleChange","firstXHandleXPosition","onSecondHandleChangeCommitted","onSecondTextfieldChange","onSecondTextfieldBlur","onTextfieldKeyDown","_ref2","_ref3","ariaLabelLeft","ariaLabelRight","currentFirstSliderValue","React","createElement","DoubleWrapper","LabelWrapper","LabelContentLeft","Label","SliderWrapper","SliderBase","_extends","settings","sizeData","Handler","ref","bounds","side","xPosition","zIndex","onMouseEnter","onMouseLeave","ariaValueMin","InputsWrapper","StyledInput","className","cx","firstTextField","enumerationType","onBlur","onKeyDown","secondTextField"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Double.js","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport type { FC, ChangeEvent, KeyboardEvent, FocusEvent } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport type { HandlerProps } from '../../ui';\nimport { sizeData } from '../../utils';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport { DoubleSliderProps } from './Double.types';\nimport {\n SliderWrapper,\n InputsWrapper,\n Label,\n LabelContentLeft,\n LabelWrapper,\n StyledInput,\n DoubleWrapper,\n} from './Double.styles';\n\nfunction getXCenterHandle(handle: HTMLDivElement) {\n const containerX = handle.parentElement?.getBoundingClientRect()?.x || 0;\n const handleRect = handle.getBoundingClientRect();\n const handlePosition = handleRect.x;\n return handlePosition - containerX;\n}\n\nexport const DoubleSlider: FC<DoubleSliderProps> = ({\n min,\n max,\n value,\n disabled,\n label,\n labelContentLeft,\n size = 'm',\n onChangeCommitted,\n onChangeTextField,\n onBlurTextField,\n onKeyDownTextField,\n onChange,\n ariaLabel,\n multipleStepSize = 10,\n ...rest\n}) => {\n const [state, setState] = useState({\n stepSize: 0,\n railFillWidth: 0,\n railFillXPosition: 0,\n xFirstHandle: 0,\n xSecondHandle: 0,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n firstValue: value[0],\n secondValue: value[1],\n });\n const [firstInputActive, setFirstInputActive] = useState(false);\n const [secondInputActive, setSecondInputActive] = useState(false);\n\n const [firstValue, setFirstValue] = useState<number>(value[0]);\n const [secondValue, setSecondValue] = useState<number>(value[1]);\n\n const firstHandleRef = useRef<HTMLDivElement | null>(null);\n const secondHandleRef = useRef<HTMLDivElement | null>(null);\n\n const firstHandleValue = useRef<number>(value[0]);\n const secondHandleValue = useRef<number>(value[1]);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const firstInputActiveClass = firstInputActive && !disabled ? classes.textFieldActive : undefined;\n const secondInputActiveClass = secondInputActive && !disabled ? classes.textFieldActive : undefined;\n\n useEffect(() => {\n const firstLocalValue = Math.min(Math.max(value[0], min), max) - min;\n const secondLocalValue = Math.min(Math.max(value[1], min), max) - min;\n\n setFirstValue(value[0]);\n setSecondValue(value[1]);\n\n setState((prevState) => ({\n ...prevState,\n railFillXPosition: stepSize * firstLocalValue,\n railFillWidth: stepSize * secondLocalValue - stepSize * firstLocalValue,\n xFirstHandle: stepSize * firstLocalValue,\n xSecondHandle: stepSize * secondLocalValue,\n }));\n }, [value, stepSize, min, max, setFirstValue, setSecondValue]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onFirstHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 101,\n secondHandleZIndex: 100,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n if (onChange) {\n onChange([handleValue, value[1]]);\n }\n };\n\n const onFirstHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n if (onChangeCommitted) {\n onChangeCommitted([handleValue, value[1]]);\n }\n\n setState((prevState) => ({\n ...prevState,\n firstValue: handleValue,\n xFirstHandle: data.x,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n };\n\n const onFirstTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([handleValue, secondValue], event);\n }\n };\n\n const onFirstTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField && onBlurTextField([handleValue, secondValue], event);\n }\n };\n\n const onSecondHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n if (onChange) {\n onChange([value[0], handleValue]);\n }\n };\n\n const onSecondHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n if (onChangeCommitted) {\n onChangeCommitted([value[0], handleValue]);\n }\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n secondValue: handleValue,\n xSecondHandle: data.x,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n };\n\n const onSecondTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([firstValue, handleValue], event);\n }\n };\n\n const onSecondTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField([firstValue, handleValue], event);\n }\n };\n\n const onTextfieldKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDownTextField) {\n onKeyDownTextField([firstValue, secondValue], event);\n }\n };\n\n const [ariaLabelLeft, ariaLabelRight] = ariaLabel || [];\n const currentFirstSliderValue = Math.max(state.firstValue, min);\n\n return (\n <DoubleWrapper>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderWrapper>\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n railFillXPosition={state.railFillXPosition}\n {...rest}\n >\n <Handler\n ref={firstHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onFirstHandleChangeCommitted}\n onChange={onFirstHandleChange}\n min={min}\n max={state.secondValue}\n disabled={disabled}\n bounds={[min, state.secondValue]}\n side=\"left\"\n xPosition={state.xFirstHandle}\n zIndex={state.firstHandleZIndex}\n value={currentFirstSliderValue}\n ariaLabel={ariaLabelLeft}\n onMouseEnter={() => setFirstInputActive(true)}\n onMouseLeave={() => setFirstInputActive(false)}\n />\n <Handler\n ref={secondHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onSecondHandleChangeCommitted}\n onChange={onSecondHandleChange}\n min={min}\n ariaValueMin={currentFirstSliderValue}\n max={max}\n disabled={disabled}\n bounds={[state.firstValue, max]}\n side=\"right\"\n xPosition={state.xSecondHandle}\n zIndex={state.secondHandleZIndex}\n value={Math.max(state.secondValue, min)}\n ariaLabel={ariaLabelRight}\n onMouseEnter={() => setSecondInputActive(true)}\n onMouseLeave={() => setSecondInputActive(false)}\n />\n </SliderBase>\n\n <InputsWrapper>\n <StyledInput\n className={cx(classes.firstTextField, firstInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={firstValue}\n onChange={onFirstTextfieldChange}\n onBlur={onFirstTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n <StyledInput\n className={cx(classes.secondTextField, secondInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={secondValue}\n onChange={onSecondTextfieldChange}\n onBlur={onSecondTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n </InputsWrapper>\n </SliderWrapper>\n </DoubleWrapper>\n );\n};\n"],"names":["getXCenterHandle","handle","_handle$parentElement","containerX","parentElement","getBoundingClientRect","x","handleRect","handlePosition","DoubleSlider","_ref","min","max","value","disabled","label","labelContentLeft","_ref$size","size","onChangeCommitted","onChangeTextField","onBlurTextField","onKeyDownTextField","onChange","ariaLabel","_ref$multipleStepSize","multipleStepSize","rest","_objectWithoutProperties","_excluded","_useState","useState","stepSize","railFillWidth","railFillXPosition","xFirstHandle","xSecondHandle","firstHandleZIndex","secondHandleZIndex","firstValue","secondValue","_useState2","_slicedToArray","state","setState","_useState3","_useState4","firstInputActive","setFirstInputActive","_useState5","_useState6","secondInputActive","setSecondInputActive","_useState7","_useState8","setFirstValue","_useState9","_useState10","setSecondValue","firstHandleRef","useRef","secondHandleRef","firstHandleValue","secondHandleValue","hasLabelContent","firstInputActiveClass","classes","textFieldActive","undefined","secondInputActiveClass","useEffect","firstLocalValue","Math","secondLocalValue","prevState","_objectSpread","setStepSize","useCallback","newStepSize","onFirstHandleChange","handleValue","data","current","newHandleXPosition","secondHandleXPosition","fillWidth","onFirstHandleChangeCommitted","onFirstTextfieldChange","event","isNumber","target","Number","onFirstTextfieldBlur","onSecondHandleChange","firstXHandleXPosition","onSecondHandleChangeCommitted","onSecondTextfieldChange","onSecondTextfieldBlur","onTextfieldKeyDown","_ref2","_ref3","ariaLabelLeft","ariaLabelRight","currentFirstSliderValue","React","createElement","DoubleWrapper","LabelWrapper","LabelContentLeft","Label","SliderWrapper","SliderBase","_extends","settings","sizeData","Handler","ref","bounds","side","xPosition","zIndex","onMouseEnter","onMouseLeave","ariaValueMin","InputsWrapper","StyledInput","className","cx","firstTextField","enumerationType","onBlur","onKeyDown","secondTextField"],"mappings":"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"}
|
@@ -24,7 +24,6 @@ var KeyboardSupport = {
|
|
24
24
|
ArrowDown: 40
|
25
25
|
};
|
26
26
|
var Handler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
27
|
-
var _position$x;
|
28
27
|
var stepSize = _ref.stepSize,
|
29
28
|
onChangeCommitted = _ref.onChangeCommitted,
|
30
29
|
onChange = _ref.onChange,
|
@@ -60,26 +59,20 @@ var Handler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
60
59
|
y: 0
|
61
60
|
} : undefined;
|
62
61
|
var tabIndex = disabled ? -1 : 0;
|
63
|
-
var _useState = React.useState((_position$x = position === null || position === void 0 ? void 0 : position.x) !== null && _position$x !== void 0 ? _position$x : 0),
|
64
|
-
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
65
|
-
positionX = _useState2[0],
|
66
|
-
setPositionX = _useState2[1];
|
67
62
|
var computedBounds = {
|
68
63
|
left: (leftPositionBound !== null && leftPositionBound !== void 0 ? leftPositionBound : 0) + offsetLeft,
|
69
64
|
right: (rightPositionBound !== null && rightPositionBound !== void 0 ? rightPositionBound : stepSize * (max - min)) - offsetRight
|
70
65
|
};
|
71
|
-
var showCurrentValueCondition = showCurrentValue && (
|
66
|
+
var showCurrentValueCondition = showCurrentValue && (xPosition >= startOffset && xPosition <= max * stepSize - endOffset || xPosition === 0 && value !== 0);
|
72
67
|
var onDrag = function onDrag(_, data) {
|
73
68
|
var newValue = index.getSliderThumbValue(data.x, stepSize, min, max);
|
74
69
|
if (lastOnChangeValue.current !== newValue) {
|
75
70
|
onChange === null || onChange === void 0 || onChange(newValue, data);
|
76
|
-
setPositionX(data.x);
|
77
71
|
lastOnChangeValue.current = newValue;
|
78
72
|
}
|
79
73
|
};
|
80
74
|
var onStop = function onStop(_, data) {
|
81
75
|
var newValue = index.getSliderThumbValue(data.x, stepSize, min, max);
|
82
|
-
setPositionX(data.x);
|
83
76
|
onChangeCommitted && onChangeCommitted(newValue, data);
|
84
77
|
};
|
85
78
|
var onKeyPress = function onKeyPress(event) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\nimport type { DraggableData } from 'react-draggable';\n\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nconst KeyboardSupport = {\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n};\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n stepSize,\n onChangeCommitted,\n onChange,\n xPosition = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n ...rest\n },\n ref,\n ) => {\n const lastOnChangeValue = useRef<number>();\n\n const [offsetLeft, offsetRight] = getOffsets(ref, side);\n\n const [leftValueBound, rightValueBound] = bounds;\n const leftPositionBound = leftValueBound ? (leftValueBound - min) * stepSize : null;\n const rightPositionBound = rightValueBound ? (rightValueBound - min) * stepSize : null;\n\n const position = typeof xPosition === 'number' ? { x: xPosition, y: 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const [positionX, setPositionX] = useState(position?.x ?? 0);\n\n const computedBounds = {\n left: (leftPositionBound ?? 0) + offsetLeft,\n right: (rightPositionBound ?? stepSize * (max - min)) - offsetRight,\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((positionX >= startOffset && positionX <= max * stepSize - endOffset) || (positionX === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n setPositionX(data.x);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n setPositionX(data.x);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const { keyCode, target } = event;\n\n if (!Object.values(KeyboardSupport).includes(keyCode)) {\n return;\n }\n\n const { ArrowUp, ArrowRight, ArrowDown, ArrowLeft, Home, End, PageDown, PageUp } = KeyboardSupport;\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data: DraggableData = {\n x: 0,\n deltaX: stepSize,\n lastX: xPosition,\n y: 0,\n deltaY: 0,\n lastY: 0,\n node: target as HTMLDivElement,\n };\n\n switch (keyCode) {\n case ArrowUp:\n case ArrowRight:\n data.x = xPosition + stepSize;\n break;\n case ArrowDown:\n case ArrowLeft:\n data.x = xPosition - stepSize;\n data.deltaX = -stepSize;\n break;\n case PageUp:\n data.x = xPosition + computedMultipleSteps;\n data.deltaX = computedMultipleSteps;\n break;\n case PageDown:\n data.x = xPosition - computedMultipleSteps;\n data.deltaX = -computedMultipleSteps;\n break;\n case End:\n data.x = max * stepSize;\n break;\n case Home:\n data.x = 0;\n break;\n default:\n data.x = 0;\n }\n\n const { left, right } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n return (\n <Draggable\n axis=\"x\"\n bounds={computedBounds}\n grid={[stepSize, 1]}\n onStop={onStop}\n onDrag={onDrag}\n position={position}\n disabled={disabled}\n >\n <HandlerStyled ref={ref} style={{ zIndex }} onKeyDown={onKeyPress}>\n <Thumb tabIndex={tabIndex} min={min} max={max} value={value} disabled={disabled} {...rest} />\n {showCurrentValueCondition && <StyledValue>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["KeyboardSupport","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Handler","forwardRef","_ref","ref","_position$x","stepSize","onChangeCommitted","onChange","_ref$xPosition","xPosition","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","rest","_objectWithoutProperties","_excluded","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","_slicedToArray","offsetLeft","offsetRight","_bounds","leftValueBound","rightValueBound","leftPositionBound","rightPositionBound","position","x","y","undefined","tabIndex","_useState","useState","_useState2","positionX","setPositionX","computedBounds","left","right","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStop","onKeyPress","event","persist","keyCode","target","Object","values","includes","computedMultipleSteps","multipleStepSize","deltaX","lastX","deltaY","lastY","node","boundedValue","Math","computedValue","React","createElement","Draggable","axis","grid","HandlerStyled","style","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\nimport type { DraggableData } from 'react-draggable';\n\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nconst KeyboardSupport = {\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n};\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n stepSize,\n onChangeCommitted,\n onChange,\n xPosition = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n ...rest\n },\n ref,\n ) => {\n const lastOnChangeValue = useRef<number>();\n\n const [offsetLeft, offsetRight] = getOffsets(ref, side);\n\n const [leftValueBound, rightValueBound] = bounds;\n const leftPositionBound = leftValueBound ? (leftValueBound - min) * stepSize : null;\n const rightPositionBound = rightValueBound ? (rightValueBound - min) * stepSize : null;\n\n const position = typeof xPosition === 'number' ? { x: xPosition, y: 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n left: (leftPositionBound ?? 0) + offsetLeft,\n right: (rightPositionBound ?? stepSize * (max - min)) - offsetRight,\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((xPosition >= startOffset && xPosition <= max * stepSize - endOffset) || (xPosition === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const { keyCode, target } = event;\n\n if (!Object.values(KeyboardSupport).includes(keyCode)) {\n return;\n }\n\n const { ArrowUp, ArrowRight, ArrowDown, ArrowLeft, Home, End, PageDown, PageUp } = KeyboardSupport;\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data: DraggableData = {\n x: 0,\n deltaX: stepSize,\n lastX: xPosition,\n y: 0,\n deltaY: 0,\n lastY: 0,\n node: target as HTMLDivElement,\n };\n\n switch (keyCode) {\n case ArrowUp:\n case ArrowRight:\n data.x = xPosition + stepSize;\n break;\n case ArrowDown:\n case ArrowLeft:\n data.x = xPosition - stepSize;\n data.deltaX = -stepSize;\n break;\n case PageUp:\n data.x = xPosition + computedMultipleSteps;\n data.deltaX = computedMultipleSteps;\n break;\n case PageDown:\n data.x = xPosition - computedMultipleSteps;\n data.deltaX = -computedMultipleSteps;\n break;\n case End:\n data.x = max * stepSize;\n break;\n case Home:\n data.x = 0;\n break;\n default:\n data.x = 0;\n }\n\n const { left, right } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n return (\n <Draggable\n axis=\"x\"\n bounds={computedBounds}\n grid={[stepSize, 1]}\n onStop={onStop}\n onDrag={onDrag}\n position={position}\n disabled={disabled}\n >\n <HandlerStyled ref={ref} style={{ zIndex }} onKeyDown={onKeyPress}>\n <Thumb tabIndex={tabIndex} min={min} max={max} value={value} disabled={disabled} {...rest} />\n {showCurrentValueCondition && <StyledValue>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["KeyboardSupport","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Handler","forwardRef","_ref","ref","stepSize","onChangeCommitted","onChange","_ref$xPosition","xPosition","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","rest","_objectWithoutProperties","_excluded","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","_slicedToArray","offsetLeft","offsetRight","_bounds","leftValueBound","rightValueBound","leftPositionBound","rightPositionBound","position","x","y","undefined","tabIndex","computedBounds","left","right","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStop","onKeyPress","event","persist","keyCode","target","Object","values","includes","computedMultipleSteps","multipleStepSize","deltaX","lastX","deltaY","lastY","node","boundedValue","Math","computedValue","React","createElement","Draggable","axis","grid","HandlerStyled","style","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
|
@@ -116,6 +116,13 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
116
116
|
}
|
117
117
|
};
|
118
118
|
var onFirstHandleChangeCommitted = function onFirstHandleChangeCommitted(handleValue, data) {
|
119
|
+
if (!(secondHandleRef !== null && secondHandleRef !== void 0 && secondHandleRef.current)) {
|
120
|
+
return;
|
121
|
+
}
|
122
|
+
var newHandleXPosition = data.x;
|
123
|
+
var secondHandleXPosition = getXCenterHandle(secondHandleRef.current);
|
124
|
+
var fillWidth = secondHandleXPosition - newHandleXPosition;
|
125
|
+
firstHandleValue.current = handleValue;
|
119
126
|
setFirstValue(handleValue);
|
120
127
|
if (onChangeCommitted) {
|
121
128
|
onChangeCommitted([handleValue, value[1]]);
|
@@ -123,7 +130,9 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
123
130
|
setState(function (prevState) {
|
124
131
|
return _objectSpread2(_objectSpread2({}, prevState), {}, {
|
125
132
|
firstValue: handleValue,
|
126
|
-
xFirstHandle: data.
|
133
|
+
xFirstHandle: data.x,
|
134
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
135
|
+
railFillXPosition: newHandleXPosition
|
127
136
|
});
|
128
137
|
});
|
129
138
|
};
|
@@ -169,6 +178,13 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
169
178
|
}
|
170
179
|
};
|
171
180
|
var onSecondHandleChangeCommitted = function onSecondHandleChangeCommitted(handleValue, data) {
|
181
|
+
if (!(firstHandleRef !== null && firstHandleRef !== void 0 && firstHandleRef.current)) {
|
182
|
+
return;
|
183
|
+
}
|
184
|
+
var firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);
|
185
|
+
var newHandleXPosition = data.x;
|
186
|
+
var fillWidth = newHandleXPosition - firstXHandleXPosition;
|
187
|
+
secondHandleValue.current = handleValue;
|
172
188
|
if (onChangeCommitted) {
|
173
189
|
onChangeCommitted([value[0], handleValue]);
|
174
190
|
}
|
@@ -176,7 +192,9 @@ var DoubleSlider = function DoubleSlider(_ref) {
|
|
176
192
|
setState(function (prevState) {
|
177
193
|
return _objectSpread2(_objectSpread2({}, prevState), {}, {
|
178
194
|
secondValue: handleValue,
|
179
|
-
xSecondHandle: data.
|
195
|
+
xSecondHandle: data.x,
|
196
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
197
|
+
railFillXPosition: firstXHandleXPosition
|
180
198
|
});
|
181
199
|
});
|
182
200
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Double.js","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport type { FC, ChangeEvent, KeyboardEvent, FocusEvent } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport type { HandlerProps } from '../../ui';\nimport { sizeData } from '../../utils';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport { DoubleSliderProps } from './Double.types';\nimport {\n SliderWrapper,\n InputsWrapper,\n Label,\n LabelContentLeft,\n LabelWrapper,\n StyledInput,\n DoubleWrapper,\n} from './Double.styles';\n\nfunction getXCenterHandle(handle: HTMLDivElement) {\n const containerX = handle.parentElement?.getBoundingClientRect()?.x || 0;\n const handleRect = handle.getBoundingClientRect();\n const handlePosition = handleRect.x;\n return handlePosition - containerX;\n}\n\nexport const DoubleSlider: FC<DoubleSliderProps> = ({\n min,\n max,\n value,\n disabled,\n label,\n labelContentLeft,\n size = 'm',\n onChangeCommitted,\n onChangeTextField,\n onBlurTextField,\n onKeyDownTextField,\n onChange,\n ariaLabel,\n multipleStepSize = 10,\n ...rest\n}) => {\n const [state, setState] = useState({\n stepSize: 0,\n railFillWidth: 0,\n railFillXPosition: 0,\n xFirstHandle: 0,\n xSecondHandle: 0,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n firstValue: value[0],\n secondValue: value[1],\n });\n const [firstInputActive, setFirstInputActive] = useState(false);\n const [secondInputActive, setSecondInputActive] = useState(false);\n\n const [firstValue, setFirstValue] = useState<number>(value[0]);\n const [secondValue, setSecondValue] = useState<number>(value[1]);\n\n const firstHandleRef = useRef<HTMLDivElement | null>(null);\n const secondHandleRef = useRef<HTMLDivElement | null>(null);\n\n const firstHandleValue = useRef<number>(value[0]);\n const secondHandleValue = useRef<number>(value[1]);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const firstInputActiveClass = firstInputActive && !disabled ? classes.textFieldActive : undefined;\n const secondInputActiveClass = secondInputActive && !disabled ? classes.textFieldActive : undefined;\n\n useEffect(() => {\n const firstLocalValue = Math.min(Math.max(value[0], min), max) - min;\n const secondLocalValue = Math.min(Math.max(value[1], min), max) - min;\n\n setFirstValue(value[0]);\n setSecondValue(value[1]);\n\n setState((prevState) => ({\n ...prevState,\n railFillXPosition: stepSize * firstLocalValue,\n railFillWidth: stepSize * secondLocalValue - stepSize * firstLocalValue,\n xFirstHandle: stepSize * firstLocalValue,\n xSecondHandle: stepSize * secondLocalValue,\n }));\n }, [value, stepSize, min, max, setFirstValue, setSecondValue]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onFirstHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 101,\n secondHandleZIndex: 100,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n if (onChange) {\n onChange([handleValue, value[1]]);\n }\n };\n\n const onFirstHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n setFirstValue(handleValue);\n if (onChangeCommitted) {\n onChangeCommitted([handleValue, value[1]]);\n }\n\n setState((prevState) => ({\n ...prevState,\n firstValue: handleValue,\n xFirstHandle: data.lastX,\n }));\n };\n\n const onFirstTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([handleValue, secondValue], event);\n }\n };\n\n const onFirstTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField && onBlurTextField([handleValue, secondValue], event);\n }\n };\n\n const onSecondHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n if (onChange) {\n onChange([value[0], handleValue]);\n }\n };\n\n const onSecondHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (onChangeCommitted) {\n onChangeCommitted([value[0], handleValue]);\n }\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n secondValue: handleValue,\n xSecondHandle: data.lastX,\n }));\n };\n\n const onSecondTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([firstValue, handleValue], event);\n }\n };\n\n const onSecondTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField([firstValue, handleValue], event);\n }\n };\n\n const onTextfieldKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDownTextField) {\n onKeyDownTextField([firstValue, secondValue], event);\n }\n };\n\n const [ariaLabelLeft, ariaLabelRight] = ariaLabel || [];\n const currentFirstSliderValue = Math.max(state.firstValue, min);\n\n return (\n <DoubleWrapper>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderWrapper>\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n railFillXPosition={state.railFillXPosition}\n {...rest}\n >\n <Handler\n ref={firstHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onFirstHandleChangeCommitted}\n onChange={onFirstHandleChange}\n min={min}\n max={state.secondValue}\n disabled={disabled}\n bounds={[min, state.secondValue]}\n side=\"left\"\n xPosition={state.xFirstHandle}\n zIndex={state.firstHandleZIndex}\n value={currentFirstSliderValue}\n ariaLabel={ariaLabelLeft}\n onMouseEnter={() => setFirstInputActive(true)}\n onMouseLeave={() => setFirstInputActive(false)}\n />\n <Handler\n ref={secondHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onSecondHandleChangeCommitted}\n onChange={onSecondHandleChange}\n min={min}\n ariaValueMin={currentFirstSliderValue}\n max={max}\n disabled={disabled}\n bounds={[state.firstValue, max]}\n side=\"right\"\n xPosition={state.xSecondHandle}\n zIndex={state.secondHandleZIndex}\n value={Math.max(state.secondValue, min)}\n ariaLabel={ariaLabelRight}\n onMouseEnter={() => setSecondInputActive(true)}\n onMouseLeave={() => setSecondInputActive(false)}\n />\n </SliderBase>\n\n <InputsWrapper>\n <StyledInput\n className={cx(classes.firstTextField, firstInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={firstValue}\n onChange={onFirstTextfieldChange}\n onBlur={onFirstTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n <StyledInput\n className={cx(classes.secondTextField, secondInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={secondValue}\n onChange={onSecondTextfieldChange}\n onBlur={onSecondTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n </InputsWrapper>\n </SliderWrapper>\n </DoubleWrapper>\n );\n};\n"],"names":["getXCenterHandle","handle","_handle$parentElement","containerX","parentElement","getBoundingClientRect","x","handleRect","handlePosition","DoubleSlider","_ref","min","max","value","disabled","label","labelContentLeft","_ref$size","size","onChangeCommitted","onChangeTextField","onBlurTextField","onKeyDownTextField","onChange","ariaLabel","_ref$multipleStepSize","multipleStepSize","rest","_objectWithoutProperties","_excluded","_useState","useState","stepSize","railFillWidth","railFillXPosition","xFirstHandle","xSecondHandle","firstHandleZIndex","secondHandleZIndex","firstValue","secondValue","_useState2","_slicedToArray","state","setState","_useState3","_useState4","firstInputActive","setFirstInputActive","_useState5","_useState6","secondInputActive","setSecondInputActive","_useState7","_useState8","setFirstValue","_useState9","_useState10","setSecondValue","firstHandleRef","useRef","secondHandleRef","firstHandleValue","secondHandleValue","hasLabelContent","firstInputActiveClass","classes","textFieldActive","undefined","secondInputActiveClass","useEffect","firstLocalValue","Math","secondLocalValue","prevState","_objectSpread","setStepSize","useCallback","newStepSize","onFirstHandleChange","handleValue","data","current","newHandleXPosition","secondHandleXPosition","fillWidth","onFirstHandleChangeCommitted","lastX","onFirstTextfieldChange","event","isNumber","target","Number","onFirstTextfieldBlur","onSecondHandleChange","firstXHandleXPosition","onSecondHandleChangeCommitted","onSecondTextfieldChange","onSecondTextfieldBlur","onTextfieldKeyDown","_ref2","_ref3","ariaLabelLeft","ariaLabelRight","currentFirstSliderValue","React","createElement","DoubleWrapper","LabelWrapper","LabelContentLeft","Label","SliderWrapper","SliderBase","_extends","settings","sizeData","Handler","ref","bounds","side","xPosition","zIndex","onMouseEnter","onMouseLeave","ariaValueMin","InputsWrapper","StyledInput","className","cx","firstTextField","enumerationType","onBlur","onKeyDown","secondTextField"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Double.js","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport type { FC, ChangeEvent, KeyboardEvent, FocusEvent } from 'react';\n\nimport { SliderBase } from '../SliderBase/SliderBase';\nimport { Handler } from '../../ui';\nimport type { HandlerProps } from '../../ui';\nimport { sizeData } from '../../utils';\nimport { cx, isNumber } from '../../../../utils';\nimport { classes } from '../../Slider.tokens';\n\nimport { DoubleSliderProps } from './Double.types';\nimport {\n SliderWrapper,\n InputsWrapper,\n Label,\n LabelContentLeft,\n LabelWrapper,\n StyledInput,\n DoubleWrapper,\n} from './Double.styles';\n\nfunction getXCenterHandle(handle: HTMLDivElement) {\n const containerX = handle.parentElement?.getBoundingClientRect()?.x || 0;\n const handleRect = handle.getBoundingClientRect();\n const handlePosition = handleRect.x;\n return handlePosition - containerX;\n}\n\nexport const DoubleSlider: FC<DoubleSliderProps> = ({\n min,\n max,\n value,\n disabled,\n label,\n labelContentLeft,\n size = 'm',\n onChangeCommitted,\n onChangeTextField,\n onBlurTextField,\n onKeyDownTextField,\n onChange,\n ariaLabel,\n multipleStepSize = 10,\n ...rest\n}) => {\n const [state, setState] = useState({\n stepSize: 0,\n railFillWidth: 0,\n railFillXPosition: 0,\n xFirstHandle: 0,\n xSecondHandle: 0,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n firstValue: value[0],\n secondValue: value[1],\n });\n const [firstInputActive, setFirstInputActive] = useState(false);\n const [secondInputActive, setSecondInputActive] = useState(false);\n\n const [firstValue, setFirstValue] = useState<number>(value[0]);\n const [secondValue, setSecondValue] = useState<number>(value[1]);\n\n const firstHandleRef = useRef<HTMLDivElement | null>(null);\n const secondHandleRef = useRef<HTMLDivElement | null>(null);\n\n const firstHandleValue = useRef<number>(value[0]);\n const secondHandleValue = useRef<number>(value[1]);\n\n const { stepSize } = state;\n\n const hasLabelContent = label || labelContentLeft;\n const firstInputActiveClass = firstInputActive && !disabled ? classes.textFieldActive : undefined;\n const secondInputActiveClass = secondInputActive && !disabled ? classes.textFieldActive : undefined;\n\n useEffect(() => {\n const firstLocalValue = Math.min(Math.max(value[0], min), max) - min;\n const secondLocalValue = Math.min(Math.max(value[1], min), max) - min;\n\n setFirstValue(value[0]);\n setSecondValue(value[1]);\n\n setState((prevState) => ({\n ...prevState,\n railFillXPosition: stepSize * firstLocalValue,\n railFillWidth: stepSize * secondLocalValue - stepSize * firstLocalValue,\n xFirstHandle: stepSize * firstLocalValue,\n xSecondHandle: stepSize * secondLocalValue,\n }));\n }, [value, stepSize, min, max, setFirstValue, setSecondValue]);\n\n const setStepSize = useCallback(\n (newStepSize: number) => {\n setState((prevState) => ({\n ...prevState,\n stepSize: newStepSize,\n }));\n },\n [setState],\n );\n\n const onFirstHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 101,\n secondHandleZIndex: 100,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n if (onChange) {\n onChange([handleValue, value[1]]);\n }\n };\n\n const onFirstHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (!secondHandleRef?.current) {\n return;\n }\n const newHandleXPosition = data.x;\n const secondHandleXPosition = getXCenterHandle(secondHandleRef.current);\n const fillWidth = secondHandleXPosition - newHandleXPosition;\n\n firstHandleValue.current = handleValue;\n\n setFirstValue(handleValue);\n if (onChangeCommitted) {\n onChangeCommitted([handleValue, value[1]]);\n }\n\n setState((prevState) => ({\n ...prevState,\n firstValue: handleValue,\n xFirstHandle: data.x,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: newHandleXPosition,\n }));\n };\n\n const onFirstTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([handleValue, secondValue], event);\n }\n };\n\n const onFirstTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setFirstValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField && onBlurTextField([handleValue, secondValue], event);\n }\n };\n\n const onSecondHandleChange: NonNullable<HandlerProps['onChange']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n firstHandleZIndex: 100,\n secondHandleZIndex: 101,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n if (onChange) {\n onChange([value[0], handleValue]);\n }\n };\n\n const onSecondHandleChangeCommitted: NonNullable<HandlerProps['onChangeCommitted']> = (handleValue, data) => {\n if (!firstHandleRef?.current) {\n return;\n }\n const firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);\n\n const newHandleXPosition = data.x;\n const fillWidth = newHandleXPosition - firstXHandleXPosition;\n\n secondHandleValue.current = handleValue;\n\n if (onChangeCommitted) {\n onChangeCommitted([value[0], handleValue]);\n }\n\n setSecondValue(handleValue);\n setState((prevState) => ({\n ...prevState,\n secondValue: handleValue,\n xSecondHandle: data.x,\n railFillWidth: fillWidth < 0 ? 0 : fillWidth,\n railFillXPosition: firstXHandleXPosition,\n }));\n };\n\n const onSecondTextfieldChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onChangeTextField) {\n onChangeTextField([firstValue, handleValue], event);\n }\n };\n\n const onSecondTextfieldBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!isNumber(event.target.value)) {\n return;\n }\n\n const handleValue = Number(event.target.value);\n\n setSecondValue(handleValue);\n if (onBlurTextField) {\n onBlurTextField([firstValue, handleValue], event);\n }\n };\n\n const onTextfieldKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDownTextField) {\n onKeyDownTextField([firstValue, secondValue], event);\n }\n };\n\n const [ariaLabelLeft, ariaLabelRight] = ariaLabel || [];\n const currentFirstSliderValue = Math.max(state.firstValue, min);\n\n return (\n <DoubleWrapper>\n {hasLabelContent && (\n <LabelWrapper>\n {labelContentLeft && <LabelContentLeft>{labelContentLeft}</LabelContentLeft>}\n {label && <Label>{label}</Label>}\n </LabelWrapper>\n )}\n <SliderWrapper>\n <SliderBase\n min={min}\n max={max}\n disabled={disabled}\n setStepSize={setStepSize}\n railFillWidth={state.railFillWidth}\n settings={sizeData[size]}\n railFillXPosition={state.railFillXPosition}\n {...rest}\n >\n <Handler\n ref={firstHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onFirstHandleChangeCommitted}\n onChange={onFirstHandleChange}\n min={min}\n max={state.secondValue}\n disabled={disabled}\n bounds={[min, state.secondValue]}\n side=\"left\"\n xPosition={state.xFirstHandle}\n zIndex={state.firstHandleZIndex}\n value={currentFirstSliderValue}\n ariaLabel={ariaLabelLeft}\n onMouseEnter={() => setFirstInputActive(true)}\n onMouseLeave={() => setFirstInputActive(false)}\n />\n <Handler\n ref={secondHandleRef}\n stepSize={state.stepSize}\n multipleStepSize={multipleStepSize}\n onChangeCommitted={onSecondHandleChangeCommitted}\n onChange={onSecondHandleChange}\n min={min}\n ariaValueMin={currentFirstSliderValue}\n max={max}\n disabled={disabled}\n bounds={[state.firstValue, max]}\n side=\"right\"\n xPosition={state.xSecondHandle}\n zIndex={state.secondHandleZIndex}\n value={Math.max(state.secondValue, min)}\n ariaLabel={ariaLabelRight}\n onMouseEnter={() => setSecondInputActive(true)}\n onMouseLeave={() => setSecondInputActive(false)}\n />\n </SliderBase>\n\n <InputsWrapper>\n <StyledInput\n className={cx(classes.firstTextField, firstInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={firstValue}\n onChange={onFirstTextfieldChange}\n onBlur={onFirstTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n <StyledInput\n className={cx(classes.secondTextField, secondInputActiveClass)}\n enumerationType=\"plain\"\n disabled={disabled}\n value={secondValue}\n onChange={onSecondTextfieldChange}\n onBlur={onSecondTextfieldBlur}\n onKeyDown={onTextfieldKeyDown}\n />\n </InputsWrapper>\n </SliderWrapper>\n </DoubleWrapper>\n );\n};\n"],"names":["getXCenterHandle","handle","_handle$parentElement","containerX","parentElement","getBoundingClientRect","x","handleRect","handlePosition","DoubleSlider","_ref","min","max","value","disabled","label","labelContentLeft","_ref$size","size","onChangeCommitted","onChangeTextField","onBlurTextField","onKeyDownTextField","onChange","ariaLabel","_ref$multipleStepSize","multipleStepSize","rest","_objectWithoutProperties","_excluded","_useState","useState","stepSize","railFillWidth","railFillXPosition","xFirstHandle","xSecondHandle","firstHandleZIndex","secondHandleZIndex","firstValue","secondValue","_useState2","_slicedToArray","state","setState","_useState3","_useState4","firstInputActive","setFirstInputActive","_useState5","_useState6","secondInputActive","setSecondInputActive","_useState7","_useState8","setFirstValue","_useState9","_useState10","setSecondValue","firstHandleRef","useRef","secondHandleRef","firstHandleValue","secondHandleValue","hasLabelContent","firstInputActiveClass","classes","textFieldActive","undefined","secondInputActiveClass","useEffect","firstLocalValue","Math","secondLocalValue","prevState","_objectSpread","setStepSize","useCallback","newStepSize","onFirstHandleChange","handleValue","data","current","newHandleXPosition","secondHandleXPosition","fillWidth","onFirstHandleChangeCommitted","onFirstTextfieldChange","event","isNumber","target","Number","onFirstTextfieldBlur","onSecondHandleChange","firstXHandleXPosition","onSecondHandleChangeCommitted","onSecondTextfieldChange","onSecondTextfieldBlur","onTextfieldKeyDown","_ref2","_ref3","ariaLabelLeft","ariaLabelRight","currentFirstSliderValue","React","createElement","DoubleWrapper","LabelWrapper","LabelContentLeft","Label","SliderWrapper","SliderBase","_extends","settings","sizeData","Handler","ref","bounds","side","xPosition","zIndex","onMouseEnter","onMouseLeave","ariaValueMin","InputsWrapper","StyledInput","className","cx","firstTextField","enumerationType","onBlur","onKeyDown","secondTextField"],"mappings":";;;;;;;;;;;;AAqBA,SAASA,gBAAgBA,CAACC,MAAsB,EAAE;AAAA,EAAA,IAAAC,qBAAA,CAAA;EAC9C,IAAMC,UAAU,GAAG,CAAA,CAAAD,qBAAA,GAAAD,MAAM,CAACG,aAAa,MAAAF,IAAAA,IAAAA,qBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAApBA,qBAAA,CAAsBG,qBAAqB,EAAE,MAAA,IAAA,IAAAH,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA7CA,qBAAA,CAA+CI,CAAC,KAAI,CAAC,CAAA;AACxE,EAAA,IAAMC,UAAU,GAAGN,MAAM,CAACI,qBAAqB,EAAE,CAAA;AACjD,EAAA,IAAMG,cAAc,GAAGD,UAAU,CAACD,CAAC,CAAA;EACnC,OAAOE,cAAc,GAAGL,UAAU,CAAA;AACtC,CAAA;IAEaM,YAAmC,GAAG,SAAtCA,YAAmCA,CAAAC,IAAA,EAgB1C;AAAA,EAAA,IAfFC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IACHC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,KAAK,GAAAL,IAAA,CAALK,KAAK;IACLC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;IAAAC,SAAA,GAAAP,IAAA,CAChBQ,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,SAAA;IACVE,iBAAiB,GAAAT,IAAA,CAAjBS,iBAAiB;IACjBC,iBAAiB,GAAAV,IAAA,CAAjBU,iBAAiB;IACjBC,eAAe,GAAAX,IAAA,CAAfW,eAAe;IACfC,kBAAkB,GAAAZ,IAAA,CAAlBY,kBAAkB;IAClBC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;IACRC,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAAC,qBAAA,GAAAf,IAAA,CACTgB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;AAClBE,IAAAA,IAAI,GAAAC,wBAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;EAEP,IAAAC,SAAA,GAA0BC,QAAQ,CAAC;AAC/BC,MAAAA,QAAQ,EAAE,CAAC;AACXC,MAAAA,aAAa,EAAE,CAAC;AAChBC,MAAAA,iBAAiB,EAAE,CAAC;AACpBC,MAAAA,YAAY,EAAE,CAAC;AACfC,MAAAA,aAAa,EAAE,CAAC;AAChBC,MAAAA,iBAAiB,EAAE,GAAG;AACtBC,MAAAA,kBAAkB,EAAE,GAAG;AACvBC,MAAAA,UAAU,EAAE1B,KAAK,CAAC,CAAC,CAAC;MACpB2B,WAAW,EAAE3B,KAAK,CAAC,CAAC,CAAA;AACxB,KAAC,CAAC;IAAA4B,UAAA,GAAAC,cAAA,CAAAZ,SAAA,EAAA,CAAA,CAAA;AAVKa,IAAAA,KAAK,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAWtB,EAAA,IAAAI,UAAA,GAAgDd,QAAQ,CAAC,KAAK,CAAC;IAAAe,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAAxDE,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAG,UAAA,GAAkDlB,QAAQ,CAAC,KAAK,CAAC;IAAAmB,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAE9C,IAAAG,UAAA,GAAoCtB,QAAQ,CAASlB,KAAK,CAAC,CAAC,CAAC,CAAC;IAAAyC,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AAAvDd,IAAAA,UAAU,GAAAe,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;EAChC,IAAAE,UAAA,GAAsCzB,QAAQ,CAASlB,KAAK,CAAC,CAAC,CAAC,CAAC;IAAA4C,WAAA,GAAAf,cAAA,CAAAc,UAAA,EAAA,CAAA,CAAA;AAAzDhB,IAAAA,WAAW,GAAAiB,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA,CAAA;AAElC,EAAA,IAAME,cAAc,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;AAC1D,EAAA,IAAMC,eAAe,GAAGD,MAAM,CAAwB,IAAI,CAAC,CAAA;EAE3D,IAAME,gBAAgB,GAAGF,MAAM,CAAS/C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;EACjD,IAAMkD,iBAAiB,GAAGH,MAAM,CAAS/C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAElD,EAAA,IAAQmB,QAAQ,GAAKW,KAAK,CAAlBX,QAAQ,CAAA;AAEhB,EAAA,IAAMgC,eAAe,GAAGjD,KAAK,IAAIC,gBAAgB,CAAA;EACjD,IAAMiD,qBAAqB,GAAGlB,gBAAgB,IAAI,CAACjC,QAAQ,GAAGoD,OAAO,CAACC,eAAe,GAAGC,SAAS,CAAA;EACjG,IAAMC,sBAAsB,GAAGlB,iBAAiB,IAAI,CAACrC,QAAQ,GAAGoD,OAAO,CAACC,eAAe,GAAGC,SAAS,CAAA;AAEnGE,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAMC,eAAe,GAAGC,IAAI,CAAC7D,GAAG,CAAC6D,IAAI,CAAC5D,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,EAAEF,GAAG,CAAC,EAAEC,GAAG,CAAC,GAAGD,GAAG,CAAA;IACpE,IAAM8D,gBAAgB,GAAGD,IAAI,CAAC7D,GAAG,CAAC6D,IAAI,CAAC5D,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,EAAEF,GAAG,CAAC,EAAEC,GAAG,CAAC,GAAGD,GAAG,CAAA;AAErE4C,IAAAA,aAAa,CAAC1C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACvB6C,IAAAA,cAAc,CAAC7C,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAExB+B,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;QACZxC,iBAAiB,EAAEF,QAAQ,GAAGuC,eAAe;AAC7CtC,QAAAA,aAAa,EAAED,QAAQ,GAAGyC,gBAAgB,GAAGzC,QAAQ,GAAGuC,eAAe;QACvEpC,YAAY,EAAEH,QAAQ,GAAGuC,eAAe;QACxCnC,aAAa,EAAEJ,QAAQ,GAAGyC,gBAAAA;AAAgB,OAAA,CAAA,CAAA;AAAA,KAC5C,CAAC,CAAA;AACP,GAAC,EAAE,CAAC5D,KAAK,EAAEmB,QAAQ,EAAErB,GAAG,EAAEC,GAAG,EAAE2C,aAAa,EAAEG,cAAc,CAAC,CAAC,CAAA;AAE9D,EAAA,IAAMkB,WAAW,GAAGC,WAAW,CAC3B,UAACC,WAAmB,EAAK;IACrBlC,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;AACZ1C,QAAAA,QAAQ,EAAE8C,WAAAA;AAAW,OAAA,CAAA,CAAA;AAAA,KACvB,CAAC,CAAA;AACP,GAAC,EACD,CAAClC,QAAQ,CACb,CAAC,CAAA;EAED,IAAMmC,mBAA0D,GAAG,SAA7DA,mBAA0DA,CAAIC,WAAW,EAAEC,IAAI,EAAK;IACtF,IAAI,EAACpB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAEqB,OAAO,CAAE,EAAA;AAC3B,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAMC,kBAAkB,GAAGF,IAAI,CAAC3E,CAAC,CAAA;AACjC,IAAA,IAAM8E,qBAAqB,GAAGpF,gBAAgB,CAAC6D,eAAe,CAACqB,OAAO,CAAC,CAAA;AACvE,IAAA,IAAMG,SAAS,GAAGD,qBAAqB,GAAGD,kBAAkB,CAAA;IAE5DrB,gBAAgB,CAACoB,OAAO,GAAGF,WAAW,CAAA;IAEtCzB,aAAa,CAACyB,WAAW,CAAC,CAAA;IAE1BpC,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;AACZrC,QAAAA,iBAAiB,EAAE,GAAG;AACtBC,QAAAA,kBAAkB,EAAE,GAAG;AACvBL,QAAAA,aAAa,EAAEoD,SAAS,GAAG,CAAC,GAAG,CAAC,GAAGA,SAAS;AAC5CnD,QAAAA,iBAAiB,EAAEiD,kBAAAA;AAAkB,OAAA,CAAA,CAAA;AAAA,KACvC,CAAC,CAAA;AACH,IAAA,IAAI5D,QAAQ,EAAE;MACVA,QAAQ,CAAC,CAACyD,WAAW,EAAEnE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;EAED,IAAMyE,4BAA4E,GAAG,SAA/EA,4BAA4EA,CAAIN,WAAW,EAAEC,IAAI,EAAK;IACxG,IAAI,EAACpB,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAEqB,OAAO,CAAE,EAAA;AAC3B,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAMC,kBAAkB,GAAGF,IAAI,CAAC3E,CAAC,CAAA;AACjC,IAAA,IAAM8E,qBAAqB,GAAGpF,gBAAgB,CAAC6D,eAAe,CAACqB,OAAO,CAAC,CAAA;AACvE,IAAA,IAAMG,SAAS,GAAGD,qBAAqB,GAAGD,kBAAkB,CAAA;IAE5DrB,gBAAgB,CAACoB,OAAO,GAAGF,WAAW,CAAA;IAEtCzB,aAAa,CAACyB,WAAW,CAAC,CAAA;AAC1B,IAAA,IAAI7D,iBAAiB,EAAE;MACnBA,iBAAiB,CAAC,CAAC6D,WAAW,EAAEnE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9C,KAAA;IAEA+B,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;AACZnC,QAAAA,UAAU,EAAEyC,WAAW;QACvB7C,YAAY,EAAE8C,IAAI,CAAC3E,CAAC;AACpB2B,QAAAA,aAAa,EAAEoD,SAAS,GAAG,CAAC,GAAG,CAAC,GAAGA,SAAS;AAC5CnD,QAAAA,iBAAiB,EAAEiD,kBAAAA;AAAkB,OAAA,CAAA,CAAA;AAAA,KACvC,CAAC,CAAA;GACN,CAAA;AAED,EAAA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,KAAoC,EAAK;IACrE,IAAI,CAACC,QAAQ,CAACD,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,EAAE;AAC/B,MAAA,OAAA;AACJ,KAAA;IAEA,IAAMmE,WAAW,GAAGW,MAAM,CAACH,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,CAAA;IAE9C0C,aAAa,CAACyB,WAAW,CAAC,CAAA;AAC1B,IAAA,IAAI5D,iBAAiB,EAAE;MACnBA,iBAAiB,CAAC,CAAC4D,WAAW,EAAExC,WAAW,CAAC,EAAEgD,KAAK,CAAC,CAAA;AACxD,KAAA;GACH,CAAA;AAED,EAAA,IAAMI,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIJ,KAAmC,EAAK;IAClE,IAAI,CAACC,QAAQ,CAACD,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,EAAE;AAC/B,MAAA,OAAA;AACJ,KAAA;IAEA,IAAMmE,WAAW,GAAGW,MAAM,CAACH,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,CAAA;IAE9C0C,aAAa,CAACyB,WAAW,CAAC,CAAA;AAC1B,IAAA,IAAI3D,eAAe,EAAE;MACjBA,eAAe,IAAIA,eAAe,CAAC,CAAC2D,WAAW,EAAExC,WAAW,CAAC,EAAEgD,KAAK,CAAC,CAAA;AACzE,KAAA;GACH,CAAA;EAED,IAAMK,oBAA2D,GAAG,SAA9DA,oBAA2DA,CAAIb,WAAW,EAAEC,IAAI,EAAK;IACvF,IAAI,EAACtB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,eAAdA,cAAc,CAAEuB,OAAO,CAAE,EAAA;AAC1B,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAMY,qBAAqB,GAAG9F,gBAAgB,CAAC2D,cAAc,CAACuB,OAAO,CAAC,CAAA;AAEtE,IAAA,IAAMC,kBAAkB,GAAGF,IAAI,CAAC3E,CAAC,CAAA;AACjC,IAAA,IAAM+E,SAAS,GAAGF,kBAAkB,GAAGW,qBAAqB,CAAA;IAE5D/B,iBAAiB,CAACmB,OAAO,GAAGF,WAAW,CAAA;IAEvCtB,cAAc,CAACsB,WAAW,CAAC,CAAA;IAC3BpC,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;AACZrC,QAAAA,iBAAiB,EAAE,GAAG;AACtBC,QAAAA,kBAAkB,EAAE,GAAG;AACvBL,QAAAA,aAAa,EAAEoD,SAAS,GAAG,CAAC,GAAG,CAAC,GAAGA,SAAS;AAC5CnD,QAAAA,iBAAiB,EAAE4D,qBAAAA;AAAqB,OAAA,CAAA,CAAA;AAAA,KAC1C,CAAC,CAAA;AACH,IAAA,IAAIvE,QAAQ,EAAE;MACVA,QAAQ,CAAC,CAACV,KAAK,CAAC,CAAC,CAAC,EAAEmE,WAAW,CAAC,CAAC,CAAA;AACrC,KAAA;GACH,CAAA;EAED,IAAMe,6BAA6E,GAAG,SAAhFA,6BAA6EA,CAAIf,WAAW,EAAEC,IAAI,EAAK;IACzG,IAAI,EAACtB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,eAAdA,cAAc,CAAEuB,OAAO,CAAE,EAAA;AAC1B,MAAA,OAAA;AACJ,KAAA;AACA,IAAA,IAAMY,qBAAqB,GAAG9F,gBAAgB,CAAC2D,cAAc,CAACuB,OAAO,CAAC,CAAA;AAEtE,IAAA,IAAMC,kBAAkB,GAAGF,IAAI,CAAC3E,CAAC,CAAA;AACjC,IAAA,IAAM+E,SAAS,GAAGF,kBAAkB,GAAGW,qBAAqB,CAAA;IAE5D/B,iBAAiB,CAACmB,OAAO,GAAGF,WAAW,CAAA;AAEvC,IAAA,IAAI7D,iBAAiB,EAAE;MACnBA,iBAAiB,CAAC,CAACN,KAAK,CAAC,CAAC,CAAC,EAAEmE,WAAW,CAAC,CAAC,CAAA;AAC9C,KAAA;IAEAtB,cAAc,CAACsB,WAAW,CAAC,CAAA;IAC3BpC,QAAQ,CAAC,UAAC8B,SAAS,EAAA;AAAA,MAAA,OAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZD,SAAS,CAAA,EAAA,EAAA,EAAA;AACZlC,QAAAA,WAAW,EAAEwC,WAAW;QACxB5C,aAAa,EAAE6C,IAAI,CAAC3E,CAAC;AACrB2B,QAAAA,aAAa,EAAEoD,SAAS,GAAG,CAAC,GAAG,CAAC,GAAGA,SAAS;AAC5CnD,QAAAA,iBAAiB,EAAE4D,qBAAAA;AAAqB,OAAA,CAAA,CAAA;AAAA,KAC1C,CAAC,CAAA;GACN,CAAA;AAED,EAAA,IAAME,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIR,KAAoC,EAAK;IACtE,IAAI,CAACC,QAAQ,CAACD,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,EAAE;AAC/B,MAAA,OAAA;AACJ,KAAA;IACA,IAAMmE,WAAW,GAAGW,MAAM,CAACH,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,CAAA;IAE9C6C,cAAc,CAACsB,WAAW,CAAC,CAAA;AAC3B,IAAA,IAAI5D,iBAAiB,EAAE;MACnBA,iBAAiB,CAAC,CAACmB,UAAU,EAAEyC,WAAW,CAAC,EAAEQ,KAAK,CAAC,CAAA;AACvD,KAAA;GACH,CAAA;AAED,EAAA,IAAMS,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIT,KAAmC,EAAK;IACnE,IAAI,CAACC,QAAQ,CAACD,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,EAAE;AAC/B,MAAA,OAAA;AACJ,KAAA;IAEA,IAAMmE,WAAW,GAAGW,MAAM,CAACH,KAAK,CAACE,MAAM,CAAC7E,KAAK,CAAC,CAAA;IAE9C6C,cAAc,CAACsB,WAAW,CAAC,CAAA;AAC3B,IAAA,IAAI3D,eAAe,EAAE;MACjBA,eAAe,CAAC,CAACkB,UAAU,EAAEyC,WAAW,CAAC,EAAEQ,KAAK,CAAC,CAAA;AACrD,KAAA;GACH,CAAA;AAED,EAAA,IAAMU,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIV,KAAsE,EAAK;AACnG,IAAA,IAAIlE,kBAAkB,EAAE;MACpBA,kBAAkB,CAAC,CAACiB,UAAU,EAAEC,WAAW,CAAC,EAAEgD,KAAK,CAAC,CAAA;AACxD,KAAA;GACH,CAAA;AAED,EAAA,IAAAW,KAAA,GAAwC3E,SAAS,IAAI,EAAE;IAAA4E,KAAA,GAAA1D,cAAA,CAAAyD,KAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,aAAa,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;EACpC,IAAMG,uBAAuB,GAAG/B,IAAI,CAAC5D,GAAG,CAAC+B,KAAK,CAACJ,UAAU,EAAE5B,GAAG,CAAC,CAAA;EAE/D,oBACI6F,KAAA,CAAAC,aAAA,CAACC,aAAa,EACT1C,IAAAA,EAAAA,eAAe,iBACZwC,KAAA,CAAAC,aAAA,CAACE,YAAY,EAAA,IAAA,EACR3F,gBAAgB,iBAAIwF,KAAA,CAAAC,aAAA,CAACG,gBAAgB,EAAA,IAAA,EAAE5F,gBAAmC,CAAC,EAC3ED,KAAK,iBAAIyF,KAAA,CAAAC,aAAA,CAACI,KAAK,EAAA,IAAA,EAAE9F,KAAa,CACrB,CACjB,eACDyF,KAAA,CAAAC,aAAA,CAACK,aAAa,EACVN,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACM,UAAU,EAAAC,QAAA,CAAA;AACPrG,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTE,IAAAA,QAAQ,EAAEA,QAAS;AACnB8D,IAAAA,WAAW,EAAEA,WAAY;IACzB3C,aAAa,EAAEU,KAAK,CAACV,aAAc;AACnCgF,IAAAA,QAAQ,EAAEC,QAAQ,CAAChG,IAAI,CAAE;IACzBgB,iBAAiB,EAAES,KAAK,CAACT,iBAAAA;AAAkB,GAAA,EACvCP,IAAI,CAER6E,eAAAA,KAAA,CAAAC,aAAA,CAACU,OAAO,EAAA;AACJC,IAAAA,GAAG,EAAEzD,cAAe;IACpB3B,QAAQ,EAAEW,KAAK,CAACX,QAAS;AACzBN,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCP,IAAAA,iBAAiB,EAAEmE,4BAA6B;AAChD/D,IAAAA,QAAQ,EAAEwD,mBAAoB;AAC9BpE,IAAAA,GAAG,EAAEA,GAAI;IACTC,GAAG,EAAE+B,KAAK,CAACH,WAAY;AACvB1B,IAAAA,QAAQ,EAAEA,QAAS;AACnBuG,IAAAA,MAAM,EAAE,CAAC1G,GAAG,EAAEgC,KAAK,CAACH,WAAW,CAAE;AACjC8E,IAAAA,IAAI,EAAC,MAAM;IACXC,SAAS,EAAE5E,KAAK,CAACR,YAAa;IAC9BqF,MAAM,EAAE7E,KAAK,CAACN,iBAAkB;AAChCxB,IAAAA,KAAK,EAAE0F,uBAAwB;AAC/B/E,IAAAA,SAAS,EAAE6E,aAAc;IACzBoB,YAAY,EAAE,SAAAA,YAAA,GAAA;MAAA,OAAMzE,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAAC;IAC9C0E,YAAY,EAAE,SAAAA,YAAA,GAAA;MAAA,OAAM1E,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GAClD,CAAC,eACFwD,KAAA,CAAAC,aAAA,CAACU,OAAO,EAAA;AACJC,IAAAA,GAAG,EAAEvD,eAAgB;IACrB7B,QAAQ,EAAEW,KAAK,CAACX,QAAS;AACzBN,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCP,IAAAA,iBAAiB,EAAE4E,6BAA8B;AACjDxE,IAAAA,QAAQ,EAAEsE,oBAAqB;AAC/BlF,IAAAA,GAAG,EAAEA,GAAI;AACTgH,IAAAA,YAAY,EAAEpB,uBAAwB;AACtC3F,IAAAA,GAAG,EAAEA,GAAI;AACTE,IAAAA,QAAQ,EAAEA,QAAS;AACnBuG,IAAAA,MAAM,EAAE,CAAC1E,KAAK,CAACJ,UAAU,EAAE3B,GAAG,CAAE;AAChC0G,IAAAA,IAAI,EAAC,OAAO;IACZC,SAAS,EAAE5E,KAAK,CAACP,aAAc;IAC/BoF,MAAM,EAAE7E,KAAK,CAACL,kBAAmB;IACjCzB,KAAK,EAAE2D,IAAI,CAAC5D,GAAG,CAAC+B,KAAK,CAACH,WAAW,EAAE7B,GAAG,CAAE;AACxCa,IAAAA,SAAS,EAAE8E,cAAe;IAC1BmB,YAAY,EAAE,SAAAA,YAAA,GAAA;MAAA,OAAMrE,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAAC;IAC/CsE,YAAY,EAAE,SAAAA,YAAA,GAAA;MAAA,OAAMtE,oBAAoB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GACnD,CACO,CAAC,eAEboD,KAAA,CAAAC,aAAA,CAACmB,aAAa,EACVpB,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACoB,WAAW,EAAA;IACRC,SAAS,EAAEC,EAAE,CAAC7D,OAAO,CAAC8D,cAAc,EAAE/D,qBAAqB,CAAE;AAC7DgE,IAAAA,eAAe,EAAC,OAAO;AACvBnH,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,KAAK,EAAE0B,UAAW;AAClBhB,IAAAA,QAAQ,EAAEgE,sBAAuB;AACjC2C,IAAAA,MAAM,EAAEtC,oBAAqB;AAC7BuC,IAAAA,SAAS,EAAEjC,kBAAAA;AAAmB,GACjC,CAAC,eACFM,KAAA,CAAAC,aAAA,CAACoB,WAAW,EAAA;IACRC,SAAS,EAAEC,EAAE,CAAC7D,OAAO,CAACkE,eAAe,EAAE/D,sBAAsB,CAAE;AAC/D4D,IAAAA,eAAe,EAAC,OAAO;AACvBnH,IAAAA,QAAQ,EAAEA,QAAS;AACnBD,IAAAA,KAAK,EAAE2B,WAAY;AACnBjB,IAAAA,QAAQ,EAAEyE,uBAAwB;AAClCkC,IAAAA,MAAM,EAAEjC,qBAAsB;AAC9BkC,IAAAA,SAAS,EAAEjC,kBAAAA;GACd,CACU,CACJ,CACJ,CAAC,CAAA;AAExB;;;;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
|
-
import React, { forwardRef, useRef
|
2
|
+
import React, { forwardRef, useRef } from 'react';
|
3
3
|
import Draggable from 'react-draggable';
|
4
4
|
import { getOffsets, getSliderThumbValue } from '../../utils/index.js';
|
5
5
|
import { Thumb } from '../Thumb/Thumb.js';
|
@@ -20,7 +20,6 @@ var KeyboardSupport = {
|
|
20
20
|
ArrowDown: 40
|
21
21
|
};
|
22
22
|
var Handler = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
23
|
-
var _position$x;
|
24
23
|
var stepSize = _ref.stepSize,
|
25
24
|
onChangeCommitted = _ref.onChangeCommitted,
|
26
25
|
onChange = _ref.onChange,
|
@@ -56,26 +55,20 @@ var Handler = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
56
55
|
y: 0
|
57
56
|
} : undefined;
|
58
57
|
var tabIndex = disabled ? -1 : 0;
|
59
|
-
var _useState = useState((_position$x = position === null || position === void 0 ? void 0 : position.x) !== null && _position$x !== void 0 ? _position$x : 0),
|
60
|
-
_useState2 = _slicedToArray(_useState, 2),
|
61
|
-
positionX = _useState2[0],
|
62
|
-
setPositionX = _useState2[1];
|
63
58
|
var computedBounds = {
|
64
59
|
left: (leftPositionBound !== null && leftPositionBound !== void 0 ? leftPositionBound : 0) + offsetLeft,
|
65
60
|
right: (rightPositionBound !== null && rightPositionBound !== void 0 ? rightPositionBound : stepSize * (max - min)) - offsetRight
|
66
61
|
};
|
67
|
-
var showCurrentValueCondition = showCurrentValue && (
|
62
|
+
var showCurrentValueCondition = showCurrentValue && (xPosition >= startOffset && xPosition <= max * stepSize - endOffset || xPosition === 0 && value !== 0);
|
68
63
|
var onDrag = function onDrag(_, data) {
|
69
64
|
var newValue = getSliderThumbValue(data.x, stepSize, min, max);
|
70
65
|
if (lastOnChangeValue.current !== newValue) {
|
71
66
|
onChange === null || onChange === void 0 || onChange(newValue, data);
|
72
|
-
setPositionX(data.x);
|
73
67
|
lastOnChangeValue.current = newValue;
|
74
68
|
}
|
75
69
|
};
|
76
70
|
var onStop = function onStop(_, data) {
|
77
71
|
var newValue = getSliderThumbValue(data.x, stepSize, min, max);
|
78
|
-
setPositionX(data.x);
|
79
72
|
onChangeCommitted && onChangeCommitted(newValue, data);
|
80
73
|
};
|
81
74
|
var onKeyPress = function onKeyPress(event) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\nimport type { DraggableData } from 'react-draggable';\n\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nconst KeyboardSupport = {\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n};\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n stepSize,\n onChangeCommitted,\n onChange,\n xPosition = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n ...rest\n },\n ref,\n ) => {\n const lastOnChangeValue = useRef<number>();\n\n const [offsetLeft, offsetRight] = getOffsets(ref, side);\n\n const [leftValueBound, rightValueBound] = bounds;\n const leftPositionBound = leftValueBound ? (leftValueBound - min) * stepSize : null;\n const rightPositionBound = rightValueBound ? (rightValueBound - min) * stepSize : null;\n\n const position = typeof xPosition === 'number' ? { x: xPosition, y: 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const [positionX, setPositionX] = useState(position?.x ?? 0);\n\n const computedBounds = {\n left: (leftPositionBound ?? 0) + offsetLeft,\n right: (rightPositionBound ?? stepSize * (max - min)) - offsetRight,\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((positionX >= startOffset && positionX <= max * stepSize - endOffset) || (positionX === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n setPositionX(data.x);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n setPositionX(data.x);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const { keyCode, target } = event;\n\n if (!Object.values(KeyboardSupport).includes(keyCode)) {\n return;\n }\n\n const { ArrowUp, ArrowRight, ArrowDown, ArrowLeft, Home, End, PageDown, PageUp } = KeyboardSupport;\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data: DraggableData = {\n x: 0,\n deltaX: stepSize,\n lastX: xPosition,\n y: 0,\n deltaY: 0,\n lastY: 0,\n node: target as HTMLDivElement,\n };\n\n switch (keyCode) {\n case ArrowUp:\n case ArrowRight:\n data.x = xPosition + stepSize;\n break;\n case ArrowDown:\n case ArrowLeft:\n data.x = xPosition - stepSize;\n data.deltaX = -stepSize;\n break;\n case PageUp:\n data.x = xPosition + computedMultipleSteps;\n data.deltaX = computedMultipleSteps;\n break;\n case PageDown:\n data.x = xPosition - computedMultipleSteps;\n data.deltaX = -computedMultipleSteps;\n break;\n case End:\n data.x = max * stepSize;\n break;\n case Home:\n data.x = 0;\n break;\n default:\n data.x = 0;\n }\n\n const { left, right } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n return (\n <Draggable\n axis=\"x\"\n bounds={computedBounds}\n grid={[stepSize, 1]}\n onStop={onStop}\n onDrag={onDrag}\n position={position}\n disabled={disabled}\n >\n <HandlerStyled ref={ref} style={{ zIndex }} onKeyDown={onKeyPress}>\n <Thumb tabIndex={tabIndex} min={min} max={max} value={value} disabled={disabled} {...rest} />\n {showCurrentValueCondition && <StyledValue>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["KeyboardSupport","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Handler","forwardRef","_ref","ref","_position$x","stepSize","onChangeCommitted","onChange","_ref$xPosition","xPosition","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","rest","_objectWithoutProperties","_excluded","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","_slicedToArray","offsetLeft","offsetRight","_bounds","leftValueBound","rightValueBound","leftPositionBound","rightPositionBound","position","x","y","undefined","tabIndex","_useState","useState","_useState2","positionX","setPositionX","computedBounds","left","right","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStop","onKeyPress","event","persist","keyCode","target","Object","values","includes","computedMultipleSteps","multipleStepSize","deltaX","lastX","deltaY","lastY","node","boundedValue","Math","computedValue","React","createElement","Draggable","axis","grid","HandlerStyled","style","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Handler.js","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"sourcesContent":["import React, { useRef, forwardRef, KeyboardEvent } from 'react';\nimport Draggable, { DraggableEventHandler } from 'react-draggable';\nimport type { DraggableData } from 'react-draggable';\n\nimport { getSliderThumbValue, getOffsets } from '../../utils';\nimport { Thumb } from '../Thumb/Thumb';\n\nimport type { HandlerProps } from './Handler.types';\nimport { HandlerStyled, StyledValue } from './Handler.styles';\n\n// TODO: PLASMA-1707\ndeclare module 'react-draggable' {\n export interface DraggableProps {\n children: React.ReactNode;\n }\n}\n\nconst KeyboardSupport = {\n PageUp: 33,\n PageDown: 34,\n End: 35,\n Home: 36,\n ArrowLeft: 37,\n ArrowUp: 38,\n ArrowRight: 39,\n ArrowDown: 40,\n};\n\nexport const Handler = forwardRef<HTMLDivElement, HandlerProps>(\n (\n {\n stepSize,\n onChangeCommitted,\n onChange,\n xPosition = 0,\n min,\n max,\n bounds = [],\n zIndex,\n disabled,\n side,\n showCurrentValue = false,\n startOffset = 0,\n endOffset = 0,\n value,\n ...rest\n },\n ref,\n ) => {\n const lastOnChangeValue = useRef<number>();\n\n const [offsetLeft, offsetRight] = getOffsets(ref, side);\n\n const [leftValueBound, rightValueBound] = bounds;\n const leftPositionBound = leftValueBound ? (leftValueBound - min) * stepSize : null;\n const rightPositionBound = rightValueBound ? (rightValueBound - min) * stepSize : null;\n\n const position = typeof xPosition === 'number' ? { x: xPosition, y: 0 } : undefined;\n const tabIndex = disabled ? -1 : 0;\n\n const computedBounds = {\n left: (leftPositionBound ?? 0) + offsetLeft,\n right: (rightPositionBound ?? stepSize * (max - min)) - offsetRight,\n };\n\n const showCurrentValueCondition =\n showCurrentValue &&\n ((xPosition >= startOffset && xPosition <= max * stepSize - endOffset) || (xPosition === 0 && value !== 0));\n\n const onDrag: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n if (lastOnChangeValue.current !== newValue) {\n onChange?.(newValue, data);\n lastOnChangeValue.current = newValue;\n }\n };\n\n const onStop: DraggableEventHandler = (_, data) => {\n const newValue = getSliderThumbValue(data.x, stepSize, min, max);\n onChangeCommitted && onChangeCommitted(newValue, data);\n };\n\n const onKeyPress = (event: KeyboardEvent<HTMLDivElement>) => {\n event.persist();\n\n const { keyCode, target } = event;\n\n if (!Object.values(KeyboardSupport).includes(keyCode)) {\n return;\n }\n\n const { ArrowUp, ArrowRight, ArrowDown, ArrowLeft, Home, End, PageDown, PageUp } = KeyboardSupport;\n\n const computedMultipleSteps = stepSize * ((rest.multipleStepSize / 100) * max);\n\n const data: DraggableData = {\n x: 0,\n deltaX: stepSize,\n lastX: xPosition,\n y: 0,\n deltaY: 0,\n lastY: 0,\n node: target as HTMLDivElement,\n };\n\n switch (keyCode) {\n case ArrowUp:\n case ArrowRight:\n data.x = xPosition + stepSize;\n break;\n case ArrowDown:\n case ArrowLeft:\n data.x = xPosition - stepSize;\n data.deltaX = -stepSize;\n break;\n case PageUp:\n data.x = xPosition + computedMultipleSteps;\n data.deltaX = computedMultipleSteps;\n break;\n case PageDown:\n data.x = xPosition - computedMultipleSteps;\n data.deltaX = -computedMultipleSteps;\n break;\n case End:\n data.x = max * stepSize;\n break;\n case Home:\n data.x = 0;\n break;\n default:\n data.x = 0;\n }\n\n const { left, right } = computedBounds;\n\n /*\n * INFO: Находим значение в диапазоне между указанными левой и правой границами.\n * Необходимо для правильного расчета положения SliderThumb.\n * см. функция clamp\n */\n const boundedValue = Math.max(Math.min(right, data.x), left);\n\n const computedValue = getSliderThumbValue(boundedValue, stepSize, min, max);\n lastOnChangeValue.current = computedValue;\n\n onChangeCommitted && onChangeCommitted(computedValue, data);\n };\n\n return (\n <Draggable\n axis=\"x\"\n bounds={computedBounds}\n grid={[stepSize, 1]}\n onStop={onStop}\n onDrag={onDrag}\n position={position}\n disabled={disabled}\n >\n <HandlerStyled ref={ref} style={{ zIndex }} onKeyDown={onKeyPress}>\n <Thumb tabIndex={tabIndex} min={min} max={max} value={value} disabled={disabled} {...rest} />\n {showCurrentValueCondition && <StyledValue>{value}</StyledValue>}\n </HandlerStyled>\n </Draggable>\n );\n },\n);\n"],"names":["KeyboardSupport","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Handler","forwardRef","_ref","ref","stepSize","onChangeCommitted","onChange","_ref$xPosition","xPosition","min","max","_ref$bounds","bounds","zIndex","disabled","side","_ref$showCurrentValue","showCurrentValue","_ref$startOffset","startOffset","_ref$endOffset","endOffset","value","rest","_objectWithoutProperties","_excluded","lastOnChangeValue","useRef","_getOffsets","getOffsets","_getOffsets2","_slicedToArray","offsetLeft","offsetRight","_bounds","leftValueBound","rightValueBound","leftPositionBound","rightPositionBound","position","x","y","undefined","tabIndex","computedBounds","left","right","showCurrentValueCondition","onDrag","_","data","newValue","getSliderThumbValue","current","onStop","onKeyPress","event","persist","keyCode","target","Object","values","includes","computedMultipleSteps","multipleStepSize","deltaX","lastX","deltaY","lastY","node","boundedValue","Math","computedValue","React","createElement","Draggable","axis","grid","HandlerStyled","style","onKeyDown","Thumb","_extends","StyledValue"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@salutejs/plasma-new-hope",
|
3
|
-
"version": "0.83.0-canary.1194.
|
3
|
+
"version": "0.83.0-canary.1194.9174145281.0",
|
4
4
|
"description": "Salute Design System blueprint",
|
5
5
|
"main": "cjs/index.js",
|
6
6
|
"module": "es/index.js",
|
@@ -103,5 +103,5 @@
|
|
103
103
|
"react-popper": "2.3.0",
|
104
104
|
"storeon": "3.1.5"
|
105
105
|
},
|
106
|
-
"gitHead": "
|
106
|
+
"gitHead": "de09b33b25cb1cfefda1864ed086956784053e4b"
|
107
107
|
}
|
@@ -135,6 +135,13 @@ var DoubleSlider = exports.DoubleSlider = function DoubleSlider(_ref) {
|
|
135
135
|
}
|
136
136
|
};
|
137
137
|
var onFirstHandleChangeCommitted = function onFirstHandleChangeCommitted(handleValue, data) {
|
138
|
+
if (!(secondHandleRef !== null && secondHandleRef !== void 0 && secondHandleRef.current)) {
|
139
|
+
return;
|
140
|
+
}
|
141
|
+
var newHandleXPosition = data.x;
|
142
|
+
var secondHandleXPosition = getXCenterHandle(secondHandleRef.current);
|
143
|
+
var fillWidth = secondHandleXPosition - newHandleXPosition;
|
144
|
+
firstHandleValue.current = handleValue;
|
138
145
|
setFirstValue(handleValue);
|
139
146
|
if (onChangeCommitted) {
|
140
147
|
onChangeCommitted([handleValue, value[1]]);
|
@@ -142,7 +149,9 @@ var DoubleSlider = exports.DoubleSlider = function DoubleSlider(_ref) {
|
|
142
149
|
setState(function (prevState) {
|
143
150
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
144
151
|
firstValue: handleValue,
|
145
|
-
xFirstHandle: data.
|
152
|
+
xFirstHandle: data.x,
|
153
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
154
|
+
railFillXPosition: newHandleXPosition
|
146
155
|
});
|
147
156
|
});
|
148
157
|
};
|
@@ -188,6 +197,13 @@ var DoubleSlider = exports.DoubleSlider = function DoubleSlider(_ref) {
|
|
188
197
|
}
|
189
198
|
};
|
190
199
|
var onSecondHandleChangeCommitted = function onSecondHandleChangeCommitted(handleValue, data) {
|
200
|
+
if (!(firstHandleRef !== null && firstHandleRef !== void 0 && firstHandleRef.current)) {
|
201
|
+
return;
|
202
|
+
}
|
203
|
+
var firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);
|
204
|
+
var newHandleXPosition = data.x;
|
205
|
+
var fillWidth = newHandleXPosition - firstXHandleXPosition;
|
206
|
+
secondHandleValue.current = handleValue;
|
191
207
|
if (onChangeCommitted) {
|
192
208
|
onChangeCommitted([value[0], handleValue]);
|
193
209
|
}
|
@@ -195,7 +211,9 @@ var DoubleSlider = exports.DoubleSlider = function DoubleSlider(_ref) {
|
|
195
211
|
setState(function (prevState) {
|
196
212
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
197
213
|
secondValue: handleValue,
|
198
|
-
xSecondHandle: data.
|
214
|
+
xSecondHandle: data.x,
|
215
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
216
|
+
railFillXPosition: firstXHandleXPosition
|
199
217
|
});
|
200
218
|
});
|
201
219
|
};
|
@@ -36,7 +36,6 @@ var KeyboardSupport = {
|
|
36
36
|
ArrowDown: 40
|
37
37
|
};
|
38
38
|
var Handler = exports.Handler = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
39
|
-
var _position$x;
|
40
39
|
var stepSize = _ref.stepSize,
|
41
40
|
onChangeCommitted = _ref.onChangeCommitted,
|
42
41
|
onChange = _ref.onChange,
|
@@ -72,26 +71,20 @@ var Handler = exports.Handler = /*#__PURE__*/(0, _react.forwardRef)(function (_r
|
|
72
71
|
y: 0
|
73
72
|
} : undefined;
|
74
73
|
var tabIndex = disabled ? -1 : 0;
|
75
|
-
var _useState = (0, _react.useState)((_position$x = position === null || position === void 0 ? void 0 : position.x) !== null && _position$x !== void 0 ? _position$x : 0),
|
76
|
-
_useState2 = _slicedToArray(_useState, 2),
|
77
|
-
positionX = _useState2[0],
|
78
|
-
setPositionX = _useState2[1];
|
79
74
|
var computedBounds = {
|
80
75
|
left: (leftPositionBound !== null && leftPositionBound !== void 0 ? leftPositionBound : 0) + offsetLeft,
|
81
76
|
right: (rightPositionBound !== null && rightPositionBound !== void 0 ? rightPositionBound : stepSize * (max - min)) - offsetRight
|
82
77
|
};
|
83
|
-
var showCurrentValueCondition = showCurrentValue && (
|
78
|
+
var showCurrentValueCondition = showCurrentValue && (xPosition >= startOffset && xPosition <= max * stepSize - endOffset || xPosition === 0 && value !== 0);
|
84
79
|
var onDrag = function onDrag(_, data) {
|
85
80
|
var newValue = (0, _utils.getSliderThumbValue)(data.x, stepSize, min, max);
|
86
81
|
if (lastOnChangeValue.current !== newValue) {
|
87
82
|
onChange === null || onChange === void 0 || onChange(newValue, data);
|
88
|
-
setPositionX(data.x);
|
89
83
|
lastOnChangeValue.current = newValue;
|
90
84
|
}
|
91
85
|
};
|
92
86
|
var onStop = function onStop(_, data) {
|
93
87
|
var newValue = (0, _utils.getSliderThumbValue)(data.x, stepSize, min, max);
|
94
|
-
setPositionX(data.x);
|
95
88
|
onChangeCommitted && onChangeCommitted(newValue, data);
|
96
89
|
};
|
97
90
|
var onKeyPress = function onKeyPress(event) {
|
@@ -126,6 +126,10 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
126
126
|
setValue(sortValues(values));
|
127
127
|
};
|
128
128
|
|
129
|
+
const onChangeCommitedHandle = (values) => {
|
130
|
+
setValue(sortValues(values));
|
131
|
+
};
|
132
|
+
|
129
133
|
const onBlurTextField = (values) => {
|
130
134
|
setValue(sortValues(values));
|
131
135
|
};
|
@@ -142,6 +146,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
142
146
|
value={value}
|
143
147
|
onKeyDownTextField={onKeyDownTextField}
|
144
148
|
onBlurTextField={onBlurTextField}
|
149
|
+
onChangeCommitted={onChangeCommitedHandle}
|
145
150
|
onChange={onChangeHandle}
|
146
151
|
{...args}
|
147
152
|
/>
|
@@ -125,6 +125,10 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
125
125
|
setValue(sortValues(values));
|
126
126
|
};
|
127
127
|
|
128
|
+
const onChangeCommitedHandle = (values) => {
|
129
|
+
setValue(sortValues(values));
|
130
|
+
};
|
131
|
+
|
128
132
|
const onBlurTextField = (values) => {
|
129
133
|
setValue(sortValues(values));
|
130
134
|
};
|
@@ -141,6 +145,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
141
145
|
value={value}
|
142
146
|
onKeyDownTextField={onKeyDownTextField}
|
143
147
|
onBlurTextField={onBlurTextField}
|
148
|
+
onChangeCommitted={onChangeCommitedHandle}
|
144
149
|
onChange={onChangeHandle}
|
145
150
|
{...args}
|
146
151
|
/>
|
@@ -127,6 +127,13 @@ export var DoubleSlider = function DoubleSlider(_ref) {
|
|
127
127
|
}
|
128
128
|
};
|
129
129
|
var onFirstHandleChangeCommitted = function onFirstHandleChangeCommitted(handleValue, data) {
|
130
|
+
if (!(secondHandleRef !== null && secondHandleRef !== void 0 && secondHandleRef.current)) {
|
131
|
+
return;
|
132
|
+
}
|
133
|
+
var newHandleXPosition = data.x;
|
134
|
+
var secondHandleXPosition = getXCenterHandle(secondHandleRef.current);
|
135
|
+
var fillWidth = secondHandleXPosition - newHandleXPosition;
|
136
|
+
firstHandleValue.current = handleValue;
|
130
137
|
setFirstValue(handleValue);
|
131
138
|
if (onChangeCommitted) {
|
132
139
|
onChangeCommitted([handleValue, value[1]]);
|
@@ -134,7 +141,9 @@ export var DoubleSlider = function DoubleSlider(_ref) {
|
|
134
141
|
setState(function (prevState) {
|
135
142
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
136
143
|
firstValue: handleValue,
|
137
|
-
xFirstHandle: data.
|
144
|
+
xFirstHandle: data.x,
|
145
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
146
|
+
railFillXPosition: newHandleXPosition
|
138
147
|
});
|
139
148
|
});
|
140
149
|
};
|
@@ -180,6 +189,13 @@ export var DoubleSlider = function DoubleSlider(_ref) {
|
|
180
189
|
}
|
181
190
|
};
|
182
191
|
var onSecondHandleChangeCommitted = function onSecondHandleChangeCommitted(handleValue, data) {
|
192
|
+
if (!(firstHandleRef !== null && firstHandleRef !== void 0 && firstHandleRef.current)) {
|
193
|
+
return;
|
194
|
+
}
|
195
|
+
var firstXHandleXPosition = getXCenterHandle(firstHandleRef.current);
|
196
|
+
var newHandleXPosition = data.x;
|
197
|
+
var fillWidth = newHandleXPosition - firstXHandleXPosition;
|
198
|
+
secondHandleValue.current = handleValue;
|
183
199
|
if (onChangeCommitted) {
|
184
200
|
onChangeCommitted([value[0], handleValue]);
|
185
201
|
}
|
@@ -187,7 +203,9 @@ export var DoubleSlider = function DoubleSlider(_ref) {
|
|
187
203
|
setState(function (prevState) {
|
188
204
|
return _objectSpread(_objectSpread({}, prevState), {}, {
|
189
205
|
secondValue: handleValue,
|
190
|
-
xSecondHandle: data.
|
206
|
+
xSecondHandle: data.x,
|
207
|
+
railFillWidth: fillWidth < 0 ? 0 : fillWidth,
|
208
|
+
railFillXPosition: firstXHandleXPosition
|
191
209
|
});
|
192
210
|
});
|
193
211
|
};
|
@@ -8,7 +8,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
8
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
9
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
10
10
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
11
|
-
import React, {
|
11
|
+
import React, { useRef, forwardRef } from 'react';
|
12
12
|
import Draggable from 'react-draggable';
|
13
13
|
import { getSliderThumbValue, getOffsets } from '../../utils';
|
14
14
|
import { Thumb } from '../Thumb/Thumb';
|
@@ -27,7 +27,6 @@ var KeyboardSupport = {
|
|
27
27
|
ArrowDown: 40
|
28
28
|
};
|
29
29
|
export var Handler = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
30
|
-
var _position$x;
|
31
30
|
var stepSize = _ref.stepSize,
|
32
31
|
onChangeCommitted = _ref.onChangeCommitted,
|
33
32
|
onChange = _ref.onChange,
|
@@ -63,26 +62,20 @@ export var Handler = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
63
62
|
y: 0
|
64
63
|
} : undefined;
|
65
64
|
var tabIndex = disabled ? -1 : 0;
|
66
|
-
var _useState = useState((_position$x = position === null || position === void 0 ? void 0 : position.x) !== null && _position$x !== void 0 ? _position$x : 0),
|
67
|
-
_useState2 = _slicedToArray(_useState, 2),
|
68
|
-
positionX = _useState2[0],
|
69
|
-
setPositionX = _useState2[1];
|
70
65
|
var computedBounds = {
|
71
66
|
left: (leftPositionBound !== null && leftPositionBound !== void 0 ? leftPositionBound : 0) + offsetLeft,
|
72
67
|
right: (rightPositionBound !== null && rightPositionBound !== void 0 ? rightPositionBound : stepSize * (max - min)) - offsetRight
|
73
68
|
};
|
74
|
-
var showCurrentValueCondition = showCurrentValue && (
|
69
|
+
var showCurrentValueCondition = showCurrentValue && (xPosition >= startOffset && xPosition <= max * stepSize - endOffset || xPosition === 0 && value !== 0);
|
75
70
|
var onDrag = function onDrag(_, data) {
|
76
71
|
var newValue = getSliderThumbValue(data.x, stepSize, min, max);
|
77
72
|
if (lastOnChangeValue.current !== newValue) {
|
78
73
|
onChange === null || onChange === void 0 || onChange(newValue, data);
|
79
|
-
setPositionX(data.x);
|
80
74
|
lastOnChangeValue.current = newValue;
|
81
75
|
}
|
82
76
|
};
|
83
77
|
var onStop = function onStop(_, data) {
|
84
78
|
var newValue = getSliderThumbValue(data.x, stepSize, min, max);
|
85
|
-
setPositionX(data.x);
|
86
79
|
onChangeCommitted && onChangeCommitted(newValue, data);
|
87
80
|
};
|
88
81
|
var onKeyPress = function onKeyPress(event) {
|
@@ -126,6 +126,10 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
126
126
|
setValue(sortValues(values));
|
127
127
|
};
|
128
128
|
|
129
|
+
const onChangeCommitedHandle = (values) => {
|
130
|
+
setValue(sortValues(values));
|
131
|
+
};
|
132
|
+
|
129
133
|
const onBlurTextField = (values) => {
|
130
134
|
setValue(sortValues(values));
|
131
135
|
};
|
@@ -142,6 +146,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
142
146
|
value={value}
|
143
147
|
onKeyDownTextField={onKeyDownTextField}
|
144
148
|
onBlurTextField={onBlurTextField}
|
149
|
+
onChangeCommitted={onChangeCommitedHandle}
|
145
150
|
onChange={onChangeHandle}
|
146
151
|
{...args}
|
147
152
|
/>
|
@@ -125,6 +125,10 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
125
125
|
setValue(sortValues(values));
|
126
126
|
};
|
127
127
|
|
128
|
+
const onChangeCommitedHandle = (values) => {
|
129
|
+
setValue(sortValues(values));
|
130
|
+
};
|
131
|
+
|
128
132
|
const onBlurTextField = (values) => {
|
129
133
|
setValue(sortValues(values));
|
130
134
|
};
|
@@ -141,6 +145,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
141
145
|
value={value}
|
142
146
|
onKeyDownTextField={onKeyDownTextField}
|
143
147
|
onBlurTextField={onBlurTextField}
|
148
|
+
onChangeCommitted={onChangeCommitedHandle}
|
144
149
|
onChange={onChangeHandle}
|
145
150
|
{...args}
|
146
151
|
/>
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Double.d.ts","sourceRoot":"","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAA0C,MAAM,OAAO,CAAC;AASxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAkBnD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,
|
1
|
+
{"version":3,"file":"Double.d.ts","sourceRoot":"","sources":["../../../../../src/components/Slider/components/Double/Double.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAA0C,MAAM,OAAO,CAAC;AASxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAkBnD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAsT9C,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../../../../src/components/Slider/ui/Handler/Handler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAOjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,OAAO,QAAQ,iBAAiB,CAAC;IAC7B,UAAiB,cAAc;QAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC7B;CACJ;AAaD,eAAO,MAAM,OAAO,qFAyInB,CAAC"}
|