@salutejs/plasma-new-hope 0.322.0-canary.1933.14614537450.0 → 0.322.0-canary.1939.14642328722.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 +158 -82
  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 +68 -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 +9 -0
  31. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  32. package/cjs/components/DatePicker/utils/dateHelper.js +3 -108
  33. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  34. package/cjs/components/DatePicker/utils/getFormattedDates.js +46 -0
  35. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +1 -0
  36. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +29 -0
  37. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -0
  38. package/cjs/components/DatePicker/utils/getOriginalDates.js +38 -0
  39. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +1 -0
  40. package/cjs/components/DatePicker/utils/normalizeDates.js +36 -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 +158 -82
  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 +68 -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 +8 -0
  54. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +3 -103
  55. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +44 -0
  56. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +27 -0
  57. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +36 -0
  58. package/emotion/cjs/components/DatePicker/utils/index.js +33 -0
  59. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +34 -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 +159 -83
  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 +69 -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 +8 -0
  75. package/emotion/es/components/DatePicker/utils/dateHelper.js +2 -102
  76. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +38 -0
  77. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +21 -0
  78. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +30 -0
  79. package/emotion/es/components/DatePicker/utils/index.js +4 -0
  80. package/emotion/es/components/DatePicker/utils/normalizeDates.js +28 -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 +160 -84
  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 +70 -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 +9 -0
  115. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  116. package/es/components/DatePicker/utils/dateHelper.js +3 -104
  117. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  118. package/es/components/DatePicker/utils/getFormattedDates.js +42 -0
  119. package/es/components/DatePicker/utils/getFormattedDates.js.map +1 -0
  120. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +25 -0
  121. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -0
  122. package/es/components/DatePicker/utils/getOriginalDates.js +34 -0
  123. package/es/components/DatePicker/utils/getOriginalDates.js.map +1 -0
  124. package/es/components/DatePicker/utils/normalizeDates.js +32 -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 +158 -82
  133. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  134. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +68 -33
  135. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +132 -76
  136. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +8 -0
  137. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +3 -103
  138. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +44 -0
  139. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +27 -0
  140. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +36 -0
  141. package/styled-components/cjs/components/DatePicker/utils/index.js +33 -0
  142. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +34 -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 +159 -83
  152. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  153. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +69 -34
  154. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +131 -75
  155. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +8 -0
  156. package/styled-components/es/components/DatePicker/utils/dateHelper.js +2 -102
  157. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +38 -0
  158. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +21 -0
  159. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +30 -0
  160. package/styled-components/es/components/DatePicker/utils/index.js +4 -0
  161. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +28 -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 +4 -4
  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 +11 -6
  191. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  192. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +9 -7
  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 +1 -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
@@ -16,6 +16,7 @@ var base$2 = require('./variations/_disabled/base.js');
16
16
  var base$3 = require('./variations/_readonly/base.js');
17
17
  var RangeDate_styles = require('./RangeDate.styles.js');
18
18
  var RangeDatePopover = require('./RangeDatePopover/RangeDatePopover.js');
19
+ var getFormattedDates = require('../utils/getFormattedDates.js');
19
20
  var noop = require('../../../utils/noop.js');
20
21
  var calendarRangeHelper = require('../../Calendar/utils/calendarRangeHelper.js');
21
22
 
@@ -115,14 +116,13 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
115
116
  _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
116
117
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
117
118
  rest = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
119
+ if (externalValue !== null && externalValue !== void 0 && externalValue.length && (defaultFirstDate || defaultSecondDate)) {
120
+ console.error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
121
+ }
118
122
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/React.createRef();
119
123
  var rootRef = React.useRef(null);
120
124
  var innerRefFirst = React.useRef(null);
121
125
  var innerRefSecond = React.useRef(null);
122
- var _ref2 = externalValue || [],
123
- _ref3 = _rollupPluginBabelHelpers.slicedToArray(_ref2, 2),
124
- startExternalValue = _ref3[0],
125
- endExternalValue = _ref3[1];
126
126
  var _useState = React.useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
