@salutejs/plasma-new-hope 0.322.0-canary.1933.14614537450.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
@@ -10,12 +10,13 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
10
10
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
11
11
  import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, noop } from "../../../utils";
13
- import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from "../utils/dateHelper";
13
+ import { getDateFormatDelimiter } from "../utils/dateHelper";
14
14
  import { useDatePicker } from "../hooks/useDatePicker";
15
15
  import { classes } from "../DatePicker.tokens";
16
16
  import { keys, useKeyNavigation } from "../hooks/useKeyboardNavigation";
17
17
  import { InputHidden } from "../DatePickerBase.styles";
18
18
  import { getSortedValues } from "../../Calendar/utils";
19
+ import { getFormattedDates } from "../utils";
19
20
  import { base as sizeCSS } from "./variations/_size/base";
20
21
  import { base as viewCSS } from "./variations/_view/base";
21
22
  import { base as disabledCSS } from "./variations/_disabled/base";
@@ -113,14 +114,13 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
113
114
  _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
114
115
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
115
116
  rest = _objectWithoutProperties(_ref, _excluded);
117
+ if (externalValue !== null && externalValue !== void 0 && externalValue.length && (defaultFirstDate || defaultSecondDate)) {
118
+ console.error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
119
+ }
116
120
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
117
121
  var rootRef = useRef(null);
118
122
  var innerRefFirst = useRef(null);
119
123
  var innerRefSecond = useRef(null);
120
- var _ref2 = externalValue || [],
121
- _ref3 = _slicedToArray(_ref2, 2),
122
- startExternalValue = _ref3[0],
123
- endExternalValue = _ref3[1];
124
124
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
125
125
  _useState2 = _slicedToArray(_useState, 2),
126
126
  firstInputRef = _useState2[0],
@@ -133,38 +133,69 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
133
133
  _useState6 = _slicedToArray(_useState5, 2),
134
134
  isInnerOpen = _useState6[0],
135
135
  setIsInnerOpen = _useState6[1];
136
- var _useState7 = useState(formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
136
+ var dateFormatDelimiter = useCallback(function () {
137
+ return getDateFormatDelimiter(format);
138
+ }, [format]);
139
+ var _ref2 = externalValue || [],
140
+ _ref3 = _slicedToArray(_ref2, 2),
141
+ startExternalValue = _ref3[0],
142
+ endExternalValue = _ref3[1];
143
+ var startInitialValues = getFormattedDates({
144
+ value: startExternalValue || defaultFirstDate,
145
+ delimiter: dateFormatDelimiter(),
146
+ lang: lang,
147
+ format: format,
148
+ includeEdgeDates: includeEdgeDates,
149
+ min: min,
150
+ max: max
151
+ });
152
+ var endInitialValues = getFormattedDates({
153
+ value: endExternalValue || defaultSecondDate,
154
+ delimiter: dateFormatDelimiter(),
155
+ lang: lang,
156
+ format: format,
157
+ includeEdgeDates: includeEdgeDates,
158
+ min: min,
159
+ max: max
160
+ });
161
+ var _useState7 = useState({
162
+ calendar: startInitialValues.originalDate,
163
+ input: startInitialValues.formattedDate
164
+ }),
137
165
  _useState8 = _slicedToArray(_useState7, 2),
138
- calendarFirstValue = _useState8[0],
139
- setCalendarFirstValue = _useState8[1];
140
- var _useState9 = useState(formatInputValue({
141
- value: startExternalValue || defaultFirstDate,
142
- format: format,
143
- lang: lang
144
- })),
166
+ correctStartDates = _useState8[0],
167
+ setCorrectStartDates = _useState8[1];
168
+ var _useState9 = useState({
169
+ calendar: endInitialValues.originalDate,
170
+ input: endInitialValues.formattedDate
171
+ }),
145
172
  _useState10 = _slicedToArray(_useState9, 2),
146
- inputFirstValue = _useState10[0],
147
- setInputFirstValue = _useState10[1];
148
- var _useState11 = useState(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
173
+ correctEndDates = _useState10[0],
174
+ setCorrectEndDates = _useState10[1];
175
+ var _useState11 = useState(startInitialValues.originalDate),
149
176
  _useState12 = _slicedToArray(_useState11, 2),
150
- calendarSecondValue = _useState12[0],
151
- setCalendarSecondValue = _useState12[1];
152
- var _useState13 = useState(formatInputValue({
153
- value: endExternalValue || defaultSecondDate,
154
- format: format,
155
- lang: lang
156
- })),
177
+ calendarFirstValue = _useState12[0],
178
+ setCalendarFirstValue = _useState12[1];
179
+ var _useState13 = useState(startInitialValues.formattedDate),
157
180
  _useState14 = _slicedToArray(_useState13, 2),
158
- inputSecondValue = _useState14[0],
159
- setInputSecondValue = _useState14[1];
160
- var _useState15 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
181
+ inputFirstValue = _useState14[0],
182
+ setInputFirstValue = _useState14[1];
183
+ var _useState15 = useState(endInitialValues.originalDate),
161
184
  _useState16 = _slicedToArray(_useState15, 2),
162
- fullDateEntered = _useState16[0],
163
- setFullDateEntered = _useState16[1];
164
- var _useState17 = useState(false),
185
+ calendarSecondValue = _useState16[0],
186
+ setCalendarSecondValue = _useState16[1];
187
+ var _useState17 = useState(endInitialValues.formattedDate),
165
188
  _useState18 = _slicedToArray(_useState17, 2),
166
- secondTextFieldClicked = _useState18[0],
167
- setSecondTextFieldClicked = _useState18[1];
189
+ inputSecondValue = _useState18[0],
190
+ setInputSecondValue = _useState18[1];
191
+ var _useState19 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
192
+ _useState20 = _slicedToArray(_useState19, 2),
193
+ fullDateEntered = _useState20[0],
194
+ setFullDateEntered = _useState20[1];
195
+ var _useState21 = useState(false),
196
+ _useState22 = _slicedToArray(_useState21, 2),
197
+ secondTextFieldClicked = _useState22[0],
198
+ setSecondTextFieldClicked = _useState22[1];
168
199
  var rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;
169
200
  var rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;
170
201
  var setFirstInputValue = function setFirstInputValue(value) {
@@ -189,45 +220,55 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
189
220
  });
190
221
  }
