@salutejs/plasma-new-hope 0.322.0-canary.1933.14596920222.0 → 0.322.0-canary.1939.14616445713.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  6. package/cjs/components/Calendar/hoc/withRange.js.map +1 -1
  7. package/cjs/components/Calendar/store/reducer.js.map +1 -1
  8. package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  9. package/cjs/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  10. package/cjs/components/DatePicker/DatePicker.tokens.js +2 -1
  11. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  12. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  13. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  14. package/cjs/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +2 -0
  15. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.js +160 -84
  17. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  18. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  19. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  20. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  21. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +2 -0
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +66 -33
  26. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  27. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  28. package/cjs/components/DatePicker/hooks/useDatePicker.js +133 -76
  29. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  30. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  31. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  32. package/cjs/components/DatePicker/utils/dateHelper.js +0 -109
  33. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  34. package/cjs/components/DatePicker/utils/getFormattedDates.js +45 -0
  35. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +1 -0
  36. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +27 -0
  37. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -0
  38. package/cjs/components/DatePicker/utils/getOriginalDates.js +49 -0
  39. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +1 -0
  40. package/cjs/components/DatePicker/utils/normalizeDates.js +33 -0
  41. package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -0
  42. package/cjs/index.css +4 -4
  43. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  44. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  45. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +2 -1
  46. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +4 -4
  47. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +160 -84
  48. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  49. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  50. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +66 -33
  51. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  52. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +132 -76
  53. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  54. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +1 -104
  55. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +43 -0
  56. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +26 -0
  57. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +47 -0
  58. package/emotion/cjs/components/DatePicker/utils/index.js +33 -0
  59. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +31 -0
  60. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  61. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +20 -19
  62. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  63. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +17 -12
  64. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  65. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  66. package/emotion/es/components/DatePicker/DatePicker.tokens.js +2 -1
  67. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +4 -4
  68. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +161 -85
  69. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  70. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  71. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +67 -34
  72. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  73. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +131 -75
  74. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  75. package/emotion/es/components/DatePicker/utils/dateHelper.js +0 -103
  76. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +37 -0
  77. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +20 -0
  78. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +41 -0
  79. package/emotion/es/components/DatePicker/utils/index.js +4 -0
  80. package/emotion/es/components/DatePicker/utils/normalizeDates.js +25 -0
  81. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  82. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +20 -19
  83. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  84. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +17 -12
  85. package/es/components/Calendar/Calendar.types.js.map +1 -1
  86. package/es/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  87. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  88. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  89. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  90. package/es/components/Calendar/hoc/withRange.js.map +1 -1
  91. package/es/components/Calendar/store/reducer.js.map +1 -1
  92. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  93. package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  94. package/es/components/DatePicker/DatePicker.tokens.js +2 -1
  95. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  96. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  97. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  98. package/es/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +2 -0
  99. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  100. package/es/components/DatePicker/RangeDate/RangeDate.js +162 -86
  101. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  102. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  103. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  104. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  105. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  106. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  107. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +2 -0
  108. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  109. package/es/components/DatePicker/SingleDate/SingleDate.js +68 -35
  110. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  111. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  112. package/es/components/DatePicker/hooks/useDatePicker.js +132 -75
  113. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  114. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  115. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  116. package/es/components/DatePicker/utils/dateHelper.js +1 -105
  117. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  118. package/es/components/DatePicker/utils/getFormattedDates.js +41 -0
  119. package/es/components/DatePicker/utils/getFormattedDates.js.map +1 -0
  120. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +23 -0
  121. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -0
  122. package/es/components/DatePicker/utils/getOriginalDates.js +45 -0
  123. package/es/components/DatePicker/utils/getOriginalDates.js.map +1 -0
  124. package/es/components/DatePicker/utils/normalizeDates.js +29 -0
  125. package/es/components/DatePicker/utils/normalizeDates.js.map +1 -0
  126. package/es/index.css +4 -4
  127. package/package.json +4 -4
  128. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  129. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  130. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +2 -1
  131. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +2 -2
  132. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +160 -84
  133. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  134. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +66 -33
  135. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +132 -76
  136. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  137. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +1 -104
  138. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +43 -0
  139. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +26 -0
  140. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +47 -0
  141. package/styled-components/cjs/components/DatePicker/utils/index.js +33 -0
  142. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +31 -0
  143. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  144. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +20 -19
  145. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  146. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +17 -12
  147. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +3 -6
  148. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +3 -6
  149. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +2 -1
  150. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +2 -2
  151. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +161 -85
  152. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +67 -34
  154. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +131 -75
  155. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +7 -0
  156. package/styled-components/es/components/DatePicker/utils/dateHelper.js +0 -103
  157. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +37 -0
  158. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +20 -0
  159. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +41 -0
  160. package/styled-components/es/components/DatePicker/utils/index.js +4 -0
  161. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +25 -0
  162. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  163. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +20 -19
  164. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  165. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +17 -12
  166. package/types/components/Calendar/Calendar.types.d.ts +4 -3
  167. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  168. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  169. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  170. package/types/components/Calendar/hoc/withRange.d.ts.map +1 -1
  171. package/types/components/Calendar/store/reducer.d.ts +2 -1
  172. package/types/components/Calendar/store/reducer.d.ts.map +1 -1
  173. package/types/components/Calendar/utils/calendarGridHelper.d.ts +4 -4
  174. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  175. package/types/components/Calendar/utils/calendarRangeHelper.d.ts +4 -4
  176. package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -1
  177. package/types/components/DatePicker/DatePicker.tokens.d.ts +1 -0
  178. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  179. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  180. package/types/components/DatePicker/DatePickerBase.types.d.ts +16 -6
  181. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  182. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +3 -2
  183. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  184. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +2 -2
  185. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  186. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts +1 -1
  187. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
  188. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +3 -3
  189. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  190. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +10 -6
  191. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  192. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +8 -6
  193. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  194. package/types/components/DatePicker/hooks/useDatePicker.d.ts +5 -4
  195. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  196. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +4 -1
  197. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  198. package/types/components/DatePicker/utils/dateHelper.d.ts +0 -27
  199. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  200. package/types/components/DatePicker/utils/getFormattedDates.d.ts +21 -0
  201. package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +1 -0
  202. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts +2 -0
  203. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +1 -0
  204. package/types/components/DatePicker/utils/getOriginalDates.d.ts +10 -0
  205. package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +1 -0
  206. package/types/components/DatePicker/utils/index.d.ts +5 -0
  207. package/types/components/DatePicker/utils/index.d.ts.map +1 -0
  208. package/types/components/DatePicker/utils/normalizeDates.d.ts +15 -0
  209. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -0
  210. package/cjs/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +0 -2
  211. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +0 -2
  212. package/es/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +0 -2
  213. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +0 -2