127
127
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
128
128
  firstInputRef = _useState2[0],
@@ -135,38 +135,69 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
135
135
  _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
136
136
  isInnerOpen = _useState6[0],
137
137
  setIsInnerOpen = _useState6[1];
138
- var _useState7 = React.useState(dateHelper.formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
138
+ var dateFormatDelimiter = React.useCallback(function () {
139
+ return dateHelper.getDateFormatDelimiter(format);
140
+ }, [format]);
141
+ var _ref2 = externalValue || [],
142
+ _ref3 = _rollupPluginBabelHelpers.slicedToArray(_ref2, 2),
143
+ startExternalValue = _ref3[0],
144
+ endExternalValue = _ref3[1];
145
+ var startInitialValues = getFormattedDates.getFormattedDates({
146
+ value: startExternalValue || defaultFirstDate,
147
+ delimiter: dateFormatDelimiter(),
148
+ lang: lang,
149
+ format: format,
150
+ includeEdgeDates: includeEdgeDates,
151
+ min: min,
152
+ max: max
153
+ });
154
+ var endInitialValues = getFormattedDates.getFormattedDates({
155
+ value: endExternalValue || defaultSecondDate,
156
+ delimiter: dateFormatDelimiter(),
157
+ lang: lang,
158
+ format: format,
159
+ includeEdgeDates: includeEdgeDates,
160
+ min: min,
161
+ max: max
162
+ });
163
+ var _useState7 = React.useState({
164
+ calendar: startInitialValues.originalDate,
165
+ input: startInitialValues.formattedDate
166
+ }),
139
167
  _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
140
- calendarFirstValue = _useState8[0],
141
- setCalendarFirstValue = _useState8[1];
142
- var _useState9 = React.useState(dateHelper.formatInputValue({
143
- value: startExternalValue || defaultFirstDate,
144
- format: format,
145
- lang: lang
146
- })),
168
+ correctStartDates = _useState8[0],
169
+ setCorrectStartDates = _useState8[1];
170
+ var _useState9 = React.useState({
171
+ calendar: endInitialValues.originalDate,
172
+ input: endInitialValues.formattedDate
173
+ }),
147
174
  _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
148
- inputFirstValue = _useState10[0],
149
- setInputFirstValue = _useState10[1];
150
- var _useState11 = React.useState(dateHelper.formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
175
+ correctEndDates = _useState10[0],
176
+ setCorrectEndDates = _useState10[1];
177
+ var _useState11 = React.useState(startInitialValues.originalDate),
151
178
  _useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
152
- calendarSecondValue = _useState12[0],
153
- setCalendarSecondValue = _useState12[1];
154
- var _useState13 = React.useState(dateHelper.formatInputValue({
155
- value: endExternalValue || defaultSecondDate,
156
- format: format,
157
- lang: lang
158
- })),
179
+ calendarFirstValue = _useState12[0],
180
+ setCalendarFirstValue = _useState12[1];
181
+ var _useState13 = React.useState(startInitialValues.formattedDate),
159
182
  _useState14 = _rollupPluginBabelHelpers.slicedToArray(_useState13, 2),
160
- inputSecondValue = _useState14[0],
161
- setInputSecondValue = _useState14[1];
162
- var _useState15 = React.useState(Boolean(calendarFirstValue && calendarSecondValue)),
183
+ inputFirstValue = _useState14[0],
184
+ setInputFirstValue = _useState14[1];
185
+ var _useState15 = React.useState(endInitialValues.originalDate),
163
186
  _useState16 = _rollupPluginBabelHelpers.slicedToArray(_useState15, 2),
164
- fullDateEntered = _useState16[0],
165
- setFullDateEntered = _useState16[1];
166
- var _useState17 = React.useState(false),
187
+ calendarSecondValue = _useState16[0],
188
+ setCalendarSecondValue = _useState16[1];
189
+ var _useState17 = React.useState(endInitialValues.formattedDate),
167
190
  _useState18 = _rollupPluginBabelHelpers.slicedToArray(_useState17, 2),
168
- secondTextFieldClicked = _useState18[0],
169
- setSecondTextFieldClicked = _useState18[1];
191
+ inputSecondValue = _useState18[0],
192
+ setInputSecondValue = _useState18[1];
193
+ var _useState19 = React.useState(Boolean(calendarFirstValue && calendarSecondValue)),
194
+ _useState20 = _rollupPluginBabelHelpers.slicedToArray(_useState19, 2),
195
+ fullDateEntered = _useState20[0],
196
+ setFullDateEntered = _useState20[1];
197
+ var _useState21 = React.useState(false),
198
+ _useState22 = _rollupPluginBabelHelpers.slicedToArray(_useState21, 2),
199
+ secondTextFieldClicked = _useState22[0],
200
+ setSecondTextFieldClicked = _useState22[1];
170
201
  var rangeErrorClass = firstValueError || secondValueError ? DatePicker_tokens.classes.datePickerError : undefined;
171
202
  var rangeSuccessClass = firstValueSuccess || secondValueSuccess ? DatePicker_tokens.classes.datePickerSuccess : undefined;
172
203
  var setFirstInputValue = function setFirstInputValue(value) {
@@ -191,14 +222,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
191
222
  });
192
223
  }