191
222
  };
192
- var dateFormatDelimiter = useCallback(function () {
193
- return getDateFormatDelimiter(format);
194
- }, [format]);
195
223
  var _useDatePicker = useDatePicker({
196
224
  currentValue: inputFirstValue,
197
- setInputValue: setFirstInputValue,
198
- setCalendarValue: setCalendarFirstValue,
199
- dateFormatDelimiter: dateFormatDelimiter,
200
225
  format: format,
201
226
  lang: lang,
202
227
  disabled: disabled,
203
228
  readOnly: readOnly,
204
229
  maskWithFormat: maskWithFormat,
205
230
  valueError: firstValueError,
206
- valueSuccess: firstValueSuccess,
231
+ valueSuccess: firstValueError,
207
232
  name: name,
233
+ type: type,
234
+ min: min,
235
+ max: max,
236
+ includeEdgeDates: includeEdgeDates,
237
+ setCorrectDates: setCorrectStartDates,
238
+ setInputValue: setFirstInputValue,
239
+ setCalendarValue: setCalendarFirstValue,
208
240
  onChangeValue: onChangeFirstValue,
209
- onCommitDate: onCommitFirstDate
241
+ onCommitDate: onCommitFirstDate,
242
+ dateFormatDelimiter: dateFormatDelimiter
210
243
  }),
211
244
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
212
- handleCommitFirstDate = _useDatePicker.handleCommitDate,
245
+ handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
246
+ handleSearchFirst = _useDatePicker.handleSearch,
213
247
  updateExternalFirstDate = _useDatePicker.updateExternalDate;
214
248
  var _useDatePicker2 = useDatePicker({
215
249
  currentValue: inputSecondValue,
216
- setInputValue: setSecondInputValue,
217
- setCalendarValue: setCalendarSecondValue,
218
- dateFormatDelimiter: dateFormatDelimiter,
219
250
  format: format,
220
251
  lang: lang,
221
252
  disabled: disabled,
222
253
  readOnly: readOnly,
223
254
  maskWithFormat: maskWithFormat,
224
255
  valueError: secondValueError,
225
- valueSuccess: secondValueSuccess,
256
+ valueSuccess: secondValueError,
257
+ name: name,
258
+ type: type,
259
+ min: min,
260
+ max: max,
261
+ includeEdgeDates: includeEdgeDates,
262
+ setCorrectDates: setCorrectEndDates,
263
+ setInputValue: setSecondInputValue,
264
+ setCalendarValue: setCalendarSecondValue,
226
265
  onChangeValue: onChangeSecondValue,
227
- onCommitDate: onCommitSecondDate
266
+ onCommitDate: onCommitSecondDate,
267
+ dateFormatDelimiter: dateFormatDelimiter
228
268
  }),
