@salutejs/plasma-new-hope 0.322.0-canary.1939.14642328722.0 → 0.322.0-canary.1941.14638918350.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 (219) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  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 +1 -2
  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_1jm7rc0.css +2 -0
  15. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.js +82 -158
  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_r5ataz.css +2 -0
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -68
  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 +76 -133
  29. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  30. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -9
  31. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  32. package/cjs/components/DatePicker/utils/dateHelper.js +108 -3
  33. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  34. package/cjs/index.css +4 -4
  35. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  36. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  37. package/emotion/cjs/components/CodeField/CodeField.types.js +5 -0
  38. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  39. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +4 -4
  40. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +82 -158
  41. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  42. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  43. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -68
  44. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  45. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  46. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -8
  47. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +103 -3
  48. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  49. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  50. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  51. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  52. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  53. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  54. package/emotion/es/components/CodeField/CodeField.types.js +1 -0
  55. package/emotion/es/components/DatePicker/DatePicker.tokens.js +1 -2
  56. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +4 -4
  57. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +83 -159
  58. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  59. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  60. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -69
  61. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  62. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  63. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -8
  64. package/emotion/es/components/DatePicker/utils/dateHelper.js +102 -2
  65. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  66. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  67. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  68. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  69. package/es/components/Calendar/Calendar.types.js.map +1 -1
  70. package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  71. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  72. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  73. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  74. package/es/components/Calendar/hoc/withRange.js.map +1 -1
  75. package/es/components/Calendar/store/reducer.js.map +1 -1
  76. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  77. package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  78. package/es/components/DatePicker/DatePicker.tokens.js +1 -2
  79. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  80. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  81. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  82. package/es/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +2 -0
  83. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  84. package/es/components/DatePicker/RangeDate/RangeDate.js +84 -160
  85. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  86. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  87. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  88. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  89. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  90. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +2 -0
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  93. package/es/components/DatePicker/SingleDate/SingleDate.js +35 -70
  94. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  95. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  96. package/es/components/DatePicker/hooks/useDatePicker.js +75 -132
  97. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  98. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -9
  99. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  100. package/es/components/DatePicker/utils/dateHelper.js +104 -3
  101. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  102. package/es/index.css +4 -4
  103. package/package.json +4 -4
  104. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  105. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  106. package/styled-components/cjs/components/CodeField/CodeField.types.js +5 -0
  107. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  108. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +2 -2
  109. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +82 -158
  110. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  111. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -68
  112. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  113. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -8
  114. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +103 -3
  115. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  116. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  117. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  118. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  119. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  120. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  121. package/styled-components/es/components/CodeField/CodeField.types.js +1 -0
  122. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +1 -2
  123. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +2 -2
  124. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +83 -159
  125. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  126. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -69
  127. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  128. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -8
  129. package/styled-components/es/components/DatePicker/utils/dateHelper.js +102 -2
  130. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  131. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  132. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  133. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  134. package/types/components/Calendar/Calendar.types.d.ts +3 -4
  135. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  136. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  137. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  138. package/types/components/Calendar/hoc/withRange.d.ts.map +1 -1
  139. package/types/components/Calendar/store/reducer.d.ts +1 -2
  140. package/types/components/Calendar/store/reducer.d.ts.map +1 -1
  141. package/types/components/Calendar/utils/calendarGridHelper.d.ts +4 -4
  142. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  143. package/types/components/Calendar/utils/calendarRangeHelper.d.ts +4 -4
  144. package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -1
  145. package/types/components/CodeField/CodeField.types.d.ts +56 -0
  146. package/types/components/CodeField/CodeField.types.d.ts.map +1 -0
  147. package/types/components/DatePicker/DatePicker.tokens.d.ts +0 -1
  148. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  149. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  150. package/types/components/DatePicker/DatePickerBase.types.d.ts +6 -16
  151. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  152. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -3
  153. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  154. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -4
  155. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  156. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts +1 -1
  157. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
  158. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +3 -3
  159. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  160. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +6 -11
  161. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  162. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +7 -9
  163. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  164. package/types/components/DatePicker/hooks/useDatePicker.d.ts +4 -5
  165. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  166. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +1 -4
  167. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  168. package/types/components/DatePicker/utils/dateHelper.d.ts +27 -1
  169. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  170. package/cjs/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  171. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  172. package/cjs/components/DatePicker/utils/getFormattedDates.js +0 -46
  173. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  174. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -29
  175. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  176. package/cjs/components/DatePicker/utils/getOriginalDates.js +0 -38
  177. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  178. package/cjs/components/DatePicker/utils/normalizeDates.js +0 -36
  179. package/cjs/components/DatePicker/utils/normalizeDates.js.map +0 -1
  180. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +0 -44
  181. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -27
  182. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +0 -36
  183. package/emotion/cjs/components/DatePicker/utils/index.js +0 -33
  184. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +0 -34
  185. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +0 -38
  186. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -21
  187. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +0 -30
  188. package/emotion/es/components/DatePicker/utils/index.js +0 -4
  189. package/emotion/es/components/DatePicker/utils/normalizeDates.js +0 -28
  190. package/es/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  191. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  192. package/es/components/DatePicker/utils/getFormattedDates.js +0 -42
  193. package/es/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  194. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -25
  195. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  196. package/es/components/DatePicker/utils/getOriginalDates.js +0 -34
  197. package/es/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  198. package/es/components/DatePicker/utils/normalizeDates.js +0 -32
  199. package/es/components/DatePicker/utils/normalizeDates.js.map +0 -1
  200. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +0 -44
  201. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -27
  202. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +0 -36
  203. package/styled-components/cjs/components/DatePicker/utils/index.js +0 -33
  204. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +0 -34
  205. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +0 -38
  206. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -21
  207. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +0 -30
  208. package/styled-components/es/components/DatePicker/utils/index.js +0 -4
  209. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +0 -28
  210. package/types/components/DatePicker/utils/getFormattedDates.d.ts +0 -21
  211. package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +0 -1
  212. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts +0 -2
  213. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +0 -1
  214. package/types/components/DatePicker/utils/getOriginalDates.d.ts +0 -10
  215. package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +0 -1
  216. package/types/components/DatePicker/utils/index.d.ts +0 -5
  217. package/types/components/DatePicker/utils/index.d.ts.map +0 -1
  218. package/types/components/DatePicker/utils/normalizeDates.d.ts +0 -15
  219. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import React, { forwardRef, useRef, useState, useCallback, useEffect, useLayoutEffect, createRef } from 'react';
3
3
  import { cx } from '../../../utils/index.js';
4
- import { getDateFormatDelimiter } from '../utils/dateHelper.js';
4
+ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper.js';
5
5
  import { useDatePicker } from '../hooks/useDatePicker.js';
6
6
  import { classes } from '../DatePicker.tokens.js';
7
- import { useKeyNavigation, keys } from '../hooks/useKeyboardNavigation.js';
7
+ import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation.js';
8
8
  import { InputHidden } from '../DatePickerBase.styles.js';
9
9
  import { base as base$2 } from './variations/_size/base.js';
10
10
  import { base as base$1 } from './variations/_view/base.js';
@@ -12,7 +12,6 @@ import { base as base$3 } from './variations/_disabled/base.js';
12
12
  import { base as base$4 } from './variations/_readonly/base.js';
13
13
  import { LeftHelper, base, StyledRange } from './RangeDate.styles.js';
14
14
  import { RangeDatePopover } from './RangeDatePopover/RangeDatePopover.js';
15
- import { getFormattedDates } from '../utils/getFormattedDates.js';
16
15
  import { noop } from '../../../utils/noop.js';