193
224
  };
194
- var dateFormatDelimiter = React.useCallback(function () {
195
- return dateHelper.getDateFormatDelimiter(format);
196
- }, [format]);
197
225
  var _useDatePicker = useDatePicker.useDatePicker({
198
226
  currentValue: inputFirstValue,
199
- setInputValue: setFirstInputValue,
200
- setCalendarValue: setCalendarFirstValue,
201
- dateFormatDelimiter: dateFormatDelimiter,
202
227
  format: format,
203
228
  lang: lang,
204
229
  disabled: disabled,
@@ -207,17 +232,23 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
207
232
  valueError: firstValueError,
208
233
  valueSuccess: firstValueSuccess,
209
234
  name: name,
235
+ type: type,
236
+ min: min,
237
+ max: max,
238
+ includeEdgeDates: includeEdgeDates,
239
+ setCorrectDates: setCorrectStartDates,
240
+ setInputValue: setFirstInputValue,
241
+ setCalendarValue: setCalendarFirstValue,
210
242
  onChangeValue: onChangeFirstValue,
211
- onCommitDate: onCommitFirstDate
243
+ onCommitDate: onCommitFirstDate,
244
+ dateFormatDelimiter: dateFormatDelimiter
212
245
  }),
213
246
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
214
- handleCommitFirstDate = _useDatePicker.handleCommitDate,
247
+ handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
248
+ handleSearchFirst = _useDatePicker.handleSearch,
215
249
  updateExternalFirstDate = _useDatePicker.updateExternalDate;
216
250
  var _useDatePicker2 = useDatePicker.useDatePicker({
217
251
  currentValue: inputSecondValue,
218
- setInputValue: setSecondInputValue,
219
- setCalendarValue: setCalendarSecondValue,
220
- dateFormatDelimiter: dateFormatDelimiter,
221
252
  format: format,
222
253
  lang: lang,
223
254
  disabled: disabled,
@@ -225,11 +256,21 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
225
256
  maskWithFormat: maskWithFormat,
226
257
  valueError: secondValueError,
227
258
  valueSuccess: secondValueSuccess,
259
+ name: name,
260
+ type: type,
261
+ min: min,
262
+ max: max,
263
+ includeEdgeDates: includeEdgeDates,
264
+ setCorrectDates: setCorrectEndDates,
265
+ setInputValue: setSecondInputValue,
266
+ setCalendarValue: setCalendarSecondValue,
228
267
  onChangeValue: onChangeSecondValue,
229
- onCommitDate: onCommitSecondDate
268
+ onCommitDate: onCommitSecondDate,
269
+ dateFormatDelimiter: dateFormatDelimiter
230
270
  }),