229
269
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
230
- handleCommitSecondDate = _useDatePicker2.handleCommitDate,
270
+ handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
271
+ handleSearchSecond = _useDatePicker2.handleSearch,
231
272
  updateExternalSecondDate = _useDatePicker2.updateExternalDate;
232
273
  var handleToggle = function handleToggle(currentOpened, event) {
233
274
  var _firstInputRef$curren, _secondInputRef$curre;
@@ -240,7 +281,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
240
281
  var _secondInputRef$curre2;
241
282
  secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
242
283
  }
243
- if (calendarSecondValue || !calendarFirstValue) {
284
+ if (calendarSecondValue && !calendarFirstValue) {
244
285
  var _firstInputRef$curren2;
245
286
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
246
287
  }
@@ -266,44 +307,75 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
266
307
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
267
308
  return;
268
309
  }
269
- var _getDateFromFormat = getDateFromFormat(inputFirstValue, format, lang),
270
- firstDate = _getDateFromFormat.value,
271
- firstIsSuccess = _getDateFromFormat.isSuccess;
272
- var _getDateFromFormat2 = getDateFromFormat(inputSecondValue, format, lang),
273
- secondDate = _getDateFromFormat2.value,
274
- secondIsSuccess = _getDateFromFormat2.isSuccess;
275
- if (!firstIsSuccess || !secondIsSuccess) {
276
- outerHandler === null || outerHandler === void 0 || outerHandler(event);
277
- return;
310
+ var _getFormattedDates = getFormattedDates({
311
+ value: inputFirstValue,
312
+ delimiter: dateFormatDelimiter(),
313
+ lang: lang,
314
+ format: format,
315
+ includeEdgeDates: includeEdgeDates,
316
+ min: min,
317
+ max: max
318
+ }),
319
+ startOriginalDate = _getFormattedDates.originalDate;
320
+ var _getFormattedDates2 = getFormattedDates({
321
+ value: inputSecondValue,
322
+ delimiter: dateFormatDelimiter(),
323
+ lang: lang,
324
+ format: format,
325
+ includeEdgeDates: includeEdgeDates,
326
+ min: min,
327
+ max: max
328
+ }),
329
+ endOriginalDate = _getFormattedDates2.originalDate;
330
+ if (!calendarFirstValue && correctStartDates.calendar) {
331
+ startOriginalDate = new Date(correctStartDates.calendar);
278
332
  }
279
- var _getSortedValues = getSortedValues([new Date(firstDate), new Date(secondDate)]),
333
+ if (!calendarSecondValue && correctEndDates.calendar) {
334
+ endOriginalDate = new Date(correctEndDates.calendar);
335
+ }
336
+ var _getSortedValues = getSortedValues([startOriginalDate, endOriginalDate]),
280
337
  _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
281
338
  startValue = _getSortedValues2[0],
282
339
  endValue = _getSortedValues2[1];
283
- setFirstInputValue(formatInputValue({
284
- value: startValue,
285
- format: format,
286
- lang: lang
287
- }));
288
- setSecondInputValue(formatInputValue({
289
- value: endValue,
290
- format: format,
291
- lang: lang
292
- }));
293
- setCalendarFirstValue(formatCalendarValue(startValue, format, lang));
294
- setCalendarSecondValue(formatCalendarValue(endValue, format, lang));
340
+ var _getFormattedDates3 = getFormattedDates({
341
+ value: startValue || null,
342
+ delimiter: dateFormatDelimiter(),
343
+ lang: lang,
344
+ format: format,
345
+ includeEdgeDates: includeEdgeDates,
346
+ min: min,
347
+ max: max
348
+ }),
349
+ startFormattedDate = _getFormattedDates3.formattedDate;
350
+ var _getFormattedDates4 = getFormattedDates({
351
+ value: endValue || null,
352
+ delimiter: dateFormatDelimiter(),
353
+ lang: lang,
354
+ format: format,
355
+ includeEdgeDates: includeEdgeDates,
356
+ min: min,
357
+ max: max
358
+ }),
359
+ endFormattedDate = _getFormattedDates4.formattedDate;
360
+ setFirstInputValue(startFormattedDate);
361
+ setSecondInputValue(endFormattedDate);
362
+ setCalendarFirstValue(startOriginalDate);
363
+ setCalendarSecondValue(endOriginalDate);
295
364
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
296
365
  };
