@salutejs/plasma-new-hope 0.149.0-dev.0 → 0.150.0-canary.1428.10987052735.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. package/cjs/_virtual/_rollupPluginBabelHelpers.js +4 -0
  2. package/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  5. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  6. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  7. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  8. package/cjs/components/Calendar/hooks/useMonths.js +6 -4
  9. package/cjs/components/Calendar/hooks/useMonths.js.map +1 -1
  10. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  11. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  12. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  13. package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  14. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  15. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  16. package/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  17. package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  18. package/cjs/components/Calendar/utils/constants.js +64 -3
  19. package/cjs/components/Calendar/utils/constants.js.map +1 -1
  20. package/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  21. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  26. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  27. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  28. package/emotion/cjs/components/Calendar/hooks/useMonths.js +6 -4
  29. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  30. package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  31. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  32. package/emotion/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  33. package/emotion/cjs/components/Calendar/utils/constants.js +68 -4
  34. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  35. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  36. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  37. package/emotion/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  38. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  39. package/emotion/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  40. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  41. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  42. package/emotion/es/components/Calendar/hooks/useMonths.js +6 -4
  43. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  44. package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  45. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  46. package/emotion/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  47. package/emotion/es/components/Calendar/utils/constants.js +67 -3
  48. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  49. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  50. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  51. package/emotion/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  52. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  53. package/emotion/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  54. package/es/_virtual/_rollupPluginBabelHelpers.js +4 -1
  55. package/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  56. package/es/components/Calendar/Calendar.types.js.map +1 -1
  57. package/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  58. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  59. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  60. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  61. package/es/components/Calendar/hooks/useMonths.js +6 -4
  62. package/es/components/Calendar/hooks/useMonths.js.map +1 -1
  63. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  64. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  65. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  66. package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
  67. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  68. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  69. package/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  70. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  71. package/es/components/Calendar/utils/constants.js +64 -4
  72. package/es/components/Calendar/utils/constants.js.map +1 -1
  73. package/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  74. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  75. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  76. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  77. package/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  78. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  79. package/package.json +2 -2
  80. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  81. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  82. package/styled-components/cjs/components/Calendar/hooks/useMonths.js +6 -4
  83. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  84. package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  85. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  86. package/styled-components/cjs/components/Calendar/utils/calendarGridHelper.js +1 -1
  87. package/styled-components/cjs/components/Calendar/utils/constants.js +68 -4
  88. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +1 -0
  89. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  90. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +1 -0
  91. package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  92. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  93. package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  94. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +9 -4
  95. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +9 -2
  96. package/styled-components/es/components/Calendar/hooks/useMonths.js +6 -4
  97. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +4 -2
  98. package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +4 -3
  99. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +4 -2
  100. package/styled-components/es/components/Calendar/utils/calendarGridHelper.js +2 -2
  101. package/styled-components/es/components/Calendar/utils/constants.js +67 -3
  102. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +1 -0
  103. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +4 -0
  104. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +1 -0
  105. package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +14 -2
  106. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +2 -0
  107. package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +14 -2
  108. package/types/components/Calendar/Calendar.types.d.ts +5 -0
  109. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  110. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  111. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  112. package/types/components/Calendar/hooks/types.d.ts +2 -1
  113. package/types/components/Calendar/hooks/types.d.ts.map +1 -1
  114. package/types/components/Calendar/hooks/useMonths.d.ts +1 -1
  115. package/types/components/Calendar/hooks/useMonths.d.ts.map +1 -1
  116. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  117. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +2 -1
  118. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
  119. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.d.ts.map +1 -1
  120. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts +2 -1
  121. package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts.map +1 -1
  122. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  123. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts +2 -1
  124. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts.map +1 -1
  125. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  126. package/types/components/Calendar/utils/constants.d.ts +8 -5
  127. package/types/components/Calendar/utils/constants.d.ts.map +1 -1
  128. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  129. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  130. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  131. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
@@ -32,6 +32,12 @@ const meta: Meta<typeof CalendarBase> = {
32
32
  type: 'inline-radio',
33
33
  },
34
34
  },
35
+ locale: {
36
+ options: ['ru', 'en'],
37
+ control: {
38
+ type: 'select',
39
+ },
40
+ },
35
41
  },
36
42
  };
37
43
 
@@ -75,7 +81,7 @@ const getBaseEvents = (type: 'days' | 'months' | 'quarters' | 'years', datesNumb
75
81
  };
76
82
 
77
83
  const StoryDefault = (args: CalendarProps) => {
78
- const { isRange, isDouble, min, max, date, includeEdgeDates, size } = args;
84
+ const { isRange, isDouble, min, max, date, includeEdgeDates, size, locale } = args;
79
85
  const [value, setValue] = useState(new Date(2023, 10, 16));
80
86
  const [valueRange, setValueRange] = useState<[Date, Date?]>([new Date(2023, 10, 16), new Date(2023, 10, 23)]);
81
87
 
@@ -97,6 +103,7 @@ const StoryDefault = (args: CalendarProps) => {
97
103
  min={min}
98
104
  max={max}
99
105
  includeEdgeDates={includeEdgeDates}
106
+ locale={locale}
100
107
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
101
108
  />
102
109
  );
@@ -110,6 +117,7 @@ export const Default: StoryObj<CalendarProps> = {
110
117
  isRange: false,
111
118
  includeEdgeDates: false,
112
119
  size: 'm',
120
+ locale: 'ru',
113
121
  },
114
122
  render: (args) => <StoryDefault {...args} />,
115
123
  };
@@ -194,12 +202,13 @@ export const Base: StoryObj<CalendarBaseProps & { displayDouble: boolean }> = {
194
202
  max: defaultMaxDate,
195
203
  includeEdgeDates: false,
196
204
  displayDouble: false,
205
+ locale: 'ru',
197
206
  },
198
207
  render: (args) => <StoryBase {...args} />,
199
208
  };
200
209
 
