@salutejs/plasma-new-hope 0.166.0-canary.1470.11345978173.0 → 0.166.0-canary.1475.11347015087.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  2. package/cjs/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.css +1 -1
  4. package/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  6. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  7. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  8. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  9. package/cjs/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  10. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  11. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  12. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  13. package/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  14. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  15. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  16. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  17. package/cjs/components/DatePicker/utils/dateHelper.js +31 -0
  18. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  19. package/cjs/index.css +1 -1
  20. package/emotion/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  21. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  22. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  23. package/emotion/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  24. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  25. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  26. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  27. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  28. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +1 -2
  29. package/emotion/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +2 -0
  30. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.js +1 -2
  31. package/emotion/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +2 -0
  32. package/emotion/es/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  33. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  34. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  35. package/emotion/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  36. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  37. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  38. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  39. package/emotion/es/components/DatePicker/utils/dateHelper.js +30 -0
  40. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.js +1 -2
  41. package/emotion/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +2 -0
  42. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.js +1 -2
  43. package/emotion/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +2 -0
  44. package/es/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  45. package/es/components/Combobox/ComboboxNew/utils/filterItems.js.map +1 -1
  46. package/es/components/DatePicker/RangeDate/RangeDate.css +1 -1
  47. package/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  48. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  49. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  50. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  51. package/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  52. package/es/components/DatePicker/RangeDate/variations/_size/base.js.map +1 -1
  53. package/es/components/DatePicker/RangeDate/variations/_size/base_1d0sbzw.css +1 -0
  54. package/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  55. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  56. package/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  57. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  58. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  59. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  60. package/es/components/DatePicker/utils/dateHelper.js +31 -1
  61. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  62. package/es/index.css +1 -1
  63. package/package.json +2 -2
  64. package/styled-components/cjs/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  65. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +77 -15
  66. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  67. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  68. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -8
  69. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +20 -48
  70. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  71. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +31 -1
  72. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.js +1 -2
  73. package/styled-components/cjs/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +2 -0
  74. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.js +1 -2
  75. package/styled-components/cjs/examples/plasma_web/components/Combobox/Combobox.stories.tsx +2 -0
  76. package/styled-components/es/components/Combobox/ComboboxNew/utils/filterItems.js +5 -4
  77. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +79 -17
  78. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +14 -7
  79. package/styled-components/es/components/DatePicker/RangeDate/variations/_size/base.js +1 -1
  80. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -9
  81. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +21 -49
  82. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +11 -1
  83. package/styled-components/es/components/DatePicker/utils/dateHelper.js +30 -0
  84. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.js +1 -2
  85. package/styled-components/es/examples/plasma_b2c/components/Combobox/Combobox.stories.tsx +2 -0
  86. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.js +1 -2
  87. package/styled-components/es/examples/plasma_web/components/Combobox/Combobox.stories.tsx +2 -0
  88. package/types/components/Combobox/ComboboxNew/Combobox.d.ts +2 -2
  89. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  90. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -6
  91. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  92. package/types/components/Combobox/ComboboxNew/index.d.ts +0 -2
  93. package/types/components/Combobox/ComboboxNew/index.d.ts.map +1 -1
  94. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts +2 -2
  95. package/types/components/Combobox/ComboboxNew/utils/filterItems.d.ts.map +1 -1
  96. package/types/components/Combobox/index.d.ts +0 -1
  97. package/types/components/Combobox/index.d.ts.map +1 -1
  98. package/types/components/DatePicker/DatePickerBase.types.d.ts +8 -6
  99. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  100. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +10 -10
  101. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  102. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +16 -6
  103. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  104. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  105. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  106. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +2 -1
  107. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  108. package/types/components/DatePicker/RangeDate/variations/_size/base.d.ts.map +1 -1
  109. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -2
  110. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  111. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +14 -4
  112. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  113. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -3
  114. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  115. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +3 -1
  116. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  117. package/types/components/DatePicker/utils/dateHelper.d.ts +10 -0
  118. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  119. package/types/components/Popover/Popover.types.d.ts +1 -1
  120. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts +8 -332
  121. package/types/examples/plasma_b2c/components/Combobox/Combobox.d.ts.map +1 -1
  122. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +6 -6
  123. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  124. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts +8 -332
  125. package/types/examples/plasma_web/components/Combobox/Combobox.d.ts.map +1 -1
  126. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +6 -6
  127. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  128. package/cjs/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
  129. package/es/components/DatePicker/RangeDate/variations/_size/base_1911nyw.css +0 -1
package/es/index.css CHANGED
@@ -715,7 +715,7 @@
715
715
 
716
716
 
717
717
 