231
271
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
232
- handleCommitSecondDate = _useDatePicker2.handleCommitDate,
272
+ handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
273
+ handleSearchSecond = _useDatePicker2.handleSearch,
233
274
  updateExternalSecondDate = _useDatePicker2.updateExternalDate;
234
275
  var handleToggle = function handleToggle(currentOpened, event) {
235
276
  var _firstInputRef$curren, _secondInputRef$curre;
@@ -242,7 +283,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
242
283
  var _secondInputRef$curre2;
243
284
  secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
244
285
  }
245
- if (calendarSecondValue || !calendarFirstValue) {
286
+ if (calendarSecondValue && !calendarFirstValue) {
246
287
  var _firstInputRef$curren2;
247
288
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
248
289
  }
@@ -268,44 +309,75 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
268
309
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
269
310
  return;
270
311
  }
271
- var _getDateFromFormat = dateHelper.getDateFromFormat(inputFirstValue, format, lang),
272
- firstDate = _getDateFromFormat.value,
273
- firstIsSuccess = _getDateFromFormat.isSuccess;
274
- var _getDateFromFormat2 = dateHelper.getDateFromFormat(inputSecondValue, format, lang),
275
- secondDate = _getDateFromFormat2.value,
276
- secondIsSuccess = _getDateFromFormat2.isSuccess;
277
- if (!firstIsSuccess || !secondIsSuccess) {
278
- outerHandler === null || outerHandler === void 0 || outerHandler(event);
279
- return;
312
+ var _getFormattedDates = getFormattedDates.getFormattedDates({
313
+ value: inputFirstValue,
314
+ delimiter: dateFormatDelimiter(),
315
+ lang: lang,
316
+ format: format,
317
+ includeEdgeDates: includeEdgeDates,
318
+ min: min,
319
+ max: max
320
+ }),
321
+ startOriginalDate = _getFormattedDates.originalDate;
322
+ var _getFormattedDates2 = getFormattedDates.getFormattedDates({
323
+ value: inputSecondValue,
324
+ delimiter: dateFormatDelimiter(),
325
+ lang: lang,
326
+ format: format,
327
+ includeEdgeDates: includeEdgeDates,
328
+ min: min,
329
+ max: max
330
+ }),
331
+ endOriginalDate = _getFormattedDates2.originalDate;
332
+ if (!calendarFirstValue && correctStartDates.calendar) {
333
+ startOriginalDate = new Date(correctStartDates.calendar);
280
334
  }
281
- var _getSortedValues = calendarRangeHelper.getSortedValues([new Date(firstDate), new Date(secondDate)]),
335
+ if (!calendarSecondValue && correctEndDates.calendar) {
336
+ endOriginalDate = new Date(correctEndDates.calendar);
337
+ }
338
+ var _getSortedValues = calendarRangeHelper.getSortedValues([startOriginalDate, endOriginalDate]),
282
339
  _getSortedValues2 = _rollupPluginBabelHelpers.slicedToArray(_getSortedValues, 2),
283
340
  startValue = _getSortedValues2[0],
284
341
  endValue = _getSortedValues2[1];
285
- setFirstInputValue(dateHelper.formatInputValue({
286
- value: startValue,
287
- format: format,
288
- lang: lang
289
- }));
290
- setSecondInputValue(dateHelper.formatInputValue({
291
- value: endValue,
292
- format: format,
293
- lang: lang
294
- }));
295
- setCalendarFirstValue(dateHelper.formatCalendarValue(startValue, format, lang));
296
- setCalendarSecondValue(dateHelper.formatCalendarValue(endValue, format, lang));
342
+ var _getFormattedDates3 = getFormattedDates.getFormattedDates({
343
+ value: startValue || null,
344
+ delimiter: dateFormatDelimiter(),
345
+ lang: lang,
346
+ format: format,
347
+ includeEdgeDates: includeEdgeDates,
348
+ min: min,
349
+ max: max
350
+ }),
351
+ startFormattedDate = _getFormattedDates3.formattedDate;
352
+ var _getFormattedDates4 = getFormattedDates.getFormattedDates({
353
+ value: endValue || null,
354
+ delimiter: dateFormatDelimiter(),
355
+ lang: lang,
356
+ format: format,
357
+ includeEdgeDates: includeEdgeDates,
358
+ min: min,
359
+ max: max
360
+ }),
361
+ endFormattedDate = _getFormattedDates4.formattedDate;
362
+ setFirstInputValue(startFormattedDate);
363
+ setSecondInputValue(endFormattedDate);
364
+ setCalendarFirstValue(startOriginalDate);
365
+ setCalendarSecondValue(endOriginalDate);
297
366
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
298
367
  };