@@ -13,6 +13,7 @@ var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
13
13
  var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
14
14
  var _DatePickerBase = /*#__PURE__*/require("../DatePickerBase.styles");
15
15
  var _utils2 = /*#__PURE__*/require("../../Calendar/utils");
16
+ var _utils3 = /*#__PURE__*/require("../utils");
16
17
  var _base = /*#__PURE__*/require("./variations/_size/base");
17
18
  var _base2 = /*#__PURE__*/require("./variations/_view/base");
18
19
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
@@ -122,14 +123,13 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
122
123
  _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
123
124
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
124
125
  rest = _objectWithoutProperties(_ref, _excluded);
126
+ if (externalValue !== null && externalValue !== void 0 && externalValue.length && (defaultFirstDate || defaultSecondDate)) {
127
+ console.error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
128
+ }
125
129
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/(0, _react.createRef)();
126
130
  var rootRef = (0, _react.useRef)(null);
127
131
  var innerRefFirst = (0, _react.useRef)(null);
128
132
  var innerRefSecond = (0, _react.useRef)(null);
129
- var _ref2 = externalValue || [],
130
- _ref3 = _slicedToArray(_ref2, 2),
131
- startExternalValue = _ref3[0],
132
- endExternalValue = _ref3[1];
133
133
  var _useState = (0, _react.useState)(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
134
134
  _useState2 = _slicedToArray(_useState, 2),
135
135
  firstInputRef = _useState2[0],
@@ -142,38 +142,69 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
142
142
  _useState6 = _slicedToArray(_useState5, 2),
143
143
  isInnerOpen = _useState6[0],
144
144
  setIsInnerOpen = _useState6[1];
145
- var _useState7 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(startExternalValue || defaultFirstDate, format, lang)),
145
+ var dateFormatDelimiter = (0, _react.useCallback)(function () {
146
+ return (0, _dateHelper.getDateFormatDelimiter)(format);
147
+ }, [format]);
148
+ var _ref2 = externalValue || [],
149
+ _ref3 = _slicedToArray(_ref2, 2),
150
+ startExternalValue = _ref3[0],
151
+ endExternalValue = _ref3[1];
152
+ var startInitialValues = (0, _utils3.getFormattedDates)({
153
+ value: startExternalValue || defaultFirstDate,
154
+ delimiter: dateFormatDelimiter(),
155
+ lang: lang,
156
+ format: format,
157
+ includeEdgeDates: includeEdgeDates,
158
+ min: min,
159
+ max: max
160
+ });
161
+ var endInitialValues = (0, _utils3.getFormattedDates)({
162
+ value: endExternalValue || defaultSecondDate,
163
+ delimiter: dateFormatDelimiter(),
164
+ lang: lang,
165
+ format: format,
166
+ includeEdgeDates: includeEdgeDates,
167
+ min: min,
168
+ max: max
169
+ });
170
+ var _useState7 = (0, _react.useState)({
171
+ calendar: startInitialValues.originalDate,
172
+ input: startInitialValues.formattedDate
173
+ }),
146
174
  _useState8 = _slicedToArray(_useState7, 2),