201
210
  const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) => {
202
- const { min, max, includeEdgeDates, size, displayDouble } = args;
211
+ const { min, max, includeEdgeDates, size, displayDouble, locale } = args;
203
212
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 6, 1), new Date(2023, 6, 16)]);
204
213
  const [currentState, setCurrentState] = useState('Days');
205
214
 
@@ -227,6 +236,7 @@ const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) =
227
236
  includeEdgeDates={includeEdgeDates}
228
237
  type={type}
229
238
  onChangeValue={handleOnChange}
239
+ locale={locale}
230
240
  {...rest}
231
241
  />
232
242
  ) : (
@@ -238,6 +248,7 @@ const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) =
238
248
  includeEdgeDates={includeEdgeDates}
239
249
  type={type}
240
250
  onChangeValue={handleOnChange}
251
+ locale={locale}
241
252
  {...rest}
242
253
  />
243
254
  );
@@ -278,6 +289,7 @@ export const Range: StoryObj<CalendarBaseRangeProps & { displayDouble: boolean }
278
289
  max: defaultMaxDate,
279
290
  includeEdgeDates: false,
280
291
  displayDouble: false,
292
+ locale: 'ru',
281
293
  },
282
294
  render: (args) => <StoryRange {...args} />,
283
295
  };
@@ -176,6 +176,7 @@ const StoryRange = ({
176
176
  secondValueError,
177
177
  secondValueSuccess,
178
178
  size,
179
+ lang,
179
180
  ...rest
180
181
  }: StoryPropsRange) => {
181
182
  const rangeRef = useRef<RangeInputRefs>(null);
@@ -234,6 +235,7 @@ const StoryRange = ({
234
235
  onCommitSecondDate={(currentValue) => {
235
236
  firstDate && currentValue && setIsOpen(false);
236
237
  }}
238
+ lang={lang}
237
239
  {...dividerIconProps}
238
240
  {...rest}
239
241
  />
@@ -32,6 +32,12 @@ const meta: Meta<typeof CalendarBase> = {
32
32
  type: 'inline-radio',
33
33
  },
34
34
  },
35
+ locale: {
36
+ options: ['ru', 'en'],
37
+ control: {
38
+ type: 'select',
39
+ },
40
+ },
35
41
  },
36
42
  };
37
43
 
@@ -75,7 +81,7 @@ const getBaseEvents = (type: 'days' | 'months' | 'quarters' | 'years', datesNumb
75
81
  };
76
82
 
77
83
  const StoryDefault = (args: CalendarProps) => {
78
- const { isRange, isDouble, min, max, date, includeEdgeDates, size } = args;
84
+ const { isRange, isDouble, min, max, date, includeEdgeDates, size, locale } = args;
79
85
  const [value, setValue] = useState(new Date(2023, 10, 16));
80
86
  const [valueRange, setValueRange] = useState<[Date, Date?]>([new Date(2023, 10, 16), new Date(2023, 10, 23)]);
81
87
 
@@ -97,6 +103,7 @@ const StoryDefault = (args: CalendarProps) => {
97
103
  min={min}
98
104
  max={max}
99
105
  includeEdgeDates={includeEdgeDates}
106
+ locale={locale}
100
107
  onChangeValue={(isRange ? handleOnRangeChange : handleOnChange) as (value: Date | [Date, Date?]) => void}
101
108
  />
102
109
  );
@@ -110,6 +117,7 @@ export const Default: StoryObj<CalendarProps> = {
110
117
  isRange: false,
111
118
  includeEdgeDates: false,
112
119
  size: 'm',
120
+ locale: 'ru',
113
121
  },
114
122
  render: (args) => <StoryDefault {...args} />,
115
123
  };
@@ -194,12 +202,13 @@ export const Base: StoryObj<CalendarBaseProps & { displayDouble: boolean }> = {
194
202
  max: defaultMaxDate,
195
203
  includeEdgeDates: false,
196
204
  displayDouble: false,
205
+ locale: 'ru',
197
206
  },
198
207
  render: (args) => <StoryBase {...args} />,
199
208
  };
200
209
 
201
210
  const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) => {
202
- const { min, max, includeEdgeDates, size, displayDouble } = args;
211
+ const { min, max, includeEdgeDates, size, displayDouble, locale } = args;
203
212
  const [values, setValue] = useState<[Date, Date?]>([new Date(2023, 6, 1), new Date(2023, 6, 16)]);
204
213
  const [currentState, setCurrentState] = useState('Days');
205
214
 
@@ -227,6 +236,7 @@ const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) =
227
236
  includeEdgeDates={includeEdgeDates}
228
237
  type={type}
229
238
  onChangeValue={handleOnChange}
239
+ locale={locale}
230
240
  {...rest}
231
241
  />
232
242
  ) : (
@@ -238,6 +248,7 @@ const StoryRange = (args: CalendarBaseRangeProps & { displayDouble: boolean }) =
238
248
  includeEdgeDates={includeEdgeDates}
239
249
  type={type}
240
250
  onChangeValue={handleOnChange}
251
+ locale={locale}
241
252
  {...rest}
242
253
  />
243
254
  );
@@ -278,6 +289,7 @@ export const Range: StoryObj<CalendarBaseRangeProps & { displayDouble: boolean }
278
289
  max: defaultMaxDate,
279
290
  includeEdgeDates: false,
280
291
  displayDouble: false,
292
+ locale: 'ru',
281
293
  },
282
294
  render: (args) => <StoryRange {...args} />,
283
295
  };