299
368
  var _useKeyNavigation = useKeyboardNavigation.useKeyNavigation({
300
369
  isCalendarOpen: isInnerOpen,
301
- onToggle: handleToggle,
302
- closeOnEsc: closeOnEsc
370
+ format: format,
371
+ maskWithFormat: maskWithFormat,
372
+ delimiter: dateFormatDelimiter(),
373
+ closeOnEsc: closeOnEsc,
374
+ onToggle: handleToggle
303
375
  }),
304
376
  onKeyDown = _useKeyNavigation.onKeyDown;
305
377
  var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
306
378
  if (!fullDateEntered) {
307
- handleCommitFirstDate(chosenDate, false, true, dateInfo);
308
- handleCommitSecondDate('');
379
+ handleFirstCalendarPick(chosenDate, dateInfo);
380
+ handleSecondCalendarPick(undefined);
309
381
  return;
310
382
  }
311
383
  var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
@@ -313,8 +385,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
313
385
  _getSortedValues4 = _rollupPluginBabelHelpers.slicedToArray(_getSortedValues3, 2),
314
386
  first = _getSortedValues4[0],
315
387
  second = _getSortedValues4[1];
316
- handleCommitFirstDate(first, false, true, dateInfo);
317
- handleCommitSecondDate(second, false, true, dateInfo);
388
+ handleFirstCalendarPick(first, dateInfo);
389
+ handleSecondCalendarPick(second, dateInfo);
318
390
  if (!firstValueError && !secondValueError && closeAfterDateSelect) {
319
391
  handleToggle(false);
320
392
  }
@@ -324,10 +396,10 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
324
396
  firstDate = _ref5[0],
325
397
  secondDate = _ref5[1];
326
398
  if (firstDate) {
327
- handleCommitFirstDate(firstDate, false, true, dateInfo);
399
+ handleFirstCalendarPick(firstDate, dateInfo);
328
400
  }
329
401
  if (secondDate) {
330
- handleCommitSecondDate(secondDate, false, true, dateInfo);
402
+ handleSecondCalendarPick(secondDate, dateInfo);
331
403
  }
332
404
  if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
333
405
  handleToggle(false);
@@ -366,14 +438,14 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
366
438
  onChangeSecondValue: handleChangeSecondValue,
367
439
  name: name,
368
440
  onSearchFirstValue: function onSearchFirstValue(_, date) {
369
- handleCommitFirstDate(String(date), true, false);
441
+ handleSearchFirst(String(date));
370
442
  if (!calendarSecondValue || secondValueError) {
371
443
  var _rangeRef$current3;
372
444
  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();
373
445
  }
374
446
  },
375
447
  onSearchSecondValue: function onSearchSecondValue(_, date) {
376
- handleCommitSecondDate(String(date), true, false);
448
+ handleSearchSecond(String(date));
377
449
  if (!calendarFirstValue || firstValueError) {
378
450
  var _rangeRef$current4;
379
451
  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();
@@ -405,13 +477,17 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
405
477
  }
406
478
  }, [calendarFirstValue, calendarSecondValue]);