718
- .base_1911nyw_bxpb4df__5db6cb4b{width:var(--plasma-date-picker-width);}.base_1911nyw_bxpb4df__5db6cb4b .base_1911nyw_ss94ai0__5db6cb4b{margin:var(--plasma-date-picker__label-offset);font-family:var(--plasma-date-picker__label-font-family);font-size:var(--plasma-date-picker__label-font-size);font-style:var(--plasma-date-picker__label-font-style);font-weight:var(--plasma-date-picker__label-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__label-letter-spacing);letter-spacing:var(--plasma-date-picker__label-letter-spacing);line-height:var(--plasma-date-picker__label-line-height);}.base_1911nyw_bxpb4df__5db6cb4b .base_1911nyw_l1b381ow__5db6cb4b{margin:var(--plasma-date-picker__left-helper-offset);font-family:var(--plasma-date-picker__left-helper-font-family);font-size:var(--plasma-date-picker__left-helper-font-size);font-style:var(--plasma-date-picker__left-helper-font-style);font-weight:var(--plasma-date-picker__left-helper-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);line-height:var(--plasma-date-picker__left-helper-line-height);}
718
+ .base_1d0sbzw_bxpb4df__7076066f .base_1d0sbzw_ss94ai0__7076066f{margin:var(--plasma-date-picker__label-offset);font-family:var(--plasma-date-picker__label-font-family);font-size:var(--plasma-date-picker__label-font-size);font-style:var(--plasma-date-picker__label-font-style);font-weight:var(--plasma-date-picker__label-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__label-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__label-letter-spacing);letter-spacing:var(--plasma-date-picker__label-letter-spacing);line-height:var(--plasma-date-picker__label-line-height);}.base_1d0sbzw_bxpb4df__7076066f .base_1d0sbzw_l1b381ow__7076066f{margin:var(--plasma-date-picker__left-helper-offset);font-family:var(--plasma-date-picker__left-helper-font-family);font-size:var(--plasma-date-picker__left-helper-font-size);font-style:var(--plasma-date-picker__left-helper-font-style);font-weight:var(--plasma-date-picker__left-helper-font-weight);-webkit-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-moz-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);-ms-letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);letter-spacing:var(--plasma-date-picker__left-helper-letter-spacing);line-height:var(--plasma-date-picker__left-helper-line-height);}
719
719
 
720
720
  .base_11yn9y8_bcuyjma__ffe2947a .base_11yn9y8_ss94ai0__ffe2947a{display:block;color:var(--plasma-date-picker__label-color);}.base_11yn9y8_bcuyjma__ffe2947a .base_11yn9y8_l1b381ow__ffe2947a{color:var(--plasma-date-picker__left-helper-color);}
721
721
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.166.0-canary.1470.11345978173.0",
3
+ "version": "0.166.0-canary.1475.11347015087.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -124,5 +124,5 @@
124
124
  "react-popper": "2.3.0",
125
125
  "storeon": "3.1.5"
126
126
  },
127
- "gitHead": "d0ead47e92ca4c9a347678d66c1aafb8d0d31c0a"
127
+ "gitHead": "f291c9e0ef6cdeb122e62bf24492e2a061f85c3f"
128
128
  }
@@ -19,15 +19,15 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
19
19
  // Не мутирует исходные данные.
20
20
  var filterItems = exports.filterItems = function filterItems(items, textValue, currentLabel, customFilter) {
21
21
  if (!textValue || textValue === currentLabel) return items;
22
- var defaultFilter = function defaultFilter(item, value) {
23
- return item.label.toLowerCase().includes(value.toLowerCase());
22
+ var defaultFilter = function defaultFilter(label, value) {
23
+ return label.toLowerCase().includes(value.toLowerCase());
24
24
  };
25
25
  var filter = customFilter || defaultFilter;
26
26
  var dfs = function dfs(items) {
27
27
  var newItems = [];
28
28
  items.forEach(function (item) {
29
29
  if (item.items) {
30
- if (filter(item, textValue)) {
30
+ if (filter(item.label, textValue)) {
31
31
  newItems.push(item);
32
32
  return;
33
33
  }
@@ -37,11 +37,12 @@ var filterItems = exports.filterItems = function filterItems(items, textValue, c
37
37
  items: res
38
38
  }));
39
39
  }
40
- } else if (filter(item, textValue)) {
40
+ } else if (filter(item.label, textValue)) {
41
41
  newItems.push(item);
42
42
  }
43
43
  });
44
44
  return newItems;
45
45
  };
46
+ dfs(items);
46
47
  return dfs(items);
47
48
  };
@@ -12,13 +12,14 @@ var _useDatePicker3 = /*#__PURE__*/require("../hooks/useDatePicker");
12
12
  var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
13
13
  var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
14
14
  var _DatePickerBase = /*#__PURE__*/require("../DatePickerBase.styles");
15
+ var _utils2 = /*#__PURE__*/require("../../Calendar/utils");
15
16
  var _base = /*#__PURE__*/require("./variations/_size/base");
