@salutejs/plasma-new-hope 0.239.0-canary.1699.12749937190.0 → 0.239.0-canary.1702.12763507639.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/NumberInput/NumberInput.js +3 -10
- package/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/cjs/components/NumberInput/ui/Input/Input.js +7 -16
- package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/cjs/components/NumberInput/utils/index.js +0 -10
- package/cjs/components/NumberInput/utils/index.js.map +1 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/emotion/cjs/components/NumberInput/NumberInput.js +3 -10
- package/emotion/cjs/components/NumberInput/ui/Input/Input.js +7 -16
- package/emotion/cjs/components/NumberInput/utils/index.js +2 -11
- package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -7
- package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +3 -7
- package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/emotion/es/components/NumberInput/NumberInput.js +3 -10
- package/emotion/es/components/NumberInput/ui/Input/Input.js +8 -17
- package/emotion/es/components/NumberInput/utils/index.js +1 -10
- package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -7
- package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +3 -7
- package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/NumberInput/NumberInput.js +3 -10
- package/es/components/NumberInput/NumberInput.js.map +1 -1
- package/es/components/NumberInput/ui/Input/Input.js +8 -17
- package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
- package/es/components/NumberInput/utils/index.js +1 -10
- package/es/components/NumberInput/utils/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/styled-components/cjs/components/NumberInput/NumberInput.js +3 -10
- package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +7 -16
- package/styled-components/cjs/components/NumberInput/utils/index.js +2 -11
- package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -7
- package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +3 -7
- package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +66 -21
- package/styled-components/es/components/NumberInput/NumberInput.js +3 -10
- package/styled-components/es/components/NumberInput/ui/Input/Input.js +8 -17
- package/styled-components/es/components/NumberInput/utils/index.js +1 -10
- package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +1 -7
- package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +3 -7
- package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +0 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -8
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts +12 -12
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/components/NumberInput/NumberInput.types.d.ts +0 -5
- package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.d.ts +0 -1
- package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
- package/types/components/NumberInput/ui/Input/Input.types.d.ts +0 -1
- package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
- package/types/components/NumberInput/utils/index.d.ts +0 -1
- package/types/components/NumberInput/utils/index.d.ts.map +1 -1
- package/types/components/Range/Range.types.d.ts +5 -5
- package/types/components/Range/Range.types.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +5 -4
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +0 -2
- package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Range/Range.d.ts +12 -12
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +5 -4
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +0 -2
- package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Range/Range.d.ts +12 -12
@@ -19,7 +19,7 @@ var RangeDatePopover = require('./RangeDatePopover/RangeDatePopover.js');
|
|
19
19
|
var noop = require('../../../utils/noop.js');
|
20
20
|
var calendarRangeHelper = require('../../Calendar/utils/calendarRangeHelper.js');
|
21
21
|
|
22
|
-
var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
|
22
|
+
var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
|
23
23
|
var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
24
24
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
25
25
|
var _rangeRef$current, _rangeRef$current2;
|
@@ -93,6 +93,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
93
93
|
closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
|
94
94
|
_ref$closeOnEsc = _ref.closeOnEsc,
|
95
95
|
closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
|
96
|
+
_ref$closeAfterDateSe = _ref.closeAfterDateSelect,
|
97
|
+
closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
|
96
98
|
offset = _ref.offset,
|
97
99
|
onToggle = _ref.onToggle,
|
98
100
|
onChange = _ref.onChange,
|
@@ -145,6 +147,14 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
145
147
|
_useState14 = _rollupPluginBabelHelpers.slicedToArray(_useState13, 2),
|
146
148
|
inputSecondValue = _useState14[0],
|
147
149
|
setInputSecondValue = _useState14[1];
|
150
|
+
var _useState15 = React.useState(Boolean(calendarFirstValue && calendarSecondValue)),
|
151
|
+
_useState16 = _rollupPluginBabelHelpers.slicedToArray(_useState15, 2),
|
152
|
+
fullDateEntered = _useState16[0],
|
153
|
+
setFullDateEntered = _useState16[1];
|
154
|
+
var _useState17 = React.useState(false),
|
155
|
+
_useState18 = _rollupPluginBabelHelpers.slicedToArray(_useState17, 2),
|
156
|
+
secondTextFieldClicked = _useState18[0],
|
157
|
+
setSecondTextFieldClicked = _useState18[1];
|
148
158
|
var setFirstInputValue = function setFirstInputValue(value) {
|
149
159
|
setInputFirstValue(value);
|
150
160
|
if (onChange) {
|
@@ -205,12 +215,12 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
205
215
|
}),
|
206
216
|
handleChangeSecondValue = _useDatePicker2.handleChangeValue,
|
207
217
|
handleCommitSecondDate = _useDatePicker2.handleCommitDate;
|
208
|
-
var handleToggle = function handleToggle(
|
218
|
+
var handleToggle = function handleToggle(currentOpened, event) {
|
209
219
|
var _firstInputRef$curren, _secondInputRef$curre;
|
210
220
|
if (disabled || readOnly) {
|
211
221
|
return;
|
212
222
|
}
|
213
|
-
var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains(event.target || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains(event.target || null)) && event.code !== useKeyboardNavigation.keys.Escape ? true :
|
223
|
+
var isCalendarOpen = (firstInputRef !== null && firstInputRef !== void 0 && (_firstInputRef$curren = firstInputRef.current) !== null && _firstInputRef$curren !== void 0 && _firstInputRef$curren.contains((event === null || event === void 0 ? void 0 : event.target) || null) || secondInputRef !== null && secondInputRef !== void 0 && (_secondInputRef$curre = secondInputRef.current) !== null && _secondInputRef$curre !== void 0 && _secondInputRef$curre.contains((event === null || event === void 0 ? void 0 : event.target) || null)) && (event === null || event === void 0 ? void 0 : event.code) !== useKeyboardNavigation.keys.Escape ? true : currentOpened;
|
214
224
|
if (!isCalendarOpen) {
|
215
225
|
if (calendarFirstValue && !calendarSecondValue) {
|
216
226
|
var _secondInputRef$curre2;
|
@@ -221,11 +231,22 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
221
231
|
firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
|
222
232
|
}
|
223
233
|
}
|
234
|
+
if (!isCalendarOpen) {
|
235
|
+
setSecondTextFieldClicked(false);
|
236
|
+
}
|
224
237
|
if (onToggle) {
|
225
238
|
return onToggle(isCalendarOpen, event);
|
226
239
|
}
|
227
240
|
setIsInnerOpen(isCalendarOpen);
|
228
241
|
};
|
242
|
+
var handleFocusFirstTextField = function handleFocusFirstTextField(event) {
|
243
|
+
onFocusFirstTextfield === null || onFocusFirstTextfield === void 0 || onFocusFirstTextfield(event);
|
244
|
+
setSecondTextFieldClicked(false);
|
245
|
+
};
|
246
|
+
var handleFocusSecondTextField = function handleFocusSecondTextField(event) {
|
247
|
+
onFocusSecondTextfield === null || onFocusSecondTextfield === void 0 || onFocusSecondTextfield(event);
|
248
|
+
setSecondTextFieldClicked(true);
|
249
|
+
};
|
229
250
|
var handleBlur = function handleBlur(event, outerHandler) {
|
230
251
|
if (!inputFirstValue || !inputSecondValue) {
|
231
252
|
outerHandler === null || outerHandler === void 0 || outerHandler(event);
|
@@ -265,6 +286,37 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
265
286
|
closeOnEsc: closeOnEsc
|
266
287
|
}),
|
267
288
|
onKeyDown = _useKeyNavigation.onKeyDown;
|
289
|
+
var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
|
290
|
+
if (!fullDateEntered) {
|
291
|
+
handleCommitFirstDate(chosenDate, false, true, dateInfo);
|
292
|
+
handleCommitSecondDate('');
|
293
|
+
return;
|
294
|
+
}
|
295
|
+
var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
|
296
|
+
var _getSortedValues3 = calendarRangeHelper.getSortedValues([prevValue, chosenDate]),
|
297
|
+
_getSortedValues4 = _rollupPluginBabelHelpers.slicedToArray(_getSortedValues3, 2),
|
298
|
+
first = _getSortedValues4[0],
|
299
|
+
second = _getSortedValues4[1];
|
300
|
+
handleCommitFirstDate(first, false, true, dateInfo);
|
301
|
+
handleCommitSecondDate(second, false, true, dateInfo);
|
302
|
+
if (!firstValueError && !secondValueError && closeAfterDateSelect) {
|
303
|
+
handleToggle(false);
|
304
|
+
}
|
305
|
+
};
|
306
|
+
var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
|
307
|
+
var _ref3 = _rollupPluginBabelHelpers.slicedToArray(_ref2, 2),
|
308
|
+
firstDate = _ref3[0],
|
309
|
+
secondDate = _ref3[1];
|
310
|
+
if (firstDate) {
|
311
|
+
handleCommitFirstDate(firstDate, false, true, dateInfo);
|
312
|
+
}
|
313
|
+
if (secondDate) {
|
314
|
+
handleCommitSecondDate(secondDate, false, true, dateInfo);
|
315
|
+
}
|
316
|
+
if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
|
317
|
+
handleToggle(false);
|
318
|
+
}
|
319
|
+
};
|
268
320
|
var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RangeDate_styles.StyledRange, {
|
269
321
|
ref: rangeRef,
|
270
322
|
autoComplete: autoComplete,
|
@@ -310,8 +362,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
310
362
|
rangeRef === null || rangeRef === void 0 || (_rangeRef$current4 = rangeRef.current) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.firstTextField()) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.current) === null || _rangeRef$current4 === void 0 || _rangeRef$current4.focus();
|
311
363
|
}
|
312
364
|
},
|
313
|
-
onFocusFirstTextfield:
|
314
|
-
onFocusSecondTextfield:
|
365
|
+
onFocusFirstTextfield: handleFocusFirstTextField,
|
366
|
+
onFocusSecondTextfield: handleFocusSecondTextField,
|
315
367
|
onBlurFirstTextfield: function onBlurFirstTextfield(event) {
|
316
368
|
return handleBlur(event, _onBlurFirstTextfield);
|
317
369
|
},
|
@@ -360,8 +412,13 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
360
412
|
lang: lang
|
361
413
|
}));
|
362
414
|
}, [format, lang]);
|
363
|
-
|
364
|
-
|
415
|
+
React.useEffect(function () {
|
416
|
+
if (calendarFirstValue && calendarSecondValue) {
|
417
|
+
setFullDateEntered(true);
|
418
|
+
}
|
419
|
+
}, [calendarFirstValue, calendarSecondValue]);
|
420
|
+
var RootWrapper = React.useCallback(function (_ref4) {
|
421
|
+
var children = _ref4.children;
|
365
422
|
return /*#__PURE__*/React.createElement(Root, {
|
366
423
|
view: view,
|
367
424
|
size: size,
|
@@ -403,20 +460,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
403
460
|
lang: lang,
|
404
461
|
isDoubleCalendar: isDoubleCalendar,
|
405
462
|
rootWrapper: RootWrapper,
|
406
|
-
onChangeStartOfRange:
|
407
|
-
|
408
|
-
handleCommitSecondDate('');
|
409
|
-
},
|
410
|
-
onChangeValue: function onChangeValue(_ref3, dateInfo) {
|
411
|
-
var _ref4 = _rollupPluginBabelHelpers.slicedToArray(_ref3, 2),
|
412
|
-
firstDate = _ref4[0],
|
413
|
-
secondDate = _ref4[1];
|
414
|
-
firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
|
415
|
-
secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
|
416
|
-
if (firstDate && secondDate && !firstValueError && !secondValueError) {
|
417
|
-
setIsInnerOpen(false);
|
418
|
-
}
|
419
|
-
}
|
463
|
+
onChangeStartOfRange: handleChangeStartOfRange,
|
464
|
+
onChangeValue: handleChangeCalendarValue
|
420
465
|
}), leftHelper && /*#__PURE__*/React.createElement(RangeDate_styles.LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(DatePickerBase_styles.InputHidden, _rollupPluginBabelHelpers.extends({
|
421
466
|
name: name,
|
422
467
|
type: "hidden",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useRef, useState } from 'react';\nimport type {\n ChangeEvent,\n KeyboardEvent,\n ChangeEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(\n formatCalendarValue(defaultFirstDate, format, lang),\n );\n const [inputFirstValue, setInputFirstValue] = useState(\n formatInputValue({ value: defaultFirstDate, format, lang }),\n );\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format, lang),\n );\n const [inputSecondValue, setInputSecondValue] = useState(\n formatInputValue({ value: defaultSecondDate, format, lang }),\n );\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (opened: boolean, event: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event.target as Node) || null) ||\n secondInputRef?.current?.contains((event.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>).code !== keys.Escape\n ? true\n : opened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue || !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleBlur = (\n event: ChangeEvent<HTMLInputElement>,\n outerHandler?: ChangeEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n const { value: firstDate, isSuccess: firstIsSuccess } = getDateFromFormat(\n inputFirstValue,\n format,\n lang,\n );\n\n const { value: secondDate, isSuccess: secondIsSuccess } = getDateFromFormat(\n inputSecondValue,\n format,\n lang,\n );\n\n if (!firstIsSuccess || !secondIsSuccess) {\n outerHandler?.(event);\n return;\n }\n\n const [startValue, endValue] = getSortedValues([new Date(firstDate), new Date(secondDate)]);\n\n setFirstInputValue(formatInputValue({ value: startValue, format, lang }));\n setSecondInputValue(formatInputValue({ value: endValue, format, lang }));\n\n setCalendarFirstValue(formatCalendarValue(startValue, format, lang));\n setCalendarSecondValue(formatCalendarValue(endValue, format, lang));\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={onFocusFirstTextfield}\n onFocusSecondTextfield={onFocusSecondTextfield}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n }, [defaultFirstDate]);\n\n useEffect(() => {\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [defaultSecondDate]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={(firstDate, dateInfo) => {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n handleCommitSecondDate('');\n }}\n onChangeValue={([firstDate, secondDate], dateInfo) => {\n firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);\n secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);\n if (firstDate && secondDate && !firstValueError && !secondValueError) {\n setIsInnerOpen(false);\n }\n }}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","value","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","setFirstInputValue","target","concat","setSecondInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleBlur","outerHandler","_getDateFromFormat","getDateFromFormat","firstDate","firstIsSuccess","isSuccess","_getDateFromFormat2","secondDate","secondIsSuccess","_getSortedValues","getSortedValues","Date","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","RootWrapper","_ref2","children","cx","classes","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","dateInfo","_ref3","_ref4","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(\n formatCalendarValue(defaultFirstDate, format, lang),\n );\n const [inputFirstValue, setInputFirstValue] = useState(\n formatInputValue({ value: defaultFirstDate, format, lang }),\n );\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(defaultSecondDate, format, lang),\n );\n const [inputSecondValue, setInputSecondValue] = useState(\n formatInputValue({ value: defaultSecondDate, format, lang }),\n );\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue || !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n const { value: firstDate, isSuccess: firstIsSuccess } = getDateFromFormat(\n inputFirstValue,\n format,\n lang,\n );\n\n const { value: secondDate, isSuccess: secondIsSuccess } = getDateFromFormat(\n inputSecondValue,\n format,\n lang,\n );\n\n if (!firstIsSuccess || !secondIsSuccess) {\n outerHandler?.(event);\n return;\n }\n\n const [startValue, endValue] = getSortedValues([new Date(firstDate), new Date(secondDate)]);\n\n setFirstInputValue(formatInputValue({ value: startValue, format, lang }));\n setSecondInputValue(formatInputValue({ value: endValue, format, lang }));\n\n setCalendarFirstValue(formatCalendarValue(startValue, format, lang));\n setCalendarSecondValue(formatCalendarValue(endValue, format, lang));\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleCommitFirstDate(chosenDate, false, true, dateInfo);\n handleCommitSecondDate('');\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleCommitFirstDate(first, false, true, dateInfo);\n handleCommitSecondDate(second, false, true, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [Date, Date?], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n }\n\n if (secondDate) {\n handleCommitSecondDate(secondDate, false, true, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n }, [defaultFirstDate]);\n\n useEffect(() => {\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [defaultSecondDate]);\n\n useEffect(() => {\n setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));\n setInputFirstValue(formatInputValue({ value: defaultFirstDate, format, lang }));\n\n setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));\n setInputSecondValue(formatInputValue({ value: defaultSecondDate, format, lang }));\n }, [format, lang]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && <LeftHelper>{leftHelper}</LeftHelper>}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","value","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","_useState15","Boolean","_useState16","fullDateEntered","setFullDateEntered","_useState17","_useState18","secondTextFieldClicked","setSecondTextFieldClicked","setFirstInputValue","target","concat","setSecondInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getDateFromFormat","getDateFromFormat","firstDate","firstIsSuccess","isSuccess","_getDateFromFormat2","secondDate","secondIsSuccess","_getSortedValues","getSortedValues","Date","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref2","_ref3","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","RootWrapper","_ref4","children","cx","classes","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IA8BaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC5BC,IAAwG,EAAA;AAAA,EAAA,oBAExGC,gBAAU,CACN,UAAAC,IAAA,EAiFIC,GAAG,EACF;IAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;AAAA,IAAA,IAhFGC,SAAS,GAAAJ,IAAA,CAATI,SAAS;MACTC,YAAY,GAAAL,IAAA,CAAZK,YAAY;MAAAC,qBAAA,GAAAN,IAAA,CAEZO,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,WAAA,GAAAR,IAAA,CACxBS,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MAEdE,KAAK,GAAAV,IAAA,CAALU,KAAK;MACLC,UAAU,GAAAX,IAAA,CAAVW,UAAU;MACVC,WAAW,GAAAZ,IAAA,CAAXY,WAAW;MACXC,YAAY,GAAAb,IAAA,CAAZa,YAAY;MACZC,IAAI,GAAAd,IAAA,CAAJc,IAAI;MACJC,IAAI,GAAAf,IAAA,CAAJe,IAAI;MAAAC,aAAA,GAAAhB,IAAA,CACJiB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAAlB,IAAA,CAChBmB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,IAAI,GAAApB,IAAA,CAAJoB,IAAI;MAAAC,mBAAA,GAAArB,IAAA,CAEJsB,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;MACvBE,WAAW,GAAAvB,IAAA,CAAXuB,WAAW;MAAAC,qBAAA,GAAAxB,IAAA,CAEXyB,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MAAAE,qBAAA,GAAA1B,IAAA,CACrB2B,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MACtBE,eAAe,GAAA5B,IAAA,CAAf4B,eAAe;MACfC,gBAAgB,GAAA7B,IAAA,CAAhB6B,gBAAgB;MAChBC,iBAAiB,GAAA9B,IAAA,CAAjB8B,iBAAiB;MACjBC,kBAAkB,GAAA/B,IAAA,CAAlB+B,kBAAkB;MAClBC,gBAAgB,GAAAhC,IAAA,CAAhBgC,gBAAgB;MAChBC,iBAAiB,GAAAjC,IAAA,CAAjBiC,iBAAiB;MACjBC,yBAAyB,GAAAlC,IAAA,CAAzBkC,yBAAyB;MACzBC,0BAA0B,GAAAnC,IAAA,CAA1BmC,0BAA0B;MAC1BC,0BAA0B,GAAApC,IAAA,CAA1BoC,0BAA0B;MAC1BC,2BAA2B,GAAArC,IAAA,CAA3BqC,2BAA2B;MAC3BC,wBAAwB,GAAAtC,IAAA,CAAxBsC,wBAAwB;MACxBC,yBAAyB,GAAAvC,IAAA,CAAzBuC,yBAAyB;MACzBC,uBAAuB,GAAAxC,IAAA,CAAvBwC,uBAAuB;MACvBC,wBAAwB,GAAAzC,IAAA,CAAxByC,wBAAwB;MAExBC,QAAQ,GAAA1C,IAAA,CAAR0C,QAAQ;MAAAC,qBAAA,GAAA3C,IAAA,CACR4C,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,WAAA,GAAA7C,IAAA,CAE3B8C,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,WAAA;MAAAE,SAAA,GAAA/C,IAAA,CACrBgD,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;MACXE,cAAc,GAAAjD,IAAA,CAAdiD,cAAc;MACdC,GAAG,GAAAlD,IAAA,CAAHkD,GAAG;MACHC,GAAG,GAAAnD,IAAA,CAAHmD,GAAG;MAAAC,qBAAA,GAAApD,IAAA,CACHqD,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACxBE,SAAS,GAAAtD,IAAA,CAATsD,SAAS;MACTC,YAAY,GAAAvD,IAAA,CAAZuD,YAAY;MACZC,cAAc,GAAAxD,IAAA,CAAdwD,cAAc;MACdC,iBAAiB,GAAAzD,IAAA,CAAjByD,iBAAiB;MACjBC,gBAAgB,GAAA1D,IAAA,CAAhB0D,gBAAgB;MAChBC,mBAAmB,GAAA3D,IAAA,CAAnB2D,mBAAmB;MACnBC,aAAa,GAAA5D,IAAA,CAAb4D,aAAa;MACbC,gBAAgB,GAAA7D,IAAA,CAAhB6D,gBAAgB;MAAAC,SAAA,GAAA9D,IAAA,CAChB+D,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MAAAE,UAAA,GAAAhE,IAAA,CAEbiE,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAAAE,cAAA,GAAAlE,IAAA,CAClBmE,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MAAAE,cAAA,GAAApE,IAAA,CACjBqE,SAAS;MAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;MAAAE,qBAAA,GAAAtE,IAAA,CAC7BuE,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAAAxE,IAAA,CAC1ByE,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,qBAAA,GAAA1E,IAAA,CACjB2E,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC3BE,MAAM,GAAA5E,IAAA,CAAN4E,MAAM;MAENC,QAAQ,GAAA7E,IAAA,CAAR6E,QAAQ;MAERC,QAAQ,GAAA9E,IAAA,CAAR8E,QAAQ;MACRC,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;MAClBC,mBAAmB,GAAAhF,IAAA,CAAnBgF,mBAAmB;MAEnBC,iBAAiB,GAAAjF,IAAA,CAAjBiF,iBAAiB;MACjBC,kBAAkB,GAAAlF,IAAA,CAAlBkF,kBAAkB;MAElBC,qBAAqB,GAAAnF,IAAA,CAArBmF,qBAAqB;MACrBC,sBAAsB,GAAApF,IAAA,CAAtBoF,sBAAsB;MACtBC,qBAAoB,GAAArF,IAAA,CAApBqF,oBAAoB;MACpBC,sBAAqB,GAAAtF,IAAA,CAArBsF,qBAAqB;AAElBC,MAAAA,IAAI,GAAAC,iDAAA,CAAAxF,IAAA,EAAAyF,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,QAAQ,GAAGzF,GAAG,IAAI,SAAS,IAAIA,GAAG,GAAGA,GAAG,gBAAG0F,eAAS,EAAkB,CAAA;AAC5E,IAAA,IAAMC,OAAO,GAAGC,YAAM,CAAwB,IAAI,CAAC,CAAA;AAEnD,IAAA,IAAMC,aAAa,GAAGD,YAAM,CAAmB,IAAI,CAAC,CAAA;AACpD,IAAA,IAAME,cAAc,GAAGF,YAAM,CAAmB,IAAI,CAAC,CAAA;IAErD,IAAAG,SAAA,GAA0CC,cAAQ,CAC9CP,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAAxF,iBAAA,GAARwF,QAAQ,CAAEQ,OAAO,cAAAhG,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAmBiG,cAAc,EACrC,CAAC;MAAAC,UAAA,GAAAC,uCAAA,CAAAL,SAAA,EAAA,CAAA,CAAA;AAFMM,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;IAGtC,IAAAI,UAAA,GAA4CP,cAAQ,CAChDP,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAAvF,kBAAA,GAARuF,QAAQ,CAAEQ,OAAO,cAAA/F,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmBsG,eAAe,EACtC,CAAC;MAAAC,UAAA,GAAAL,uCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGxC,IAAA,IAAAG,UAAA,GAAsCZ,cAAQ,CAACxF,MAAM,CAAC;MAAAqG,UAAA,GAAAT,uCAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA/CE,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,IAAA,IAAAG,UAAA,GAAoDhB,cAAQ,CACxDiB,8BAAmB,CAACzF,gBAAgB,EAAEqB,MAAM,EAAEE,IAAI,CACtD,CAAC;MAAAmE,UAAA,GAAAd,uCAAA,CAAAY,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGhD,IAAA,IAAAG,UAAA,GAA8CrB,cAAQ,CAClDsB,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE/F,gBAAgB;AAAEqB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAC9D,CAAC;MAAAyE,WAAA,GAAApB,uCAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AAFMI,MAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAI1C,IAAA,IAAAG,WAAA,GAAsD3B,cAAQ,CAC1DiB,8BAAmB,CAACvF,iBAAiB,EAAEmB,MAAM,EAAEE,IAAI,CACvD,CAAC;MAAA6E,WAAA,GAAAxB,uCAAA,CAAAuB,WAAA,EAAA,CAAA,CAAA;AAFME,MAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,sBAAsB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAGlD,IAAA,IAAAG,WAAA,GAAgD/B,cAAQ,CACpDsB,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE7F,iBAAiB;AAAEmB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAC/D,CAAC;MAAAiF,WAAA,GAAA5B,uCAAA,CAAA2B,WAAA,EAAA,CAAA,CAAA;AAFME,MAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAI5C,IAAAG,WAAA,GAA8CnC,cAAQ,CAACoC,OAAO,CAACjB,kBAAkB,IAAIU,mBAAmB,CAAC,CAAC;MAAAQ,WAAA,GAAAjC,uCAAA,CAAA+B,WAAA,EAAA,CAAA,CAAA;AAAnGG,MAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAE1C,IAAA,IAAAG,WAAA,GAA4DxC,cAAQ,CAAC,KAAK,CAAC;MAAAyC,WAAA,GAAArC,uCAAA,CAAAoC,WAAA,EAAA,CAAA,CAAA;AAApEE,MAAAA,sBAAsB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,yBAAyB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAExD,IAAA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIrB,KAAmC,EAAK;MAChEG,kBAAkB,CAACH,KAAK,CAAC,CAAA;AAEzB,MAAA,IAAI1C,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC;AACLgE,UAAAA,MAAM,EAAE;YACJtB,KAAK,EAAA,EAAA,CAAAuB,MAAA,CAAKvB,KAAK,SAAAuB,MAAA,CAAMb,gBAAgB,CAAE;AACvC9G,YAAAA,IAAI,EAAJA,IAAAA;AACJ,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;KACH,CAAA;AAED,IAAA,IAAM4H,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIxB,KAAmC,EAAK;MACjEW,mBAAmB,CAACX,KAAK,CAAC,CAAA;AAE1B,MAAA,IAAI1C,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC;AACLgE,UAAAA,MAAM,EAAE;YACJtB,KAAK,EAAA,EAAA,CAAAuB,MAAA,CAAKrB,eAAe,SAAAqB,MAAA,CAAMvB,KAAK,CAAE;AACtCpG,YAAAA,IAAI,EAAJA,IAAAA;AACJ,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;KACH,CAAA;IAED,IAAM6H,mBAAmB,GAAGC,iBAAW,CAAC,YAAA;MAAA,OAAMC,iCAAsB,CAACrG,MAAM,CAAC,CAAA;KAAE,EAAA,CAACA,MAAM,CAAC,CAAC,CAAA;IAEvF,IAAAsG,cAAA,GAGIC,2BAAa,CAAC;AACdC,QAAAA,YAAY,EAAE5B,eAAe;AAC7B6B,QAAAA,aAAa,EAAEV,kBAAkB;AACjCW,QAAAA,gBAAgB,EAAEnC,qBAAqB;AACvC4B,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBnG,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJ7B,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRgC,QAAAA,cAAc,EAAdA,cAAc;AACdwG,QAAAA,UAAU,EAAE7H,eAAe;AAC3B8H,QAAAA,YAAY,EAAE5H,iBAAiB;AAC/BV,QAAAA,IAAI,EAAJA,IAAI;AACJuI,QAAAA,aAAa,EAAE5E,kBAAkB;AACjC6E,QAAAA,YAAY,EAAE3E,iBAAAA;AAClB,OAAC,CAAC;MAjBqB4E,sBAAsB,GAAAT,cAAA,CAAzCU,iBAAiB;MACCC,qBAAqB,GAAAX,cAAA,CAAvCY,gBAAgB,CAAA;IAkBpB,IAAAC,eAAA,GAGIZ,2BAAa,CAAC;AACdC,QAAAA,YAAY,EAAEpB,gBAAgB;AAC9BqB,QAAAA,aAAa,EAAEP,mBAAmB;AAClCQ,QAAAA,gBAAgB,EAAEzB,sBAAsB;AACxCkB,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBnG,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJ7B,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRgC,QAAAA,cAAc,EAAdA,cAAc;AACdwG,QAAAA,UAAU,EAAE5H,gBAAgB;AAC5B6H,QAAAA,YAAY,EAAE3H,kBAAkB;AAChC4H,QAAAA,aAAa,EAAE3E,mBAAmB;AAClC4E,QAAAA,YAAY,EAAE1E,kBAAAA;AAClB,OAAC,CAAC;MAhBqBgF,uBAAuB,GAAAD,eAAA,CAA1CH,iBAAiB;MACCK,sBAAsB,GAAAF,eAAA,CAAxCD,gBAAgB,CAAA;IAiBpB,IAAMI,YAAY,GAAG,SAAfA,YAAYA,CAAIC,aAAsB,EAAEC,KAA8B,EAAK;MAAA,IAAAC,qBAAA,EAAAC,qBAAA,CAAA;MAC7E,IAAIrJ,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMwJ,cAAc,GAChB,CAACnE,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAA,CAAAiE,qBAAA,GAAbjE,aAAa,CAAEJ,OAAO,MAAAqE,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAwBG,QAAQ,CAAC,CAACJ,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAExB,MAAM,KAAa,IAAI,CAAC,IAC9DnC,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAA6D,qBAAA,GAAd7D,cAAc,CAAET,OAAO,MAAA,IAAA,IAAAsE,qBAAA,KAAA,KAAA,CAAA,IAAvBA,qBAAA,CAAyBE,QAAQ,CAAC,CAACJ,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAExB,MAAM,KAAa,IAAI,CAAC,KACtE,CAACwB,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAsCK,IAAI,MAAKC,0BAAI,CAACC,MAAM,GAC1D,IAAI,GACJR,aAAa,CAAA;MAEvB,IAAI,CAACI,cAAc,EAAE;AACjB,QAAA,IAAIrD,kBAAkB,IAAI,CAACU,mBAAmB,EAAE;AAAA,UAAA,IAAAgD,sBAAA,CAAA;AAC5CnE,UAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAAmE,KAAAA,CAAAA,IAAAA,CAAAA,sBAAA,GAAdnE,cAAc,CAAET,OAAO,MAAA,IAAA,IAAA4E,sBAAA,KAAvBA,KAAAA,CAAAA,IAAAA,sBAAA,CAAyBC,KAAK,EAAE,CAAA;AACpC,SAAA;AACA,QAAA,IAAIjD,mBAAmB,IAAI,CAACV,kBAAkB,EAAE;AAAA,UAAA,IAAA4D,sBAAA,CAAA;AAC5C1E,UAAAA,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAA0E,KAAAA,CAAAA,IAAAA,CAAAA,sBAAA,GAAb1E,aAAa,CAAEJ,OAAO,MAAA,IAAA,IAAA8E,sBAAA,KAAtBA,KAAAA,CAAAA,IAAAA,sBAAA,CAAwBD,KAAK,EAAE,CAAA;AACnC,SAAA;AACJ,OAAA;MAEA,IAAI,CAACN,cAAc,EAAE;QACjB7B,yBAAyB,CAAC,KAAK,CAAC,CAAA;AACpC,OAAA;AAEA,MAAA,IAAI/D,QAAQ,EAAE;AACV,QAAA,OAAOA,QAAQ,CAAC4F,cAAc,EAAEH,KAAK,CAAC,CAAA;AAC1C,OAAA;MAEAtD,cAAc,CAACyD,cAAc,CAAC,CAAA;KACjC,CAAA;AAED,IAAA,IAAMQ,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIX,KAAmC,EAAK;AACvEnF,MAAAA,qBAAqB,aAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAGmF,KAAK,CAAC,CAAA;MAC9B1B,yBAAyB,CAAC,KAAK,CAAC,CAAA;KACnC,CAAA;AAED,IAAA,IAAMsC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIZ,KAAmC,EAAK;AACxElF,MAAAA,sBAAsB,aAAtBA,sBAAsB,KAAA,KAAA,CAAA,IAAtBA,sBAAsB,CAAGkF,KAAK,CAAC,CAAA;MAC/B1B,yBAAyB,CAAC,IAAI,CAAC,CAAA;KAClC,CAAA;IAED,IAAMuC,UAAU,GAAG,SAAbA,UAAUA,CACZb,KAAmC,EACnCc,YAAkD,EACjD;AACD,MAAA,IAAI,CAAC1D,eAAe,IAAI,CAACQ,gBAAgB,EAAE;AACvCkD,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAAe,kBAAA,GAAwDC,4BAAiB,CACrE5D,eAAe,EACf5E,MAAM,EACNE,IACJ,CAAC;QAJcuI,SAAS,GAAAF,kBAAA,CAAhB7D,KAAK;QAAwBgE,cAAc,GAAAH,kBAAA,CAAzBI,SAAS,CAAA;MAMnC,IAAAC,mBAAA,GAA0DJ,4BAAiB,CACvEpD,gBAAgB,EAChBpF,MAAM,EACNE,IACJ,CAAC;QAJc2I,UAAU,GAAAD,mBAAA,CAAjBlE,KAAK;QAAyBoE,eAAe,GAAAF,mBAAA,CAA1BD,SAAS,CAAA;AAMpC,MAAA,IAAI,CAACD,cAAc,IAAI,CAACI,eAAe,EAAE;AACrCR,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAAuB,gBAAA,GAA+BC,mCAAe,CAAC,CAAC,IAAIC,IAAI,CAACR,SAAS,CAAC,EAAE,IAAIQ,IAAI,CAACJ,UAAU,CAAC,CAAC,CAAC;QAAAK,iBAAA,GAAA3F,uCAAA,CAAAwF,gBAAA,EAAA,CAAA,CAAA;AAApFI,QAAAA,UAAU,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,QAAQ,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;MAE3BnD,kBAAkB,CAACtB,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAEyE,UAAU;AAAEnJ,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;MACzEgG,mBAAmB,CAACzB,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE0E,QAAQ;AAAEpJ,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;MAExEqE,qBAAqB,CAACH,8BAAmB,CAAC+E,UAAU,EAAEnJ,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MACpE+E,sBAAsB,CAACb,8BAAmB,CAACgF,QAAQ,EAAEpJ,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAEnEoI,MAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;KACxB,CAAA;IAED,IAAA6B,iBAAA,GAAsBC,sCAAgB,CAAC;AACnC3B,QAAAA,cAAc,EAAE1D,WAAW;AAC3BlC,QAAAA,QAAQ,EAAEuF,YAAY;AACtB3F,QAAAA,UAAU,EAAVA,UAAAA;AACJ,OAAC,CAAC;MAJM4H,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;IAMjB,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,UAAgB,EAAEC,QAAmB,EAAK;MACxE,IAAI,CAACjE,eAAe,EAAE;QAClBwB,qBAAqB,CAACwC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAEC,QAAQ,CAAC,CAAA;QACxDrC,sBAAsB,CAAC,EAAE,CAAC,CAAA;AAE1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMsC,SAAS,GAAG9D,sBAAsB,GAAGvB,kBAAkB,GAAGU,mBAAmB,CAAA;MAEnF,IAAA4E,iBAAA,GAAwBZ,mCAAe,CAAC,CAACW,SAAS,EAAEF,UAAU,CAAC,CAAC;QAAAI,iBAAA,GAAAtG,uCAAA,CAAAqG,iBAAA,EAAA,CAAA,CAAA;AAAzDE,QAAAA,KAAK,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,MAAM,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;MAEpB5C,qBAAqB,CAAC6C,KAAK,EAAE,KAAK,EAAE,IAAI,EAAEJ,QAAQ,CAAC,CAAA;MACnDrC,sBAAsB,CAAC0C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEL,QAAQ,CAAC,CAAA;AAErD,MAAA,IAAI,CAAC5K,eAAe,IAAI,CAACC,gBAAgB,IAAI8C,oBAAoB,EAAE;QAC/DyF,YAAY,CAAC,KAAK,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;IAED,IAAM0C,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAA4CP,QAAmB,EAAK;AAAA,MAAA,IAAAQ,KAAA,GAAA3G,uCAAA,CAAA0G,KAAA,EAAA,CAAA,CAAA;AAA/DxB,QAAAA,SAAS,GAAAyB,KAAA,CAAA,CAAA,CAAA;AAAErB,QAAAA,UAAU,GAAAqB,KAAA,CAAA,CAAA,CAAA,CAAA;AACrD,MAAA,IAAIzB,SAAS,EAAE;QACXxB,qBAAqB,CAACwB,SAAS,EAAE,KAAK,EAAE,IAAI,EAAEiB,QAAQ,CAAC,CAAA;AAC3D,OAAA;AAEA,MAAA,IAAIb,UAAU,EAAE;QACZxB,sBAAsB,CAACwB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAEa,QAAQ,CAAC,CAAA;AAC7D,OAAA;MAEA,IAAIjB,SAAS,IAAII,UAAU,IAAI,CAAC/J,eAAe,IAAI,CAACC,gBAAgB,IAAI8C,oBAAoB,EAAE;QAC1FyF,YAAY,CAAC,KAAK,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;AAED,IAAA,IAAM6C,cAAc,gBAChBC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAIIF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACE,4BAAW,EAAA;AACRpN,MAAAA,GAAG,EAAEyF,QAAS;AACdrF,MAAAA,YAAY,EAAEA,YAAa;AAC3BkB,MAAAA,WAAW,EAAEA,WAAY;AACzBD,MAAAA,cAAc,EAAEA,cAAe;AAC/BZ,MAAAA,KAAK,EAAEA,KAAM;AACbgC,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCzB,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCe,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCrB,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3ByB,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDP,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,2BAA2B,EAAEA,2BAA4B;AACzDiL,MAAAA,UAAU,EAAE5F,eAAgB;AAC5B6F,MAAAA,WAAW,EAAErF,gBAAiB;AAC9BtG,MAAAA,eAAe,EAAEA,eAAgB;AACjCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCgD,MAAAA,kBAAkB,EAAE8E,sBAAuB;AAC3C7E,MAAAA,mBAAmB,EAAEkF,uBAAwB;AAC7C9I,MAAAA,IAAI,EAAEA,IAAK;AACXoM,MAAAA,kBAAkB,EAAE,SAAAA,kBAAAA,CAACC,CAAC,EAAEC,IAAI,EAAK;QAC7B3D,qBAAqB,CAAC4D,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAChD,QAAA,IAAI,CAAC5F,mBAAmB,IAAIjG,gBAAgB,EAAE;AAAA,UAAA,IAAA+L,kBAAA,CAAA;AAC1ClI,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAkI,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAARlI,QAAQ,CAAEQ,OAAO,MAAA,IAAA,IAAA0H,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmBnH,eAAe,EAAE,MAAAmH,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAApCA,kBAAA,CAAsC1H,OAAO,MAAA,IAAA,IAAA0H,kBAAA,KAA7CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA+C7C,KAAK,EAAE,CAAA;AAC1D,SAAA;OACF;AACF8C,MAAAA,mBAAmB,EAAE,SAAAA,mBAAAA,CAACJ,CAAC,EAAEC,IAAI,EAAK;QAC9BvD,sBAAsB,CAACwD,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACjD,QAAA,IAAI,CAACtG,kBAAkB,IAAIxF,eAAe,EAAE;AAAA,UAAA,IAAAkM,kBAAA,CAAA;AACxCpI,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAoI,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAARpI,QAAQ,CAAEQ,OAAO,MAAA,IAAA,IAAA4H,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmB3H,cAAc,EAAE,MAAA2H,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAnCA,kBAAA,CAAqC5H,OAAO,MAAA,IAAA,IAAA4H,kBAAA,KAA5CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA8C/C,KAAK,EAAE,CAAA;AACzD,SAAA;OACF;AACF5F,MAAAA,qBAAqB,EAAE8F,yBAA0B;AACjD7F,MAAAA,sBAAsB,EAAE8F,0BAA2B;MACnD7F,oBAAoB,EAAE,SAAAA,oBAAAA,CAACiF,KAAK,EAAA;AAAA,QAAA,OAAKa,UAAU,CAACb,KAAK,EAAEjF,qBAAoB,CAAC,CAAA;OAAC;MACzEC,qBAAqB,EAAE,SAAAA,qBAAAA,CAACgF,KAAK,EAAA;AAAA,QAAA,OAAKa,UAAU,CAACb,KAAK,EAAEhF,sBAAqB,CAAC,CAAA;OAAC;AAC3E+G,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CACH,CACL,CAAA;AAED0B,IAAAA,eAAS,CAAC,YAAM;MAAA,IAAAC,kBAAA,EAAAC,kBAAA,CAAA;AACZ1H,MAAAA,gBAAgB,CAAAyH,CAAAA,kBAAA,GAACtI,QAAQ,CAACQ,OAAO,MAAA,IAAA,IAAA8H,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkB7H,cAAc,EAAE,CAAC,CAAA;AACpDS,MAAAA,iBAAiB,CAAAqH,CAAAA,kBAAA,GAACvI,QAAQ,CAACQ,OAAO,MAAA,IAAA,IAAA+H,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBxH,eAAe,EAAE,CAAC,CAAA;AAC1D,KAAC,EAAE,CAACf,QAAQ,CAACQ,OAAO,CAAC,CAAC,CAAA;AAEtB6H,IAAAA,eAAS,CAAC,YAAM;MACZ/G,cAAc,CAAC,UAACkH,QAAQ,EAAA;AAAA,QAAA,OAAKA,QAAQ,KAAKzN,MAAM,IAAIA,MAAM,CAAA;OAAC,CAAA,CAAA;AAC/D,KAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAEZsN,IAAAA,eAAS,CAAC,YAAM;MACZ1G,qBAAqB,CAACH,8BAAmB,CAACzF,gBAAgB,EAAEqB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAC1E2E,kBAAkB,CAACJ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE/F,gBAAgB;AAAEqB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;AACnF,KAAC,EAAE,CAACvB,gBAAgB,CAAC,CAAC,CAAA;AAEtBsM,IAAAA,eAAS,CAAC,YAAM;MACZhG,sBAAsB,CAACb,8BAAmB,CAACvF,iBAAiB,EAAEmB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAC5EmF,mBAAmB,CAACZ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE7F,iBAAiB;AAAEmB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;AACrF,KAAC,EAAE,CAACrB,iBAAiB,CAAC,CAAC,CAAA;AAEvBoM,IAAAA,eAAS,CAAC,YAAM;MACZ1G,qBAAqB,CAACH,8BAAmB,CAACzF,gBAAgB,EAAEqB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAC1E2E,kBAAkB,CAACJ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE/F,gBAAgB;AAAEqB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;MAE/E+E,sBAAsB,CAACb,8BAAmB,CAACvF,iBAAiB,EAAEmB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MAC5EmF,mBAAmB,CAACZ,2BAAgB,CAAC;AAAEC,QAAAA,KAAK,EAAE7F,iBAAiB;AAAEmB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;AACrF,KAAC,EAAE,CAACF,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAElB+K,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI3G,kBAAkB,IAAIU,mBAAmB,EAAE;QAC3CU,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EAAE,CAACpB,kBAAkB,EAAEU,mBAAmB,CAAC,CAAC,CAAA;AAE7C,IAAA,IAAMqG,WAAW,GAAGjF,iBAAW,CAC3B,UAAAkF,KAAA,EAAA;AAAA,MAAA,IAAGC,QAAQ,GAAAD,KAAA,CAARC,QAAQ,CAAA;AAAA,MAAA,oBACPnB,KAAA,CAAAC,aAAA,CAACrN,IAAI,EAAA;AACDgB,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,IAAI,EAAEA,IAAK;QACXX,SAAS,EAAEkO,QAAE,CAACC,yBAAO,CAACC,cAAc,EAAEpO,SAAS,CAAE;AACjDe,QAAAA,QAAQ,EAAEA,QAAS;QACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,OAAA,EAE/BoN,QACC,CAAC,CAAA;KACV,EACD,CAACvN,IAAI,EAAEC,IAAI,EAAEI,QAAQ,EAAEF,QAAQ,CACnC,CAAC,CAAA;AAED,IAAA,oBACIiM,KAAA,CAAAC,aAAA,CAACrN,IAAI,EAAA2O,iCAAA,CAAA;AACDxO,MAAAA,GAAG,EAAE2F,OAAQ;AACb9E,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;MACXX,SAAS,EAAEkO,QAAE,CAACC,yBAAO,CAACC,cAAc,EAAEpO,SAAS,CAAE;AACjDe,MAAAA,QAAQ,EAAEA,QAAS;MACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,KAAA,EAC5BsE,IAAI,CAER2H,eAAAA,KAAA,CAAAC,aAAA,CAACuB,iCAAgB,EAAA;AACbC,MAAAA,aAAa,EAAE,CAACvH,kBAAkB,EAAEU,mBAAmB,CAAE;AACzDgB,MAAAA,MAAM,EAAEmE,cAAe;AACvBxM,MAAAA,MAAM,EAAEsG,WAAY;AACpB1D,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCX,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTc,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCE,MAAAA,UAAU,EAAEA,UAAW;AACvBG,MAAAA,MAAM,EAAEA,MAAO;AACfb,MAAAA,IAAI,EAAEA,IAAK;AACXc,MAAAA,QAAQ,EAAEuF,YAAa;AACvBpH,MAAAA,IAAI,EAAEA,IAAK;AACXzC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCqO,MAAAA,WAAW,EAAET,WAAY;AACzBU,MAAAA,oBAAoB,EAAEvC,wBAAyB;AAC/C3C,MAAAA,aAAa,EAAEmD,yBAAAA;AAA0B,KAC5C,CAAC,EACDnM,UAAU,iBAAIuM,KAAA,CAAAC,aAAA,CAAC2B,2BAAU,QAAEnO,UAAuB,CAAC,eACpDuM,KAAA,CAAAC,aAAA,CAAC4B,iCAAW,EAAAN,iCAAA,CAAA;AACRrN,MAAAA,IAAI,EAAEA,IAAK;AACX2C,MAAAA,IAAI,EAAC,QAAQ;AACbiL,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B,MAAA,iBAAA,EAAgB,MAAM;AACtBxH,MAAAA,KAAK,EAAEE,eAAgB;AACvBzH,MAAAA,GAAG,EAAE6F,aAAAA;KACDmJ,EAAAA,SAAI,CACX,CAAC,eACF/B,KAAA,CAAAC,aAAA,CAAC4B,iCAAW,EAAAN,iCAAA,CAAA;AACRrN,MAAAA,IAAI,EAAEA,IAAK;AACX2C,MAAAA,IAAI,EAAC,QAAQ;AACbiL,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B,MAAA,iBAAA,EAAgB,IAAI;AACpBxH,MAAAA,KAAK,EAAEU,gBAAiB;AACxBjI,MAAAA,GAAG,EAAE8F,cAAAA;KACDkJ,EAAAA,SAAI,CACX,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,qBAAqB,GAAG;AACjC9N,EAAAA,IAAI,EAAE,iBAAiB;AACvB+N,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEvP,mBAAmB;AAC3BwP,EAAAA,IAAI,EAAJA,qBAAI;AACJC,EAAAA,UAAU,EAAE;AACRxO,IAAAA,IAAI,EAAE;AACFyO,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACDzO,IAAAA,IAAI,EAAE;AACFwO,MAAAA,GAAG,EAAEE,WAAAA;KACR;AACDtO,IAAAA,QAAQ,EAAE;AACNoO,MAAAA,GAAG,EAAEG,WAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD1O,IAAAA,QAAQ,EAAE;AACNsO,MAAAA,GAAG,EAAEK,WAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACN9O,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;;"}
|
@@ -13,7 +13,6 @@ var base$2 = require('./variations/_shape/base.js');
|
|
13
13
|
var base$3 = require('./variations/_background-type/base.js');
|
14
14
|
var base$4 = require('./variations/_segmentation/base.js');
|
15
15
|
var base$5 = require('./variations/_disabled/base.js');
|
16
|
-
var index$1 = require('./utils/index.js');
|
17
16
|
var isNumber = require('../../utils/isNumber.js');
|
18
17
|
var ActionButton = require('./ui/ActionButton/ActionButton.js');
|
19
18
|
var IconMinus = require('../_Icon/Icons/IconMinus.js');
|
@@ -21,7 +20,7 @@ var Input = require('./ui/Input/Input.js');
|
|
21
20
|
var IconPlus = require('../_Icon/Icons/IconPlus.js');
|
22
21
|
var getSizeValueFromProp = require('../../utils/getSizeValueFromProp.js');
|
23
22
|
|
24
|
-
var _excluded = ["className", "style", "width", "value", "min", "max", "step", "
|
23
|
+
var _excluded = ["className", "style", "width", "value", "min", "max", "step", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
|
25
24
|
var numberInputRoot = function numberInputRoot(Root) {
|
26
25
|
return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
27
26
|
var _ref2;
|
@@ -33,8 +32,6 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
33
32
|
max = _ref.max,
|
34
33
|
_ref$step = _ref.step,
|
35
34
|
step = _ref$step === void 0 ? 1 : _ref$step,
|
36
|
-
_ref$precision = _ref.precision,
|
37
|
-
precision = _ref$precision === void 0 ? 2 : _ref$precision,
|
38
35
|
isLoading = _ref.isLoading,
|
39
36
|
loader = _ref.loader,
|
40
37
|
size = _ref.size,
|
@@ -68,7 +65,6 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
68
65
|
_useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
|
69
66
|
isAnimationRun = _useState6[0],
|
70
67
|
setIsAnimationRun = _useState6[1];
|
71
|
-
console.log('innerValue', innerValue);
|
72
68
|
var innerWidth = width ? getSizeValueFromProp.getSizeValueFromProp(width) : '100%';
|
73
69
|
var actionIconSize = size === 'xs' ? 'xs' : 's';
|
74
70
|
var solidViewClass = segmentation === 'solid' ? NumberInput_tokens.classes.solidView : undefined;
|
@@ -89,8 +85,7 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
89
85
|
if (isLoading || disabled || isAnimationRun) {
|
90
86
|
return;
|
91
87
|
}
|
92
|
-
var
|
93
|
-
var diffValue = Number(preciseDiff);
|
88
|
+
var diffValue = Number(innerValue) - step;
|
94
89
|
var resValue = min !== undefined && diffValue <= min ? min : diffValue;
|
95
90
|
setInnerValue(resValue);
|
96
91
|
if (onDecrement) {
|
@@ -104,8 +99,7 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
104
99
|
if (isLoading || disabled || isAnimationRun) {
|
105
100
|
return;
|
106
101
|
}
|
107
|
-
var
|
108
|
-
var diffValue = Number(preciseDiff);
|
102
|
+
var diffValue = Number(innerValue) + step;
|
109
103
|
var resValue = max !== undefined && diffValue >= max ? max : diffValue;
|
110
104
|
setInnerValue(resValue);
|
111
105
|
if (onIncrement) {
|
@@ -149,7 +143,6 @@ var numberInputRoot = function numberInputRoot(Root) {
|
|
149
143
|
ref: ref,
|
150
144
|
segmentation: segmentation,
|
151
145
|
value: innerValue,
|
152
|
-
precision: precision,
|
153
146
|
min: min,
|
154
147
|
max: max,
|
155
148
|
isManualInput: isManualInput,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { getPreciseValue } from './utils';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n precision = 2,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n console.log('innerValue', innerValue);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) - step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const preciseDiff = getPreciseValue(Number(innerValue) + step, precision);\n const diffValue = Number(preciseDiff);\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n precision={precision}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","_ref$precision","precision","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","console","log","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","preciseDiff","getPreciseValue","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"NumberInput.js","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, useEffect, useState } from 'react';\n\nimport type { RootProps } from '../../engines';\nimport { cx, getSizeValueFromProp, isNumber } from '../../utils';\nimport { IconMinus, IconPlus } from '../_Icon';\n\nimport type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';\nimport { ActionButton, NumberInput } from './ui';\nimport { classes, privateTokens } from './NumberInput.tokens';\nimport { base } from './NumberInput.styles';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as shapeCSS } from './variations/_shape/base';\nimport { base as inputBackgroundTypeCSS } from './variations/_background-type/base';\nimport { base as segmentationCSS } from './variations/_segmentation/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\n\nexport const numberInputRoot = (Root: RootProps<HTMLDivElement, NumberInputRootProps>) =>\n forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n style,\n width,\n value,\n min,\n max,\n step = 1,\n isLoading,\n loader,\n size,\n view,\n clear,\n shape,\n segmentation,\n inputBackgroundType = 'fill',\n disabled,\n textBefore,\n textAfter,\n customIncrementButton,\n incrementIcon,\n customDecrementButton,\n decrementIcon,\n isManualInput,\n onChange,\n onIncrement,\n onDecrement,\n ...rest\n },\n ref,\n ) => {\n const [innerValue, setInnerValue] = useState<number | string>(value ?? min ?? 0);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [isAnimationRun, setIsAnimationRun] = useState(false);\n\n const innerWidth = width ? getSizeValueFromProp(width) : '100%';\n\n const actionIconSize = size === 'xs' ? 'xs' : 's';\n const solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;\n const segmentedViewClass = segmentation === 'segmented' ? classes.segmentedView : undefined;\n const clearViewClass = clear ? classes.clearView : undefined;\n const disabledClass = disabled ? classes.disabled : undefined;\n const loadingClass = isLoading ? classes.loading : undefined;\n const focusedClass = isInputFocused ? classes.focused : undefined;\n\n const isMinValue = (currentValue: number) => min !== undefined && currentValue <= min;\n const isMaxValue = (currentValue: number) => max !== undefined && currentValue >= max;\n\n const decrementButtonDisabled =\n (isMinValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonDecrementDisabled\n : undefined;\n const incrementButtonDisabled =\n (isMaxValue(Number(innerValue)) && !isAnimationRun) || isLoading\n ? classes.actionButtonIncrementDisabled\n : undefined;\n\n const handleDecrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) - step;\n const resValue = min !== undefined && diffValue <= min ? min : diffValue;\n\n setInnerValue(resValue);\n\n if (onDecrement) {\n onDecrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n const handleIncrement = () => {\n if (isLoading || disabled || isAnimationRun) {\n return;\n }\n\n const diffValue = Number(innerValue) + step;\n const resValue = max !== undefined && diffValue >= max ? max : diffValue;\n\n setInnerValue(resValue);\n\n if (onIncrement) {\n onIncrement(resValue);\n }\n\n if (onChange) {\n onChange(null, resValue);\n }\n };\n\n useEffect(() => {\n if (value === undefined || !isNumber(value)) {\n return;\n }\n\n setInnerValue((prevValue) => (prevValue !== value ? value : prevValue));\n }, [value]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n clear={clear}\n shape={shape}\n segmentation={segmentation}\n isLoading={isLoading}\n {...(segmentation === 'solid' ? { inputBackgroundType: 'clear' } : { inputBackgroundType })}\n className={cx(\n className,\n solidViewClass,\n segmentedViewClass,\n clearViewClass,\n disabledClass,\n loadingClass,\n focusedClass,\n )}\n style={\n {\n ...style,\n [privateTokens.inputWidth]: innerWidth,\n } as CSSProperties\n }\n >\n {customDecrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonDecrement,\n decrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={decrementIcon || <IconMinus color=\"inherit\" size={actionIconSize} />}\n onClick={handleDecrement}\n />\n )}\n <NumberInput\n ref={ref}\n segmentation={segmentation}\n value={innerValue}\n min={min}\n max={max}\n isManualInput={isManualInput}\n textBefore={textBefore}\n textAfter={textAfter}\n isLoading={isLoading}\n loader={loader}\n disabled={disabled}\n isInputFocused={isInputFocused}\n setIsInputFocused={setIsInputFocused}\n setIsAnimationRun={setIsAnimationRun}\n setInnerValue={setInnerValue}\n onChange={onChange}\n {...rest}\n />\n {customIncrementButton || (\n <ActionButton\n className={cx(\n classes.actionButtonIncrement,\n incrementButtonDisabled,\n solidViewClass,\n segmentedViewClass,\n )}\n icon={incrementIcon || <IconPlus color=\"inherit\" size={actionIconSize} />}\n onClick={handleIncrement}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const numberInputConfig = {\n name: 'NumberInput',\n tag: 'div',\n layout: numberInputRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n shape: {\n css: shapeCSS,\n },\n inputBackgroundType: {\n css: inputBackgroundTypeCSS,\n },\n segmentation: {\n css: segmentationCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n },\n defaults: {\n view: 'default',\n size: 'l',\n shape: 'cornered',\n segmentation: 'default',\n },\n};\n"],"names":["numberInputRoot","Root","forwardRef","_ref","ref","_ref2","className","style","width","value","min","max","_ref$step","step","isLoading","loader","size","view","clear","shape","segmentation","_ref$inputBackgroundT","inputBackgroundType","disabled","textBefore","textAfter","customIncrementButton","incrementIcon","customDecrementButton","decrementIcon","isManualInput","onChange","onIncrement","onDecrement","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","innerValue","setInnerValue","_useState3","_useState4","isInputFocused","setIsInputFocused","_useState5","_useState6","isAnimationRun","setIsAnimationRun","innerWidth","getSizeValueFromProp","actionIconSize","solidViewClass","classes","solidView","undefined","segmentedViewClass","segmentedView","clearViewClass","clearView","disabledClass","loadingClass","loading","focusedClass","focused","isMinValue","currentValue","isMaxValue","decrementButtonDisabled","Number","actionButtonDecrementDisabled","incrementButtonDisabled","actionButtonIncrementDisabled","handleDecrement","diffValue","resValue","handleIncrement","useEffect","isNumber","prevValue","React","createElement","_extends","cx","_objectSpread","_defineProperty","privateTokens","inputWidth","ActionButton","actionButtonDecrement","icon","IconMinus","color","onClick","NumberInput","actionButtonIncrement","IconPlus","numberInputConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","shapeCSS","inputBackgroundTypeCSS","segmentationCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
@@ -14,10 +14,9 @@ var useDidMountEffect = require('../../../../hooks/useDidMountEffect.js');
|
|
14
14
|
var isNumber = require('../../../../utils/isNumber.js');
|
15
15
|
|
16
16
|
var _StyledSpinner;
|
17
|
-
var _excluded = ["value", "
|
17
|
+
var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
|
18
18
|
var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
19
19
|
var value = _ref.value,
|
20
|
-
precision = _ref.precision,
|
21
20
|
min = _ref.min,
|
22
21
|
max = _ref.max,
|
23
22
|
isLoading = _ref.isLoading,
|
@@ -83,6 +82,11 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
83
82
|
setIsAnimationRun(false);
|
84
83
|
return;
|
85
84
|
}
|
85
|
+
if (String(newValue).endsWith('.')) {
|
86
|
+
setValues(null, Number(newValue));
|
87
|
+
setIsAnimationRun(false);
|
88
|
+
return;
|
89
|
+
}
|
86
90
|
var resValue = Number(newValue);
|
87
91
|
if (max !== undefined && resValue > max) {
|
88
92
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
@@ -94,16 +98,6 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
94
98
|
setErrorClass(NumberInput_tokens.classes.errorAnimation);
|
95
99
|
setErrorValue(min);
|
96
100
|
setIsAnimationRun(true);
|
97
|
-
return;
|
98
|
-
}
|
99
|
-
if (String(newValue).endsWith('.')) {
|
100
|
-
setValues(null, Number(newValue));
|
101
|
-
setIsAnimationRun(false);
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
if (precision !== undefined) {
|
105
|
-
var preciseNewValue = Number(index.getPreciseValue(newValue, precision));
|
106
|
-
setValues(null, preciseNewValue);
|
107
101
|
}
|
108
102
|
setIsAnimationRun(false);
|
109
103
|
};
|
@@ -129,18 +123,15 @@ var NumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
129
123
|
}
|
130
124
|
return;
|
131
125
|
}
|
132
|
-
console.log('here');
|
133
126
|
var isValid = index.numberSchema.test(cleanValue);
|
134
127
|
if (!isValid) {
|
135
|
-
console.log('not valid', cleanValue);
|
136
128
|
setValues(event, lastValidValue);
|
137
129
|
return;
|
138
130
|
}
|
139
|
-
console.log('valid!', cleanValue);
|
140
131
|
if (textWrapperRef !== null && textWrapperRef !== void 0 && textWrapperRef.current && wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current && (textWrapperRef === null || textWrapperRef === void 0 || (_textWrapperRef$curre = textWrapperRef.current) === null || _textWrapperRef$curre === void 0 ? void 0 : _textWrapperRef$curre.clientWidth) > (wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientWidth)) {
|
141
132
|
wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
|
142
133
|
}
|
143
|
-
setValues(event, cleanValue);
|
134
|
+
setValues(event, Number(cleanValue));
|
144
135
|
};
|
145
136
|
var handleClickInputWrapper = function handleClickInputWrapper() {
|
146
137
|
if (!isManualInput || !inputRef.current) {
|