147
- calendarFirstValue = _useState8[0],
148
- setCalendarFirstValue = _useState8[1];
149
- var _useState9 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
150
- value: startExternalValue || defaultFirstDate,
151
- format: format,
152
- lang: lang
153
- })),
175
+ correctStartDates = _useState8[0],
176
+ setCorrectStartDates = _useState8[1];
177
+ var _useState9 = (0, _react.useState)({
178
+ calendar: endInitialValues.originalDate,
179
+ input: endInitialValues.formattedDate
180
+ }),
154
181
  _useState10 = _slicedToArray(_useState9, 2),
155
- inputFirstValue = _useState10[0],
156
- setInputFirstValue = _useState10[1];
157
- var _useState11 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(endExternalValue || defaultSecondDate, format, lang)),
182
+ correctEndDates = _useState10[0],
183
+ setCorrectEndDates = _useState10[1];
184
+ var _useState11 = (0, _react.useState)(startInitialValues.originalDate),
158
185
  _useState12 = _slicedToArray(_useState11, 2),
159
- calendarSecondValue = _useState12[0],
160
- setCalendarSecondValue = _useState12[1];
161
- var _useState13 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
162
- value: endExternalValue || defaultSecondDate,
163
- format: format,
164
- lang: lang
165
- })),
186
+ calendarFirstValue = _useState12[0],
187
+ setCalendarFirstValue = _useState12[1];
188
+ var _useState13 = (0, _react.useState)(startInitialValues.formattedDate),
166
189
  _useState14 = _slicedToArray(_useState13, 2),
167
- inputSecondValue = _useState14[0],
168
- setInputSecondValue = _useState14[1];
169
- var _useState15 = (0, _react.useState)(Boolean(calendarFirstValue && calendarSecondValue)),
190
+ inputFirstValue = _useState14[0],
191
+ setInputFirstValue = _useState14[1];
192
+ var _useState15 = (0, _react.useState)(endInitialValues.originalDate),
170
193
  _useState16 = _slicedToArray(_useState15, 2),
171
- fullDateEntered = _useState16[0],
172
- setFullDateEntered = _useState16[1];
173
- var _useState17 = (0, _react.useState)(false),
194
+ calendarSecondValue = _useState16[0],
195
+ setCalendarSecondValue = _useState16[1];
196
+ var _useState17 = (0, _react.useState)(endInitialValues.formattedDate),
174
197
  _useState18 = _slicedToArray(_useState17, 2),
175
- secondTextFieldClicked = _useState18[0],
176
- setSecondTextFieldClicked = _useState18[1];
198
+ inputSecondValue = _useState18[0],
199
+ setInputSecondValue = _useState18[1];
200
+ var _useState19 = (0, _react.useState)(Boolean(calendarFirstValue && calendarSecondValue)),
201
+ _useState20 = _slicedToArray(_useState19, 2),
202
+ fullDateEntered = _useState20[0],
203
+ setFullDateEntered = _useState20[1];
204
+ var _useState21 = (0, _react.useState)(false),
205
+ _useState22 = _slicedToArray(_useState21, 2),
206
+ secondTextFieldClicked = _useState22[0],
207
+ setSecondTextFieldClicked = _useState22[1];
177
208
  var rangeErrorClass = firstValueError || secondValueError ? _DatePicker.classes.datePickerError : undefined;