16
17
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
17
18
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
18
19
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
19
20
  var _RangeDate = /*#__PURE__*/require("./RangeDate.styles");
20
21
  var _RangeDatePopover = /*#__PURE__*/require("./RangeDatePopover/RangeDatePopover");
21
- 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"];
22
+ 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"];
22
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); }
23
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; }
24
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); }
@@ -89,6 +90,10 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
89
90
  disabledYearList = _ref.disabledYearList,
90
91
  _ref$type = _ref.type,
91
92
  type = _ref$type === void 0 ? 'Days' : _ref$type,
93
+ _ref$frame = _ref.frame,
94
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
95
+ _ref$usePortal = _ref.usePortal,
96
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
92
97
  _ref$placement = _ref.placement,
93
98
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
94
99
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
@@ -104,8 +109,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
104
109
  onCommitSecondDate = _ref.onCommitSecondDate,
105
110
  onFocusFirstTextfield = _ref.onFocusFirstTextfield,
106
111
  onFocusSecondTextfield = _ref.onFocusSecondTextfield,
107
- onBlurFirstTextfield = _ref.onBlurFirstTextfield,
108
- onBlurSecondTextfield = _ref.onBlurSecondTextfield,
112
+ _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
113
+ _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
109
114
  rest = _objectWithoutProperties(_ref, _excluded);
110
115
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/(0, _react.createRef)();
111
116
  var rootRef = (0, _react.useRef)(null);
@@ -176,7 +181,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
176
181
  currentValue: inputFirstValue,
177
182
  setInputValue: setFirstInputValue,
178
183
  setCalendarValue: setCalendarFirstValue,
179
- setIsInnerOpen: setIsInnerOpen,
180
184
  dateFormatDelimiter: dateFormatDelimiter,
181
185
  format: format,
182
186
  lang: lang,
@@ -185,7 +189,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
185
189
  maskWithFormat: maskWithFormat,
186
190
  valueError: firstValueError,
187
191
  valueSuccess: firstValueSuccess,
188
- inputRef: firstInputRef,
189
192
  name: name,
190
193
  onChangeValue: onChangeFirstValue,
191
194
  onCommitDate: onCommitFirstDate
@@ -196,7 +199,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
196
199
  currentValue: inputSecondValue,
197
200
  setInputValue: setSecondInputValue,
198
201
  setCalendarValue: setCalendarSecondValue,
199
- setIsInnerOpen: setIsInnerOpen,
200
202
  dateFormatDelimiter: dateFormatDelimiter,
201
203
  format: format,
202
204
  lang: lang,
@@ -205,7 +207,6 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
205
207
  maskWithFormat: maskWithFormat,
206
208
  valueError: secondValueError,
207
209
  valueSuccess: secondValueSuccess,
208
- inputRef: secondInputRef,
209
210
  onChangeValue: onChangeSecondValue,
210
211
  onCommitDate: onCommitSecondDate
211
212
  }),
@@ -216,15 +217,59 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
216
217
  if (disabled || readOnly) {
217
218
  return;
218
219
  }
219
- 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;
220
+ 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;
221
+ if (!isCalendarOpen) {
222
+ if (calendarFirstValue && !calendarSecondValue) {
223
+ var _secondInputRef$curre2;
224
+ secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
225
+ }
226
+ if (calendarSecondValue || !calendarFirstValue) {
227
+ var _firstInputRef$curren2;
228
+ firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
229
+ }
230
+ }
220
231
  if (onToggle) {
221
232
  return onToggle(isCalendarOpen, event);
222
233
  }
223
234
  setIsInnerOpen(isCalendarOpen);
224
235
  };
236
+ var handleBlur = function handleBlur(event, outerHandler) {
237
+ if (!inputFirstValue || !inputSecondValue) {
238
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
239
+ return;
240
+ }
241
+ var _getDateFromFormat = (0, _dateHelper.getDateFromFormat)(inputFirstValue, format, lang),
242
+ firstDate = _getDateFromFormat.value,
243
+ firstIsSuccess = _getDateFromFormat.isSuccess;
244
+ var _getDateFromFormat2 = (0, _dateHelper.getDateFromFormat)(inputSecondValue, format, lang),
245
+ secondDate = _getDateFromFormat2.value,
246
+ secondIsSuccess = _getDateFromFormat2.isSuccess;
247
+ if (!firstIsSuccess || !secondIsSuccess) {
248
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
249
+ return;
250
+ }
251
+ var _getSortedValues = (0, _utils2.getSortedValues)([new Date(firstDate), new Date(secondDate)]),
252
+ _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
253
+ startValue = _getSortedValues2[0],
254
+ endValue = _getSortedValues2[1];
255
+ setFirstInputValue((0, _dateHelper.formatInputValue)({
256
+ value: startValue,
257
+ format: format,
258
+ lang: lang
259
+ }));
260
+ setSecondInputValue((0, _dateHelper.formatInputValue)({
261
+ value: endValue,
262
+ format: format,
263
+ lang: lang
264
+ }));
265
+ setCalendarFirstValue((0, _dateHelper.formatCalendarValue)(startValue, format, lang));
266
+ setCalendarSecondValue((0, _dateHelper.formatCalendarValue)(endValue, format, lang));
267
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
268
+ };
225
269
  var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