17
16
  import { getSortedValues } from '../../Calendar/utils/calendarRangeHelper.js';
18
17
 
@@ -108,13 +107,14 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
108
107
  _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
109
108
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
110
109
  rest = _objectWithoutProperties(_ref, _excluded);
111
- if (externalValue !== null && externalValue !== void 0 && externalValue.length && (defaultFirstDate || defaultSecondDate)) {
112
- console.error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
113
- }
114
110
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
115
111
  var rootRef = useRef(null);
116
112
  var innerRefFirst = useRef(null);
117
113
  var innerRefSecond = useRef(null);
114
+ var _ref2 = externalValue || [],
115
+ _ref3 = _slicedToArray(_ref2, 2),
116
+ startExternalValue = _ref3[0],
117
+ endExternalValue = _ref3[1];
118
118
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
119
119
  _useState2 = _slicedToArray(_useState, 2),
120
120
  firstInputRef = _useState2[0],
@@ -127,69 +127,38 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
127
127
  _useState6 = _slicedToArray(_useState5, 2),
128
128
  isInnerOpen = _useState6[0],
129
129
  setIsInnerOpen = _useState6[1];
130
- var dateFormatDelimiter = useCallback(function () {
131
- return getDateFormatDelimiter(format);
132
- }, [format]);
133
- var _ref2 = externalValue || [],
134
- _ref3 = _slicedToArray(_ref2, 2),
135
- startExternalValue = _ref3[0],
136
- endExternalValue = _ref3[1];
137
- var startInitialValues = getFormattedDates({
138
- value: startExternalValue || defaultFirstDate,
139
- delimiter: dateFormatDelimiter(),
140
- lang: lang,
141
- format: format,
142
- includeEdgeDates: includeEdgeDates,
143
- min: min,
144
- max: max
145
- });
146
- var endInitialValues = getFormattedDates({
147
- value: endExternalValue || defaultSecondDate,
148
- delimiter: dateFormatDelimiter(),
149
- lang: lang,
150
- format: format,
151
- includeEdgeDates: includeEdgeDates,
152
- min: min,
153
- max: max
154
- });
155
- var _useState7 = useState({
156
- calendar: startInitialValues.originalDate,
157
- input: startInitialValues.formattedDate
158
- }),
130
+ var _useState7 = useState(formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
159
131
  _useState8 = _slicedToArray(_useState7, 2),
160
- correctStartDates = _useState8[0],
161
- setCorrectStartDates = _useState8[1];
162
- var _useState9 = useState({
163
- calendar: endInitialValues.originalDate,
164
- input: endInitialValues.formattedDate
165
- }),
132
+ calendarFirstValue = _useState8[0],
133
+ setCalendarFirstValue = _useState8[1];
134
+ var _useState9 = useState(formatInputValue({
135
+ value: startExternalValue || defaultFirstDate,
136
+ format: format,
137
+ lang: lang
138
+ })),
166
139
  _useState10 = _slicedToArray(_useState9, 2),
167
- correctEndDates = _useState10[0],
168
- setCorrectEndDates = _useState10[1];
169
- var _useState11 = useState(startInitialValues.originalDate),
140
+ inputFirstValue = _useState10[0],
141
+ setInputFirstValue = _useState10[1];
142
+ var _useState11 = useState(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
170
143
  _useState12 = _slicedToArray(_useState11, 2),
171
- calendarFirstValue = _useState12[0],
172
- setCalendarFirstValue = _useState12[1];
173
- var _useState13 = useState(startInitialValues.formattedDate),
144
+ calendarSecondValue = _useState12[0],
145
+ setCalendarSecondValue = _useState12[1];
146
+ var _useState13 = useState(formatInputValue({
147
+ value: endExternalValue || defaultSecondDate,
148
+ format: format,
149
+ lang: lang
150
+ })),
174
151
  _useState14 = _slicedToArray(_useState13, 2),
175
- inputFirstValue = _useState14[0],
176
- setInputFirstValue = _useState14[1];
177
- var _useState15 = useState(endInitialValues.originalDate),
152
+ inputSecondValue = _useState14[0],
153
+ setInputSecondValue = _useState14[1];
154
+ var _useState15 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
178
155
  _useState16 = _slicedToArray(_useState15, 2),
179
- calendarSecondValue = _useState16[0],
180
- setCalendarSecondValue = _useState16[1];
181
- var _useState17 = useState(endInitialValues.formattedDate),
156
+ fullDateEntered = _useState16[0],
157
+ setFullDateEntered = _useState16[1];
158
+ var _useState17 = useState(false),
182
159
  _useState18 = _slicedToArray(_useState17, 2),
183
- inputSecondValue = _useState18[0],
184
- setInputSecondValue = _useState18[1];
185
- var _useState19 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
186
- _useState20 = _slicedToArray(_useState19, 2),
187
- fullDateEntered = _useState20[0],
188
- setFullDateEntered = _useState20[1];
189
- var _useState21 = useState(false),
190
- _useState22 = _slicedToArray(_useState21, 2),
191
- secondTextFieldClicked = _useState22[0],
192
- setSecondTextFieldClicked = _useState22[1];
160
+ secondTextFieldClicked = _useState18[0],
161
+ setSecondTextFieldClicked = _useState18[1];
193
162
  var rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;
194
163
  var rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;
195
164
  var setFirstInputValue = function setFirstInputValue(value) {
@@ -214,8 +183,14 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
214
183
  });
215
184
  }
216
185
  };
186
+ var dateFormatDelimiter = useCallback(function () {
187
+ return getDateFormatDelimiter(format);
188
+ }, [format]);
217
189
  var _useDatePicker = useDatePicker({
218
190
  currentValue: inputFirstValue,
191
+ setInputValue: setFirstInputValue,
192
+ setCalendarValue: setCalendarFirstValue,
193
+ dateFormatDelimiter: dateFormatDelimiter,
219
194
  format: format,
220
195
  lang: lang,
221
196
  disabled: disabled,
@@ -224,23 +199,17 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
224
199
  valueError: firstValueError,
225
200
  valueSuccess: firstValueSuccess,
226
201
  name: name,
227
- type: type,
228
- min: min,
229
- max: max,
230
- includeEdgeDates: includeEdgeDates,
231
- setCorrectDates: setCorrectStartDates,
232
- setInputValue: setFirstInputValue,
233
- setCalendarValue: setCalendarFirstValue,
234
202
  onChangeValue: onChangeFirstValue,
235
- onCommitDate: onCommitFirstDate,
236
- dateFormatDelimiter: dateFormatDelimiter
203
+ onCommitDate: onCommitFirstDate
237
204
  }),
238
205
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
239
- handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
240
- handleSearchFirst = _useDatePicker.handleSearch,
206
+ handleCommitFirstDate = _useDatePicker.handleCommitDate,
241
207
  updateExternalFirstDate = _useDatePicker.updateExternalDate;
242
208
  var _useDatePicker2 = useDatePicker({
243
209
  currentValue: inputSecondValue,
210
+ setInputValue: setSecondInputValue,
211
+ setCalendarValue: setCalendarSecondValue,
212
+ dateFormatDelimiter: dateFormatDelimiter,
244
213
  format: format,
245
214
  lang: lang,
246
215
  disabled: disabled,
@@ -248,21 +217,11 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
248
217
  maskWithFormat: maskWithFormat,
249
218
  valueError: secondValueError,
250
219
  valueSuccess: secondValueSuccess,
251
- name: name,
252
- type: type,
253
- min: min,
254
- max: max,
255
- includeEdgeDates: includeEdgeDates,
256
- setCorrectDates: setCorrectEndDates,
257
- setInputValue: setSecondInputValue,
258
- setCalendarValue: setCalendarSecondValue,
259
220
  onChangeValue: onChangeSecondValue,
260
- onCommitDate: onCommitSecondDate,
261
- dateFormatDelimiter: dateFormatDelimiter
221
+ onCommitDate: onCommitSecondDate
262
222
  }),
