@salutejs/plasma-new-hope 0.163.0-dev.0 → 0.164.0-canary.1475.11270666367.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. package/cjs/components/DatePicker/RangeDate/RangeDate.css +1 -1
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  5. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  7. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  8. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  9. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -9
  10. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  11. package/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  12. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  13. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  14. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  15. package/cjs/components/DatePicker/utils/dateHelper.js +31 -0
  16. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  17. package/cjs/index.css +1 -1
  18. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  19. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  20. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  21. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -9
  22. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  23. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  24. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  25. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  26. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  27. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  28. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  29. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -10
  30. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  31. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  32. package/emotion/es/components/DatePicker/utils/dateHelper.js +30 -0
  33. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  34. package/es/components/DatePicker/RangeDate/RangeDate.css +1 -1
  35. package/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  36. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  37. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  38. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  39. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  40. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  41. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  42. package/es/components/DatePicker/SingleDate/SingleDate.js +34 -10
  43. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  44. package/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  45. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  46. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  47. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  48. package/es/components/DatePicker/utils/dateHelper.js +31 -1
  49. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  50. package/es/index.css +1 -1
  51. package/package.json +2 -2
  52. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  53. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  54. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  55. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -9
  56. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  57. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  58. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  59. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  60. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  61. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  62. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  63. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -10
  64. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  65. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  66. package/styled-components/es/components/DatePicker/utils/dateHelper.js +30 -0
  67. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  68. package/types/components/DatePicker/DatePickerBase.types.d.ts +7 -5
  69. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  70. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +8 -8
  71. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  72. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +14 -4
  73. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  74. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  75. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  76. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +2 -1
  77. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  78. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  79. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  80. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +12 -2
  81. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  82. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -3
  83. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  84. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +3 -1
  85. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  86. package/types/components/DatePicker/utils/dateHelper.d.ts +10 -0
  87. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  88. package/types/components/Popover/Popover.types.d.ts +1 -1
  89. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +4 -4
  90. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +4 -4
  91. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  92. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "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", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
1
+ var _excluded = ["className", "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", "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."); }
@@ -10,11 +10,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import React, { createRef, forwardRef, useCallback, useEffect, useRef, useState } from 'react';
12
12
  import { cx, noop } from '../../../utils';
13
- import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
13
+ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
- import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
16
+ import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
17
  import { InputHidden } from '../DatePickerBase.styles';
18
+ import { getSortedValues } from '../../Calendar/utils';
18
19
  import { base as sizeCSS } from './variations/_size/base';
19
20
  import { base as viewCSS } from './variations/_view/base';
20
21
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -80,6 +81,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
80
81
  disabledYearList = _ref.disabledYearList,
81
82
  _ref$type = _ref.type,
82
83
  type = _ref$type === void 0 ? 'Days' : _ref$type,
84
+ _ref$frame = _ref.frame,
85
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
86
+ _ref$usePortal = _ref.usePortal,
87
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
83
88
  _ref$placement = _ref.placement,
84
89
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
85
90
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
@@ -95,8 +100,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
95
100
  onCommitSecondDate = _ref.onCommitSecondDate,
96
101
  onFocusFirstTextfield = _ref.onFocusFirstTextfield,
97
102
  onFocusSecondTextfield = _ref.onFocusSecondTextfield,
98
- onBlurFirstTextfield = _ref.onBlurFirstTextfield,
99
- onBlurSecondTextfield = _ref.onBlurSecondTextfield,
103
+ _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
104
+ _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
100
105
  rest = _objectWithoutProperties(_ref, _excluded);
101
106
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
102
107
  var rootRef = useRef(null);
@@ -167,7 +172,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
167
172
  currentValue: inputFirstValue,
168
173
  setInputValue: setFirstInputValue,
169
174
  setCalendarValue: setCalendarFirstValue,
170
- setIsInnerOpen: setIsInnerOpen,
171
175
  dateFormatDelimiter: dateFormatDelimiter,
172
176
  format: format,
173
177
  lang: lang,
@@ -176,7 +180,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
176
180
  maskWithFormat: maskWithFormat,
177
181
  valueError: firstValueError,
178
182
  valueSuccess: firstValueSuccess,
179
- inputRef: firstInputRef,
180
183
  name: name,
181
184
  onChangeValue: onChangeFirstValue,
182
185
  onCommitDate: onCommitFirstDate
@@ -187,7 +190,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
187
190
  currentValue: inputSecondValue,