226
270
  isCalendarOpen: isInnerOpen,
227
- onToggle: handleToggle
271
+ onToggle: handleToggle,
272
+ closeOnEsc: closeOnEsc
228
273
  }),
229
274
  onKeyDown = _useKeyNavigation.onKeyDown;
230
275
  var RangeComponent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledRange, {
@@ -270,8 +315,12 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
270
315
  },
271
316
  onFocusFirstTextfield: onFocusFirstTextfield,
272
317
  onFocusSecondTextfield: onFocusSecondTextfield,
273
- onBlurFirstTextfield: onBlurFirstTextfield,
274
- onBlurSecondTextfield: onBlurSecondTextfield,
318
+ onBlurFirstTextfield: function onBlurFirstTextfield(event) {
319
+ return handleBlur(event, _onBlurFirstTextfield);
320
+ },
321
+ onBlurSecondTextfield: function onBlurSecondTextfield(event) {
322
+ return handleBlur(event, _onBlurSecondTextfield);
323
+ },
275
324
  onKeyDown: onKeyDown
276
325
  }));
277
326
  (0, _react.useEffect)(function () {
@@ -314,6 +363,16 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
314
363
  lang: lang
315
364
  }));
316
365
  }, [format, lang]);
366
+ var RootWrapper = (0, _react.useCallback)(function (_ref2) {
367
+ var children = _ref2.children;
368
+ return /*#__PURE__*/_react["default"].createElement(Root, {
369
+ view: view,
370
+ size: size,
371
+ className: (0, _utils.cx)(_DatePicker.classes.datePickerRoot, className),
372
+ disabled: disabled,
373
+ readOnly: !disabled && readOnly
374
+ }, children);
375
+ }, [view, size, disabled, readOnly]);
317
376
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
318
377
  ref: rootRef,
319
378
  view: view,
@@ -336,6 +395,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
336
395
  disabledYearList: disabledYearList,
337
396
  min: min,
338
397
  max: max,
398
+ frame: frame,
399
+ usePortal: usePortal,
339
400
  placement: placement,
340
401
  closeOnOverlayClick: closeOnOverlayClick,
341
402
  closeOnEsc: closeOnEsc,
@@ -344,14 +405,15 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
344
405
  onToggle: handleToggle,
345
406
  lang: lang,
346
407
  isDoubleCalendar: isDoubleCalendar,
408
+ rootWrapper: RootWrapper,
347
409
  onChangeStartOfRange: function onChangeStartOfRange(firstDate, dateInfo) {
348
410
  handleCommitFirstDate(firstDate, false, true, dateInfo);
349
411
  handleCommitSecondDate('');
350
412
  },
351
- onChangeValue: function onChangeValue(_ref2, dateInfo) {
352
- var _ref3 = _slicedToArray(_ref2, 2),
353
- firstDate = _ref3[0],
354
- secondDate = _ref3[1];
413
+ onChangeValue: function onChangeValue(_ref3, dateInfo) {
414
+ var _ref4 = _slicedToArray(_ref3, 2),
415
+ firstDate = _ref4[0],
416
+ secondDate = _ref4[1];
355
417
  firstDate && handleCommitFirstDate(firstDate, false, true, dateInfo);
356
418
  secondDate && handleCommitSecondDate(secondDate, false, true, dateInfo);
357
419
  if (firstDate && secondDate && !firstValueError && !secondValueError) {
@@ -10,7 +10,8 @@ var _RangeDate = /*#__PURE__*/require("../RangeDate.styles");
10
10
  var _RangeDatePopover = /*#__PURE__*/require("./RangeDatePopover.styles");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
12
  var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref) {
13
- var target = _ref.target,
13
+ var Root = _ref.rootWrapper,
14
+ target = _ref.target,
14
15
  isOpen = _ref.isOpen,
15
16
  opened = _ref.opened,
16
17
  isDoubleCalendar = _ref.isDoubleCalendar,
@@ -26,6 +27,10 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
26
27
  disabledQuarterList = _ref.disabledQuarterList,
27
28
  eventYearList = _ref.eventYearList,
28
29
  disabledYearList = _ref.disabledYearList,
30
+ _ref$frame = _ref.frame,
31
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
32
+ _ref$usePortal = _ref.usePortal,
33
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
29
34
  _ref$placement = _ref.placement,
30
35
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
31
36
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
@@ -43,7 +48,8 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
43
48
  if (isDoubleCalendar) {
44
49
  return /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledPopover, {
45
50
  opened: innerIsOpen,
46
- usePortal: false,
51
+ frame: frame,
52
+ usePortal: usePortal,
47
53
  onToggle: onToggle,
48
54
  offset: offset,
49
55
  placement: (0, _utils.getPlacements)(placement),
@@ -52,7 +58,7 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
52
58
  isFocusTrapped: false,
53
59
  target: target,
54
60
  preventOverflow: false
55
- }, /*#__PURE__*/_react["default"].createElement(_RangeDatePopover.StyledCalendarDouble, {
61
+ }, /*#__PURE__*/_react["default"].createElement(Root, null, /*#__PURE__*/_react["default"].createElement(_RangeDatePopover.StyledCalendarDouble, {
56
62
  size: size,
57
63
  value: calendarValue,
58
64
  eventList: eventList,
@@ -69,11 +75,12 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
69
75
  includeEdgeDates: includeEdgeDates,
70
76
  onChangeValue: onChangeValue,
71
77
  onChangeStartOfRange: onChangeStartOfRange
72
- }));
78
+ })));
73
79
  }