178
209
  var rangeSuccessClass = firstValueSuccess || secondValueSuccess ? _DatePicker.classes.datePickerSuccess : undefined;
179
210
  var setFirstInputValue = function setFirstInputValue(value) {
@@ -198,45 +229,55 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
198
229
  });
199
230
  }
200
231
  };
201
- var dateFormatDelimiter = (0, _react.useCallback)(function () {
202
- return (0, _dateHelper.getDateFormatDelimiter)(format);
203
- }, [format]);
204
232
  var _useDatePicker = (0, _useDatePicker3.useDatePicker)({
205
233
  currentValue: inputFirstValue,
206
- setInputValue: setFirstInputValue,
207
- setCalendarValue: setCalendarFirstValue,
208
- dateFormatDelimiter: dateFormatDelimiter,
209
234
  format: format,
210
235
  lang: lang,
211
236
  disabled: disabled,
212
237
  readOnly: readOnly,
213
238
  maskWithFormat: maskWithFormat,
214
239
  valueError: firstValueError,
215
- valueSuccess: firstValueSuccess,
240
+ valueSuccess: firstValueError,
216
241
  name: name,
242
+ type: type,
243
+ min: min,
244
+ max: max,
245
+ includeEdgeDates: includeEdgeDates,
246
+ setCorrectDates: setCorrectStartDates,
247
+ setInputValue: setFirstInputValue,
248
+ setCalendarValue: setCalendarFirstValue,
217
249
  onChangeValue: onChangeFirstValue,
218
- onCommitDate: onCommitFirstDate
250
+ onCommitDate: onCommitFirstDate,
251
+ dateFormatDelimiter: dateFormatDelimiter
219
252
  }),
220
253
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
221
- handleCommitFirstDate = _useDatePicker.handleCommitDate,
254
+ handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
255
+ handleSearchFirst = _useDatePicker.handleSearch,
222
256
  updateExternalFirstDate = _useDatePicker.updateExternalDate;
223
257
  var _useDatePicker2 = (0, _useDatePicker3.useDatePicker)({
224
258
  currentValue: inputSecondValue,
225
- setInputValue: setSecondInputValue,
226
- setCalendarValue: setCalendarSecondValue,
227
- dateFormatDelimiter: dateFormatDelimiter,
228
259
  format: format,
229
260
  lang: lang,
230
261
  disabled: disabled,
231
262
  readOnly: readOnly,
232
263
  maskWithFormat: maskWithFormat,
233
264
  valueError: secondValueError,
234
- valueSuccess: secondValueSuccess,
265
+ valueSuccess: secondValueError,
266
+ name: name,
267
+ type: type,
268
+ min: min,
269
+ max: max,
270
+ includeEdgeDates: includeEdgeDates,
271
+ setCorrectDates: setCorrectEndDates,
272
+ setInputValue: setSecondInputValue,
273
+ setCalendarValue: setCalendarSecondValue,
235
274
  onChangeValue: onChangeSecondValue,
236
- onCommitDate: onCommitSecondDate
275
+ onCommitDate: onCommitSecondDate,
276
+ dateFormatDelimiter: dateFormatDelimiter
237
277
  }),
238
278
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
239
- handleCommitSecondDate = _useDatePicker2.handleCommitDate,
279
+ handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
280
+ handleSearchSecond = _useDatePicker2.handleSearch,
240
281
  updateExternalSecondDate = _useDatePicker2.updateExternalDate;
241
282
  var handleToggle = function handleToggle(currentOpened, event) {
242
283
  var _firstInputRef$curren, _secondInputRef$curre;
@@ -249,7 +290,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
249
290
  var _secondInputRef$curre2;
250
291
  secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
251
292
  }
252
- if (calendarSecondValue || !calendarFirstValue) {
293
+ if (calendarSecondValue && !calendarFirstValue) {
253
294
  var _firstInputRef$curren2;
254
295
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
255
296
  }
@@ -275,44 +316,75 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
275
316
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
276
317
  return;
277
318
  }
