@salutejs/plasma-new-hope 0.239.0-canary.1702.12763507639.0 → 0.239.0-dev.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.
Files changed (77) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -66
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  3. package/cjs/components/NumberInput/NumberInput.js +10 -3
  4. package/cjs/components/NumberInput/NumberInput.js.map +1 -1
  5. package/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  6. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
  7. package/cjs/components/NumberInput/utils/index.js +10 -0
  8. package/cjs/components/NumberInput/utils/index.js.map +1 -1
  9. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -66
  10. package/emotion/cjs/components/NumberInput/NumberInput.js +10 -3
  11. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  12. package/emotion/cjs/components/NumberInput/utils/index.js +11 -2
  13. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +7 -1
  14. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  15. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +7 -3
  16. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  17. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +21 -66
  18. package/emotion/es/components/NumberInput/NumberInput.js +10 -3
  19. package/emotion/es/components/NumberInput/ui/Input/Input.js +17 -8
  20. package/emotion/es/components/NumberInput/utils/index.js +10 -1
  21. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +7 -1
  22. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  23. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +7 -3
  24. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  25. package/es/components/DatePicker/RangeDate/RangeDate.js +21 -66
  26. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  27. package/es/components/NumberInput/NumberInput.js +10 -3
  28. package/es/components/NumberInput/NumberInput.js.map +1 -1
  29. package/es/components/NumberInput/ui/Input/Input.js +17 -8
  30. package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
  31. package/es/components/NumberInput/utils/index.js +10 -1
  32. package/es/components/NumberInput/utils/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +21 -66
  35. package/styled-components/cjs/components/NumberInput/NumberInput.js +10 -3
  36. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +16 -7
  37. package/styled-components/cjs/components/NumberInput/utils/index.js +11 -2
  38. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +7 -1
  39. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  40. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +7 -3
  41. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  42. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +21 -66
  43. package/styled-components/es/components/NumberInput/NumberInput.js +10 -3
  44. package/styled-components/es/components/NumberInput/ui/Input/Input.js +17 -8
  45. package/styled-components/es/components/NumberInput/utils/index.js +10 -1
  46. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +7 -1
  47. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +1 -0
  48. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +7 -3
  49. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +1 -0
  50. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +8 -10
  51. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  52. package/types/components/DatePicker/RangeDate/RangeDate.styles.d.ts +12 -12
  53. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +0 -4
  54. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  55. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +1 -1
  56. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  57. package/types/components/NumberInput/NumberInput.d.ts.map +1 -1
  58. package/types/components/NumberInput/NumberInput.types.d.ts +5 -0
  59. package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -1
  60. package/types/components/NumberInput/ui/Input/Input.d.ts +1 -0
  61. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
  62. package/types/components/NumberInput/ui/Input/Input.types.d.ts +1 -0
  63. package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -1
  64. package/types/components/NumberInput/utils/index.d.ts +1 -0
  65. package/types/components/NumberInput/utils/index.d.ts.map +1 -1
  66. package/types/components/Range/Range.types.d.ts +5 -5
  67. package/types/components/Range/Range.types.d.ts.map +1 -1
  68. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +4 -5
  69. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +2 -0
  71. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -1
  72. package/types/examples/plasma_b2c/components/Range/Range.d.ts +12 -12
  73. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +4 -5
  74. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  75. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +2 -0
  76. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -1
  77. package/types/examples/plasma_web/components/Range/Range.d.ts +12 -12
@@ -19,7 +19,7 @@ var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
19
19
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
20
20
  var _RangeDate = /*#__PURE__*/require("./RangeDate.styles");
21
21
  var _RangeDatePopover = /*#__PURE__*/require("./RangeDatePopover/RangeDatePopover");
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"];
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"];
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -104,8 +104,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
104
104
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
105
105
  _ref$closeOnEsc = _ref.closeOnEsc,
106
106
  closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