74
80
  return /*#__PURE__*/_react["default"].createElement(_RangeDate.StyledPopover, {
75
81
  opened: innerIsOpen,
76
- usePortal: false,
82
+ frame: frame,
83
+ usePortal: usePortal,
77
84
  onToggle: onToggle,
78
85
  offset: offset,
79
86
  placement: (0, _utils.getPlacements)(placement),
@@ -83,7 +90,7 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
83
90
  target: target,
84
91
  preventOverflow: false,
85
92
  closeOnEsc: closeOnEsc
86
- }, /*#__PURE__*/_react["default"].createElement(_RangeDatePopover.StyledCalendar, {
93
+ }, /*#__PURE__*/_react["default"].createElement(Root, null, /*#__PURE__*/_react["default"].createElement(_RangeDatePopover.StyledCalendar, {
87
94
  size: size,
88
95
  value: calendarValue,
89
96
  eventList: eventList,
@@ -101,5 +108,5 @@ var RangeDatePopover = exports.RangeDatePopover = function RangeDatePopover(_ref
101
108
  includeEdgeDates: includeEdgeDates,
102
109
  onChangeValue: onChangeValue,
103
110
  onChangeStartOfRange: onChangeStartOfRange
104
- }));
111
+ })));
105
112
  };
@@ -7,4 +7,4 @@ exports.base = void 0;
7
7
  var _styledComponents = /*#__PURE__*/require("styled-components");
8
8
  var _DatePicker = /*#__PURE__*/require("../../../DatePicker.tokens");
9
9
  var _RangeDate = /*#__PURE__*/require("../../RangeDate.styles");
10
- var base = exports.base = /*#__PURE__*/(0, _styledComponents.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(", ");}"], _DatePicker.tokens.width, _RangeDate.StyledLabel, _DatePicker.tokens.labelOffset, _DatePicker.tokens.labelFontFamily, _DatePicker.tokens.labelFontSize, _DatePicker.tokens.labelFontStyle, _DatePicker.tokens.labelFontWeight, _DatePicker.tokens.labelLetterSpacing, _DatePicker.tokens.labelLineHeight, _RangeDate.LeftHelper, _DatePicker.tokens.leftHelperOffset, _DatePicker.tokens.leftHelperFontFamily, _DatePicker.tokens.leftHelperFontSize, _DatePicker.tokens.leftHelperFontStyle, _DatePicker.tokens.leftHelperFontWeight, _DatePicker.tokens.leftHelperLetterSpacing, _DatePicker.tokens.leftHelperLineHeight);
10
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.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(", ");}"], _RangeDate.StyledLabel, _DatePicker.tokens.labelOffset, _DatePicker.tokens.labelFontFamily, _DatePicker.tokens.labelFontSize, _DatePicker.tokens.labelFontStyle, _DatePicker.tokens.labelFontWeight, _DatePicker.tokens.labelLetterSpacing, _DatePicker.tokens.labelLineHeight, _RangeDate.LeftHelper, _DatePicker.tokens.leftHelperOffset, _DatePicker.tokens.leftHelperFontFamily, _DatePicker.tokens.leftHelperFontSize, _DatePicker.tokens.leftHelperFontStyle, _DatePicker.tokens.leftHelperFontWeight, _DatePicker.tokens.leftHelperLetterSpacing, _DatePicker.tokens.leftHelperLineHeight);
@@ -17,7 +17,7 @@ var _base2 = /*#__PURE__*/require("./variations/_view/base");
17
17
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
18
18
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
19
19
  var _SingleDate = /*#__PURE__*/require("./SingleDate.styles");
20
- 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"];
20
+ 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"];
21
21
  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
22
  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