278
- var _getDateFromFormat = (0, _dateHelper.getDateFromFormat)(inputFirstValue, format, lang),
279
- firstDate = _getDateFromFormat.value,
280
- firstIsSuccess = _getDateFromFormat.isSuccess;
281
- var _getDateFromFormat2 = (0, _dateHelper.getDateFromFormat)(inputSecondValue, format, lang),
282
- secondDate = _getDateFromFormat2.value,
283
- secondIsSuccess = _getDateFromFormat2.isSuccess;
284
- if (!firstIsSuccess || !secondIsSuccess) {
285
- outerHandler === null || outerHandler === void 0 || outerHandler(event);
286
- return;
319
+ var _getFormattedDates = (0, _utils3.getFormattedDates)({
320
+ value: inputFirstValue,
321
+ delimiter: dateFormatDelimiter(),
322
+ lang: lang,
323
+ format: format,
324
+ includeEdgeDates: includeEdgeDates,
325
+ min: min,
326
+ max: max
327
+ }),
328
+ startOriginalDate = _getFormattedDates.originalDate;
329
+ var _getFormattedDates2 = (0, _utils3.getFormattedDates)({
330
+ value: inputSecondValue,
331
+ delimiter: dateFormatDelimiter(),
332
+ lang: lang,
333
+ format: format,
334
+ includeEdgeDates: includeEdgeDates,
335
+ min: min,
336
+ max: max
337
+ }),
338
+ endOriginalDate = _getFormattedDates2.originalDate;
339
+ if (!calendarFirstValue && correctStartDates.calendar) {
340
+ startOriginalDate = new Date(correctStartDates.calendar);
287
341
  }
288
- var _getSortedValues = (0, _utils2.getSortedValues)([new Date(firstDate), new Date(secondDate)]),
342
+ if (!calendarSecondValue && correctEndDates.calendar) {
343
+ endOriginalDate = new Date(correctEndDates.calendar);
344
+ }
345
+ var _getSortedValues = (0, _utils2.getSortedValues)([startOriginalDate, endOriginalDate]),
289
346
  _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
290
347
  startValue = _getSortedValues2[0],
291
348
  endValue = _getSortedValues2[1];
292
- setFirstInputValue((0, _dateHelper.formatInputValue)({
293
- value: startValue,
294
- format: format,
295
- lang: lang
296
- }));
297
- setSecondInputValue((0, _dateHelper.formatInputValue)({
298
- value: endValue,
299
- format: format,
300
- lang: lang
301
- }));
302
- setCalendarFirstValue((0, _dateHelper.formatCalendarValue)(startValue, format, lang));
303
- setCalendarSecondValue((0, _dateHelper.formatCalendarValue)(endValue, format, lang));
349
+ var _getFormattedDates3 = (0, _utils3.getFormattedDates)({
350
+ value: startValue || null,
351
+ delimiter: dateFormatDelimiter(),
352
+ lang: lang,
353
+ format: format,
354
+ includeEdgeDates: includeEdgeDates,
355
+ min: min,
356
+ max: max
357
+ }),
358
+ startFormattedDate = _getFormattedDates3.formattedDate;
359
+ var _getFormattedDates4 = (0, _utils3.getFormattedDates)({
360
+ value: endValue || null,
361
+ delimiter: dateFormatDelimiter(),
362
+ lang: lang,
363
+ format: format,
364
+ includeEdgeDates: includeEdgeDates,
365
+ min: min,
366
+ max: max
367
+ }),
368
+ endFormattedDate = _getFormattedDates4.formattedDate;
369
+ setFirstInputValue(startFormattedDate);
370
+ setSecondInputValue(endFormattedDate);
371
+ setCalendarFirstValue(startOriginalDate);
372
+ setCalendarSecondValue(endOriginalDate);
304
373
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
305
374
  };
306
375
  var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
307
376
  isCalendarOpen: isInnerOpen,
308
- onToggle: handleToggle,
309
- closeOnEsc: closeOnEsc
377
+ format: format,
378
+ maskWithFormat: maskWithFormat,
379
+ delimiter: dateFormatDelimiter(),
380
+ closeOnEsc: closeOnEsc,
381
+ onToggle: handleToggle
310
382
  }),
311
383
  onKeyDown = _useKeyNavigation.onKeyDown;
312
384
  var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
313
385
  if (!fullDateEntered) {
314
- handleCommitFirstDate(chosenDate, false, true, dateInfo);
315
- handleCommitSecondDate('');
386
+ handleFirstCalendarPick(chosenDate, dateInfo);
387
+ handleSecondCalendarPick(undefined);
316
388
  return;
317
389
  }