@@ -149,6 +149,9 @@ function _objectWithoutProperties(source, excluded) {
149
149
  function _slicedToArray(arr, i) {
150
150
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
151
151
  }
152
+ function _toArray(arr) {
153
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
154
+ }
152
155
  function _toConsumableArray(arr) {
153
156
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
154
157
  }
@@ -181,5 +184,5 @@ function _nonIterableRest() {
181
184
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
182
185
  }
183
186
 
184
- export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _extends as extends, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
187
+ export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _classCallCheck as classCallCheck, _createClass as createClass, _defineProperty as defineProperty, _extends as extends, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toArray as toArray, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
185
188
  //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.types.js","sources":["../../../src/components/Calendar/Calendar.types.ts"],"sourcesContent":["import { HTMLAttributes, MutableRefObject } from 'react';\n\nimport type { CalendarBaseProps } from './CalendarBase/CalendarBase';\nimport type { CalendarDoubleProps } from './CalendarDouble/CalendarDouble';\nimport type { CalendarStateType } from './store/types';\n\nexport enum Keys {\n pageUp = 33,\n pageDown = 34,\n home = 36,\n end = 35,\n left = 37,\n right = 39,\n up = 38,\n down = 40,\n enter = 13,\n space = 32,\n}\n\nexport interface DateObject {\n day: number;\n monthIndex: number;\n year: number;\n}\n\nexport interface ItemProps {\n isCurrent: boolean;\n isSelected: boolean;\n}\n\nexport interface DateItem extends ItemProps {\n date: DateObject;\n isDayInCurrentMonth?: boolean;\n inRange?: boolean;\n events?: EventDay[];\n disabled?: boolean;\n isOutOfMinMaxRange?: boolean;\n disabledArrowKey?: string;\n disabledMonths?: string;\n disabledDates?: string;\n disabledYears?: string;\n monthName?: string;\n monthIndex?: number;\n monthFullName?: string;\n yearValue?: number;\n quarterName?: string;\n}\n\nexport type DateBasePorps = {\n isDouble?: boolean;\n isHovered?: boolean;\n inRange?: boolean;\n sideInRange?: 'left' | 'right';\n disabled?: boolean;\n};\n\nexport interface DateStructureProps extends Partial<ItemProps>, DateBasePorps {\n isDayInCurrentMonth?: boolean;\n dayOfWeek?: boolean;\n}\n\nexport type QuarterPartialDate = {\n monthIndex: number;\n day: number;\n};\n\nexport interface QuarterProps extends Partial<ItemProps>, DateBasePorps {\n quarterName: number;\n quarterIndex: number;\n}\n\nexport interface MonthsProps extends Partial<ItemProps>, DateBasePorps {}\n\nexport interface MonthsItem extends ItemProps {\n monthName: string;\n monthIndex: number;\n monthFullName?: string;\n}\n\nexport interface YearsProps extends ItemProps {}\n\nexport interface YearsItem extends ItemProps {\n yearValue: number;\n}\n\nexport interface EventDay {\n date: Date;\n color?: string;\n}\n\nexport interface DisabledDay {\n date: Date;\n}\n\nexport type CalendarValueType = Date | undefined | [Date | undefined, Date?];\n\nexport type DateInfo = {\n name: string;\n fullValue: CalendarValueType;\n};\n\nexport interface Calendar extends HTMLAttributes<HTMLDivElement> {\n /**\n * Выбранное значение.\n */\n value: CalendarValueType;\n /**\n * Обработчик изменения значения.\n */\n onChangeValue: (value: Date, dateInfo?: DateInfo) => void;\n /**\n * Состояние календаря, отвечающее за отображение.\n */\n date?: DateObject;\n /**\n * Минимальное значение даты.\n */\n min?: Date;\n /**\n * Максимальное значение даты.\n */\n max?: Date;\n /**\n * Должны ли значения минимального и максимального дня включаться в диапазон.\n */\n includeEdgeDates?: boolean;\n /**\n * Список событий.\n */\n eventList?: EventDay[];\n /**\n * Список отключенных дней.\n */\n disabledList?: DisabledDay[];\n /**\n * Список событий по месяцам.\n */\n eventMonthList?: EventDay[];\n /**\n * Список отключенных месяцев.\n */\n disabledMonthList?: DisabledDay[];\n /**\n * Список событий по кварталам.\n */\n eventQuarterList?: EventDay[];\n /**\n * Список отключенных кварталов.\n */\n disabledQuarterList?: DisabledDay[];\n /**\n * Список событий по годам.\n */\n eventYearList?: EventDay[];\n /**\n * Список отключенных годов.\n */\n disabledYearList?: DisabledDay[];\n /**\n * Конечный тип отображения календаря: дни, месяца, года, кварталы.\n */\n type?: CalendarStateType;\n}\n\nexport type CalendarConfigProps = {\n /**\n * Размер календаря.\n */\n size?: string;\n /**\n * Вид календаря.\n */\n view?: string;\n};\n\nexport type CalendarRange<T> = Omit<T, 'value' | 'onChangeValue'> & {\n /**\n * Выбранное значение.\n */\n value: [Date?, Date?];\n /**\n * Обработчик изменения значения.\n */\n onChangeValue: (values: [Date, Date?], dateInfo?: DateInfo) => void;\n /**\n * Обработчик для выбора стартового значения в диапазоне.\n */\n onChangeStartOfRange?: (value: Date, dateInfo?: DateInfo) => void;\n};\n\nexport interface DaysMetaDescription {\n refs: MutableRefObject<HTMLDivElement[][]>;\n rowSize: number;\n newRowIndex: number;\n newColumnIndex: number;\n columnSize: number;\n minColumnIndex: number;\n defaultState?: number[];\n}\n\nexport type KeyboardArrowKey = 'left' | 'right' | 'up' | 'down';\n\ntype BaseProps = {\n /**\n * Выбранное значение.\n */\n value: Date;\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange?: false;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: false;\n} & CalendarBaseProps;\n\ntype BaseRangeProps = {\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange: true;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: false;\n} & CalendarRange<CalendarBaseProps>;\n\ntype DoubleProps = {\n /**\n * Выбранное значение.\n */\n value: Date;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: true;\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange?: false;\n} & CalendarDoubleProps;\n\ntype DoubleRangeProps = {\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange: true;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: true;\n} & CalendarRange<CalendarDoubleProps>;\n\nexport type ComponentVariation = {\n base: React.FC<CalendarBaseProps>;\n baseRange: React.FC<CalendarRange<CalendarBaseProps>>;\n double: React.FC<CalendarDoubleProps>;\n doubleRange: React.FC<CalendarRange<CalendarDoubleProps>>;\n};\n\nexport type CalendarProps = BaseProps | BaseRangeProps | DoubleProps | DoubleRangeProps;\n"],"names":["Keys"],"mappings":"AAMYA,IAAAA,IAAI,0BAAJA,IAAI,EAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAJA,IAAI,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"Calendar.types.js","sources":["../../../src/components/Calendar/Calendar.types.ts"],"sourcesContent":["import { HTMLAttributes, MutableRefObject } from 'react';\n\nimport type { CalendarBaseProps } from './CalendarBase/CalendarBase';\nimport type { CalendarDoubleProps } from './CalendarDouble/CalendarDouble';\nimport type { CalendarStateType } from './store/types';\n\nexport enum Keys {\n pageUp = 33,\n pageDown = 34,\n home = 36,\n end = 35,\n left = 37,\n right = 39,\n up = 38,\n down = 40,\n enter = 13,\n space = 32,\n}\n\nexport interface DateObject {\n day: number;\n monthIndex: number;\n year: number;\n}\n\nexport interface ItemProps {\n isCurrent: boolean;\n isSelected: boolean;\n}\n\nexport interface DateItem extends ItemProps {\n date: DateObject;\n isDayInCurrentMonth?: boolean;\n inRange?: boolean;\n events?: EventDay[];\n disabled?: boolean;\n isOutOfMinMaxRange?: boolean;\n disabledArrowKey?: string;\n disabledMonths?: string;\n disabledDates?: string;\n disabledYears?: string;\n monthName?: string;\n monthIndex?: number;\n monthFullName?: string;\n yearValue?: number;\n quarterName?: string;\n}\n\nexport type DateBasePorps = {\n isDouble?: boolean;\n isHovered?: boolean;\n inRange?: boolean;\n sideInRange?: 'left' | 'right';\n disabled?: boolean;\n};\n\nexport interface DateStructureProps extends Partial<ItemProps>, DateBasePorps {\n isDayInCurrentMonth?: boolean;\n dayOfWeek?: boolean;\n}\n\nexport type QuarterPartialDate = {\n monthIndex: number;\n day: number;\n};\n\nexport interface QuarterProps extends Partial<ItemProps>, DateBasePorps {\n quarterName: number;\n quarterIndex: number;\n}\n\nexport interface MonthsProps extends Partial<ItemProps>, DateBasePorps {}\n\nexport interface MonthsItem extends ItemProps {\n monthName: string;\n monthIndex: number;\n monthFullName?: string;\n}\n\nexport interface YearsProps extends ItemProps {}\n\nexport interface YearsItem extends ItemProps {\n yearValue: number;\n}\n\nexport interface EventDay {\n date: Date;\n color?: string;\n}\n\nexport interface DisabledDay {\n date: Date;\n}\n\nexport type CalendarValueType = Date | undefined | [Date | undefined, Date?];\n\nexport type DateInfo = {\n name: string;\n fullValue: CalendarValueType;\n};\n\nexport type LOCALES = 'ru' | 'en';\n\nexport interface Calendar extends HTMLAttributes<HTMLDivElement> {\n /**\n * Выбранное значение.\n */\n value: CalendarValueType;\n /**\n * Обработчик изменения значения.\n */\n onChangeValue: (value: Date, dateInfo?: DateInfo) => void;\n /**\n * Состояние календаря, отвечающее за отображение.\n */\n date?: DateObject;\n /**\n * Минимальное значение даты.\n */\n min?: Date;\n /**\n * Максимальное значение даты.\n */\n max?: Date;\n /**\n * Должны ли значения минимального и максимального дня включаться в диапазон.\n */\n includeEdgeDates?: boolean;\n /**\n * Список событий.\n */\n eventList?: EventDay[];\n /**\n * Список отключенных дней.\n */\n disabledList?: DisabledDay[];\n /**\n * Список событий по месяцам.\n */\n eventMonthList?: EventDay[];\n /**\n * Список отключенных месяцев.\n */\n disabledMonthList?: DisabledDay[];\n /**\n * Список событий по кварталам.\n */\n eventQuarterList?: EventDay[];\n /**\n * Список отключенных кварталов.\n */\n disabledQuarterList?: DisabledDay[];\n /**\n * Список событий по годам.\n */\n eventYearList?: EventDay[];\n /**\n * Список отключенных годов.\n */\n disabledYearList?: DisabledDay[];\n /**\n * Конечный тип отображения календаря: дни, месяца, года, кварталы.\n */\n type?: CalendarStateType;\n /**\n * Choose calendar lang\n */\n locale?: LOCALES;\n}\n\nexport type CalendarConfigProps = {\n /**\n * Размер календаря.\n */\n size?: string;\n /**\n * Вид календаря.\n */\n view?: string;\n};\n\nexport type CalendarRange<T> = Omit<T, 'value' | 'onChangeValue'> & {\n /**\n * Выбранное значение.\n */\n value: [Date?, Date?];\n /**\n * Обработчик изменения значения.\n */\n onChangeValue: (values: [Date, Date?], dateInfo?: DateInfo) => void;\n /**\n * Обработчик для выбора стартового значения в диапазоне.\n */\n onChangeStartOfRange?: (value: Date, dateInfo?: DateInfo) => void;\n};\n\nexport interface DaysMetaDescription {\n refs: MutableRefObject<HTMLDivElement[][]>;\n rowSize: number;\n newRowIndex: number;\n newColumnIndex: number;\n columnSize: number;\n minColumnIndex: number;\n defaultState?: number[];\n}\n\nexport type KeyboardArrowKey = 'left' | 'right' | 'up' | 'down';\n\ntype BaseProps = {\n /**\n * Выбранное значение.\n */\n value: Date;\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange?: false;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: false;\n} & CalendarBaseProps;\n\ntype BaseRangeProps = {\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange: true;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: false;\n} & CalendarRange<CalendarBaseProps>;\n\ntype DoubleProps = {\n /**\n * Выбранное значение.\n */\n value: Date;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: true;\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange?: false;\n} & CalendarDoubleProps;\n\ntype DoubleRangeProps = {\n /**\n * Режим выбора: диапазон или одинарный.\n */\n isRange: true;\n /**\n * Режим отображения: двойной или одинарный.\n */\n isDouble?: true;\n} & CalendarRange<CalendarDoubleProps>;\n\nexport type ComponentVariation = {\n base: React.FC<CalendarBaseProps>;\n baseRange: React.FC<CalendarRange<CalendarBaseProps>>;\n double: React.FC<CalendarDoubleProps>;\n doubleRange: React.FC<CalendarRange<CalendarDoubleProps>>;\n};\n\nexport type CalendarProps = BaseProps | BaseRangeProps | DoubleProps | DoubleRangeProps;\n"],"names":["Keys"],"mappings":"AAMYA,IAAAA,IAAI,0BAAJA,IAAI,EAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,IAAA,CAAA,GAAA,EAAA,CAAA,GAAA,IAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAJA,EAAAA,IAAI,CAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,CAAA;AAAA,EAAA,OAAJA,IAAI,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
@@ -15,7 +15,7 @@ import { base } from './variations/_view/base.js';
15
15
  import { base as base$1 } from './variations/_size/base.js';
16
16
  import { IsOutOfRange, StyledCalendar } from './CalendarBase.styles.js';
17
17
 
18
- var _excluded = ["value", "min", "max", "includeEdgeDates", "type", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "onChangeValue"];
18
+ var _excluded = ["value", "min", "max", "includeEdgeDates", "type", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "onChangeValue", "locale"];
19
19
  /**
20
20
  * Компонент календаря.
21
21
  */
@@ -36,6 +36,8 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
36
36
  eventYearList = _ref.eventYearList,
37
37
  disabledYearList = _ref.disabledYearList,
38
38
  onChangeValue = _ref.onChangeValue,
39
+ _ref$locale = _ref.locale,
40
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
39
41
  rest = _objectWithoutProperties(_ref, _excluded);
40
42
  var _useMemo = useMemo(function () {
41
43
  return Array.isArray(externalValue) ? externalValue : [externalValue];
@@ -150,7 +152,8 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
150
152
  type: calendarState,
151
153
  onPrev: handlePrev,
152
154
  onNext: handleNext,
153
- onUpdateCalendarState: handleUpdateCalendarState
155
+ onUpdateCalendarState: handleUpdateCalendarState,
156
+ locale: locale
154
157
  }), calendarState === CalendarState.Days && /*#__PURE__*/React.createElement(CalendarDays, {
155
158
  value: externalValue,
156
159
  date: date,
@@ -165,7 +168,8 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
165
168
  onSetSelected: onSelectIndexes,
166
169
  onHoverDay: setHoveredItem,
167
170
  onKeyDown: handleKeyDown,
168
- outerRefs: outerRefs
171
+ outerRefs: outerRefs,
172
+ locale: locale
169
173
  }), calendarState === CalendarState.Months && /*#__PURE__*/React.createElement(CalendarMonths, {
170
174
  value: externalValue,
171
175
  date: date,
@@ -179,7 +183,8 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
179
183
  onSetSelected: onSelectIndexes,
180
184
  onHoverMonth: setHoveredItem,
181
185
  onKeyDown: onKeyDown,
182
- outerRefs: outerRefs
186
+ outerRefs: outerRefs,
187
+ locale: locale
183
188
  }), calendarState === CalendarState.Quarters && /*#__PURE__*/React.createElement(CalendarQuarters, {
184
189
  value: externalValue,
185
190
  date: date,
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -18,7 +18,7 @@ import { base } from './variations/_view/base.js';
18
18
  import { StyledWrapper, StyledSeparator, StyledCalendar } from './CalendarDouble.styles.js';
19
19
 
20
20
  var _StyledSeparator, _StyledSeparator2, _StyledSeparator3, _StyledSeparator4;
21
- var _excluded = ["value", "min", "max", "includeEdgeDates", "type", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "onChangeValue"];
21
+ var _excluded = ["value", "min", "max", "includeEdgeDates", "type", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "onChangeValue", "locale"];
22
22
  /**
23
23
  * Компонент двойного календаря.
24
24
  */
@@ -39,6 +39,8 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
39
39
  eventYearList = _ref.eventYearList,
40
40
  disabledYearList = _ref.disabledYearList,
41
41
  onChangeValue = _ref.onChangeValue,
42
+ _ref$locale = _ref.locale,
43
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
42
44
  rest = _objectWithoutProperties(_ref, _excluded);
43
45
  var _useMemo = useMemo(function () {
44
46
  return Array.isArray(externalValue) ? externalValue : [externalValue];
@@ -212,7 +214,8 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
212
214
  type: calendarState,
213
215
  onPrev: handlePrev,
214
216
  onNext: handleNext,
215
- onUpdateCalendarState: handleUpdateCalendarState
217
+ onUpdateCalendarState: handleUpdateCalendarState,
218
+ locale: locale
216
219
  }), /*#__PURE__*/React.createElement(StyledWrapper, null, calendarState === CalendarState.Days && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CalendarDays, {
217
220
  value: externalValue,
218
221
  date: firstDate,
@@ -228,6 +231,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
228
231
  onSetSelected: onSelectIndexes,
229
232
  onKeyDown: handleKeyDown,
230
233
  outerRefs: outerRefs,
234
+ locale: locale,
231
235
  isDouble: true
232
236
  }), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/React.createElement(StyledSeparator, null)), /*#__PURE__*/React.createElement(CalendarDays, {
233
237
  value: externalValue,
@@ -244,6 +248,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
244
248
  onSetSelected: onSelectIndexes,
245
249
  onKeyDown: handleKeyDown,
246
250
  outerRefs: outerRefs,
251
+ locale: locale,
247
252
  isDouble: true,
248
253
  isSecond: true
249
254
  })), calendarState === CalendarState.Months && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CalendarMonths, {
@@ -260,6 +265,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
260
265
  onHoverMonth: setHoveredItem,
261
266
  onKeyDown: handleKeyDown,
262
267
  outerRefs: outerRefs,
268
+ locale: locale,
263
269
  isDouble: true
264
270
  }), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/React.createElement(StyledSeparator, null)), /*#__PURE__*/React.createElement(CalendarMonths, {
265
271
  value: externalValue,
@@ -275,6 +281,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
275
281
  onHoverMonth: setHoveredItem,
276
282
  onKeyDown: handleKeyDown,
277
283
  outerRefs: outerRefs,
284
+ locale: locale,
278
285
  isDouble: true,
279
286
  isSecond: true
280
287
  })), calendarState === CalendarState.Quarters && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CalendarQuarters, {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyBA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC9FC,UAAU,CACN,UAAAC,IAAA,EAmBIC,YAAY,EACX;AAAA,IAAA,IAlBUC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MACLC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;MACHC,GAAG,GAAAL,IAAA,CAAHK,GAAG;MACHC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;MAAAC,SAAA,GAAAP,IAAA,CAChBQ,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MACbE,SAAS,GAAAT,IAAA,CAATS,SAAS;MACTC,YAAY,GAAAV,IAAA,CAAZU,YAAY;MACZC,cAAc,GAAAX,IAAA,CAAdW,cAAc;MACdC,iBAAiB,GAAAZ,IAAA,CAAjBY,iBAAiB;MACjBC,gBAAgB,GAAAb,IAAA,CAAhBa,gBAAgB;MAChBC,mBAAmB,GAAAd,IAAA,CAAnBc,mBAAmB;MACnBC,aAAa,GAAAf,IAAA,CAAbe,aAAa;MACbC,gBAAgB,GAAAhB,IAAA,CAAhBgB,gBAAgB;MAChBC,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;MAAAC,WAAA,GAAAlB,IAAA,CACbmB,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;AACVE,MAAAA,IAAI,GAAAC,wBAAA,CAAArB,IAAA,EAAAsB,SAAA,CAAA,CAAA;IAIX,IAAAC,QAAA,GAAkCC,OAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAACxB,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAAyB,SAAA,GAAAC,cAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAMxB,KAAK,GAAG2B,WAAW,IAAID,UAAU,CAAA;AAEvC,IAAA,IAAAE,SAAA,GAAsCC,QAAQ,EAA0B;MAAAC,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAAjEG,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAG,UAAA,GAAgCJ,QAAQ,CAACxB,IAAI,CAAC;MAAA6B,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAAvCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAAG,UAAA,GAAkCR,QAAQ,CAAC7B,KAAK,CAAC;MAAAsC,UAAA,GAAAb,cAAA,CAAAY,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAA0CZ,QAAQ,CAAS,CAAC,CAAC;MAAAa,UAAA,GAAAjB,cAAA,CAAAgB,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAAG,WAAA,GAA0BC,UAAU,CAACC,OAAO,EAAEC,eAAe,CAAChD,KAAK,EAAEK,IAAI,EAAE,IAAI,CAAC,CAAC;MAAA4C,YAAA,GAAAxB,cAAA,CAAAoB,WAAA,EAAA,CAAA,CAAA;AAA1EK,MAAAA,KAAK,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAQG,IAAI,GAAqCF,KAAK,CAA9CE,IAAI;MAAEC,aAAa,GAAsBH,KAAK,CAAxCG,aAAa;MAAEC,SAAS,GAAWJ,KAAK,CAAzBI,SAAS;MAAEC,IAAI,GAAKL,KAAK,CAAdK,IAAI,CAAA;AAE5C,IAAA,IAAAC,UAAA,GAAkC3B,QAAQ,CAAauB,IAAI,CAAC;MAAAK,WAAA,GAAAhC,cAAA,CAAA+B,UAAA,EAAA,CAAA,CAAA;AAArDE,MAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,WAAA,GAAoC/B,QAAQ,CAAauB,IAAI,CAAC;MAAAS,WAAA,GAAApC,cAAA,CAAAmC,WAAA,EAAA,CAAA,CAAA;AAAvDE,MAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,qBAAA,GAAmCC,qBAAqB,CAAC;AACrDZ,QAAAA,aAAa,EAAbA,aAAa;AACbD,QAAAA,IAAI,EAAJA,IAAI;AACJD,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OAAC,CAAC;MAJMe,UAAU,GAAAF,qBAAA,CAAVE,UAAU;MAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU,CAAA;IAM9B,IAAAC,iBAAA,GAA6EC,gBAAgB,CAAC;AAC1FC,QAAAA,QAAQ,EAAE,IAAI;AACdf,QAAAA,IAAI,EAAJA,IAAI;AACJF,QAAAA,aAAa,EAAbA,aAAa;AACbkB,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAEL,UAAAA;AACZ,OAAC,CAAC;MAAAM,kBAAA,GAAAhD,cAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AANKM,MAAAA,aAAa,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,kBAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,SAAS,GAAAJ,kBAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,YAAY,GAAAL,kBAAA,CAAA,CAAA,CAAA,CAAA;IAQzE,IAAAM,qBAAA,GAMIC,qBAAqB,CAAC;AAAE3E,QAAAA,IAAI,EAAJA,IAAI;AAAES,QAAAA,aAAa,EAAbA,aAAa;AAAE8D,QAAAA,eAAe,EAAfA,eAAe;AAAEzB,QAAAA,QAAQ,EAARA,QAAAA;AAAS,OAAC,CAAC;MALzE8B,iBAAiB,GAAAF,qBAAA,CAAjBE,iBAAiB;MACjBC,mBAAmB,GAAAH,qBAAA,CAAnBG,mBAAmB;MACnBC,qBAAqB,GAAAJ,qBAAA,CAArBI,qBAAqB;MACrBC,kBAAkB,GAAAL,qBAAA,CAAlBK,kBAAkB;MAClBC,yBAAyB,GAAAN,qBAAA,CAAzBM,yBAAyB,CAAA;AAG7B,IAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIjC,aAAa,KAAKkC,aAAa,CAACC,IAAI,EAAE;QACtC,IAAAC,YAAA,GAAmCC,WAAW,CAACtC,IAAI,CAACuC,IAAI,EAAEvC,IAAI,CAACwC,UAAU,CAAC;UAAAC,aAAA,GAAApE,cAAA,CAAAgE,YAAA,EAAA,CAAA,CAAA;AAAnEK,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;AAC/B9B,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEG,QAAQ;AAAEF,UAAAA,UAAU,EAAEG,cAAc;UAAEC,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AAChF,OAAA;MAEA,IAAI3C,aAAa,KAAKkC,aAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,aAAa,CAACW,QAAQ,EAAE;AACpFnC,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEvC,IAAI,CAACuC,IAAI,GAAG,CAAC;UAAEC,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtF,OAAA;AAEA,MAAA,IAAI3C,aAAa,KAAKkC,aAAa,CAACY,KAAK,EAAE;AACvCpC,QAAAA,aAAa,CAAC;UAAE4B,IAAI,EAAErC,SAAS,GAAG8C,iBAAiB;UAAER,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtG,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B;AACA,MAAA,IAAIhD,aAAa,KAAKkC,aAAa,CAACC,IAAI,EAAE;AACtC,QAAA,OAAO,CACH,IAAIc,IAAI,CAAC5C,SAAS,CAACiC,IAAI,EAAEjC,SAAS,CAACkC,UAAU,EAAE,CAAC,CAAC,EACjD,IAAIU,IAAI,CAACxC,UAAU,CAAC6B,IAAI,EAAE7B,UAAU,CAAC8B,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;AACL,OAAA;MAEA,IAAIvC,aAAa,KAAKkC,aAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,aAAa,CAACW,QAAQ,EAAE;QACpF,OAAO,CAAC,IAAII,IAAI,CAAC5C,SAAS,CAACiC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIW,IAAI,CAACxC,UAAU,CAAC6B,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1E,OAAA;MAEA,IAAMY,cAAc,GAAGjD,SAAS,GAAG8C,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5D,MAAA,OAAO,CAAC,IAAIE,IAAI,CAAChD,SAAS,EAAE,CAAC,CAAC,EAAE,IAAIgD,IAAI,CAACC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;KAChE,CAAA;;AAED;AACA;AACA;AACA,IAAA,IAAMC,aAAa,GAAGC,WAAW,CAC7B,UAACC,KAAoC,EAAK;MACtC9D,gBAAgB,CAAC,UAAC+D,aAAa,EAAA;AAAA,QAAA,OAAKC,MAAM,CAAC,CAACD,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;MAE3DhC,SAAS,CAAC+B,KAAK,CAAC,CAAA;AACpB,KAAC,EACD,CAAC/B,SAAS,CACd,CAAC,CAAA;AAEDkC,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI1E,QAAQ,KAAKkB,aAAa,EAAE;AAC5BF,QAAAA,QAAQ,CAAC;UACL9C,IAAI,EAAEyG,UAAU,CAACC,qBAAqB;AACtCC,UAAAA,OAAO,EAAE;AAAE3D,YAAAA,aAAa,EAAbA,aAAa;AAAEE,YAAAA,IAAI,EAAE0D,OAAO,CAAC5D,aAAa,CAAC,CAAA,QAAA,CAAA;AAAQ,WAAA;AAClE,SAAC,CAAC,CAAA;QAEFjB,WAAW,CAACiB,aAAa,CAAC,CAAA;AAC9B,OAAA;AACJ,KAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;AAEnBwD,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,CAACtE,SAAS,EAAE;QACZC,YAAY,CAACxC,KAAK,CAAC,CAAA;AACvB,OAAA;AAEA,MAAA,IAAKA,KAAK,IAAIuC,SAAS,IAAI2E,aAAa,CAAClH,KAAK,EAAEuC,SAAS,CAAC,IAAMvC,KAAK,IAAI,CAACuC,SAAU,EAAE;AAClF,QAAA,IAAA4E,iBAAA,GAAyCd,gBAAgB,EAAE;UAAAe,kBAAA,GAAA3F,cAAA,CAAA0F,iBAAA,EAAA,CAAA,CAAA;AAApDE,UAAAA,cAAc,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,kBAAA,CAAA,CAAA,CAAA,CAAA;AAErC,QAAA,IAAIpH,KAAK,GAAGsH,cAAc,IAAItH,KAAK,GAAGqH,cAAc,EAAE;AAClDlE,UAAAA,QAAQ,CAAC;YACL9C,IAAI,EAAEyG,UAAU,CAACS,WAAW;AAC5BP,YAAAA,OAAO,EAAE;AAAEhH,cAAAA,KAAK,EAALA,KAAAA;AAAM,aAAA;AACrB,WAAC,CAAC,CAAA;AACN,SAAA;QAEAwC,YAAY,CAACxC,KAAK,CAAC,CAAA;AACvB,OAAA;AACJ,KAAC,EAAE,CAACA,KAAK,EAAEuC,SAAS,CAAC,CAAC,CAAA;AAEtBsE,IAAAA,SAAS,CAAC,YAAM;MACZlD,YAAY,CAACP,IAAI,CAAC,CAAA;AAElBkC,MAAAA,gBAAgB,EAAE,CAAA;AACtB,KAAC,EAAE,CAAClC,IAAI,EAAEC,aAAa,CAAC,CAAC,CAAA;AAEzB,IAAA,oBACImE,KAAA,CAAAC,aAAA,CAAC9H,IAAI,EAAA+H,QAAA,CAAA;AAACC,MAAAA,GAAG,EAAE7H,YAAa;MAAC,YAAW,EAAA,yDAAA;KAAiBmB,EAAAA,IAAI,GACpD6D,YAAY,iBACT0C,KAAA,CAAAC,aAAA,CAACG,YAAY,EAAA;AACTC,MAAAA,GAAG,EAAElF,aAAc;AACnB,MAAA,aAAA,EAAY,MAAM;AAClBmF,MAAAA,IAAI,EAAC,OAAO;AACZ,MAAA,WAAA,EAAU,WAAW;MACrB,eAAc,EAAA,WAAA;AAAW,KAAA,EAC5B,8HAEa,CACjB,eACDN,KAAA,CAAAC,aAAA,CAACM,cAAc,EAAA;MACXzD,QAAQ,EAAA,IAAA;MACRf,IAAI,EAAEtC,IAAI,CAACsC,IAAK;AAChBG,MAAAA,SAAS,EAAEA,SAAU;AACrBI,MAAAA,UAAU,EAAEA,UAAW;AACvBR,MAAAA,SAAS,EAAEA,SAAU;AACrBjD,MAAAA,IAAI,EAAEgD,aAAc;AACpBmB,MAAAA,MAAM,EAAEL,UAAW;AACnBI,MAAAA,MAAM,EAAEL,UAAW;AACnB8D,MAAAA,qBAAqB,EAAE3C,yBAA0B;AACjDrE,MAAAA,MAAM,EAAEA,MAAAA;KACX,CAAC,eAEFwG,KAAA,CAAAC,aAAA,CAACQ,aAAa,EACT5E,IAAAA,EAAAA,aAAa,KAAKkC,aAAa,CAACC,IAAI,iBACjCgC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,EAAA,IAAA,eACIV,KAAA,CAAAC,aAAA,CAACU,YAAY,EAAA;AACTnI,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCiI,MAAAA,UAAU,EAAErG,WAAY;AACxB2C,MAAAA,aAAa,EAAEA,aAAc;AAC7B2D,MAAAA,WAAW,EAAEpD,iBAAkB;AAC/BqD,MAAAA,UAAU,EAAEtG,cAAe;AAC3BuG,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BD,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAkE,gBAAA,KAAAA,gBAAA,gBACFhB,KAAA,CAAAC,aAAA,CAACgB,eAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACU,YAAY,EAAA;AACTnI,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCiI,MAAAA,UAAU,EAAErG,WAAY;AACxB2C,MAAAA,aAAa,EAAEA,aAAc;AAC7B2D,MAAAA,WAAW,EAAEpD,iBAAkB;AAC/BqD,MAAAA,UAAU,EAAEtG,cAAe;AAC3BuG,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BD,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,aAAa,CAACU,MAAM,iBACnCuB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAACkB,cAAc,EAAA;AACX3I,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChCmI,MAAAA,YAAY,EAAE7G,WAAY;AAC1B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BmE,MAAAA,aAAa,EAAE3D,mBAAoB;AACnCqD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BkE,MAAAA,YAAY,EAAE9G,cAAe;AAC7B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAyE,iBAAA,KAAAA,iBAAA,gBACFvB,KAAA,CAAAC,aAAA,CAACgB,eAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACkB,cAAc,EAAA;AACX3I,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChCmI,MAAAA,YAAY,EAAE7G,WAAY;AAC1B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BmE,MAAAA,aAAa,EAAE3D,mBAAoB;AACnCqD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BkE,MAAAA,YAAY,EAAE9G,cAAe;AAC7B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,aAAa,CAACW,QAAQ,iBACrCsB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAACuB,gBAAgB,EAAA;AACbhJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClCsI,MAAAA,cAAc,EAAElH,WAAY;AAC5B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,eAAe,EAAE/D,qBAAsB;AACvCoD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BuE,MAAAA,cAAc,EAAEnH,cAAe;AAC/B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAA8E,iBAAA,KAAAA,iBAAA,gBACF5B,KAAA,CAAAC,aAAA,CAACgB,eAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACuB,gBAAgB,EAAA;AACbhJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClCsI,MAAAA,cAAc,EAAElH,WAAY;AAC5B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,eAAe,EAAE/D,qBAAsB;AACvCoD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BuE,MAAAA,cAAc,EAAEnH,cAAe;AAC/B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,aAAa,CAACY,KAAK,iBAClCqB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAAC4B,aAAa,EAAA;AACVrJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBJ,MAAAA,SAAS,EAAEA,SAAU;AACrBoB,MAAAA,aAAa,EAAEA,aAAc;AAC7BzE,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/ByI,MAAAA,WAAW,EAAEvH,WAAY;AACzBwH,MAAAA,YAAY,EAAEnE,kBAAmB;AACjCmD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/B4E,MAAAA,WAAW,EAAExH,cAAe;AAC5B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAmF,iBAAA,KAAAA,iBAAA,gBACFjC,KAAA,CAAAC,aAAA,CAACgB,eAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAAC4B,aAAa,EAAA;AACVrJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;MACjBR,SAAS,EAAEA,SAAS,GAAG8C,iBAAkB;AACzC1B,MAAAA,aAAa,EAAEA,aAAc;AAC7BzE,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/ByI,MAAAA,WAAW,EAAEvH,WAAY;AACzBwH,MAAAA,YAAY,EAAEnE,kBAAmB;AACjCmD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/B4E,MAAAA,WAAW,EAAExH,cAAe;AAC5B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CAEK,CACb,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgB,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnK,kBAAkB;AAC1BoK,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNH,IAAAA,IAAI,EAAE,SAAS;AACf1G,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}