23
  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); }
@@ -73,10 +73,16 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
73
73
  disabledYearList = _ref.disabledYearList,
74
74
  _ref$type = _ref.type,
75
75
  type = _ref$type === void 0 ? 'Days' : _ref$type,
76
+ _ref$frame = _ref.frame,
77
+ frame = _ref$frame === void 0 ? 'document' : _ref$frame,
78
+ _ref$usePortal = _ref.usePortal,
79
+ usePortal = _ref$usePortal === void 0 ? false : _ref$usePortal,
76
80
  _ref$placement = _ref.placement,
77
81
  placement = _ref$placement === void 0 ? ['top', 'bottom'] : _ref$placement,
78
82
  _ref$closeOnOverlayCl = _ref.closeOnOverlayClick,
79
83
  closeOnOverlayClick = _ref$closeOnOverlayCl === void 0 ? true : _ref$closeOnOverlayCl,
84
+ _ref$closeOnEsc = _ref.closeOnEsc,
85
+ closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
80
86
  offset = _ref.offset,
81
87
  onChangeValue = _ref.onChangeValue,
82
88
  onCommitDate = _ref.onCommitDate,
@@ -111,7 +117,6 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
111
117
  currentValue: inputValue,
112
118
  setInputValue: setInputValue,
113
119
  setCalendarValue: setCalendarValue,
114
- setIsInnerOpen: setIsInnerOpen,
115
120
  dateFormatDelimiter: dateFormatDelimiter,
116
121
  format: format,
117
122
  lang: lang,
@@ -120,21 +125,34 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
120
125
  maskWithFormat: maskWithFormat,
121
126
  valueError: valueError,
122
127
  valueSuccess: valueSuccess,
123
- inputRef: inputRef,
124
128
  name: name,
125
- onToggle: onToggle,
126
129
  onChangeValue: onChangeValue,
127
130
  onCommitDate: onCommitDate,
128
131
  onChange: onChange
129
132
  }),
130
133
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
131
134
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
132
- handleToggle = _useDatePicker.handleToggle,
133
135
  handleChangeValue = _useDatePicker.handleChangeValue,
134
136
  handleCommitDate = _useDatePicker.handleCommitDate;
137
+ var handleToggle = function handleToggle(opened, event) {
138
+ if (disabled || readOnly) {
139
+ return;
140
+ }
141
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== _useKeyboardNavigation.keys.Escape ? true : opened;
142
+ if (!isCalendarOpen && inputValue) {
143
+ var _inputRef$current;
144
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
145
+ }
146
+ if (onToggle) {
147
+ onToggle(isCalendarOpen, event);
148
+ return;
149
+ }
150
+ setIsInnerOpen(isCalendarOpen);
151
+ };
135
152
  var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
136
153
  isCalendarOpen: isInnerOpen,
137
- onToggle: handleToggle
154
+ onToggle: handleToggle,
155
+ closeOnEsc: closeOnEsc
138
156
  }),
139
157
  onKeyDown = _useKeyNavigation.onKeyDown;