318
390
  var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
@@ -320,8 +392,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
320
392
  _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
321
393
  first = _getSortedValues4[0],
322
394
  second = _getSortedValues4[1];
323
- handleCommitFirstDate(first, false, true, dateInfo);
324
- handleCommitSecondDate(second, false, true, dateInfo);
395
+ handleFirstCalendarPick(first, dateInfo);
396
+ handleSecondCalendarPick(second, dateInfo);
325
397
  if (!firstValueError && !secondValueError && closeAfterDateSelect) {
326
398
  handleToggle(false);
327
399
  }
@@ -331,10 +403,10 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
331
403
  firstDate = _ref5[0],
332
404
  secondDate = _ref5[1];
333
405
  if (firstDate) {
334
- handleCommitFirstDate(firstDate, false, true, dateInfo);
406
+ handleFirstCalendarPick(firstDate, dateInfo);
335
407
  }
336
408
  if (secondDate) {
337
- handleCommitSecondDate(secondDate, false, true, dateInfo);
409
+ handleSecondCalendarPick(secondDate, dateInfo);
338
410
  }
339
411
  if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
340
412
  handleToggle(false);
@@ -373,14 +445,14 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
373
445
  onChangeSecondValue: handleChangeSecondValue,
374
446
  name: name,
375
447
  onSearchFirstValue: function onSearchFirstValue(_, date) {
376
- handleCommitFirstDate(String(date), true, false);
448
+ handleSearchFirst(String(date));
377
449
  if (!calendarSecondValue || secondValueError) {
378
450
  var _rangeRef$current3;
379
451
  rangeRef === null || rangeRef === void 0 || (_rangeRef$current3 = rangeRef.current) === null || _rangeRef$current3 === void 0 || (_rangeRef$current3 = _rangeRef$current3.secondTextField()) === null || _rangeRef$current3 === void 0 || (_rangeRef$current3 = _rangeRef$current3.current) === null || _rangeRef$current3 === void 0 || _rangeRef$current3.focus();
380
452
  }
381
453
  },
382
454
  onSearchSecondValue: function onSearchSecondValue(_, date) {
383
- handleCommitSecondDate(String(date), true, false);
455
+ handleSearchSecond(String(date));
384
456
  if (!calendarFirstValue || firstValueError) {
385
457
  var _rangeRef$current4;
386
458
  rangeRef === null || rangeRef === void 0 || (_rangeRef$current4 = rangeRef.current) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.firstTextField()) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.current) === null || _rangeRef$current4 === void 0 || _rangeRef$current4.focus();
@@ -412,13 +484,17 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
412
484
  }
413
485
  }, [calendarFirstValue, calendarSecondValue]);