107
- _ref$closeAfterDateSe = _ref.closeAfterDateSelect,
108
- closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
109
107
  offset = _ref.offset,
110
108
  onToggle = _ref.onToggle,
111
109
  onChange = _ref.onChange,
@@ -158,14 +156,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
158
156
  _useState14 = _slicedToArray(_useState13, 2),
159
157
  inputSecondValue = _useState14[0],
160
158
  setInputSecondValue = _useState14[1];
161
- var _useState15 = (0, _react.useState)(Boolean(calendarFirstValue && calendarSecondValue)),
162
- _useState16 = _slicedToArray(_useState15, 2),
163
- fullDateEntered = _useState16[0],
164
- setFullDateEntered = _useState16[1];
165
- var _useState17 = (0, _react.useState)(false),
166
- _useState18 = _slicedToArray(_useState17, 2),
167
- secondTextFieldClicked = _useState18[0],
168
- setSecondTextFieldClicked = _useState18[1];
169
159
  var setFirstInputValue = function setFirstInputValue(value) {
170
160
  setInputFirstValue(value);
171
161
  if (onChange) {
@@ -226,12 +216,12 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
226
216
  }),
227
217
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
228
218
  handleCommitSecondDate = _useDatePicker2.handleCommitDate;
229
- var handleToggle = function handleToggle(currentOpened, event) {
219
+ var handleToggle = function handleToggle(opened, event) {
230
220
  var _firstInputRef$curren, _secondInputRef$curre;
231
221
  if (disabled || readOnly) {
232
222
  return;
233
223
  }
234
- 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;
224
+ 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 : opened;
235
225
  if (!isCalendarOpen) {
236
226
  if (calendarFirstValue && !calendarSecondValue) {
237
227
  var _secondInputRef$curre2;
@@ -242,22 +232,11 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
242
232
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
243
233
  }
244
234
  }
245
- if (!isCalendarOpen) {
246
- setSecondTextFieldClicked(false);
247
- }
248
235
  if (onToggle) {
249
236
  return onToggle(isCalendarOpen, event);
250
237
  }
251
238
  setIsInnerOpen(isCalendarOpen);
252
239
  };
253
- var handleFocusFirstTextField = function handleFocusFirstTextField(event) {
254
- onFocusFirstTextfield === null || onFocusFirstTextfield === void 0 || onFocusFirstTextfield(event);
255
- setSecondTextFieldClicked(false);
256
- };
257
- var handleFocusSecondTextField = function handleFocusSecondTextField(event) {
258
- onFocusSecondTextfield === null || onFocusSecondTextfield === void 0 || onFocusSecondTextfield(event);
259
- setSecondTextFieldClicked(true);
260
- };
261
240
  var handleBlur = function handleBlur(event, outerHandler) {
262
241
  if (!inputFirstValue || !inputSecondValue) {
263
242
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
@@ -297,37 +276,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
297
276
  closeOnEsc: closeOnEsc
298
277
  }),
299
278
  onKeyDown = _useKeyNavigation.onKeyDown;
300
- var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
301
- if (!fullDateEntered) {
302
- handleCommitFirstDate(chosenDate, false, true, dateInfo);
303
- handleCommitSecondDate('');
304
- return;
305
- }
306
- var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
307
- var _getSortedValues3 = (0, _utils2.getSortedValues)([prevValue, chosenDate]),
308
- _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
309
- first = _getSortedValues4[0],
310
- second = _getSortedValues4[1];
311
- handleCommitFirstDate(first, false, true, dateInfo);
312
- handleCommitSecondDate(second, false, true, dateInfo);
313
- if (!firstValueError && !secondValueError && closeAfterDateSelect) {
314
- handleToggle(false);
315
- }
316
- };
317
- var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
318
- var _ref3 = _slicedToArray(_ref2, 2),
319
- firstDate = _ref3[0],
320
- secondDate = _ref3[1];
321
- if (firstDate) {
322
- handleCommitFirstDate(firstDate, false, true, dateInfo);
323
- }
324
- if (secondDate) {
325
- handleCommitSecondDate(secondDate, false, true, dateInfo);
326
- }
327
- if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
328
- handleToggle(false);
329
- }
330
- };
331
279
  var RangeComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledRange, {
332
280
  ref: rangeRef,
333
281
  autoComplete: autoComplete,
@@ -373,8 +321,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
373
321
  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();
374
322
  }