263
223
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
264
- handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
265
- handleSearchSecond = _useDatePicker2.handleSearch,
224
+ handleCommitSecondDate = _useDatePicker2.handleCommitDate,
266
225
  updateExternalSecondDate = _useDatePicker2.updateExternalDate;
267
226
  var handleToggle = function handleToggle(currentOpened, event) {
268
227
  var _firstInputRef$curren, _secondInputRef$curre;
@@ -275,7 +234,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
275
234
  var _secondInputRef$curre2;
276
235
  secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
277
236
  }
278
- if (calendarSecondValue && !calendarFirstValue) {
237
+ if (calendarSecondValue || !calendarFirstValue) {
279
238
  var _firstInputRef$curren2;
280
239
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
281
240
  }
@@ -301,75 +260,44 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
301
260
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
302
261
  return;
303
262
  }
304
- var _getFormattedDates = getFormattedDates({
305
- value: inputFirstValue,
306
- delimiter: dateFormatDelimiter(),
307
- lang: lang,
308
- format: format,
309
- includeEdgeDates: includeEdgeDates,
310
- min: min,
311
- max: max
312
- }),
313
- startOriginalDate = _getFormattedDates.originalDate;
314
- var _getFormattedDates2 = getFormattedDates({
315
- value: inputSecondValue,
316
- delimiter: dateFormatDelimiter(),
317
- lang: lang,
318
- format: format,
319
- includeEdgeDates: includeEdgeDates,
320
- min: min,
321
- max: max
322
- }),
323
- endOriginalDate = _getFormattedDates2.originalDate;
324
- if (!calendarFirstValue && correctStartDates.calendar) {
325
- startOriginalDate = new Date(correctStartDates.calendar);
326
- }
327
- if (!calendarSecondValue && correctEndDates.calendar) {
328
- endOriginalDate = new Date(correctEndDates.calendar);
263
+ var _getDateFromFormat = getDateFromFormat(inputFirstValue, format, lang),
264
+ firstDate = _getDateFromFormat.value,
265
+ firstIsSuccess = _getDateFromFormat.isSuccess;
266
+ var _getDateFromFormat2 = getDateFromFormat(inputSecondValue, format, lang),
267
+ secondDate = _getDateFromFormat2.value,
268
+ secondIsSuccess = _getDateFromFormat2.isSuccess;
269
+ if (!firstIsSuccess || !secondIsSuccess) {
270
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
271
+ return;
329
272
  }
330
- var _getSortedValues = getSortedValues([startOriginalDate, endOriginalDate]),
273
+ var _getSortedValues = getSortedValues([new Date(firstDate), new Date(secondDate)]),
331
274
  _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
332
275
  startValue = _getSortedValues2[0],
333
276
  endValue = _getSortedValues2[1];
334
- var _getFormattedDates3 = getFormattedDates({
335
- value: startValue || null,
336
- delimiter: dateFormatDelimiter(),
337
- lang: lang,
338
- format: format,
339
- includeEdgeDates: includeEdgeDates,
340
- min: min,
341
- max: max
342
- }),
343
- startFormattedDate = _getFormattedDates3.formattedDate;
344
- var _getFormattedDates4 = getFormattedDates({
345
- value: endValue || null,
346
- delimiter: dateFormatDelimiter(),
347
- lang: lang,
348
- format: format,
349
- includeEdgeDates: includeEdgeDates,
350
- min: min,
351
- max: max
352
- }),
353
- endFormattedDate = _getFormattedDates4.formattedDate;
354
- setFirstInputValue(startFormattedDate);
355
- setSecondInputValue(endFormattedDate);
356
- setCalendarFirstValue(startOriginalDate);
357
- setCalendarSecondValue(endOriginalDate);
277
+ setFirstInputValue(formatInputValue({
278
+ value: startValue,
279
+ format: format,
280
+ lang: lang
281
+ }));
282
+ setSecondInputValue(formatInputValue({
283
+ value: endValue,
284
+ format: format,
285
+ lang: lang
286
+ }));
287
+ setCalendarFirstValue(formatCalendarValue(startValue, format, lang));
288
+ setCalendarSecondValue(formatCalendarValue(endValue, format, lang));
358
289
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
359
290
  };
360
291
  var _useKeyNavigation = useKeyNavigation({
361
292
  isCalendarOpen: isInnerOpen,
362
- format: format,
363
- maskWithFormat: maskWithFormat,
364
- delimiter: dateFormatDelimiter(),
365
- closeOnEsc: closeOnEsc,
366
- onToggle: handleToggle
293
+ onToggle: handleToggle,
294
+ closeOnEsc: closeOnEsc
367
295
  }),
368
296
  onKeyDown = _useKeyNavigation.onKeyDown;
369
297
  var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
370
298
  if (!fullDateEntered) {
371
- handleFirstCalendarPick(chosenDate, dateInfo);
372
- handleSecondCalendarPick(undefined);
299
+ handleCommitFirstDate(chosenDate, false, true, dateInfo);
300
+ handleCommitSecondDate('');
373
301
  return;
374
302
  }
375
303
  var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
@@ -377,8 +305,8 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
377
305
  _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
378
306
  first = _getSortedValues4[0],
379
307
  second = _getSortedValues4[1];
380
- handleFirstCalendarPick(first, dateInfo);
381
- handleSecondCalendarPick(second, dateInfo);
308
+ handleCommitFirstDate(first, false, true, dateInfo);
309
+ handleCommitSecondDate(second, false, true, dateInfo);
382
310
  if (!firstValueError && !secondValueError && closeAfterDateSelect) {
383
311
  handleToggle(false);
384
312
  }
@@ -388,10 +316,10 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
388
316
  firstDate = _ref5[0],
389
317
  secondDate = _ref5[1];
390
318
  if (firstDate) {
391
- handleFirstCalendarPick(firstDate, dateInfo);
319
+ handleCommitFirstDate(firstDate, false, true, dateInfo);
392
320
  }
393
321
  if (secondDate) {
394
- handleSecondCalendarPick(secondDate, dateInfo);
322
+ handleCommitSecondDate(secondDate, false, true, dateInfo);
395
323
  }
396
324
  if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
397
325
  handleToggle(false);
@@ -430,14 +358,14 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
430
358
  onChangeSecondValue: handleChangeSecondValue,
431
359
  name: name,
432
360
  onSearchFirstValue: function onSearchFirstValue(_, date) {
433
- handleSearchFirst(String(date));
361
+ handleCommitFirstDate(String(date), true, false);
434
362
  if (!calendarSecondValue || secondValueError) {
435
363
  var _rangeRef$current3;
436
364
  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();
437
365
  }
438
366
  },
439
367
  onSearchSecondValue: function onSearchSecondValue(_, date) {
440
- handleSearchSecond(String(date));
368
+ handleCommitSecondDate(String(date), true, false);
441
369
  if (!calendarFirstValue || firstValueError) {
442
370
  var _rangeRef$current4;
443
371
  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();
@@ -469,17 +397,13 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
469
397
  }
470
398
  }, [calendarFirstValue, calendarSecondValue]);