188
191
  setInputValue: setSecondInputValue,
189
192
  setCalendarValue: setCalendarSecondValue,
190
- setIsInnerOpen: setIsInnerOpen,
191
193
  dateFormatDelimiter: dateFormatDelimiter,
192
194
  format: format,
193
195
  lang: lang,
@@ -196,7 +198,6 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
196
198
  maskWithFormat: maskWithFormat,
197
199
  valueError: secondValueError,
198
200
  valueSuccess: secondValueSuccess,
199
- inputRef: secondInputRef,
200
201
  onChangeValue: onChangeSecondValue,
201
202
  onCommitDate: onCommitSecondDate
202
203
  }),
@@ -207,15 +208,59 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
207
208
  if (disabled || readOnly) {
208
209
  return;
209
210
  }
210
- 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) ? true : opened;
211
+ 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;
212
+ if (!isCalendarOpen) {
213
+ if (calendarFirstValue && !calendarSecondValue) {
214
+ var _secondInputRef$curre2;
215
+ secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
216
+ }
217
+ if (calendarSecondValue || !calendarFirstValue) {
218
+ var _firstInputRef$curren2;
219
+ firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
220
+ }
221
+ }
211
222
  if (onToggle) {
212
223
  return onToggle(isCalendarOpen, event);
213
224
  }
214
225
  setIsInnerOpen(isCalendarOpen);
215
226
  };
227
+ var handleBlur = function handleBlur(event, outerHandler) {
228
+ if (!inputFirstValue || !inputSecondValue) {
229
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
230
+ return;
231
+ }
232
+ var _getDateFromFormat = getDateFromFormat(inputFirstValue, format, lang),
233
+ firstDate = _getDateFromFormat.value,
234
+ firstIsSuccess = _getDateFromFormat.isSuccess;
235
+ var _getDateFromFormat2 = getDateFromFormat(inputSecondValue, format, lang),
236
+ secondDate = _getDateFromFormat2.value,
237
+ secondIsSuccess = _getDateFromFormat2.isSuccess;
238
+ if (!firstIsSuccess || !secondIsSuccess) {
239
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
240
+ return;
241
+ }
242
+ var _getSortedValues = getSortedValues([new Date(firstDate), new Date(secondDate)]),
243
+ _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
244
+ startValue = _getSortedValues2[0],
245
+ endValue = _getSortedValues2[1];
246
+ setFirstInputValue(formatInputValue({
247
+ value: startValue,
248
+ format: format,
249
+ lang: lang
250
+ }));
251
+ setSecondInputValue(formatInputValue({
252
+ value: endValue,
253
+ format: format,
254
+ lang: lang
255
+ }));
256
+ setCalendarFirstValue(formatCalendarValue(startValue, format, lang));
257
+ setCalendarSecondValue(formatCalendarValue(endValue, format, lang));
258
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
259
+ };
216
260
  var _useKeyNavigation = useKeyNavigation({
217
261
  isCalendarOpen: isInnerOpen,
218
- onToggle: handleToggle
262
+ onToggle: handleToggle,
263
+ closeOnEsc: closeOnEsc
219
264
  }),
220
265
  onKeyDown = _useKeyNavigation.onKeyDown;
221
266
  var RangeComponent = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledRange, {
@@ -261,8 +306,12 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
261
306
  },
262
307
  onFocusFirstTextfield: onFocusFirstTextfield,
263
308
  onFocusSecondTextfield: onFocusSecondTextfield,
264
- onBlurFirstTextfield: onBlurFirstTextfield,
265
- onBlurSecondTextfield: onBlurSecondTextfield,
309
+ onBlurFirstTextfield: function onBlurFirstTextfield(event) {
310
+ return handleBlur(event, _onBlurFirstTextfield);
311
+ },
312
+ onBlurSecondTextfield: function onBlurSecondTextfield(event) {
313
+ return handleBlur(event, _onBlurSecondTextfield);
314
+ },
266
315
  onKeyDown: onKeyDown
267
316
  }));
268
317
  useEffect(function () {
@@ -305,6 +354,16 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
305
354
  lang: lang
306
355
  }));
307
356
  }, [format, lang]);