297
366
  var _useKeyNavigation = useKeyNavigation({
298
367
  isCalendarOpen: isInnerOpen,
299
- onToggle: handleToggle,
300
- closeOnEsc: closeOnEsc
368
+ format: format,
369
+ maskWithFormat: maskWithFormat,
370
+ delimiter: dateFormatDelimiter(),
371
+ closeOnEsc: closeOnEsc,
372
+ onToggle: handleToggle
301
373
  }),
302
374
  onKeyDown = _useKeyNavigation.onKeyDown;
303
375
  var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
304
376
  if (!fullDateEntered) {
305
- handleCommitFirstDate(chosenDate, false, true, dateInfo);
306
- handleCommitSecondDate('');
377
+ handleFirstCalendarPick(chosenDate, dateInfo);
378
+ handleSecondCalendarPick(undefined);
307
379
  return;
308
380
  }
309
381
  var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
@@ -311,8 +383,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
311
383
  _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
312
384
  first = _getSortedValues4[0],
313
385
  second = _getSortedValues4[1];
314
- handleCommitFirstDate(first, false, true, dateInfo);
315
- handleCommitSecondDate(second, false, true, dateInfo);
386
+ handleFirstCalendarPick(first, dateInfo);
387
+ handleSecondCalendarPick(second, dateInfo);
316
388
  if (!firstValueError && !secondValueError && closeAfterDateSelect) {
317
389
  handleToggle(false);
318
390
  }
@@ -322,10 +394,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
322
394
  firstDate = _ref5[0],
323
395
  secondDate = _ref5[1];
324
396
  if (firstDate) {
325
- handleCommitFirstDate(firstDate, false, true, dateInfo);
397
+ handleFirstCalendarPick(firstDate, dateInfo);
326
398
  }
327
399
  if (secondDate) {
328
- handleCommitSecondDate(secondDate, false, true, dateInfo);
400
+ handleSecondCalendarPick(secondDate, dateInfo);
329
401
  }
330
402
  if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
331
403
  handleToggle(false);
@@ -364,14 +436,14 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
364
436
  onChangeSecondValue: handleChangeSecondValue,
365
437
  name: name,
366
438
  onSearchFirstValue: function onSearchFirstValue(_, date) {
367
- handleCommitFirstDate(String(date), true, false);
439
+ handleSearchFirst(String(date));
368
440
  if (!calendarSecondValue || secondValueError) {
369
441
  var _rangeRef$current3;
370
442
  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();
371
443
  }
372
444
  },
373
445
  onSearchSecondValue: function onSearchSecondValue(_, date) {
374
- handleCommitSecondDate(String(date), true, false);
446
+ handleSearchSecond(String(date));
375
447
  if (!calendarFirstValue || firstValueError) {
376
448
  var _rangeRef$current4;
377
449
  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();
@@ -403,13 +475,17 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
403
475
  }
404
476
  }, [calendarFirstValue, calendarSecondValue]);