140
158
  var DatePickerInput = /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledInput, _extends({
@@ -190,7 +208,8 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
190
208
  ref: ref
191
209
  }, rest), !innerLabelPlacement && label && /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledLabel, null, label), /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledPopover, {
192
210
  opened: isInnerOpen,
193
- usePortal: false,
211
+ usePortal: usePortal,
212
+ frame: frame,
194
213
  onToggle: handleToggle,
195
214
  offset: offset,
196
215
  placement: (0, _utils.getPlacements)(placement),
@@ -199,6 +218,12 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
199
218
  isFocusTrapped: false,
200
219
  target: DatePickerInput,
201
220
  preventOverflow: false
221
+ }, /*#__PURE__*/_react["default"].createElement(Root, {
222
+ view: view,
223
+ size: size,
224
+ className: (0, _utils.cx)(_DatePicker.classes.datePickerRoot, className),
225
+ disabled: disabled,
226
+ readOnly: !disabled && readOnly
202
227
  }, /*#__PURE__*/_react["default"].createElement(_DatePickerBase.StyledCalendar, {
203
228
  size: size,
204
229
  value: calendarValue,
@@ -219,7 +244,7 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
219
244
  onChangeValue: function onChangeValue(date, dateInfo) {
220
245
  return handleCommitDate(date, false, true, dateInfo);
221
246
  }
222
- })), leftHelper && /*#__PURE__*/_react["default"].createElement(_SingleDate.LeftHelper, null, leftHelper), /*#__PURE__*/_react["default"].createElement(_DatePickerBase.InputHidden, _extends({
247
+ }))), leftHelper && /*#__PURE__*/_react["default"].createElement(_SingleDate.LeftHelper, null, leftHelper), /*#__PURE__*/_react["default"].createElement(_DatePickerBase.InputHidden, _extends({
223
248
  type: "hidden",
224
249
  datatype: "datepicker-single",
225
250
  name: name,
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useDatePicker = void 0;
7
7
  var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
8
8
  var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
9
- var _datejs = /*#__PURE__*/require("../../../utils/datejs");
10
9
  var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
11
10
  var currentValue = _ref.currentValue,
12
11
  setInputValue = _ref.setInputValue,
13
12
  setCalendarValue = _ref.setCalendarValue,
14
- setIsInnerOpen = _ref.setIsInnerOpen,
15
13
  dateFormatDelimiter = _ref.dateFormatDelimiter,
16
14
  format = _ref.format,
17
15
  _ref$lang = _ref.lang,
@@ -21,24 +19,12 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
21
19
  maskWithFormat = _ref.maskWithFormat,
22
20
  valueError = _ref.valueError,
23
21
  valueSuccess = _ref.valueSuccess,
24
- inputRef = _ref.inputRef,
25
22
  name = _ref.name,
26
- onToggle = _ref.onToggle,
27
23
  onChangeValue = _ref.onChangeValue,
28
24
  onCommitDate = _ref.onCommitDate,
29
25
  onChange = _ref.onChange;
30
26
  var datePickerErrorClass = valueError ? _DatePicker.classes.datePickerError : undefined;
31
27
  var datePickerSuccessClass = valueSuccess ? _DatePicker.classes.datePickerSuccess : undefined;
32
- var handleToggle = function handleToggle(opened, event) {
33
- if (disabled || readOnly) {
34
- return;
35
- }
36
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) ? true : opened;
37
- if (onToggle) {
38
- return onToggle(isCalendarOpen, event);
39
- }
40
- setIsInnerOpen(isCalendarOpen);
41
- };
42
28
  var handleChangeValue = function handleChangeValue(event) {
43
29
  if (disabled || readOnly) {
44
30
  return;
@@ -61,24 +47,14 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
61
47
  });
62
48
  return;
63
49
  }
64
-
65
- /**
66
- * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
67
- * нужно дополнительно проводить валидацию на полноту введенной даты.
68
- * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
69
- */
70
- var hasMonthFullName = /M{3,4}/g.test(format);
71
- var isValidMonth;
72
- var isLengthEqual;
73
- if (hasMonthFullName) {
74
- _datejs.customDayjs.locale(lang);
75
- var firstIndexOfMonth = format.indexOf('M');
76
- var lastIndexOfMonth = newValue.indexOf(dateFormatDelimiter(), firstIndexOfMonth);
77
- var fullMonthName = !lastIndexOfMonth ? newValue.slice(firstIndexOfMonth) : newValue.slice(firstIndexOfMonth, lastIndexOfMonth);
78
- var monthFormatting = format.replace(/[^M]/g, '');
79
- isValidMonth = (0, _datejs.customDayjs)("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
80
- isLengthEqual = format.length - monthFormatting.length === newValue.length - fullMonthName.length;
81
- }
50
+ var _validateDateWithFull = (0, _dateHelper.validateDateWithFullMonth)({
51
+ currentValue: newValue,
52
+ format: format,
53
+ lang: lang
54
+ }),
55
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
56
+ isValidMonth = _validateDateWithFull.isValidMonth,
57
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
82
58
  if (!hasMonthFullName && (newValue === null || newValue === void 0 ? void 0 : newValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
83
59
  setCalendarValue((0, _dateHelper.formatCalendarValue)(newValue, format, lang));
84
60
  }
@@ -108,20 +84,18 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
108
84
  return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true);
109
85
  }
110
86
  if (isCalendarValue) {
111
- setCalendarValue((0, _dateHelper.formatCalendarValue)(date, format, lang));
112
- setInputValue((0, _dateHelper.formatInputValue)({
87
+ var _formattedInputValue = (0, _dateHelper.formatInputValue)({
113
88
  value: date,
114
89
  format: format,
115
90
  lang: lang
116
- }));
91
+ });
92
+ setCalendarValue((0, _dateHelper.formatCalendarValue)(date, format, lang));
93
+ setInputValue(_formattedInputValue);
117
94
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(date, false, true, dateInfo);
95
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, _formattedInputValue);
118
96
  onChange === null || onChange === void 0 || onChange({
119
97
  target: {
120
- value: (0, _dateHelper.formatInputValue)({
121
- value: date,
122
- format: format,
123
- lang: lang
124
- }),
98
+ value: _formattedInputValue,
125
99
  name: name
126
100
  }
127
101
  });
@@ -132,19 +106,18 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
132
106
  newDate = _getDateFromFormat.value,
133
107
  isError = _getDateFromFormat.isError,
134
108
  isSuccess = _getDateFromFormat.isSuccess;
135
- setCalendarValue((0, _dateHelper.formatCalendarValue)(newDate, format, lang));
136
- setInputValue((0, _dateHelper.formatInputValue)({
109
+ var formattedInputValue = (0, _dateHelper.formatInputValue)({
137
110
  value: newDate,
138
111
  format: format,
139
112
  lang: lang
140
- }));
113
+ });
114
+ setCalendarValue((0, _dateHelper.formatCalendarValue)(newDate, format, lang));
115
+ setInputValue(formattedInputValue);
141
116
  onCommitDate === null || onCommitDate === void 0 || onCommitDate(newDate, isError, isSuccess);
117
+ onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedInputValue);
142
118
  onChange === null || onChange === void 0 || onChange({
143
119
  target: {
144
- value: (0, _dateHelper.formatInputValue)({
145
- value: date,
146
- format: format
147
- }),
120
+ value: formattedInputValue,
148
121
  name: name
149
122
  }
150
123
  });