375
323
  },
376
- onFocusFirstTextfield: handleFocusFirstTextField,
377
- onFocusSecondTextfield: handleFocusSecondTextField,
324
+ onFocusFirstTextfield: onFocusFirstTextfield,
325
+ onFocusSecondTextfield: onFocusSecondTextfield,
378
326
  onBlurFirstTextfield: function onBlurFirstTextfield(event) {
379
327
  return handleBlur(event, _onBlurFirstTextfield);
380
328
  },
@@ -423,13 +371,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
423
371
  lang: lang
424
372
  }));
425
373
  }, [format, lang]);
426
- (0, _react.useEffect)(function () {
427
- if (calendarFirstValue && calendarSecondValue) {
428
- setFullDateEntered(true);
429
- }
430
- }, [calendarFirstValue, calendarSecondValue]);
431
- var RootWrapper = (0, _react.useCallback)(function (_ref4) {
432
- var children = _ref4.children;
374
+ var RootWrapper = (0, _react.useCallback)(function (_ref2) {
375
+ var children = _ref2.children;
433
376
  return /*#__PURE__*/_react["default"].createElement(Root, {
434
377
  view: view,
435
378
  size: size,
@@ -471,8 +414,20 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
471
414
  lang: lang,
472
415
  isDoubleCalendar: isDoubleCalendar,
473
416
  rootWrapper: RootWrapper,
474
- onChangeStartOfRange: handleChangeStartOfRange,
475
- onChangeValue: handleChangeCalendarValue
417
+ onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
418
+ handleCommitFirstDate(firstDate, false, true, dateInfo);
419
+ handleCommitSecondDate('');
420
+ },
421
+ onChangeValue: function onChangeValue(_ref3, dateInfo) {
422
+ var _ref4 = _slicedToArray(_ref3, 2),
423
+ firstDate = _ref4[0],
424
+ secondDate = _ref4[1];
425
+ firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
426
+ secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
427
+ if (firstDate && secondDate && !firstValueError && !secondValueError) {
428
+ setIsInnerOpen(false);
429
+ }
430
+ }
476
431
  }), leftHelper && /*#__PURE__*/_react["default"].createElement(_RangeDate.LeftHelper, null, leftHelper), /*#__PURE__*/_react["default"].createElement(_DatePickerBase.InputHidden, _extends({
477
432
  name: name,
478
433
  type: "hidden",
@@ -17,7 +17,8 @@ var _base3 = /*#__PURE__*/require("./variations/_shape/base");
17
17
  var _base4 = /*#__PURE__*/require("./variations/_background-type/base");
18
18
  var _base5 = /*#__PURE__*/require("./variations/_segmentation/base");
19
19
  var _base6 = /*#__PURE__*/require("./variations/_disabled/base");
20
- 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"];
20
+ var _utils2 = /*#__PURE__*/require("./utils");
21
+ var _excluded = ["className", "style", "width", "value", "min", "max", "step", "precision", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
24
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -45,6 +46,8 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
45
46
  max = _ref.max,
46
47
  _ref$step = _ref.step,
47
48
  step = _ref$step === void 0 ? 1 : _ref$step,
49
+ _ref$precision = _ref.precision,
50
+ precision = _ref$precision === void 0 ? 2 : _ref$precision,
48
51
  isLoading = _ref.isLoading,
49
52
  loader = _ref.loader,
50
53
  size = _ref.size,
@@ -78,6 +81,7 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
78
81
  _useState6 = _slicedToArray(_useState5, 2),
79
82
  isAnimationRun = _useState6[0],
80
83
  setIsAnimationRun = _useState6[1];
84
+ console.log('innerValue', innerValue);
81
85
  var innerWidth = width ? (0, _utils.getSizeValueFromProp)(width) : '100%';
82
86
  var actionIconSize = size === 'xs' ? 'xs' : 's';
83
87
  var solidViewClass = segmentation === 'solid' ? _NumberInput.classes.solidView : undefined;
@@ -98,7 +102,8 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
98
102
  if (isLoading || disabled || isAnimationRun) {
99
103
  return;
100
104
  }
101
- var diffValue = Number(innerValue) - step;
105
+ var preciseDiff = (0, _utils2.getPreciseValue)(Number(innerValue) - step, precision);
106
+ var diffValue = Number(preciseDiff);
102
107
  var resValue = min !== undefined && diffValue <= min ? min : diffValue;
103
108
  setInnerValue(resValue);
104
109
  if (onDecrement) {
@@ -112,7 +117,8 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
112
117
  if (isLoading || disabled || isAnimationRun) {
113
118
  return;
114
119
  }
115
- var diffValue = Number(innerValue) + step;
120
+ var preciseDiff = (0, _utils2.getPreciseValue)(Number(innerValue) + step, precision);
121
+ var diffValue = Number(preciseDiff);
116
122
  var resValue = max !== undefined && diffValue >= max ? max : diffValue;
117
123
  setInnerValue(resValue);
118
124
  if (onIncrement) {
@@ -156,6 +162,7 @@ var numberInputRoot = exports.numberInputRoot = function numberInputRoot(Root) {
156
162
  ref: ref,
157
163
  segmentation: segmentation,
158
164
  value: innerValue,
165
+ precision: precision,
159
166
  min: min,
160
167
  max: max,
161
168
  isManualInput: isManualInput,
@@ -14,7 +14,7 @@ var _utils2 = /*#__PURE__*/require("../../utils");
14
14
  var _constants = /*#__PURE__*/require("../../../../utils/constants");
15
15
  var _Input = /*#__PURE__*/require("./Input.styles");
16
16
  var _StyledSpinner;
17
- var _excluded = ["value", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
17
+ var _excluded = ["value", "precision", "min", "max", "isLoading", "loader", "disabled", "segmentation", "textBefore", "textAfter", "isManualInput", "isInputFocused", "setIsInputFocused", "setIsAnimationRun", "setInnerValue", "onChange", "onBlur", "onKeyDown"];
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
20
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -28,6 +28,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
28
28
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
29
  var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
30
30
  var value = _ref.value,
31
+ precision = _ref.precision,
31
32
  min = _ref.min,
32
33
  max = _ref.max,
33
34
  isLoading = _ref.isLoading,
@@ -93,11 +94,6 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
93
94
  setIsAnimationRun(false);
94
95
  return;
95
96
  }
96
- if (String(newValue).endsWith('.')) {
97
- setValues(null, Number(newValue));
98
- setIsAnimationRun(false);
99
- return;
100
- }
101
97
  var resValue = Number(newValue);
102
98
  if (max !== undefined && resValue > max) {
103
99
  setErrorClass(_NumberInput.classes.errorAnimation);
@@ -109,6 +105,16 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
109
105
  setErrorClass(_NumberInput.classes.errorAnimation);
110
106
  setErrorValue(min);
111
107
  setIsAnimationRun(true);
108
+ return;
109
+ }
110
+ if (String(newValue).endsWith('.')) {
111
+ setValues(null, Number(newValue));
112
+ setIsAnimationRun(false);
113
+ return;
114
+ }
115
+ if (precision !== undefined) {
116
+ var preciseNewValue = Number((0, _utils2.getPreciseValue)(newValue, precision));
117
+ setValues(null, preciseNewValue);
112
118
  }
113
119
  setIsAnimationRun(false);
114
120
  };
@@ -134,15 +140,18 @@ var NumberInput = exports.NumberInput = /*#__PURE__*/(0, _react.forwardRef)(func
134
140
  }
135
141
  return;
136
142
  }
143
+ console.log('here');
137
144
  var isValid = _utils2.numberSchema.test(cleanValue);
138
145
  if (!isValid) {
146
+ console.log('not valid', cleanValue);
139
147
  setValues(event, lastValidValue);
140
148
  return;
141
149
  }
150
+ console.log('valid!', cleanValue);
142
151
  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)) {
143
152
  wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
144
153
  }
145
- setValues(event, Number(cleanValue));
154
+ setValues(event, cleanValue);
146
155
  };
147
156
  var handleClickInputWrapper = function handleClickInputWrapper() {
148
157
  if (!isManualInput || !inputRef.current) {
@@ -3,7 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.numberSchema = exports.excludingNumberSchema = exports.defaultCharacterWidth = void 0;
6
+ exports.numberSchema = exports.getPreciseValue = exports.excludingNumberSchema = exports.defaultCharacterWidth = void 0;
7
7
  var defaultCharacterWidth = exports.defaultCharacterWidth = '1ch';
8
8
  var numberSchema = exports.numberSchema = /^(-)?\d+(\.\d+)?$/;
9
- var excludingNumberSchema = exports.excludingNumberSchema = /[^-.\d]/g;
9
+ var excludingNumberSchema = exports.excludingNumberSchema = /[^-.\d]/g;
10
+ var getPreciseValue = exports.getPreciseValue = function getPreciseValue(value, precision) {
11
+ var innerValue = String(value);
12
+ if (precision !== undefined) {
13
+ var factor = Math.pow(10, precision);
14
+ var preparedValue = Number(innerValue) < 0 ? Number(innerValue) - Number.EPSILON : Number(innerValue) + Number.EPSILON;
15
+ return String(Math.round(preparedValue * factor) / factor);
16
+ }
17
+ return innerValue;
18
+ };
@@ -192,6 +192,7 @@ const StoryRange = ({
192
192
  const rangeRef = useRef<RangeInputRefs>(null);
193
193
 
194
194
  const [isOpen, setIsOpen] = useState(false);
195
+ const [firstDate, setFirstDate] = useState<string | Date>('');
195
196
 
196
197
  const iconSize = size === 'xs' ? 'xs' : 's';
197
198
  const showDividerIcon = dividerVariant === 'icon';
@@ -238,6 +239,12 @@ const StoryRange = ({
238
239
  onChangeSecondValue={(e, currentValue) => {
239
240
  onChangeSecondValue(e, currentValue);
240
241
  }}
242
+ onCommitFirstDate={(currentValue) => {
243
+ setFirstDate(currentValue);
244
+ }}
245
+ onCommitSecondDate={(currentValue) => {
246
+ firstDate && currentValue && setIsOpen(false);
247
+ }}
241
248
  lang={lang}
242
249
  {...dividerIconProps}
243
250
  {...rest}
@@ -272,7 +279,6 @@ export const Range: StoryObj<StoryPropsRange> = {
272
279
  size: 'l',
273
280
  view: 'default',
274
281
  isDoubleCalendar: false,
275
- closeAfterDateSelect: true,
276
282
  dividerVariant: 'dash',
277
283
  min: new Date(2024, 1, 1),
278
284
  max: new Date(2024, 12, 29),
@@ -96,6 +96,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
96
96
  segmentation: 'default',
97
97
  min: 0,
98
98
  max: 9,
99
+ precision: 2,
99
100
  step: 1,
100
101
  width: 188,
101
102
  isManualInput: false,
@@ -186,12 +186,12 @@ const StoryRange = ({
186
186
  secondValueError,
187
187
  secondValueSuccess,
188
188
  size,
189
- lang,
190
189
  ...rest
191
190
  }: StoryPropsRange) => {
192
191
  const rangeRef = useRef<RangeInputRefs>(null);
193
192
 
194
193
  const [isOpen, setIsOpen] = useState(false);
194
+ const [firstDate, setFirstDate] = useState<string | Date>('');
195
195
 
196
196
  const iconSize = size === 'xs' ? 'xs' : 's';
197
197
  const showDividerIcon = dividerVariant === 'icon';
@@ -238,7 +238,12 @@ const StoryRange = ({
238
238
  onChangeSecondValue={(e, currentValue) => {
239
239
  onChangeSecondValue(e, currentValue);
240
240
  }}
241
- lang={lang}
241
+ onCommitFirstDate={(currentValue) => {
242
+ setFirstDate(currentValue);
243
+ }}
244
+ onCommitSecondDate={(currentValue) => {
245
+ firstDate && currentValue && setIsOpen(false);
246
+ }}
242
247
  {...dividerIconProps}
243
248
  {...rest}
244
249
  />
@@ -272,7 +277,6 @@ export const Range: StoryObj<StoryPropsRange> = {
272
277
  size: 'l',
273
278
  view: 'default',
274
279
  isDoubleCalendar: false,
275
- closeAfterDateSelect: true,
276
280
  dividerVariant: 'dash',
277
281
  min: new Date(2024, 1, 1),
278
282
  max: new Date(2024, 12, 29),
@@ -96,6 +96,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
96
96
  segmentation: 'default',
97
97
  min: 0,
98
98
  max: 9,
99
+ precision: 2,
99
100
  step: 1,
100
101
  width: 188,
101
102
  isManualInput: false,
@@ -1,4 +1,4 @@
1
- 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"];
1
+ 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"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -95,8 +95,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
95
95
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
96
96
  _ref$closeOnEsc = _ref.closeOnEsc,
97
97
  closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
98
- _ref$closeAfterDateSe = _ref.closeAfterDateSelect,
99
- closeAfterDateSelect = _ref$closeAfterDateSe === void 0 ? true : _ref$closeAfterDateSe,
100
98
  offset = _ref.offset,
101
99
  onToggle = _ref.onToggle,
102
100
  onChange = _ref.onChange,
@@ -149,14 +147,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
149
147
  _useState14 = _slicedToArray(_useState13, 2),
150
148
  inputSecondValue = _useState14[0],
151
149
  setInputSecondValue = _useState14[1];
152
- var _useState15 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
153
- _useState16 = _slicedToArray(_useState15, 2),
154
- fullDateEntered = _useState16[0],
155
- setFullDateEntered = _useState16[1];
156
- var _useState17 = useState(false),
157
- _useState18 = _slicedToArray(_useState17, 2),
158
- secondTextFieldClicked = _useState18[0],
159
- setSecondTextFieldClicked = _useState18[1];
160
150
  var setFirstInputValue = function setFirstInputValue(value) {
161
151
  setInputFirstValue(value);
162
152
  if (onChange) {
@@ -217,12 +207,12 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
217
207
  }),
218
208
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
219
209
  handleCommitSecondDate = _useDatePicker2.handleCommitDate;
220
- var handleToggle = function handleToggle(currentOpened, event) {
210
+ var handleToggle = function handleToggle(opened, event) {
221
211
  var _firstInputRef$curren, _secondInputRef$curre;
222
212
  if (disabled || readOnly) {
223
213
  return;
224
214
  }
225
- 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) !== keys.Escape ? true : currentOpened;
215
+ 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 !== keys.Escape ? true : opened;
226
216
  if (!isCalendarOpen) {
227
217
  if (calendarFirstValue && !calendarSecondValue) {
228
218
  var _secondInputRef$curre2;
@@ -233,22 +223,11 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
233
223
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
234
224
  }
235
225
  }
236
- if (!isCalendarOpen) {
237
- setSecondTextFieldClicked(false);
238
- }
239
226
  if (onToggle) {
240
227
  return onToggle(isCalendarOpen, event);
241
228
  }
242
229
  setIsInnerOpen(isCalendarOpen);
243
230
  };
244
- var handleFocusFirstTextField = function handleFocusFirstTextField(event) {
245
- onFocusFirstTextfield === null || onFocusFirstTextfield === void 0 || onFocusFirstTextfield(event);
246
- setSecondTextFieldClicked(false);
247
- };
248
- var handleFocusSecondTextField = function handleFocusSecondTextField(event) {
249
- onFocusSecondTextfield === null || onFocusSecondTextfield === void 0 || onFocusSecondTextfield(event);
250
- setSecondTextFieldClicked(true);
251
- };
252
231
  var handleBlur = function handleBlur(event, outerHandler) {
253
232
  if (!inputFirstValue || !inputSecondValue) {
254
233
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
@@ -288,37 +267,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
288
267
  closeOnEsc: closeOnEsc
289
268
  }),
290
269
  onKeyDown = _useKeyNavigation.onKeyDown;
291
- var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
292
- if (!fullDateEntered) {
293
- handleCommitFirstDate(chosenDate, false, true, dateInfo);
294
- handleCommitSecondDate('');
295
- return;
296
- }
297
- var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
298
- var _getSortedValues3 = getSortedValues([prevValue, chosenDate]),
299
- _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
300
- first = _getSortedValues4[0],
301
- second = _getSortedValues4[1];
302
- handleCommitFirstDate(first, false, true, dateInfo);
303
- handleCommitSecondDate(second, false, true, dateInfo);
304
- if (!firstValueError && !secondValueError && closeAfterDateSelect) {
305
- handleToggle(false);
306
- }
307
- };
308
- var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
309
- var _ref3 = _slicedToArray(_ref2, 2),
310
- firstDate = _ref3[0],
311
- secondDate = _ref3[1];
312
- if (firstDate) {
313
- handleCommitFirstDate(firstDate, false, true, dateInfo);
314
- }
315
- if (secondDate) {
316
- handleCommitSecondDate(secondDate, false, true, dateInfo);
317
- }
318
- if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
319
- handleToggle(false);
320
- }
321
- };
322
270
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
323
271
  ref: rangeRef,
324
272
  autoComplete: autoComplete,
@@ -364,8 +312,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
364
312
  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();
365
313
  }
366
314
  },
367
- onFocusFirstTextfield: handleFocusFirstTextField,
368
- onFocusSecondTextfield: handleFocusSecondTextField,
315
+ onFocusFirstTextfield: onFocusFirstTextfield,
316
+ onFocusSecondTextfield: onFocusSecondTextfield,
369
317
  onBlurFirstTextfield: function onBlurFirstTextfield(event) {
370
318
  return handleBlur(event, _onBlurFirstTextfield);
371
319
  },
@@ -414,13 +362,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
414
362
  lang: lang
415
363
  }));
416
364
  }, [format, lang]);
417
- useEffect(function () {
418
- if (calendarFirstValue && calendarSecondValue) {
419
- setFullDateEntered(true);
420
- }
421
- }, [calendarFirstValue, calendarSecondValue]);
422
- var RootWrapper = useCallback(function (_ref4) {
423
- var children = _ref4.children;
365
+ var RootWrapper = useCallback(function (_ref2) {
366
+ var children = _ref2.children;
424
367
  return /*#__PURE__*/React.createElement(Root, {
425
368
  view: view,
426
369
  size: size,
@@ -462,8 +405,20 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
462
405
  lang: lang,
463
406
  isDoubleCalendar: isDoubleCalendar,
464
407
  rootWrapper: RootWrapper,
465
- onChangeStartOfRange: handleChangeStartOfRange,
466
- onChangeValue: handleChangeCalendarValue
408
+ onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
409
+ handleCommitFirstDate(firstDate, false, true, dateInfo);
410
+ handleCommitSecondDate('');
411
+ },
412
+ onChangeValue: function onChangeValue(_ref3, dateInfo) {
413
+ var _ref4 = _slicedToArray(_ref3, 2),
414
+ firstDate = _ref4[0],
415
+ secondDate = _ref4[1];
416
+ firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
417
+ secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
418
+ if (firstDate && secondDate && !firstValueError && !secondValueError) {
419
+ setIsInnerOpen(false);
420
+ }
421
+ }
467
422
  }), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
468
423
  name: name,
469
424
  type: "hidden",
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- 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"];
2
+ var _excluded = ["className", "style", "width", "value", "min", "max", "step", "precision", "isLoading", "loader", "size", "view", "clear", "shape", "segmentation", "inputBackgroundType", "disabled", "textBefore", "textAfter", "customIncrementButton", "incrementIcon", "customDecrementButton", "decrementIcon", "isManualInput", "onChange", "onIncrement", "onDecrement"];
3
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -26,6 +26,7 @@ import { base as shapeCSS } from './variations/_shape/base';
26
26
  import { base as inputBackgroundTypeCSS } from './variations/_background-type/base';
27
27
  import { base as segmentationCSS } from './variations/_segmentation/base';
28
28
  import { base as disabledCSS } from './variations/_disabled/base';
29
+ import { getPreciseValue } from './utils';
29
30
  export var numberInputRoot = function numberInputRoot(Root) {
30
31
  return /*#__PURE__*/forwardRef(function (_ref, ref) {
31
32
  var _ref2;
@@ -37,6 +38,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
37
38
  max = _ref.max,
38
39
  _ref$step = _ref.step,
39
40
  step = _ref$step === void 0 ? 1 : _ref$step,
41
+ _ref$precision = _ref.precision,
42
+ precision = _ref$precision === void 0 ? 2 : _ref$precision,
40
43
  isLoading = _ref.isLoading,
41
44
  loader = _ref.loader,
42
45
  size = _ref.size,
@@ -70,6 +73,7 @@ export var numberInputRoot = function numberInputRoot(Root) {
70
73
  _useState6 = _slicedToArray(_useState5, 2),
71
74
  isAnimationRun = _useState6[0],
72
75
  setIsAnimationRun = _useState6[1];
76
+ console.log('innerValue', innerValue);
73
77
  var innerWidth = width ? getSizeValueFromProp(width) : '100%';
74
78
  var actionIconSize = size === 'xs' ? 'xs' : 's';
75
79
  var solidViewClass = segmentation === 'solid' ? classes.solidView : undefined;
@@ -90,7 +94,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
90
94
  if (isLoading || disabled || isAnimationRun) {
91
95
  return;
92
96
  }
93
- var diffValue = Number(innerValue) - step;
97
+ var preciseDiff = getPreciseValue(Number(innerValue) - step, precision);
98
+ var diffValue = Number(preciseDiff);
94
99
  var resValue = min !== undefined && diffValue <= min ? min : diffValue;
95
100
  setInnerValue(resValue);
96
101
  if (onDecrement) {
@@ -104,7 +109,8 @@ export var numberInputRoot = function numberInputRoot(Root) {
104
109
  if (isLoading || disabled || isAnimationRun) {
105
110
  return;
106
111
  }
107
- var diffValue = Number(innerValue) + step;
112
+ var preciseDiff = getPreciseValue(Number(innerValue) + step, precision);
113
+ var diffValue = Number(preciseDiff);
108
114
  var resValue = max !== undefined && diffValue >= max ? max : diffValue;
109
115
  setInnerValue(resValue);
110
116
  if (onIncrement) {
@@ -148,6 +154,7 @@ export var numberInputRoot = function numberInputRoot(Root) {
148
154
  ref: ref,
149
155
  segmentation: segmentation,
150
156
  value: innerValue,
157
+ precision: precision,
151
158
  min: min,
152
159
  max: max,
153
160
  isManualInput: isManualInput,