405
477
  useLayoutEffect(function () {
406
- var externalDate = startExternalValue || defaultFirstDate;
407
- updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
408
- }, [startExternalValue, defaultFirstDate, format, lang]);
478
+ updateExternalFirstDate(startExternalValue || undefined);
479
+ }, [startExternalValue, format, lang]);
480
+ useLayoutEffect(function () {
481
+ updateExternalSecondDate(endExternalValue || undefined);
482
+ }, [endExternalValue, format, lang]);
483
+ useLayoutEffect(function () {
484
+ !startExternalValue && updateExternalFirstDate(defaultFirstDate);
485
+ }, [defaultFirstDate, format, lang]);
409
486
  useLayoutEffect(function () {
410
- var externalDate = endExternalValue || defaultSecondDate;
411
- updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
412
- }, [endExternalValue, defaultSecondDate, format, lang]);
487
+ !endExternalValue && updateExternalSecondDate(defaultSecondDate);
488
+ }, [defaultSecondDate, format, lang]);
413
489
  var RootWrapper = useCallback(function (_ref6) {
414
490
  var children = _ref6.children;
415
491
  return /*#__PURE__*/React.createElement(Root, {
@@ -1,7 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import { calendarDoubleConfig, calendarBaseTokens, withRange, calendarBaseConfig } from "../../../Calendar";
3
- import { tokens } from "../../DatePicker.tokens";
4
3
  import { component, mergeConfig } from "../../../../engines";
4
+ import { tokens } from "../../DatePicker.tokens";
5
5
  import { baseCalendarTokens } from "../../DatePickerBase.styles";
6
6
  var mergedCalendarDoubleConfig = /*#__PURE__*/mergeConfig(calendarDoubleConfig);
7
7
  var CalendarDouble = /*#__PURE__*/component(mergedCalendarDoubleConfig);
@@ -10,11 +10,12 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
10
10
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
11
11
  import React, { forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, getPlacements, noop } from "../../../utils";
13
- import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from "../utils/dateHelper";
13
+ import { getDateFormatDelimiter } from "../utils/dateHelper";
14
14
  import { useDatePicker } from "../hooks/useDatePicker";
15
15
  import { classes } from "../DatePicker.tokens";
16
16
  import { InputHidden, StyledCalendar } from "../DatePickerBase.styles";
17
17
  import { keys, useKeyNavigation } from "../hooks/useKeyboardNavigation";
18
+ import { getFormattedDates } from "../utils";
18
19
  import { base as sizeCSS } from "./variations/_size/base";
19
20
  import { base as viewCSS } from "./variations/_view/base";
20
21
  import { base as disabledCSS } from "./variations/_disabled/base";
@@ -92,32 +93,44 @@ export var datePickerRoot = function datePickerRoot(Root) {
92
93
  onChange = _ref.onChange,
93
94
  autoComplete = _ref.autoComplete,
94
95
  rest = _objectWithoutProperties(_ref, _excluded);
96
+ if (value && defaultDate) {
97
+ console.error("Controlled DatePicker can't have `defaultDate`, use `value` instead");
98
+ }
95
99
  var inputRef = useRef(null);
96
100
  var innerRef = useRef(null);
97
101
  var _useState = useState(opened),
98
102
  _useState2 = _slicedToArray(_useState, 2),
99
103
  isInnerOpen = _useState2[0],
100
104
  setIsInnerOpen = _useState2[1];
101
- var _useState3 = useState(formatCalendarValue(value || defaultDate, format, lang)),
102
- _useState4 = _slicedToArray(_useState3, 2),
103
- calendarValue = _useState4[0],
104
- setCalendarValue = _useState4[1];
105
- var _useState5 = useState(formatInputValue({
106
- value: value || defaultDate,
107
- format: format,
108
- lang: lang
109
- })),
110
- _useState6 = _slicedToArray(_useState5, 2),
111
- inputValue = _useState6[0],
112
- setInputValue = _useState6[1];
113
105
  var dateFormatDelimiter = useCallback(function () {
114
106
  return getDateFormatDelimiter(format);
115
107
  }, [format]);
108
+ var initialValues = getFormattedDates({
109
+ value: value || defaultDate,
110
+ delimiter: dateFormatDelimiter(),
111
+ lang: lang,
112
+ format: format,
113
+ includeEdgeDates: includeEdgeDates,
114
+ min: min,
115
+ max: max
116
+ });
117
+ var _useState3 = useState({
118
+ calendar: initialValues.originalDate,
119
+ input: initialValues.formattedDate
120
+ }),
121
+ _useState4 = _slicedToArray(_useState3, 2),
122
+ correctDates = _useState4[0],
123
+ setCorrectDates = _useState4[1];
124
+ var _useState5 = useState(correctDates.calendar),
125
+ _useState6 = _slicedToArray(_useState5, 2),
126
+ calendarValue = _useState6[0],
127
+ setCalendarValue = _useState6[1];
128
+ var _useState7 = useState(correctDates.input),
129
+ _useState8 = _slicedToArray(_useState7, 2),
130
+ inputValue = _useState8[0],
131
+ setInputValue = _useState8[1];
116
132
  var _useDatePicker = useDatePicker({
117
133
  currentValue: inputValue,
118
- setInputValue: setInputValue,
119
- setCalendarValue: setCalendarValue,
120
- dateFormatDelimiter: dateFormatDelimiter,
121
134
  format: format,
122
135
  lang: lang,
123
136
  disabled: disabled,
@@ -126,6 +139,14 @@ export var datePickerRoot = function datePickerRoot(Root) {
126
139
  valueError: valueError,
127
140
  valueSuccess: valueSuccess,
128
141
  name: name,
142
+ type: type,
143
+ min: min,
144
+ max: max,
145
+ includeEdgeDates: includeEdgeDates,
146
+ setCorrectDates: setCorrectDates,
147
+ setInputValue: setInputValue,
148
+ setCalendarValue: setCalendarValue,
149
+ dateFormatDelimiter: dateFormatDelimiter,
129
150
  onChangeValue: onChangeValue,
130
151
  onCommitDate: onCommitDate,
131
152
  onChange: onChange
@@ -133,16 +154,18 @@ export var datePickerRoot = function datePickerRoot(Root) {
133
154
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
134
155
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
135
156
  handleChangeValue = _useDatePicker.handleChangeValue,
136
- handleCommitDate = _useDatePicker.handleCommitDate,
157
+ handleCalendarPick = _useDatePicker.handleCalendarPick,
158
+ handleSearch = _useDatePicker.handleSearch,
137
159
  updateExternalDate = _useDatePicker.updateExternalDate;
138
- var handleToggle = function handleToggle(opened, event) {
160
+ var handleToggle = function handleToggle(innerOpened, event) {
139
161
  if (disabled || readOnly) {
140
162
  return;
141
163
  }
142
- var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : opened;
143
- if (!isCalendarOpen && inputValue) {
144
- var _inputRef$current;
145
- inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
164
+ var isCalendarOpen = event.target === (inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) && event.code !== keys.Escape ? true : innerOpened;
165
+ if (!innerOpened && !calendarValue) {
166
+ setCalendarValue(function (prevValue) {
167
+ return prevValue === undefined ? null : undefined;
168
+ });
146
169
  }
147
170
  if (onToggle) {
148
171
  onToggle(isCalendarOpen, event);
@@ -152,10 +175,22 @@ export var datePickerRoot = function datePickerRoot(Root) {
152
175
  };
153
176
  var _useKeyNavigation = useKeyNavigation({
154
177
  isCalendarOpen: isInnerOpen,
155
- onToggle: handleToggle,
156
- closeOnEsc: closeOnEsc
178
+ format: format,
179
+ maskWithFormat: maskWithFormat,
180
+ delimiter: dateFormatDelimiter(),
181
+ closeOnEsc: closeOnEsc,
182
+ onToggle: handleToggle
157
183
  }),
158
184
  onKeyDown = _useKeyNavigation.onKeyDown;
185
+ var handleBlur = function handleBlur(event) {
186
+ if (!calendarValue && correctDates.calendar) {
187
+ setCalendarValue(new Date(correctDates.calendar));
188
+ setInputValue(correctDates.input);
189
+ }
190
+ if (onBlur) {
191
+ onBlur(event);
192
+ }
193
+ };
159
194
  var DatePickerInput = /*#__PURE__*/React.createElement(StyledInput, {
160
195
  ref: inputRef,
161
196
  className: cx(datePickerErrorClass, datePickerSuccessClass),
@@ -169,11 +204,9 @@ export var datePickerRoot = function datePickerRoot(Root) {
169
204
  textBefore: textBefore,
170
205
  textAfter: textAfter,
171
206
  onChange: handleChangeValue,
172
- onSearch: function onSearch(date) {
173
- return handleCommitDate(date, true, false);
174
- },
207
+ onSearch: handleSearch,
175
208
  onFocus: onFocus,
176
- onBlur: onBlur,
209
+ onBlur: handleBlur,
177
210
  onKeyDown: onKeyDown,
178
211
  required: required,
179
212
  requiredPlacement: requiredPlacement,
@@ -189,9 +222,11 @@ export var datePickerRoot = function datePickerRoot(Root) {
189
222
  });
190
223
  }, [opened]);
191
224
  useLayoutEffect(function () {
192
- var externalDate = value || defaultDate;
193
- updateExternalDate(externalDate, setInputValue, setCalendarValue);
194
- }, [value, defaultDate, format, lang]);
225
+ updateExternalDate(value);
226
+ }, [value, format, lang]);
227
+ useLayoutEffect(function () {
228
+ !value && updateExternalDate(defaultDate);
229
+ }, [defaultDate, format, lang]);
195
230
  return /*#__PURE__*/React.createElement(Root, _extends({
196
231
  view: view,
197
232
  size: size,
@@ -235,9 +270,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
235
270
  includeEdgeDates: includeEdgeDates,
236
271
  isRange: false,
237
272
  locale: lang,
238
- onChangeValue: function onChangeValue(date, dateInfo) {
239
- return handleCommitDate(date, false, true, dateInfo);
240
- }
273
+ onChangeValue: handleCalendarPick
241
274
  }))), leftHelper && /*#__PURE__*/React.createElement(LeftHelper, {
242
275
  className: cx(datePickerErrorClass, datePickerSuccessClass)
243
276
  }, leftHelper), /*#__PURE__*/React.createElement(InputHidden, _extends({