414
486
  (0, _react.useLayoutEffect)(function () {
415
- var externalDate = startExternalValue || defaultFirstDate;
416
- updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
417
- }, [startExternalValue, defaultFirstDate, format, lang]);
487
+ updateExternalFirstDate(startExternalValue || undefined);
488
+ }, [startExternalValue, format, lang]);
489
+ (0, _react.useLayoutEffect)(function () {
490
+ updateExternalSecondDate(endExternalValue || undefined);
491
+ }, [endExternalValue, format, lang]);
492
+ (0, _react.useLayoutEffect)(function () {
493
+ !startExternalValue && updateExternalFirstDate(defaultFirstDate);
494
+ }, [defaultFirstDate, format, lang]);
418
495
  (0, _react.useLayoutEffect)(function () {
419
- var externalDate = endExternalValue || defaultSecondDate;
420
- updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
421
- }, [endExternalValue, defaultSecondDate, format, lang]);
496
+ !endExternalValue && updateExternalSecondDate(defaultSecondDate);
497
+ }, [defaultSecondDate, format, lang]);
422
498
  var RootWrapper = (0, _react.useCallback)(function (_ref6) {
423
499
  var children = _ref6.children;
424
500
  return /*#__PURE__*/_react["default"].createElement(Root, {
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.StyledCalendarDouble = exports.StyledCalendar = void 0;
7
7
  var _styledComponents = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("styled-components"));
8
8
  var _Calendar = /*#__PURE__*/require("../../../Calendar");
9
- var _DatePicker = /*#__PURE__*/require("../../DatePicker.tokens");
10
9
  var _engines = /*#__PURE__*/require("../../../../engines");
10
+ var _DatePicker = /*#__PURE__*/require("../../DatePicker.tokens");
11
11
  var _DatePickerBase = /*#__PURE__*/require("../../DatePickerBase.styles");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
13
  var mergedCalendarDoubleConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Calendar.calendarDoubleConfig);
@@ -12,6 +12,7 @@ var _useDatePicker2 = /*#__PURE__*/require("../hooks/useDatePicker");
12
12
  var _DatePicker = /*#__PURE__*/require("../DatePicker.tokens");
13
13
  var _DatePickerBase = /*#__PURE__*/require("../DatePickerBase.styles");
14
14
  var _useKeyboardNavigation = /*#__PURE__*/require("../hooks/useKeyboardNavigation");
15
+ var _utils2 = /*#__PURE__*/require("../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");
@@ -101,32 +102,44 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
101
102
  onChange = _ref.onChange,
102
103
  autoComplete = _ref.autoComplete,
103
104
  rest = _objectWithoutProperties(_ref, _excluded);
105
+ if (value && defaultDate) {
106
+ console.error("Controlled DatePicker can't have `defaultDate`, use `value` instead");
107
+ }
104
108
  var inputRef = (0, _react.useRef)(null);
105
109
  var innerRef = (0, _react.useRef)(null);
106
110
  var _useState = (0, _react.useState)(opened),
107
111
  _useState2 = _slicedToArray(_useState, 2),
108
112
  isInnerOpen = _useState2[0],
109
113
  setIsInnerOpen = _useState2[1];
110
- var _useState3 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(value || defaultDate, format, lang)),
111
- _useState4 = _slicedToArray(_useState3, 2),
112
- calendarValue = _useState4[0],
113
- setCalendarValue = _useState4[1];
114
- var _useState5 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
115
- value: value || defaultDate,
116
- format: format,
117
- lang: lang
118
- })),
119
- _useState6 = _slicedToArray(_useState5, 2),
120
- inputValue = _useState6[0],
121
- setInputValue = _useState6[1];
122
114
  var dateFormatDelimiter = (0, _react.useCallback)(function () {
123
115
  return (0, _dateHelper.getDateFormatDelimiter)(format);
124
116
  }, [format]);