357
+ var RootWrapper = function RootWrapper(_ref2) {
358
+ var children = _ref2.children;
359
+ return /*#__PURE__*/React.createElement(Root, _extends({
360
+ view: view,
361
+ size: size,
362
+ className: cx(classes.datePickerRoot, className),
363
+ disabled: disabled,
364
+ readOnly: !disabled && readOnly
365
+ }, rest), children);
366
+ };
308
367
  return /*#__PURE__*/React.createElement(Root, _extends({
309
368
  ref: rootRef,
310
369
  view: view,
@@ -327,6 +386,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
327
386
  disabledYearList: disabledYearList,
328
387
  min: min,
329
388
  max: max,
389
+ frame: frame,
390
+ usePortal: usePortal,
330
391
  placement: placement,
331
392
  closeOnOverlayClick: closeOnOverlayClick,
332
393
  closeOnEsc: closeOnEsc,
@@ -335,14 +396,15 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
335
396
  onToggle: handleToggle,
336
397
  lang: lang,
337
398
  isDoubleCalendar: isDoubleCalendar,
399
+ rootWrapper: RootWrapper,
338
400
  onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
339
401
  handleCommitFirstDate(firstDate, false, true, dateInfo);
340
402
  handleCommitSecondDate('');
341
403
  },
342
- onChangeValue: function onChangeValue(_ref2, dateInfo) {
343
- var _ref3 = _slicedToArray(_ref2, 2),
344
- firstDate = _ref3[0],
345
- secondDate = _ref3[1];
404
+ onChangeValue: function onChangeValue(_ref3, dateInfo) {
405
+ var _ref4 = _slicedToArray(_ref3, 2),
406
+ firstDate = _ref4[0],
407
+ secondDate = _ref4[1];
346
408
  firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
347
409
  secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
348
410
  if (firstDate && secondDate && !firstValueError && !secondValueError) {
@@ -3,7 +3,8 @@ import { getPlacements } from '../../../../utils';
3
3
  import { StyledPopover } from '../RangeDate.styles';
4
4
  import { StyledCalendar, StyledCalendarDouble } from './RangeDatePopover.styles';
5
5
  export var RangeDatePopover = function RangeDatePopover(_ref) {
6
- var target = _ref.target,
6
+ var Root = _ref.rootWrapper,
7
+ target = _ref.target,
7
8
  isOpen = _ref.isOpen,
8
9
  opened = _ref.opened,
9
10
  isDoubleCalendar = _ref.isDoubleCalendar,
@@ -19,6 +20,10 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
19
20
  disabledQuarterList = _ref.disabledQuarterList,
20
21
  eventYearList = _ref.eventYearList,
21
22
  disabledYearList = _ref.disabledYearList,
23
+ _ref$frame = _ref.frame,
24
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
25
+ _ref$usePortal = _ref.usePortal,
26
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
22
27
  _ref$placement = _ref.placement,
23
28
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
24
29
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
@@ -36,7 +41,8 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
36
41
  if (isDoubleCalendar) {
37
42
  return /*#__PURE__*/React.createElement(StyledPopover, {
38
43
  opened: innerIsOpen,
39
- usePortal: false,
44
+ frame: frame,
45
+ usePortal: usePortal,
40
46
  onToggle: onToggle,
41
47
  offset: offset,
42
48
  placement: getPlacements(placement),
@@ -45,7 +51,7 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
45
51
  isFocusTrapped: false,
46
52
  target: target,
47
53
  preventOverflow: false
48
- }, /*#__PURE__*/React.createElement(StyledCalendarDouble, {
54
+ }, /*#__PURE__*/React.createElement(Root, null, /*#__PURE__*/React.createElement(StyledCalendarDouble, {
49
55
  size: size,
50
56
  value: calendarValue,
51
57
  eventList: eventList,
@@ -62,11 +68,12 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
62
68
  includeEdgeDates: includeEdgeDates,
63
69
  onChangeValue: onChangeValue,
64
70
  onChangeStartOfRange: onChangeStartOfRange
65
- }));
71
+ })));
66
72
  }
67
73
  return /*#__PURE__*/React.createElement(StyledPopover, {
68
74
  opened: innerIsOpen,
69
- usePortal: false,
75
+ frame: frame,
76
+ usePortal: usePortal,
70
77
  onToggle: onToggle,
71
78
  offset: offset,
72
79
  placement: getPlacements(placement),
@@ -76,7 +83,7 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
76
83
  target: target,
77
84
  preventOverflow: false,
78
85
  closeOnEsc: closeOnEsc
79
- }, /*#__PURE__*/React.createElement(StyledCalendar, {
86
+ }, /*#__PURE__*/React.createElement(Root, null, /*#__PURE__*/React.createElement(StyledCalendar, {
80
87
  size: size,
81
88
  value: calendarValue,
82
89
  eventList: eventList,
@@ -94,5 +101,5 @@ export var RangeDatePopover = function RangeDatePopover(_ref) {
94
101
  includeEdgeDates: includeEdgeDates,
95
102
  onChangeValue: onChangeValue,
96
103
  onChangeStartOfRange: onChangeStartOfRange
97
- }));
104
+ })));
98
105
  };
@@ -1,4 +1,4 @@
1
1
  import { css } from 'styled-components';
2
2
  import { tokens } from '../../../DatePicker.tokens';
3
3
  import { StyledLabel, LeftHelper } from '../../RangeDate.styles';
4
- export var base = /*#__PURE__*/css(["width:var(", ");", "{margin:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}", "{margin:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}"], tokens.width, StyledLabel, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, LeftHelper, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight);
4
+ export var base = /*#__PURE__*/css(["", "{margin:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}", "{margin:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}"], StyledLabel, tokens.labelOffset, tokens.labelFontFamily, tokens.labelFontSize, tokens.labelFontStyle, tokens.labelFontWeight, tokens.labelLetterSpacing, tokens.labelLineHeight, LeftHelper, tokens.leftHelperOffset, tokens.leftHelperFontFamily, tokens.leftHelperFontSize, tokens.leftHelperFontStyle, tokens.leftHelperFontWeight, tokens.leftHelperLetterSpacing, tokens.leftHelperLineHeight);
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "placement", "closeOnOverlayClick", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
1
+ var _excluded = ["className", "opened", "label", "labelPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
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."); }
@@ -14,7 +14,7 @@ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '.
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { InputHidden, StyledCalendar } from '../DatePickerBase.styles';
17
- import { useKeyNavigation } from '../hooks/useKeyboardNavigation';
17
+ import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';
18
18
  import { base as sizeCSS } from './variations/_size/base';
19
19
  import { base as viewCSS } from './variations/_view/base';
20
20
  import { base as disabledCSS } from './variations/_disabled/base';
@@ -64,10 +64,16 @@ export var datePickerRoot = function datePickerRoot(Root) {
64
64
  disabledYearList = _ref.disabledYearList,
65
65
  _ref$type = _ref.type,
66
66
  type = _ref$type === void 0 ? 'Days' : _ref$type,
67
+ _ref$frame = _ref.frame,
68
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
69
+ _ref$usePortal = _ref.usePortal,
70
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
67
71
  _ref$placement = _ref.placement,
68
72
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
69
73
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
70
74
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
75
+ _ref$closeOnEsc = _ref.closeOnEsc,
76
+ closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
71
77
  offset = _ref.offset,
72
78
  onChangeValue = _ref.onChangeValue,
73
79
  onCommitDate = _ref.onCommitDate,
@@ -102,7 +108,6 @@ export var datePickerRoot = function datePickerRoot(Root) {
102
108
  currentValue: inputValue,
103
109
  setInputValue: setInputValue,
104
110
  setCalendarValue: setCalendarValue,
105
- setIsInnerOpen: setIsInnerOpen,
106
111
  dateFormatDelimiter: dateFormatDelimiter,
107
112
  format: format,
108
113
  lang: lang,
@@ -111,21 +116,33 @@ export var datePickerRoot = function datePickerRoot(Root) {
111
116
  maskWithFormat: maskWithFormat,
112
117
  valueError: valueError,
113
118
  valueSuccess: valueSuccess,
114
- inputRef: inputRef,
115
119
  name: name,
116
- onToggle: onToggle,
117
120
  onChangeValue: onChangeValue,
118
121
  onCommitDate: onCommitDate,
119
122
  onChange: onChange
120
123
  }),
121
124
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
122
125
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
123
- handleToggle = _useDatePicker.handleToggle,
124
126
  handleChangeValue = _useDatePicker.handleChangeValue,
125
127
  handleCommitDate = _useDatePicker.handleCommitDate;
128
+ var handleToggle = function handleToggle(opened, event) {
129
+ if (disabled || readOnly) {
130
+ return;
131
+ }
132
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : opened;
133
+ if (!isCalendarOpen && inputValue) {
134
+ var _inputRef$current;
135
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
136
+ }
137
+ if (onToggle) {
138
+ return onToggle(isCalendarOpen, event);
139
+ }
140
+ setIsInnerOpen(isCalendarOpen);
141
+ };
126
142
  var _useKeyNavigation = useKeyNavigation({
127
143
  isCalendarOpen: isInnerOpen,
128
- onToggle: handleToggle
144
+ onToggle: handleToggle,
145
+ closeOnEsc: closeOnEsc
129
146
  }),
130
147
  onKeyDown = _useKeyNavigation.onKeyDown;
131
148
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, _extends({
@@ -181,7 +198,8 @@ export var datePickerRoot = function datePickerRoot(Root) {
181
198
  ref: ref
182
199
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/React.createElement(StyledLabel, null, label), /*#__PURE__*/React.createElement(StyledPopover, {
183
200
  opened: isInnerOpen,
184
- usePortal: false,
201
+ usePortal: usePortal,
202
+ frame: frame,
185
203
  onToggle: handleToggle,
186
204
  offset: offset,
187
205
  placement: getPlacements(placement),
@@ -190,7 +208,13 @@ export var datePickerRoot = function datePickerRoot(Root) {
190
208
  isFocusTrapped: false,
191
209
  target: DatePickerInput,
192
210
  preventOverflow: false
193
- }, /*#__PURE__*/React.createElement(StyledCalendar, {
211
+ }, /*#__PURE__*/React.createElement(Root, _extends({
212
+ view: view,
213
+ size: size,
214
+ className: cx(classes.datePickerRoot, className),
215
+ disabled: disabled,
216
+ readOnly: !disabled && readOnly
217
+ }, rest), /*#__PURE__*/React.createElement(StyledCalendar, {
194
218
  size: size,
195
219
  value: calendarValue,
196
220
  type: type,
@@ -210,7 +234,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
210
234
  onChangeValue: function onChangeValue(date, dateInfo) {
211
235
  return handleCommitDate(date, false, true, dateInfo);
212
236
  }
213
- })), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
237
+ }))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, null, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({
214
238
  type: "hidden",
215
239
  datatype: "datepicker-single",
216
240
  name: name,
@@ -1,11 +1,9 @@
1
1
  import { classes } from '../DatePicker.tokens';
2
- import { formatCalendarValue, formatInputValue, getDateFromFormat, getMaskedDateOnInput } from '../utils/dateHelper';
3
- import { customDayjs } from '../../../utils/datejs';
2
+ import { formatCalendarValue, formatInputValue, getDateFromFormat, getMaskedDateOnInput, validateDateWithFullMonth } from '../utils/dateHelper';
4
3
  export var useDatePicker = function useDatePicker(_ref) {
5
4
  var currentValue = _ref.currentValue,
6
5
  setInputValue = _ref.setInputValue,
7
6
  setCalendarValue = _ref.setCalendarValue,
8
- setIsInnerOpen = _ref.setIsInnerOpen,
9
7
  dateFormatDelimiter = _ref.dateFormatDelimiter,
10
8
  format = _ref.format,
11
9
  _ref$lang = _ref.lang,
@@ -15,24 +13,12 @@ export var useDatePicker = function useDatePicker(_ref) {
15
13
  maskWithFormat = _ref.maskWithFormat,
16
14
  valueError = _ref.valueError,
17
15
  valueSuccess = _ref.valueSuccess,
18
- inputRef = _ref.inputRef,
19
16
  name = _ref.name,
20
- onToggle = _ref.onToggle,
21
17
  onChangeValue = _ref.onChangeValue,
22
18
  onCommitDate = _ref.onCommitDate,
23
19
  onChange = _ref.onChange;
24
20
  var datePickerErrorClass = valueError ? classes.datePickerError : undefined;
25
21
  var datePickerSuccessClass = valueSuccess ? classes.datePickerSuccess : undefined;
26
- var handleToggle = function handleToggle(opened, event) {
27
- if (disabled || readOnly) {
28
- return;
29
- }
30
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) ? true : opened;
31
- if (onToggle) {
32
- return onToggle(isCalendarOpen, event);
33
- }
34
- setIsInnerOpen(isCalendarOpen);
35
- };
36
22
  var handleChangeValue = function handleChangeValue(event) {
37
23
  if (disabled || readOnly) {
38
24
  return;
@@ -55,24 +41,14 @@ export var useDatePicker = function useDatePicker(_ref) {
55
41
  });
56
42
  return;
57
43
  }
58
-
59
- /**
60
- * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
61
- * нужно дополнительно проводить валидацию на полноту введенной даты.
62
- * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
63
- */
64
- var hasMonthFullName = /M{3,4}/g.test(format);
65
- var isValidMonth;
66
- var isLengthEqual;
67
- if (hasMonthFullName) {
68
- customDayjs.locale(lang);
69
- var firstIndexOfMonth = format.indexOf('M');
70
- var lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);
71
- var fullMonthName = !lastIndexOfMonth ? newValue.slice(firstIndexOfMonth) : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);
72
- var monthFormatting = format.replace(/[^M]/g, '');
73
- isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
74
- isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;
75
- }
44
+ var _validateDateWithFull = validateDateWithFullMonth({
45
+ currentValue: newValue,
46
+ format: format,
47
+ lang: lang
48
+ }),
49
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
50
+ isValidMonth = _validateDateWithFull.isValidMonth,
51
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
76
52
  if (!hasMonthFullName && (newValue === null || newValue === void 0 ? void 0 : newValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
77
53
  setCalendarValue(formatCalendarValue(newValue, format, lang));
78
54
  }
@@ -102,20 +78,18 @@ export var useDatePicker = function useDatePicker(_ref) {
102
78
  return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true);
103
79
  }
104
80
  if (isCalendarValue) {
105
- setCalendarValue(formatCalendarValue(date, format, lang));
106
- setInputValue(formatInputValue({
81
+ var _formattedInputValue = formatInputValue({
107
82
  value: date,
108
83
  format: format,
109
84
  lang: lang
110
- }));
85
+ });
86
+ setCalendarValue(formatCalendarValue(date, format, lang));
87
+ setInputValue(_formattedInputValue);
111
88
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
89
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, _formattedInputValue);
112
90
  onChange === null || onChange === void 0 || onChange({
113
91
  target: {
114
- value: formatInputValue({
115
- value: date,
116
- format: format,
117
- lang: lang
118
- }),
92
+ value: _formattedInputValue,
119
93
  name: name
120
94
  }
121
95
  });
@@ -126,19 +100,18 @@ export var useDatePicker = function useDatePicker(_ref) {
126
100
  newDate = _getDateFromFormat.value,
127
101
  isError = _getDateFromFormat.isError,
128
102
  isSuccess = _getDateFromFormat.isSuccess;
129
- setCalendarValue(formatCalendarValue(newDate, format, lang));
130
- setInputValue(formatInputValue({
103
+ var formattedInputValue = formatInputValue({
131
104
  value: newDate,
132
105
  format: format,
133
106
  lang: lang
134
- }));
107
+ });
108
+ setCalendarValue(formatCalendarValue(newDate, format, lang));
109
+ setInputValue(formattedInputValue);
135
110
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
111
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedInputValue);
136
112
  onChange === null || onChange === void 0 || onChange({
137
113
  target: {
138
- value: formatInputValue({
139
- value: date,
140
- format: format
141
- }),
114
+ value: formattedInputValue,
142
115
  name: name
143
116
  }
144
117
  });
@@ -146,7 +119,6 @@ export var useDatePicker = function useDatePicker(_ref) {
146
119
  return {
147
120
  datePickerErrorClass: datePickerErrorClass,
148
121
  datePickerSuccessClass: datePickerSuccessClass,
149
- handleToggle: handleToggle,
150
122
  handleChangeValue: handleChangeValue,
151
123
  handleCommitDate: handleCommitDate
152
124
  };
@@ -1,8 +1,10 @@
1
1
  export var keys = {
2
- Space: 'Space'
2
+ Space: 'Space',
3
+ Escape: 'Escape'
3
4
  };
4
5
  export var useKeyNavigation = function useKeyNavigation(_ref) {
5
6
  var isCalendarOpen = _ref.isCalendarOpen,
7
+ closeOnEsc = _ref.closeOnEsc,
6
8
  onToggle = _ref.onToggle;
7
9
  var onKeyDown = function onKeyDown(event) {
8
10
  switch (event.code) {
@@ -14,6 +16,14 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
14
16
  }
15
17
  break;
16
18
  }
19
+ case keys.Escape:
20
+ {
21
+ if (isCalendarOpen && closeOnEsc) {
22
+ event.preventDefault();
23
+ onToggle(false, event);
24
+ }
25
+ break;
26
+ }
17
27
  default:
18
28
  {
19
29
  break;
@@ -78,4 +78,34 @@ export var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, d
78
78
  return value + delimiter;
79
79
  }
80
80
  return value;
81
+ };
82
+ export var validateDateWithFullMonth = function validateDateWithFullMonth(_ref2) {
83
+ var currentValue = _ref2.currentValue,
84
+ format = _ref2.format,
85
+ lang = _ref2.lang;
86
+ /**
87
+ * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
88
+ * нужно дополнительно проводить валидацию на полноту введенной даты.
89
+ * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
90
+ */
91
+ var hasMonthFullName = /M{3,4}/g.test(format);
92
+ if (!hasMonthFullName) {
93
+ return {
94
+ hasMonthFullName: hasMonthFullName,
95
+ isValidMonth: false,
96
+ isLengthEqual: false
97
+ };
98
+ }
99
+ customDayjs.locale(lang);
100
+ var firstIndexOfMonth = format.indexOf('M');
101
+ var lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);
102
+ var fullMonthName = !lastIndexOfMonth ? currentValue.slice(firstIndexOfMonth) : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);
103
+ var monthFormatting = format.replace(/[^M]/g, '');
104
+ var isValidMonth = customDayjs("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
105
+ var isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;
106
+ return {
107
+ hasMonthFullName: hasMonthFullName,
108
+ isValidMonth: isValidMonth,
109
+ isLengthEqual: isLengthEqual
110
+ };
81
111
  };
@@ -139,6 +139,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
139
139
  valueSuccess: false,
140
140
  lang: 'ru',
141
141
  format: 'DD.MM.YYYY',
142
+ closeOnEsc: true,
142
143
  },
143
144
  render: (args) => <StoryDefault {...args} />,
144
145
  };
@@ -269,6 +270,7 @@ export const Range: StoryObj<StoryPropsRange> = {
269
270
  size: 'l',
270
271
  view: 'default',
271
272
  isDoubleCalendar: false,
273
+ closeOnEsc: true,
272
274
  dividerVariant: 'dash',
273
275
  min: new Date(2024, 1, 1),
274
276
  max: new Date(2024, 12, 29),
@@ -1,4 +1,4 @@
1
- import type { Dispatch, MutableRefObject, SetStateAction, SyntheticEvent, ChangeEvent } from 'react';
1
+ import type { Dispatch, SetStateAction, ChangeEvent } from 'react';
2
2
  import type { CalendarStateType } from '../Calendar';
3
3
  import type { DateInfo, DisabledDay, EventDay } from '../Calendar/Calendar.types';
4
4
  import type { Langs } from './utils/dateHelper';
@@ -87,7 +87,6 @@ export declare type UseDatePickerProps = {
87
87
  currentValue: string;
88
88
  setInputValue: Dispatch<SetStateAction<string>>;
89
89
  setCalendarValue: Dispatch<SetStateAction<Date | undefined>>;
90
- setIsInnerOpen: Dispatch<SetStateAction<boolean>>;
91
90
  dateFormatDelimiter: () => string;
92
91
  format?: string;
93
92
  lang?: Langs;
@@ -96,10 +95,8 @@ export declare type UseDatePickerProps = {
96
95
  maskWithFormat?: boolean;
97
96
  valueError?: boolean;
98
97
  valueSuccess?: boolean;
99
- inputRef?: MutableRefObject<HTMLInputElement | null>;
100
98
  name?: string;
101
- onToggle?: (isOpen: boolean, event: SyntheticEvent | Event) => void;
102
- onChangeValue?: (event: ChangeEvent<HTMLInputElement>, value?: string) => void;
99
+ onChangeValue?: (event: ChangeEvent<HTMLInputElement> | null, value?: string) => void;
103
100
  onCommitDate?: (value: Date | string, error?: boolean, success?: boolean, dateInfo?: DateInfo) => void;
104
101
  onChange?: (event: {
105
102
  target: {
@@ -108,4 +105,9 @@ export declare type UseDatePickerProps = {
108
105
  };
109
106
  }) => void;
110
107
  };
108
+ export declare type ValidateDateArgs = {
109
+ currentValue: string;
110
+ format: string;
111
+ lang?: Langs;
112
+ };
111
113
  //# sourceMappingURL=DatePickerBase.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerBase.types.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePickerBase.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerBase.types.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePickerBase.types.ts"],"names":[],"mappings":"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"}