407
479
  React.useLayoutEffect(function () {
408
- var externalDate = startExternalValue || defaultFirstDate;
409
- updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
410
- }, [startExternalValue, defaultFirstDate, format, lang]);
480
+ updateExternalFirstDate(startExternalValue || undefined);
481
+ }, [startExternalValue, format, lang]);
482
+ React.useLayoutEffect(function () {
483
+ updateExternalSecondDate(endExternalValue || undefined);
484
+ }, [endExternalValue, format, lang]);
485
+ React.useLayoutEffect(function () {
486
+ !startExternalValue && updateExternalFirstDate(defaultFirstDate);
487
+ }, [defaultFirstDate, format, lang]);
411
488
  React.useLayoutEffect(function () {
412
- var externalDate = endExternalValue || defaultSecondDate;
413
- updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
414
- }, [endExternalValue, defaultSecondDate, format, lang]);
489
+ !endExternalValue && updateExternalSecondDate(defaultSecondDate);
490
+ }, [defaultSecondDate, format, lang]);
415
491
  var RootWrapper = React.useCallback(function (_ref6) {
416
492
  var children = _ref6.children;
417
493
  return /*#__PURE__*/React__default.default.createElement(Root, {
@@ -1 +1 @@
1
- {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo } from '../../Calendar/Calendar.types';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n value: externalValue,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [startExternalValue, endExternalValue] = externalValue || [];\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const [calendarFirstValue, setCalendarFirstValue] = useState(\n formatCalendarValue(startExternalValue || defaultFirstDate, format, lang),\n );\n const [inputFirstValue, setInputFirstValue] = useState(\n formatInputValue({ value: startExternalValue || defaultFirstDate, format, lang }),\n );\n\n const [calendarSecondValue, setCalendarSecondValue] = useState(\n formatCalendarValue(endExternalValue || defaultSecondDate, format, lang),\n );\n const [inputSecondValue, setInputSecondValue] = useState(\n formatInputValue({ value: endExternalValue || defaultSecondDate, format, lang }),\n );\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCommitDate: handleCommitFirstDate,\n updateExternalDate: updateExternalFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCommitDate: handleCommitSecondDate,\n updateExternalDate: updateExternalSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n dateFormatDelimiter,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue || !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n const { value: firstDate, isSuccess: firstIsSuccess } = getDateFromFormat(\n inputFirstValue,\n format,\n lang,\n );\n\n const { value: secondDate, isSuccess: secondIsSuccess } = getDateFromFormat(\n inputSecondValue,\n format,\n lang,\n );\n\n if (!firstIsSuccess || !secondIsSuccess) {\n outerHandler?.(event);\n return;\n }\n\n const [startValue, endValue] = getSortedValues([new Date(firstDate), new Date(secondDate)]);\n\n setFirstInputValue(formatInputValue({ value: startValue, format, lang }));\n setSecondInputValue(formatInputValue({ value: endValue, format, lang }));\n\n setCalendarFirstValue(formatCalendarValue(startValue, format, lang));\n setCalendarSecondValue(formatCalendarValue(endValue, format, lang));\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n onToggle: handleToggle,\n closeOnEsc,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleCommitFirstDate(chosenDate, false, true, dateInfo);\n handleCommitSecondDate('');\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleCommitFirstDate(first, false, true, dateInfo);\n handleCommitSecondDate(second, false, true, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [Date, Date?], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleCommitFirstDate(firstDate, false, true, dateInfo);\n }\n\n if (secondDate) {\n handleCommitSecondDate(secondDate, false, true, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleCommitFirstDate(String(date), true, false);\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleCommitSecondDate(String(date), true, false);\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n useLayoutEffect(() => {\n const externalDate = startExternalValue || defaultFirstDate;\n updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);\n }, [startExternalValue, defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n const externalDate = endExternalValue || defaultSecondDate;\n updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);\n }, [endExternalValue, defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && (\n <LeftHelper className={cx(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","externalValue","value","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_ref2","_ref3","_slicedToArray","startExternalValue","endExternalValue","_useState","useState","current","firstTextField","_useState2","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","_useState7","formatCalendarValue","_useState8","calendarFirstValue","setCalendarFirstValue","_useState9","formatInputValue","_useState10","inputFirstValue","setInputFirstValue","_useState11","_useState12","calendarSecondValue","setCalendarSecondValue","_useState13","_useState14","inputSecondValue","setInputSecondValue","_useState15","Boolean","_useState16","fullDateEntered","setFullDateEntered","_useState17","_useState18","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","setFirstInputValue","target","concat","setSecondInputValue","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_useDatePicker","useDatePicker","currentValue","setInputValue","setCalendarValue","valueError","valueSuccess","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleCommitFirstDate","handleCommitDate","updateExternalFirstDate","updateExternalDate","_useDatePicker2","handleChangeSecondValue","handleCommitSecondDate","updateExternalSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getDateFromFormat","getDateFromFormat","firstDate","firstIsSuccess","isSuccess","_getDateFromFormat2","secondDate","secondIsSuccess","_getSortedValues","getSortedValues","Date","_getSortedValues2","startValue","endValue","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref4","_ref5","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","externalDate","RootWrapper","_ref6","children","cx","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n value: externalValue,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n if (externalValue?.length && (defaultFirstDate || defaultSecondDate)) {\n console.error(\"Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead\");\n }\n\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const [startExternalValue, endExternalValue] = externalValue || [];\n const startInitialValues = getFormattedDates({\n value: startExternalValue || defaultFirstDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n const endInitialValues = getFormattedDates({\n value: endExternalValue || defaultSecondDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const [calendarFirstValue, setCalendarFirstValue] = useState<DateType>(startInitialValues.originalDate);\n const [inputFirstValue, setInputFirstValue] = useState(startInitialValues.formattedDate);\n\n const [calendarSecondValue, setCalendarSecondValue] = useState<DateType>(endInitialValues.originalDate);\n const [inputSecondValue, setInputSecondValue] = useState(endInitialValues.formattedDate);\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectStartDates,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n dateFormatDelimiter,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectEndDates,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n dateFormatDelimiter,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue && !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n const { formattedDate: startFormattedDate } = getFormattedDates({\n value: startValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const { formattedDate: endFormattedDate } = getFormattedDates({\n value: endValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n setFirstInputValue(startFormattedDate);\n setSecondInputValue(endFormattedDate);\n\n setCalendarFirstValue(startOriginalDate);\n setCalendarSecondValue(endOriginalDate);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter(),\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n useLayoutEffect(() => {\n updateExternalFirstDate(startExternalValue || undefined);\n }, [startExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n updateExternalSecondDate(endExternalValue || undefined);\n }, [endExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n !startExternalValue && updateExternalFirstDate(defaultFirstDate);\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n !endExternalValue && updateExternalSecondDate(defaultSecondDate);\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && (\n <LeftHelper className={cx(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","externalValue","value","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","length","console","error","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_ref2","_ref3","startExternalValue","endExternalValue","startInitialValues","getFormattedDates","delimiter","endInitialValues","_useState7","calendar","originalDate","input","formattedDate","_useState8","correctStartDates","setCorrectStartDates","_useState9","_useState10","correctEndDates","setCorrectEndDates","_useState11","_useState12","calendarFirstValue","setCalendarFirstValue","_useState13","_useState14","inputFirstValue","setInputFirstValue","_useState15","_useState16","calendarSecondValue","setCalendarSecondValue","_useState17","_useState18","inputSecondValue","setInputSecondValue","_useState19","Boolean","_useState20","fullDateEntered","setFullDateEntered","_useState21","_useState22","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","setFirstInputValue","target","concat","setSecondInputValue","_useDatePicker","useDatePicker","currentValue","valueError","valueSuccess","setCorrectDates","setInputValue","setCalendarValue","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_getFormattedDates3","startFormattedDate","_getFormattedDates4","endFormattedDate","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref4","_ref5","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","_ref6","children","cx","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}