117
+ var initialValues = (0, _utils2.getFormattedDates)({
118
+ value: value || defaultDate,
119
+ delimiter: dateFormatDelimiter(),
120
+ lang: lang,
121
+ format: format,
122
+ includeEdgeDates: includeEdgeDates,
123
+ min: min,
124
+ max: max
125
+ });
126
+ var _useState3 = (0, _react.useState)({
127
+ calendar: initialValues.originalDate,
128
+ input: initialValues.formattedDate
129
+ }),
130
+ _useState4 = _slicedToArray(_useState3, 2),
131
+ correctDates = _useState4[0],
132
+ setCorrectDates = _useState4[1];
133
+ var _useState5 = (0, _react.useState)(correctDates.calendar),
134
+ _useState6 = _slicedToArray(_useState5, 2),
135
+ calendarValue = _useState6[0],
136
+ setCalendarValue = _useState6[1];
137
+ var _useState7 = (0, _react.useState)(correctDates.input),
138
+ _useState8 = _slicedToArray(_useState7, 2),
139
+ inputValue = _useState8[0],
140
+ setInputValue = _useState8[1];
125
141
  var _useDatePicker = (0, _useDatePicker2.useDatePicker)({
126
142
  currentValue: inputValue,
127
- setInputValue: setInputValue,
128
- setCalendarValue: setCalendarValue,
129
- dateFormatDelimiter: dateFormatDelimiter,
130
143
  format: format,
131
144
  lang: lang,
132
145
  disabled: disabled,
@@ -135,6 +148,14 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
135
148
  valueError: valueError,
136
149
  valueSuccess: valueSuccess,
137
150
  name: name,
151
+ type: type,
152
+ min: min,
153
+ max: max,
154
+ includeEdgeDates: includeEdgeDates,
155
+ setCorrectDates: setCorrectDates,
156
+ setInputValue: setInputValue,
157
+ setCalendarValue: setCalendarValue,
158
+ dateFormatDelimiter: dateFormatDelimiter,
138
159
  onChangeValue: onChangeValue,
139
160
  onCommitDate: onCommitDate,
140
161
  onChange: onChange
@@ -142,16 +163,18 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
142
163
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
143
164
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
144
165
  handleChangeValue = _useDatePicker.handleChangeValue,
145
- handleCommitDate = _useDatePicker.handleCommitDate,
166
+ handleCalendarPick = _useDatePicker.handleCalendarPick,
167
+ handleSearch = _useDatePicker.handleSearch,
146
168
  updateExternalDate = _useDatePicker.updateExternalDate;
147
- var handleToggle = function handleToggle(opened, event) {
169
+ var handleToggle = function handleToggle(innerOpened, event) {
148
170
  if (disabled || readOnly) {
149
171
  return;
150
172
  }
151
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== _useKeyboardNavigation.keys.Escape ? true : opened;
152
- if (!isCalendarOpen && inputValue) {
153
- var _inputRef$current;
154
- inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
173
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== _useKeyboardNavigation.keys.Escape ? true : innerOpened;
174
+ if (!innerOpened && !calendarValue) {
175
+ setCalendarValue(function (prevValue) {
176
+ return prevValue === undefined ? null : undefined;
177
+ });
155
178
  }
156
179
  if (onToggle) {
157
180
  onToggle(isCalendarOpen, event);
@@ -161,10 +184,22 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
161
184
  };
162
185
  var _useKeyNavigation = (0, _useKeyboardNavigation.useKeyNavigation)({
163
186
  isCalendarOpen: isInnerOpen,
164
- onToggle: handleToggle,
165
- closeOnEsc: closeOnEsc
187
+ format: format,
188
+ maskWithFormat: maskWithFormat,
189
+ delimiter: dateFormatDelimiter(),
190
+ closeOnEsc: closeOnEsc,
191
+ onToggle: handleToggle
166
192
  }),
167
193
  onKeyDown = _useKeyNavigation.onKeyDown;
194
+ var handleBlur = function handleBlur(event) {
195
+ if (!calendarValue && correctDates.calendar) {
196
+ setCalendarValue(new Date(correctDates.calendar));
197
+ setInputValue(correctDates.input);
198
+ }
199
+ if (onBlur) {
200
+ onBlur(event);
201
+ }
202
+ };
168
203
  var DatePickerInput = /*#__PURE__*/_react["default"].createElement(_SingleDate.StyledInput, {
169
204
  ref: inputRef,
170
205
  className: (0, _utils.cx)(datePickerErrorClass, datePickerSuccessClass),
@@ -178,11 +213,9 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
178
213
  textBefore: textBefore,
179
214
  textAfter: textAfter,
180
215
  onChange: handleChangeValue,
181
- onSearch: function onSearch(date) {
182
- return handleCommitDate(date, true, false);
183
- },
216
+ onSearch: handleSearch,
184
217
  onFocus: onFocus,
185
- onBlur: onBlur,
218
+ onBlur: handleBlur,
186
219
  onKeyDown: onKeyDown,
187
220
  required: required,
188
221
  requiredPlacement: requiredPlacement,
@@ -198,9 +231,11 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
198
231
  });
199
232
  }, [opened]);
200
233
  (0, _react.useLayoutEffect)(function () {
201
- var externalDate = value || defaultDate;
202
- updateExternalDate(externalDate, setInputValue, setCalendarValue);
203
- }, [value, defaultDate, format, lang]);
234
+ updateExternalDate(value);
235
+ }, [value, format, lang]);
236
+ (0, _react.useLayoutEffect)(function () {
237
+ !value && updateExternalDate(defaultDate);
238
+ }, [defaultDate, format, lang]);
204
239
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
205
240
  view: view,
206
241
  size: size,
@@ -244,9 +279,7 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
244
279
  includeEdgeDates: includeEdgeDates,
245
280
  isRange: false,
246
281
  locale: lang,
247
- onChangeValue: function onChangeValue(date, dateInfo) {
248
- return handleCommitDate(date, false, true, dateInfo);
249
- }
282
+ onChangeValue: handleCalendarPick
250
283
  }))), leftHelper && /*#__PURE__*/_react["default"].createElement(_SingleDate.LeftHelper, {
251
284
  className: (0, _utils.cx)(datePickerErrorClass, datePickerSuccessClass)
252
285
  }, leftHelper), /*#__PURE__*/_react["default"].createElement(_DatePickerBase.InputHidden, _extends({