471
399
  useLayoutEffect(function () {
472
- updateExternalFirstDate(startExternalValue || undefined);
473
- }, [startExternalValue, format, lang]);
474
- useLayoutEffect(function () {
475
- updateExternalSecondDate(endExternalValue || undefined);
476
- }, [endExternalValue, format, lang]);
477
- useLayoutEffect(function () {
478
- !startExternalValue && updateExternalFirstDate(defaultFirstDate);
479
- }, [defaultFirstDate, format, lang]);
400
+ var externalDate = startExternalValue || defaultFirstDate;
401
+ updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
402
+ }, [startExternalValue, defaultFirstDate, format, lang]);
480
403
  useLayoutEffect(function () {
481
- !endExternalValue && updateExternalSecondDate(defaultSecondDate);
482
- }, [defaultSecondDate, format, lang]);
404
+ var externalDate = endExternalValue || defaultSecondDate;
405
+ updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
406
+ }, [endExternalValue, defaultSecondDate, format, lang]);
483
407
  var RootWrapper = useCallback(function (_ref6) {
484
408
  var children = _ref6.children;
485
409
  return /*#__PURE__*/React.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 { 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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"}
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":";;;;;;;;;;;;;;;;;;IA8BaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC5BC,IAAwG,EAAA;AAAA,EAAA,oBAExGC,UAAU,CACN,UAAAC,IAAA,EAoFIC,GAAG,EACF;IAAA,IAAAC,iBAAA,EAAAC,kBAAA,CAAA;AAAA,IAAA,IAnFGC,SAAS,GAAAJ,IAAA,CAATI,SAAS;MACTC,YAAY,GAAAL,IAAA,CAAZK,YAAY;MAAAC,qBAAA,GAAAN,IAAA,CAEZO,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MAAAE,WAAA,GAAAR,IAAA,CACxBS,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;MACPE,aAAa,GAAAV,IAAA,CAApBW,KAAK;MAELC,KAAK,GAAAZ,IAAA,CAALY,KAAK;MACLC,UAAU,GAAAb,IAAA,CAAVa,UAAU;MACVC,WAAW,GAAAd,IAAA,CAAXc,WAAW;MACXC,YAAY,GAAAf,IAAA,CAAZe,YAAY;MACZC,IAAI,GAAAhB,IAAA,CAAJgB,IAAI;MACJC,IAAI,GAAAjB,IAAA,CAAJiB,IAAI;MAAAC,aAAA,GAAAlB,IAAA,CACJmB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAAAE,aAAA,GAAApB,IAAA,CAChBqB,QAAQ;AAARA,MAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;MAChBE,IAAI,GAAAtB,IAAA,CAAJsB,IAAI;MAAAC,mBAAA,GAAAvB,IAAA,CAEJwB,cAAc;AAAdA,MAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;MACvBE,WAAW,GAAAzB,IAAA,CAAXyB,WAAW;MAAAC,qBAAA,GAAA1B,IAAA,CAEX2B,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MAAAE,qBAAA,GAAA5B,IAAA,CACrB6B,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;MACtBE,eAAe,GAAA9B,IAAA,CAAf8B,eAAe;MACfC,gBAAgB,GAAA/B,IAAA,CAAhB+B,gBAAgB;MAChBC,iBAAiB,GAAAhC,IAAA,CAAjBgC,iBAAiB;MACjBC,kBAAkB,GAAAjC,IAAA,CAAlBiC,kBAAkB;MAClBC,gBAAgB,GAAAlC,IAAA,CAAhBkC,gBAAgB;MAChBC,iBAAiB,GAAAnC,IAAA,CAAjBmC,iBAAiB;MACjBC,yBAAyB,GAAApC,IAAA,CAAzBoC,yBAAyB;MACzBC,0BAA0B,GAAArC,IAAA,CAA1BqC,0BAA0B;MAC1BC,0BAA0B,GAAAtC,IAAA,CAA1BsC,0BAA0B;MAC1BC,2BAA2B,GAAAvC,IAAA,CAA3BuC,2BAA2B;MAC3BC,wBAAwB,GAAAxC,IAAA,CAAxBwC,wBAAwB;MACxBC,yBAAyB,GAAAzC,IAAA,CAAzByC,yBAAyB;MACzBC,uBAAuB,GAAA1C,IAAA,CAAvB0C,uBAAuB;MACvBC,wBAAwB,GAAA3C,IAAA,CAAxB2C,wBAAwB;MAExBC,QAAQ,GAAA5C,IAAA,CAAR4C,QAAQ;MAAAC,qBAAA,GAAA7C,IAAA,CACR8C,iBAAiB;AAAjBA,MAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,qBAAA;MAAAE,qBAAA,GAAA/C,IAAA,CAC3BgD,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,WAAA,GAAAjD,IAAA,CAE3BkD,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,YAAY,GAAAA,WAAA;MAAAE,SAAA,GAAAnD,IAAA,CACrBoD,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;MACXE,cAAc,GAAArD,IAAA,CAAdqD,cAAc;MACdC,GAAG,GAAAtD,IAAA,CAAHsD,GAAG;MACHC,GAAG,GAAAvD,IAAA,CAAHuD,GAAG;MACHC,cAAc,GAAAxD,IAAA,CAAdwD,cAAc;MAAAC,qBAAA,GAAAzD,IAAA,CACd0D,gBAAgB;AAAhBA,MAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;MACxBE,SAAS,GAAA3D,IAAA,CAAT2D,SAAS;MACTC,YAAY,GAAA5D,IAAA,CAAZ4D,YAAY;MACZC,cAAc,GAAA7D,IAAA,CAAd6D,cAAc;MACdC,iBAAiB,GAAA9D,IAAA,CAAjB8D,iBAAiB;MACjBC,gBAAgB,GAAA/D,IAAA,CAAhB+D,gBAAgB;MAChBC,mBAAmB,GAAAhE,IAAA,CAAnBgE,mBAAmB;MACnBC,aAAa,GAAAjE,IAAA,CAAbiE,aAAa;MACbC,gBAAgB,GAAAlE,IAAA,CAAhBkE,gBAAgB;MAAAC,SAAA,GAAAnE,IAAA,CAChBoE,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MAAAE,UAAA,GAAArE,IAAA,CAEbsE,KAAK;AAALA,MAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,UAAA;MAAAE,cAAA,GAAAvE,IAAA,CAClBwE,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;MAAAE,cAAA,GAAAzE,IAAA,CACjB0E,SAAS;MAATA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAAA,cAAA;MAAAE,qBAAA,GAAA3E,IAAA,CAC7B4E,mBAAmB;AAAnBA,MAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAAAE,eAAA,GAAA7E,IAAA,CAC1B8E,UAAU;AAAVA,MAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;MAAAE,qBAAA,GAAA/E,IAAA,CACjBgF,oBAAoB;AAApBA,MAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;MAC3BE,MAAM,GAAAjF,IAAA,CAANiF,MAAM;MAENC,QAAQ,GAAAlF,IAAA,CAARkF,QAAQ;MAERC,QAAQ,GAAAnF,IAAA,CAARmF,QAAQ;MACRC,kBAAkB,GAAApF,IAAA,CAAlBoF,kBAAkB;MAClBC,mBAAmB,GAAArF,IAAA,CAAnBqF,mBAAmB;MAEnBC,iBAAiB,GAAAtF,IAAA,CAAjBsF,iBAAiB;MACjBC,kBAAkB,GAAAvF,IAAA,CAAlBuF,kBAAkB;MAElBC,qBAAqB,GAAAxF,IAAA,CAArBwF,qBAAqB;MACrBC,sBAAsB,GAAAzF,IAAA,CAAtByF,sBAAsB;MACtBC,qBAAoB,GAAA1F,IAAA,CAApB0F,oBAAoB;MACpBC,sBAAqB,GAAA3F,IAAA,CAArB2F,qBAAqB;AAElBC,MAAAA,IAAI,GAAAC,wBAAA,CAAA7F,IAAA,EAAA8F,SAAA,CAAA,CAAA;AAIX,IAAA,IAAMC,QAAQ,GAAG9F,GAAG,IAAI,SAAS,IAAIA,GAAG,GAAGA,GAAG,gBAAG+F,SAAS,EAAkB,CAAA;AAC5E,IAAA,IAAMC,OAAO,GAAGC,MAAM,CAAwB,IAAI,CAAC,CAAA;AAEnD,IAAA,IAAMC,aAAa,GAAGD,MAAM,CAAmB,IAAI,CAAC,CAAA;AACpD,IAAA,IAAME,cAAc,GAAGF,MAAM,CAAmB,IAAI,CAAC,CAAA;AAErD,IAAA,IAAAG,KAAA,GAA+C3F,aAAa,IAAI,EAAE;MAAA4F,KAAA,GAAAC,cAAA,CAAAF,KAAA,EAAA,CAAA,CAAA;AAA3DG,MAAAA,kBAAkB,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;IAE3C,IAAAI,SAAA,GAA0CC,QAAQ,CAC9CZ,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAA7F,iBAAA,GAAR6F,QAAQ,CAAEa,OAAO,cAAA1G,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAA,CAAmB2G,cAAc,EACrC,CAAC;MAAAC,UAAA,GAAAP,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAFMK,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAGtC,IAAAG,UAAA,GAA4CN,QAAQ,CAChDZ,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,gBAAA5F,kBAAA,GAAR4F,QAAQ,CAAEa,OAAO,cAAAzG,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmB+G,eAAe,EACtC,CAAC;MAAAC,UAAA,GAAAZ,cAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGxC,IAAA,IAAAG,UAAA,GAAsCX,QAAQ,CAAClG,MAAM,CAAC;MAAA8G,UAAA,GAAAhB,cAAA,CAAAe,UAAA,EAAA,CAAA,CAAA;AAA/CE,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,IAAA,IAAAG,UAAA,GAAoDf,QAAQ,CACxDgB,mBAAmB,CAACnB,kBAAkB,IAAI7E,gBAAgB,EAAEuB,MAAM,EAAEE,IAAI,CAC5E,CAAC;MAAAwE,UAAA,GAAArB,cAAA,CAAAmB,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,kBAAkB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGhD,IAAA,IAAAG,UAAA,GAA8CpB,QAAQ,CAClDqB,gBAAgB,CAAC;QAAErH,KAAK,EAAE6F,kBAAkB,IAAI7E,gBAAgB;AAAEuB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CACpF,CAAC;MAAA6E,WAAA,GAAA1B,cAAA,CAAAwB,UAAA,EAAA,CAAA,CAAA;AAFMG,MAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAI1C,IAAA,IAAAG,WAAA,GAAsDzB,QAAQ,CAC1DgB,mBAAmB,CAAClB,gBAAgB,IAAI5E,iBAAiB,EAAEqB,MAAM,EAAEE,IAAI,CAC3E,CAAC;MAAAiF,WAAA,GAAA9B,cAAA,CAAA6B,WAAA,EAAA,CAAA,CAAA;AAFME,MAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,sBAAsB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAGlD,IAAA,IAAAG,WAAA,GAAgD7B,QAAQ,CACpDqB,gBAAgB,CAAC;QAAErH,KAAK,EAAE8F,gBAAgB,IAAI5E,iBAAiB;AAAEqB,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CACnF,CAAC;MAAAqF,WAAA,GAAAlC,cAAA,CAAAiC,WAAA,EAAA,CAAA,CAAA;AAFME,MAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,mBAAmB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAI5C,IAAAG,WAAA,GAA8CjC,QAAQ,CAACkC,OAAO,CAAChB,kBAAkB,IAAIS,mBAAmB,CAAC,CAAC;MAAAQ,WAAA,GAAAvC,cAAA,CAAAqC,WAAA,EAAA,CAAA,CAAA;AAAnGG,MAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,kBAAkB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAE1C,IAAA,IAAAG,WAAA,GAA4DtC,QAAQ,CAAC,KAAK,CAAC;MAAAuC,WAAA,GAAA3C,cAAA,CAAA0C,WAAA,EAAA,CAAA,CAAA;AAApEE,MAAAA,sBAAsB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,yBAAyB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAExD,IAAMG,eAAe,GAAGvH,eAAe,IAAIC,gBAAgB,GAAGuH,OAAO,CAACC,eAAe,GAAGC,SAAS,CAAA;IACjG,IAAMC,iBAAiB,GAAGzH,iBAAiB,IAAIC,kBAAkB,GAAGqH,OAAO,CAACI,iBAAiB,GAAGF,SAAS,CAAA;AAEzG,IAAA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIhJ,KAAmC,EAAK;MAChEwH,kBAAkB,CAACxH,KAAK,CAAC,CAAA;AAEzB,MAAA,IAAIwE,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC;AACLyE,UAAAA,MAAM,EAAE;YACJjJ,KAAK,EAAA,EAAA,CAAAkJ,MAAA,CAAKlJ,KAAK,SAAAkJ,MAAA,CAAMnB,gBAAgB,CAAE;AACvCpH,YAAAA,IAAI,EAAJA,IAAAA;AACJ,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;KACH,CAAA;AAED,IAAA,IAAMwI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAInJ,KAAmC,EAAK;MACjEgI,mBAAmB,CAAChI,KAAK,CAAC,CAAA;AAE1B,MAAA,IAAIwE,QAAQ,EAAE;AACVA,QAAAA,QAAQ,CAAC;AACLyE,UAAAA,MAAM,EAAE;YACJjJ,KAAK,EAAA,EAAA,CAAAkJ,MAAA,CAAK3B,eAAe,SAAA2B,MAAA,CAAMlJ,KAAK,CAAE;AACtCW,YAAAA,IAAI,EAAJA,IAAAA;AACJ,WAAA;AACJ,SAAC,CAAC,CAAA;AACN,OAAA;KACH,CAAA;IAED,IAAMyI,mBAAmB,GAAGC,WAAW,CAAC,YAAA;MAAA,OAAMC,sBAAsB,CAAC/G,MAAM,CAAC,CAAA;KAAE,EAAA,CAACA,MAAM,CAAC,CAAC,CAAA;IAEvF,IAAAgH,cAAA,GAIIC,aAAa,CAAC;AACdC,QAAAA,YAAY,EAAElC,eAAe;AAC7BmC,QAAAA,aAAa,EAAEV,kBAAkB;AACjCW,QAAAA,gBAAgB,EAAExC,qBAAqB;AACvCiC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB7G,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJ/B,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRkC,QAAAA,cAAc,EAAdA,cAAc;AACdkH,QAAAA,UAAU,EAAEzI,eAAe;AAC3B0I,QAAAA,YAAY,EAAExI,iBAAiB;AAC/BV,QAAAA,IAAI,EAAJA,IAAI;AACJmJ,QAAAA,aAAa,EAAErF,kBAAkB;AACjCsF,QAAAA,YAAY,EAAEpF,iBAAAA;AAClB,OAAC,CAAC;MAlBqBqF,sBAAsB,GAAAT,cAAA,CAAzCU,iBAAiB;MACCC,qBAAqB,GAAAX,cAAA,CAAvCY,gBAAgB;MACIC,uBAAuB,GAAAb,cAAA,CAA3Cc,kBAAkB,CAAA;IAkBtB,IAAAC,eAAA,GAIId,aAAa,CAAC;AACdC,QAAAA,YAAY,EAAE1B,gBAAgB;AAC9B2B,QAAAA,aAAa,EAAEP,mBAAmB;AAClCQ,QAAAA,gBAAgB,EAAE/B,sBAAsB;AACxCwB,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB7G,QAAAA,MAAM,EAANA,MAAM;AACNE,QAAAA,IAAI,EAAJA,IAAI;AACJ/B,QAAAA,QAAQ,EAARA,QAAQ;AACRF,QAAAA,QAAQ,EAARA,QAAQ;AACRkC,QAAAA,cAAc,EAAdA,cAAc;AACdkH,QAAAA,UAAU,EAAExI,gBAAgB;AAC5ByI,QAAAA,YAAY,EAAEvI,kBAAkB;AAChCwI,QAAAA,aAAa,EAAEpF,mBAAmB;AAClCqF,QAAAA,YAAY,EAAEnF,kBAAAA;AAClB,OAAC,CAAC;MAjBqB2F,uBAAuB,GAAAD,eAAA,CAA1CL,iBAAiB;MACCO,sBAAsB,GAAAF,eAAA,CAAxCH,gBAAgB;MACIM,wBAAwB,GAAAH,eAAA,CAA5CD,kBAAkB,CAAA;IAiBtB,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,aAAsB,EAAEC,KAA8B,EAAK;MAAA,IAAAC,qBAAA,EAAAC,qBAAA,CAAA;MAC7E,IAAIpK,QAAQ,IAAIF,QAAQ,EAAE;AACtB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMuK,cAAc,GAChB,CAAC3E,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAA,CAAAyE,qBAAA,GAAbzE,aAAa,CAAEH,OAAO,MAAA4E,IAAAA,IAAAA,qBAAA,eAAtBA,qBAAA,CAAwBG,QAAQ,CAAC,CAACJ,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAE3B,MAAM,KAAa,IAAI,CAAC,IAC9DxC,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAAqE,qBAAA,GAAdrE,cAAc,CAAER,OAAO,MAAA,IAAA,IAAA6E,qBAAA,KAAA,KAAA,CAAA,IAAvBA,qBAAA,CAAyBE,QAAQ,CAAC,CAACJ,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAE3B,MAAM,KAAa,IAAI,CAAC,KACtE,CAAC2B,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAsCK,IAAI,MAAKC,IAAI,CAACC,MAAM,GAC1D,IAAI,GACJR,aAAa,CAAA;MAEvB,IAAI,CAACI,cAAc,EAAE;AACjB,QAAA,IAAI7D,kBAAkB,IAAI,CAACS,mBAAmB,EAAE;AAAA,UAAA,IAAAyD,sBAAA,CAAA;AAC5C3E,UAAAA,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAA2E,KAAAA,CAAAA,IAAAA,CAAAA,sBAAA,GAAd3E,cAAc,CAAER,OAAO,MAAA,IAAA,IAAAmF,sBAAA,KAAvBA,KAAAA,CAAAA,IAAAA,sBAAA,CAAyBC,KAAK,EAAE,CAAA;AACpC,SAAA;AACA,QAAA,IAAI1D,mBAAmB,IAAI,CAACT,kBAAkB,EAAE;AAAA,UAAA,IAAAoE,sBAAA,CAAA;AAC5ClF,UAAAA,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAAkF,KAAAA,CAAAA,IAAAA,CAAAA,sBAAA,GAAblF,aAAa,CAAEH,OAAO,MAAA,IAAA,IAAAqF,sBAAA,KAAtBA,KAAAA,CAAAA,IAAAA,sBAAA,CAAwBD,KAAK,EAAE,CAAA;AACnC,SAAA;AACJ,OAAA;MAEA,IAAI,CAACN,cAAc,EAAE;QACjBtC,yBAAyB,CAAC,KAAK,CAAC,CAAA;AACpC,OAAA;AAEA,MAAA,IAAIlE,QAAQ,EAAE;AACV,QAAA,OAAOA,QAAQ,CAACwG,cAAc,EAAEH,KAAK,CAAC,CAAA;AAC1C,OAAA;MAEA9D,cAAc,CAACiE,cAAc,CAAC,CAAA;KACjC,CAAA;AAED,IAAA,IAAMQ,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIX,KAAmC,EAAK;AACvE/F,MAAAA,qBAAqB,aAArBA,qBAAqB,KAAA,KAAA,CAAA,IAArBA,qBAAqB,CAAG+F,KAAK,CAAC,CAAA;MAC9BnC,yBAAyB,CAAC,KAAK,CAAC,CAAA;KACnC,CAAA;AAED,IAAA,IAAM+C,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIZ,KAAmC,EAAK;AACxE9F,MAAAA,sBAAsB,aAAtBA,sBAAsB,KAAA,KAAA,CAAA,IAAtBA,sBAAsB,CAAG8F,KAAK,CAAC,CAAA;MAC/BnC,yBAAyB,CAAC,IAAI,CAAC,CAAA;KAClC,CAAA;IAED,IAAMgD,UAAU,GAAG,SAAbA,UAAUA,CACZb,KAAmC,EACnCc,YAAkD,EACjD;AACD,MAAA,IAAI,CAACnE,eAAe,IAAI,CAACQ,gBAAgB,EAAE;AACvC2D,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;MAEA,IAAAe,kBAAA,GAAwDC,iBAAiB,CACrErE,eAAe,EACfhF,MAAM,EACNE,IACJ,CAAC;QAJcoJ,SAAS,GAAAF,kBAAA,CAAhB3L,KAAK;QAAwB8L,cAAc,GAAAH,kBAAA,CAAzBI,SAAS,CAAA;MAMnC,IAAAC,mBAAA,GAA0DJ,iBAAiB,CACvE7D,gBAAgB,EAChBxF,MAAM,EACNE,IACJ,CAAC;QAJcwJ,UAAU,GAAAD,mBAAA,CAAjBhM,KAAK;QAAyBkM,eAAe,GAAAF,mBAAA,CAA1BD,SAAS,CAAA;AAMpC,MAAA,IAAI,CAACD,cAAc,IAAI,CAACI,eAAe,EAAE;AACrCR,QAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;AACrB,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAAuB,gBAAA,GAA+BC,eAAe,CAAC,CAAC,IAAIC,IAAI,CAACR,SAAS,CAAC,EAAE,IAAIQ,IAAI,CAACJ,UAAU,CAAC,CAAC,CAAC;QAAAK,iBAAA,GAAA1G,cAAA,CAAAuG,gBAAA,EAAA,CAAA,CAAA;AAApFI,QAAAA,UAAU,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,QAAQ,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;MAE3BtD,kBAAkB,CAAC3B,gBAAgB,CAAC;AAAErH,QAAAA,KAAK,EAAEuM,UAAU;AAAEhK,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;MACzE0G,mBAAmB,CAAC9B,gBAAgB,CAAC;AAAErH,QAAAA,KAAK,EAAEwM,QAAQ;AAAEjK,QAAAA,MAAM,EAANA,MAAM;AAAEE,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAC,CAAC,CAAA;MAExE0E,qBAAqB,CAACH,mBAAmB,CAACuF,UAAU,EAAEhK,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;MACpEmF,sBAAsB,CAACZ,mBAAmB,CAACwF,QAAQ,EAAEjK,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAEnEiJ,MAAAA,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,IAAZA,YAAY,CAAGd,KAAK,CAAC,CAAA;KACxB,CAAA;IAED,IAAA6B,iBAAA,GAAsBC,gBAAgB,CAAC;AACnC3B,QAAAA,cAAc,EAAElE,WAAW;AAC3BtC,QAAAA,QAAQ,EAAEmG,YAAY;AACtBvG,QAAAA,UAAU,EAAVA,UAAAA;AACJ,OAAC,CAAC;MAJMwI,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;IAMjB,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,UAAgB,EAAEC,QAAmB,EAAK;MACxE,IAAI,CAAC1E,eAAe,EAAE;QAClB8B,qBAAqB,CAAC2C,UAAU,EAAE,KAAK,EAAE,IAAI,EAAEC,QAAQ,CAAC,CAAA;QACxDtC,sBAAsB,CAAC,EAAE,CAAC,CAAA;AAE1B,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAMuC,SAAS,GAAGvE,sBAAsB,GAAGtB,kBAAkB,GAAGS,mBAAmB,CAAA;MAEnF,IAAAqF,iBAAA,GAAwBZ,eAAe,CAAC,CAACW,SAAS,EAAEF,UAAU,CAAC,CAAC;QAAAI,iBAAA,GAAArH,cAAA,CAAAoH,iBAAA,EAAA,CAAA,CAAA;AAAzDE,QAAAA,KAAK,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,MAAM,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;MAEpB/C,qBAAqB,CAACgD,KAAK,EAAE,KAAK,EAAE,IAAI,EAAEJ,QAAQ,CAAC,CAAA;MACnDtC,sBAAsB,CAAC2C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAEL,QAAQ,CAAC,CAAA;AAErD,MAAA,IAAI,CAAC3L,eAAe,IAAI,CAACC,gBAAgB,IAAIiD,oBAAoB,EAAE;QAC/DqG,YAAY,CAAC,KAAK,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;IAED,IAAM0C,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAA4CP,QAAmB,EAAK;AAAA,MAAA,IAAAQ,KAAA,GAAA1H,cAAA,CAAAyH,KAAA,EAAA,CAAA,CAAA;AAA/DxB,QAAAA,SAAS,GAAAyB,KAAA,CAAA,CAAA,CAAA;AAAErB,QAAAA,UAAU,GAAAqB,KAAA,CAAA,CAAA,CAAA,CAAA;AACrD,MAAA,IAAIzB,SAAS,EAAE;QACX3B,qBAAqB,CAAC2B,SAAS,EAAE,KAAK,EAAE,IAAI,EAAEiB,QAAQ,CAAC,CAAA;AAC3D,OAAA;AAEA,MAAA,IAAIb,UAAU,EAAE;QACZzB,sBAAsB,CAACyB,UAAU,EAAE,KAAK,EAAE,IAAI,EAAEa,QAAQ,CAAC,CAAA;AAC7D,OAAA;MAEA,IAAIjB,SAAS,IAAII,UAAU,IAAI,CAAC9K,eAAe,IAAI,CAACC,gBAAgB,IAAIiD,oBAAoB,EAAE;QAC1FqG,YAAY,CAAC,KAAK,CAAC,CAAA;AACvB,OAAA;KACH,CAAA;AAED,IAAA,IAAM6C,cAAc,gBAChBC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAE,QAAA,EAIIF,IAAAA,eAAAA,KAAA,CAAAC,aAAA,CAACE,WAAW,EAAA;AACRrO,MAAAA,GAAG,EAAE8F,QAAS;AACd1F,MAAAA,YAAY,EAAEA,YAAa;AAC3BoB,MAAAA,WAAW,EAAEA,WAAY;AACzBD,MAAAA,cAAc,EAAEA,cAAe;AAC/BZ,MAAAA,KAAK,EAAEA,KAAM;AACbgC,MAAAA,QAAQ,EAAEA,QAAS;AACnBE,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,oBAAoB,EAAEA,oBAAqB;AAC3C3B,MAAAA,QAAQ,EAAEA,QAAS;AACnBF,MAAAA,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAS;AAChCe,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCrB,MAAAA,WAAW,EAAEA,WAAY;AACzBC,MAAAA,YAAY,EAAEA,YAAa;AAC3ByB,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,MAAAA,wBAAwB,EAAEA,wBAAyB;AACnDP,MAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,0BAA0B,EAAEA,0BAA2B;AACvDC,MAAAA,2BAA2B,EAAEA,2BAA4B;AACzDgM,MAAAA,UAAU,EAAErG,eAAgB;AAC5BsG,MAAAA,WAAW,EAAE9F,gBAAiB;AAC9B5G,MAAAA,eAAe,EAAEA,eAAgB;AACjCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,kBAAkB,EAAEA,kBAAmB;AACvCmD,MAAAA,kBAAkB,EAAEuF,sBAAuB;AAC3CtF,MAAAA,mBAAmB,EAAE6F,uBAAwB;AAC7C5J,MAAAA,IAAI,EAAEA,IAAK;AACXmN,MAAAA,kBAAkB,EAAE,SAAAA,kBAAAA,CAACC,CAAC,EAAEC,IAAI,EAAK;QAC7B9D,qBAAqB,CAAC+D,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAChD,QAAA,IAAI,CAACrG,mBAAmB,IAAIvG,gBAAgB,EAAE;AAAA,UAAA,IAAA8M,kBAAA,CAAA;AAC1C9I,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAA8I,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAR9I,QAAQ,CAAEa,OAAO,MAAA,IAAA,IAAAiI,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmB3H,eAAe,EAAE,MAAA2H,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAApCA,kBAAA,CAAsCjI,OAAO,MAAA,IAAA,IAAAiI,kBAAA,KAA7CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA+C7C,KAAK,EAAE,CAAA;AAC1D,SAAA;OACF;AACF8C,MAAAA,mBAAmB,EAAE,SAAAA,mBAAAA,CAACJ,CAAC,EAAEC,IAAI,EAAK;QAC9BxD,sBAAsB,CAACyD,MAAM,CAACD,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACjD,QAAA,IAAI,CAAC9G,kBAAkB,IAAI/F,eAAe,EAAE;AAAA,UAAA,IAAAiN,kBAAA,CAAA;AACxChJ,UAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAAAgJ,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAARhJ,QAAQ,CAAEa,OAAO,MAAA,IAAA,IAAAmI,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmBlI,cAAc,EAAE,MAAAkI,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAnCA,kBAAA,CAAqCnI,OAAO,MAAA,IAAA,IAAAmI,kBAAA,KAA5CA,KAAAA,CAAAA,IAAAA,kBAAA,CAA8C/C,KAAK,EAAE,CAAA;AACzD,SAAA;OACF;AACFxG,MAAAA,qBAAqB,EAAE0G,yBAA0B;AACjDzG,MAAAA,sBAAsB,EAAE0G,0BAA2B;MACnDzG,oBAAoB,EAAE,SAAAA,oBAAAA,CAAC6F,KAAK,EAAA;AAAA,QAAA,OAAKa,UAAU,CAACb,KAAK,EAAE7F,qBAAoB,CAAC,CAAA;OAAC;MACzEC,qBAAqB,EAAE,SAAAA,qBAAAA,CAAC4F,KAAK,EAAA;AAAA,QAAA,OAAKa,UAAU,CAACb,KAAK,EAAE5F,sBAAqB,CAAC,CAAA;OAAC;AAC3E2H,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CACH,CACL,CAAA;AAED0B,IAAAA,SAAS,CAAC,YAAM;MAAA,IAAAC,kBAAA,EAAAC,kBAAA,CAAA;AACZlI,MAAAA,gBAAgB,CAAAiI,CAAAA,kBAAA,GAAClJ,QAAQ,CAACa,OAAO,MAAA,IAAA,IAAAqI,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBpI,cAAc,EAAE,CAAC,CAAA;AACpDQ,MAAAA,iBAAiB,CAAA6H,CAAAA,kBAAA,GAACnJ,QAAQ,CAACa,OAAO,MAAA,IAAA,IAAAsI,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhBA,kBAAA,CAAkBhI,eAAe,EAAE,CAAC,CAAA;AAC1D,KAAC,EAAE,CAACnB,QAAQ,CAACa,OAAO,CAAC,CAAC,CAAA;AAEtBoI,IAAAA,SAAS,CAAC,YAAM;MACZvH,cAAc,CAAC,UAAC0H,QAAQ,EAAA;AAAA,QAAA,OAAKA,QAAQ,KAAK1O,MAAM,IAAIA,MAAM,CAAA;OAAC,CAAA,CAAA;AAC/D,KAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAEZuO,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAInH,kBAAkB,IAAIS,mBAAmB,EAAE;QAC3CU,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC5B,OAAA;AACJ,KAAC,EAAE,CAACnB,kBAAkB,EAAES,mBAAmB,CAAC,CAAC,CAAA;AAE7C8G,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAMC,YAAY,GAAG7I,kBAAkB,IAAI7E,gBAAgB,CAAA;AAC3DoJ,MAAAA,uBAAuB,CAACsE,YAAY,EAAE1F,kBAAkB,EAAE7B,qBAAqB,CAAC,CAAA;KACnF,EAAE,CAACtB,kBAAkB,EAAE7E,gBAAgB,EAAEuB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAExDgM,IAAAA,eAAe,CAAC,YAAM;AAClB,MAAA,IAAMC,YAAY,GAAG5I,gBAAgB,IAAI5E,iBAAiB,CAAA;AAC1DuJ,MAAAA,wBAAwB,CAACiE,YAAY,EAAEvF,mBAAmB,EAAEvB,sBAAsB,CAAC,CAAA;KACtF,EAAE,CAAC9B,gBAAgB,EAAE5E,iBAAiB,EAAEqB,MAAM,EAAEE,IAAI,CAAC,CAAC,CAAA;AAEvD,IAAA,IAAMkM,WAAW,GAAGtF,WAAW,CAC3B,UAAAuF,KAAA,EAAA;AAAA,MAAA,IAAGC,QAAQ,GAAAD,KAAA,CAARC,QAAQ,CAAA;AAAA,MAAA,oBACPrB,KAAA,CAAAC,aAAA,CAACtO,IAAI,EAAA;AACDkB,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,IAAI,EAAEA,IAAK;QACXb,SAAS,EAAEqP,EAAE,CAACnG,OAAO,CAACoG,cAAc,EAAEtP,SAAS,CAAE;AACjDiB,QAAAA,QAAQ,EAAEA,QAAS;QACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,OAAA,EAE/BqO,QACC,CAAC,CAAA;KACV,EACD,CAACxO,IAAI,EAAEC,IAAI,EAAEI,QAAQ,EAAEF,QAAQ,CACnC,CAAC,CAAA;AAED,IAAA,oBACIgN,KAAA,CAAAC,aAAA,CAACtO,IAAI,EAAA6P,QAAA,CAAA;AACD1P,MAAAA,GAAG,EAAEgG,OAAQ;AACbjF,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;MACXb,SAAS,EAAEqP,EAAE,CAACnG,OAAO,CAACoG,cAAc,EAAEtP,SAAS,CAAE;AACjDiB,MAAAA,QAAQ,EAAEA,QAAS;MACnBF,QAAQ,EAAE,CAACE,QAAQ,IAAIF,QAAAA;AAAS,KAAA,EAC5ByE,IAAI,CAERuI,eAAAA,KAAA,CAAAC,aAAA,CAACwB,gBAAgB,EAAA;AACbC,MAAAA,aAAa,EAAE,CAAChI,kBAAkB,EAAES,mBAAmB,CAAE;AACzDsB,MAAAA,MAAM,EAAEsE,cAAe;AACvBzN,MAAAA,MAAM,EAAE+G,WAAY;AACpB9D,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCZ,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,cAAc,EAAEA,cAAe;AAC/Bc,MAAAA,KAAK,EAAEA,KAAM;AACbE,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCE,MAAAA,UAAU,EAAEA,UAAW;AACvBG,MAAAA,MAAM,EAAEA,MAAO;AACfb,MAAAA,IAAI,EAAEA,IAAK;AACXc,MAAAA,QAAQ,EAAEmG,YAAa;AACvBjI,MAAAA,IAAI,EAAEA,IAAK;AACX7C,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCuP,MAAAA,WAAW,EAAER,WAAY;AACzBS,MAAAA,oBAAoB,EAAExC,wBAAyB;AAC/C9C,MAAAA,aAAa,EAAEsD,yBAAAA;KAClB,CAAC,EACDlN,UAAU,iBACPsN,KAAA,CAAAC,aAAA,CAAC4B,UAAU,EAAA;AAAC5P,MAAAA,SAAS,EAAEqP,EAAE,CAACpG,eAAe,EAAEI,iBAAiB,CAAA;KAAI5I,EAAAA,UAAuB,CAC1F,eACDsN,KAAA,CAAAC,aAAA,CAAC6B,WAAW,EAAAN,QAAA,CAAA;AACRrO,MAAAA,IAAI,EAAEA,IAAK;AACX8C,MAAAA,IAAI,EAAC,QAAQ;AACb8L,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B,MAAA,iBAAA,EAAgB,MAAM;AACtBvP,MAAAA,KAAK,EAAEuH,eAAgB;AACvBjI,MAAAA,GAAG,EAAEkG,aAAAA;KACDgK,EAAAA,IAAI,CACX,CAAC,eACFhC,KAAA,CAAAC,aAAA,CAAC6B,WAAW,EAAAN,QAAA,CAAA;AACRrO,MAAAA,IAAI,EAAEA,IAAK;AACX8C,MAAAA,IAAI,EAAC,QAAQ;AACb8L,MAAAA,QAAQ,EAAC,mBAAmB;AAC5B,MAAA,iBAAA,EAAgB,IAAI;AACpBvP,MAAAA,KAAK,EAAE+H,gBAAiB;AACxBzI,MAAAA,GAAG,EAAEmG,cAAAA;KACD+J,EAAAA,IAAI,CACX,CACC,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMC,qBAAqB,GAAG;AACjC9O,EAAAA,IAAI,EAAE,iBAAiB;AACvB+O,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEzQ,mBAAmB;AAC3B0Q,EAAAA,IAAI,EAAJA,IAAI;AACJC,EAAAA,UAAU,EAAE;AACRxP,IAAAA,IAAI,EAAE;AACFyP,MAAAA,GAAG,EAAEC,MAAAA;KACR;AACDzP,IAAAA,IAAI,EAAE;AACFwP,MAAAA,GAAG,EAAEE,MAAAA;KACR;AACDtP,IAAAA,QAAQ,EAAE;AACNoP,MAAAA,GAAG,EAAEG,MAAW;AAChBC,MAAAA,KAAK,EAAE,IAAA;KACV;AACD1P,IAAAA,QAAQ,EAAE;AACNsP,MAAAA,GAAG,EAAEK,MAAW;AAChBD,MAAAA,KAAK,EAAE,IAAA;AACX,KAAA;GACH;AACDE,EAAAA,QAAQ,EAAE;AACN9P,IAAAA,IAAI,EAAE,GAAG;AACTD,IAAAA,IAAI,EAAE,SAAA;AACV,GAAA;AACJ;;;;"}