@@ -152,7 +125,6 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
152
125
  return {
153
126
  datePickerErrorClass: datePickerErrorClass,
154
127
  datePickerSuccessClass: datePickerSuccessClass,
155
- handleToggle: handleToggle,
156
128
  handleChangeValue: handleChangeValue,
157
129
  handleCommitDate: handleCommitDate
158
130
  };
@@ -5,10 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useKeyNavigation = exports.keys = void 0;
7
7
  var keys = exports.keys = {
8
- Space: 'Space'
8
+ Space: 'Space',
9
+ Escape: 'Escape'
9
10
  };
10
11
  var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref) {
11
12
  var isCalendarOpen = _ref.isCalendarOpen,
13
+ closeOnEsc = _ref.closeOnEsc,
12
14
  onToggle = _ref.onToggle;
13
15
  var onKeyDown = function onKeyDown(event) {
14
16
  switch (event.code) {
@@ -20,6 +22,14 @@ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref
20
22
  }
21
23
  break;
22
24
  }
25
+ case keys.Escape:
26
+ {
27
+ if (isCalendarOpen && closeOnEsc) {
28
+ event.preventDefault();
29
+ onToggle(false, event);
30
+ }
31
+ break;
32
+ }
23
33
  default:
24
34
  {
25
35
  break;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getMaskedDateOnInput = exports.getDateFromFormat = exports.getDateFormatDelimiter = exports.formatInputValue = exports.formatCalendarValue = void 0;
6
+ exports.validateDateWithFullMonth = exports.getMaskedDateOnInput = exports.getDateFromFormat = exports.getDateFormatDelimiter = exports.formatInputValue = exports.formatCalendarValue = void 0;
7
7
  var _datejs = /*#__PURE__*/require("../../../utils/datejs");
8
8
  var formatInputValue = exports.formatInputValue = function formatInputValue(_ref) {
9
9
  var value = _ref.value,
@@ -84,4 +84,34 @@ var getMaskedDateOnInput = exports.getMaskedDateOnInput = function getMaskedDate
84
84
  return value + delimiter;
85
85
  }
86
86
  return value;
87
+ };
88
+ var validateDateWithFullMonth = exports.validateDateWithFullMonth = function validateDateWithFullMonth(_ref2) {
89
+ var currentValue = _ref2.currentValue,
90
+ format = _ref2.format,
91
+ lang = _ref2.lang;
92
+ /**
93
+ * NOTE: если в формате даты есть месяц в полном названии или сокращенном,
94
+ * нужно дополнительно проводить валидацию на полноту введенной даты.
95
+ * Иначе dayjs циклически будет пытаться отформатировать некорректную дату.
96
+ */
97
+ var hasMonthFullName = /M{3,4}/g.test(format);
98
+ if (!hasMonthFullName) {
99
+ return {
100
+ hasMonthFullName: hasMonthFullName,
101
+ isValidMonth: false,
102
+ isLengthEqual: false
103
+ };
104
+ }
105
+ _datejs.customDayjs.locale(lang);
106
+ var firstIndexOfMonth = format.indexOf('M');
107
+ var lastIndexOfMonth = currentValue.indexOf(getDateFormatDelimiter(format), firstIndexOfMonth);
108
+ var fullMonthName = !lastIndexOfMonth ? currentValue.slice(firstIndexOfMonth) : currentValue.slice(firstIndexOfMonth, lastIndexOfMonth);
109
+ var monthFormatting = format.replace(/[^M]/g, '');
110
+ var isValidMonth = (0, _datejs.customDayjs)("01 ".concat(fullMonthName, " 1970"), "DD ".concat(monthFormatting, " YYYY"), true).isValid();
111
+ var isLengthEqual = format.length - monthFormatting.length === currentValue.length - fullMonthName.length;
112
+ return {
113
+ hasMonthFullName: hasMonthFullName,
114
+ isValidMonth: isValidMonth,
115
+ isLengthEqual: isLengthEqual
116
+ };
87
117
  };