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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  6. package/cjs/components/Calendar/hoc/withRange.js.map +1 -1
  7. package/cjs/components/Calendar/store/reducer.js.map +1 -1
  8. package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  9. package/cjs/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  10. package/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  11. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  12. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  13. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  14. package/cjs/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +2 -0
  15. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  17. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  18. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  19. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  20. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  21. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +2 -0
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  26. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  27. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  28. package/cjs/components/DatePicker/hooks/useDatePicker.js +76 -133
  29. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  30. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  31. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  32. package/cjs/components/DatePicker/utils/dateHelper.js +109 -0
  33. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  34. package/cjs/index.css +4 -4
  35. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  36. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  37. package/emotion/cjs/components/CodeField/CodeField.types.js +5 -0
  38. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  39. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +4 -4
  40. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  41. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  42. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  43. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  44. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  45. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  46. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  47. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +104 -1
  48. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  49. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  50. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  51. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  52. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  53. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  54. package/emotion/es/components/CodeField/CodeField.types.js +1 -0
  55. package/emotion/es/components/DatePicker/DatePicker.tokens.js +1 -2
  56. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +4 -4
  57. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +85 -161
  58. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  59. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  60. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -67
  61. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  62. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  63. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  64. package/emotion/es/components/DatePicker/utils/dateHelper.js +103 -0
  65. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  66. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  67. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  68. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  69. package/es/components/Calendar/Calendar.types.js.map +1 -1
  70. package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  71. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  72. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  73. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  74. package/es/components/Calendar/hoc/withRange.js.map +1 -1
  75. package/es/components/Calendar/store/reducer.js.map +1 -1
  76. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  77. package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  78. package/es/components/DatePicker/DatePicker.tokens.js +1 -2
  79. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  80. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  81. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  82. package/es/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +2 -0
  83. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  84. package/es/components/DatePicker/RangeDate/RangeDate.js +86 -162
  85. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  86. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  87. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  88. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  89. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  90. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +2 -0
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  93. package/es/components/DatePicker/SingleDate/SingleDate.js +35 -68
  94. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  95. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  96. package/es/components/DatePicker/hooks/useDatePicker.js +75 -132
  97. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  98. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  99. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  100. package/es/components/DatePicker/utils/dateHelper.js +105 -1
  101. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  102. package/es/index.css +4 -4
  103. package/package.json +4 -4
  104. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  105. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  106. package/styled-components/cjs/components/CodeField/CodeField.types.js +5 -0
  107. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  108. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +2 -2
  109. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  110. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  111. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  112. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  113. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  114. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +104 -1
  115. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  116. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  117. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  118. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  119. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  120. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  121. package/styled-components/es/components/CodeField/CodeField.types.js +1 -0
  122. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +1 -2
  123. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +2 -2
  124. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +85 -161
  125. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  126. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -67
  127. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  128. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  129. package/styled-components/es/components/DatePicker/utils/dateHelper.js +103 -0
  130. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  131. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  132. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  133. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  134. package/types/components/Calendar/Calendar.types.d.ts +3 -4
  135. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  136. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  137. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  138. package/types/components/Calendar/hoc/withRange.d.ts.map +1 -1
  139. package/types/components/Calendar/store/reducer.d.ts +1 -2
  140. package/types/components/Calendar/store/reducer.d.ts.map +1 -1
  141. package/types/components/Calendar/utils/calendarGridHelper.d.ts +4 -4
  142. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  143. package/types/components/Calendar/utils/calendarRangeHelper.d.ts +4 -4
  144. package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -1
  145. package/types/components/CodeField/CodeField.types.d.ts +56 -0
  146. package/types/components/CodeField/CodeField.types.d.ts.map +1 -0
  147. package/types/components/DatePicker/DatePicker.tokens.d.ts +0 -1
  148. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  149. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  150. package/types/components/DatePicker/DatePickerBase.types.d.ts +6 -16
  151. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  152. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -3
  153. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  154. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +2 -2
  155. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  156. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts +1 -1
  157. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
  158. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +3 -3
  159. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  160. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +6 -10
  161. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  162. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +6 -8
  163. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  164. package/types/components/DatePicker/hooks/useDatePicker.d.ts +4 -5
  165. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  166. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +1 -4
  167. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  168. package/types/components/DatePicker/utils/dateHelper.d.ts +27 -0
  169. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  170. package/cjs/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  171. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  172. package/cjs/components/DatePicker/utils/getFormattedDates.js +0 -45
  173. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  174. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -27
  175. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  176. package/cjs/components/DatePicker/utils/getOriginalDates.js +0 -49
  177. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  178. package/cjs/components/DatePicker/utils/normalizeDates.js +0 -33
  179. package/cjs/components/DatePicker/utils/normalizeDates.js.map +0 -1
  180. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +0 -43
  181. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -26
  182. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +0 -47
  183. package/emotion/cjs/components/DatePicker/utils/index.js +0 -33
  184. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +0 -31
  185. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +0 -37
  186. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -20
  187. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +0 -41
  188. package/emotion/es/components/DatePicker/utils/index.js +0 -4
  189. package/emotion/es/components/DatePicker/utils/normalizeDates.js +0 -25
  190. package/es/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  191. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  192. package/es/components/DatePicker/utils/getFormattedDates.js +0 -41
  193. package/es/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  194. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -23
  195. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  196. package/es/components/DatePicker/utils/getOriginalDates.js +0 -45
  197. package/es/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  198. package/es/components/DatePicker/utils/normalizeDates.js +0 -29
  199. package/es/components/DatePicker/utils/normalizeDates.js.map +0 -1
  200. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +0 -43
  201. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -26
  202. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +0 -47
  203. package/styled-components/cjs/components/DatePicker/utils/index.js +0 -33
  204. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +0 -31
  205. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +0 -37
  206. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -20
  207. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +0 -41
  208. package/styled-components/es/components/DatePicker/utils/index.js +0 -4
  209. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +0 -25
  210. package/types/components/DatePicker/utils/getFormattedDates.d.ts +0 -21
  211. package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +0 -1
  212. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts +0 -2
  213. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +0 -1
  214. package/types/components/DatePicker/utils/getOriginalDates.d.ts +0 -10
  215. package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +0 -1
  216. package/types/components/DatePicker/utils/index.d.ts +0 -5
  217. package/types/components/DatePicker/utils/index.d.ts.map +0 -1
  218. package/types/components/DatePicker/utils/normalizeDates.d.ts +0 -15
  219. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +0 -1
@@ -1 +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 DateType = Date | undefined | null;\n\nexport type CalendarValueType = DateType | [DateType, DateType];\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 renderFromDate?: 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 * Выбранный язык календаря. Влияет на название дней, месяцев\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: [DateType, DateType];\n /**\n * Обработчик изменения значения.\n */\n onChangeValue: (values: [DateType, DateType], 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 renderFromDate?: 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 * Выбранный язык календаря. Влияет на название дней, месяцев\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;;;;"}
@@ -136,6 +136,9 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
136
136
  }
137
137
  }, [calendarState]);
138
138
  React.useEffect(function () {
139
+ if (!prevValue) {
140
+ setPrevValue(value);
141
+ }
139
142
  if (value && prevValue && calendarRangeHelper.isValueUpdate(value, prevValue) || value && !prevValue) {
140
143
  dispatch({
141
144
  type: types.ActionType.UPDATE_DATE,
@@ -143,8 +146,9 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
143
146
  value: value
144
147
  }
145
148
  });
149
+ setPrevValue(value);
146
150
  }
147
- if (!value && !prevValue) {
151
+ if (!value) {
148
152
  dispatch({
149
153
  type: types.ActionType.UPDATE_DATE,
150
154
  payload: {
@@ -152,8 +156,7 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
152
156
  }
153
157
  });
154
158
  }
155
- setPrevValue(value);
156
- }, [value]);
159
+ }, [value, prevValue]);
157
160
  return /*#__PURE__*/React__default.default.createElement(Root, _rollupPluginBabelHelpers.extends({
158
161
  ref: outerRootRef,
159
162
  "aria-label": constants.I18N.selectDate[locale]
@@ -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 { I18N, 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: minDate,\n max: maxDate,\n renderFromDate,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n const renderFrom = renderFromDate && new Date(renderFromDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFrom, 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 ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFrom || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n return (\n <Root ref={outerRootRef} aria-label={I18N.selectDate[locale]} {...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","minDate","min","maxDate","max","renderFromDate","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","Date","renderFrom","_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","I18N","selectDate","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 { I18N, 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: minDate,\n max: maxDate,\n renderFromDate,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n const renderFrom = renderFromDate && new Date(renderFromDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFrom, 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\n if (!value) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFrom || min || new Date() },\n });\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label={I18N.selectDate[locale]} {...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","minDate","min","maxDate","max","renderFromDate","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","Date","renderFrom","_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","I18N","selectDate","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;AACA;AACA;IACaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC5FC,gBAAU,CACN,UAAAC,IAAA,EAoBIC,YAAY,EACX;AAAA,IAAA,IAnBUC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MACAC,OAAO,GAAAJ,IAAA,CAAZK,GAAG;MACEC,OAAO,GAAAN,IAAA,CAAZO,GAAG;MACHC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;MACdC,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;MAAAC,SAAA,GAAAV,IAAA,CAChBW,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MACbE,SAAS,GAAAZ,IAAA,CAATY,SAAS;MACTC,YAAY,GAAAb,IAAA,CAAZa,YAAY;MACZC,cAAc,GAAAd,IAAA,CAAdc,cAAc;MACdC,iBAAiB,GAAAf,IAAA,CAAjBe,iBAAiB;MACjBC,gBAAgB,GAAAhB,IAAA,CAAhBgB,gBAAgB;MAChBC,mBAAmB,GAAAjB,IAAA,CAAnBiB,mBAAmB;MACnBC,aAAa,GAAAlB,IAAA,CAAbkB,aAAa;MACbC,gBAAgB,GAAAnB,IAAA,CAAhBmB,gBAAgB;MAChBC,aAAa,GAAApB,IAAA,CAAboB,aAAa;MAAAC,WAAA,GAAArB,IAAA,CACbsB,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;AACVE,MAAAA,IAAI,GAAAC,iDAAA,CAAAxB,IAAA,EAAAyB,SAAA,CAAA,CAAA;IAIX,IAAAC,QAAA,GAAkCC,aAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAAC3B,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAA4B,SAAA,GAAAC,uCAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAM3B,KAAK,GAAG8B,WAAW,IAAID,UAAU,CAAA;AAEvC,IAAA,IAAAE,SAAA,GAAsCC,cAAQ,EAA0B;MAAAC,UAAA,GAAAL,uCAAA,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,cAAQ,CAACxB,IAAI,CAAC;MAAA6B,UAAA,GAAAT,uCAAA,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,cAAQ,CAAChC,KAAK,CAAC;MAAAyC,UAAA,GAAAb,uCAAA,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,cAAQ,CAAS,CAAC,CAAC;MAAAa,UAAA,GAAAjB,uCAAA,CAAAgB,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEtC,IAAM3C,GAAG,GAAGD,OAAO,IAAI,IAAI+C,IAAI,CAAC/C,OAAO,CAAC,CAAA;IACxC,IAAMG,GAAG,GAAGD,OAAO,IAAI,IAAI6C,IAAI,CAAC7C,OAAO,CAAC,CAAA;IACxC,IAAM8C,UAAU,GAAG5C,cAAc,IAAI,IAAI2C,IAAI,CAAC3C,cAAc,CAAC,CAAA;AAE7D,IAAA,IAAA6C,WAAA,GAA0BC,gBAAU,CAACC,eAAO,EAAEC,uBAAe,CAACrD,KAAK,EAAEE,GAAG,EAAE+C,UAAU,EAAEzC,IAAI,CAAC,CAAC;MAAA8C,YAAA,GAAA1B,uCAAA,CAAAsB,WAAA,EAAA,CAAA,CAAA;AAArFK,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;IAE5C,IAAAC,qBAAA,GAAmCC,2CAAqB,CAAC;AACrDJ,QAAAA,aAAa,EAAbA,aAAa;AACbD,QAAAA,IAAI,EAAJA,IAAI;AACJD,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OAAC,CAAC;MAJMO,UAAU,GAAAF,qBAAA,CAAVE,UAAU;MAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU,CAAA;IAM9B,IAAAC,iBAAA,GAA6EC,iCAAgB,CAAC;AAC1FN,QAAAA,IAAI,EAAJA,IAAI;AACJF,QAAAA,aAAa,EAAbA,aAAa;AACbS,QAAAA,MAAM,EAAEJ,UAAU;AAClBK,QAAAA,MAAM,EAAEJ,UAAAA;AACZ,OAAC,CAAC;MAAAK,kBAAA,GAAAzC,uCAAA,CAAAqC,iBAAA,EAAA,CAAA,CAAA;AALKK,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;IAOzE,IAAAM,qBAAA,GAMIC,2CAAqB,CAAC;AAAEpE,QAAAA,IAAI,EAAJA,IAAI;AAAES,QAAAA,aAAa,EAAbA,aAAa;AAAEuD,QAAAA,eAAe,EAAfA,eAAe;AAAEhB,QAAAA,QAAQ,EAARA,QAAAA;AAAS,OAAC,CAAC;MALzEqB,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;AACA;AACA;AACA,IAAA,IAAMC,aAAa,GAAGC,iBAAW,CAC7B,UAACC,KAAoC,EAAK;MACtCrC,gBAAgB,CAAC,UAACsC,aAAa,EAAA;AAAA,QAAA,OAAKC,MAAM,CAAC,CAACD,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;MAE3Dd,SAAS,CAACa,KAAK,CAAC,CAAA;AACpB,KAAC,EACD,CAACb,SAAS,CACd,CAAC,CAAA;AAEDgB,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAIjD,QAAQ,KAAKoB,aAAa,EAAE;AAC5BF,QAAAA,QAAQ,CAAC;UACLhD,IAAI,EAAEgF,gBAAU,CAACC,qBAAqB;AACtCC,UAAAA,OAAO,EAAE;AAAEhC,YAAAA,aAAa,EAAbA,aAAa;AAAEE,YAAAA,IAAI,EAAE+B,eAAO,CAACjC,aAAa,CAAC,CAACkC,MAAAA;AAAO,WAAA;AAClE,SAAC,CAAC,CAAA;QAEFrD,WAAW,CAACmB,aAAa,CAAC,CAAA;AAC9B,OAAA;AACJ,KAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;AAEnB6B,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI,CAAC7C,SAAS,EAAE;QACZC,YAAY,CAAC3C,KAAK,CAAC,CAAA;AACvB,OAAA;AAEA,MAAA,IAAKA,KAAK,IAAI0C,SAAS,IAAImD,iCAAa,CAAC7F,KAAK,EAAE0C,SAAS,CAAC,IAAM1C,KAAK,IAAI,CAAC0C,SAAU,EAAE;AAClFc,QAAAA,QAAQ,CAAC;UACLhD,IAAI,EAAEgF,gBAAU,CAACM,WAAW;AAC5BJ,UAAAA,OAAO,EAAE;AAAE1F,YAAAA,KAAK,EAALA,KAAAA;AAAM,WAAA;AACrB,SAAC,CAAC,CAAA;QAEF2C,YAAY,CAAC3C,KAAK,CAAC,CAAA;AACvB,OAAA;MAEA,IAAI,CAACA,KAAK,EAAE;AACRwD,QAAAA,QAAQ,CAAC;UACLhD,IAAI,EAAEgF,gBAAU,CAACM,WAAW;AAC5BJ,UAAAA,OAAO,EAAE;AAAE1F,YAAAA,KAAK,EAAEiD,UAAU,IAAI/C,GAAG,IAAI,IAAI8C,IAAI,EAAC;AAAE,WAAA;AACtD,SAAC,CAAC,CAAA;AACN,OAAA;AACJ,KAAC,EAAE,CAAChD,KAAK,EAAE0C,SAAS,CAAC,CAAC,CAAA;AAEtB,IAAA,oBACIqD,sBAAA,CAAAC,aAAA,CAACrG,IAAI,EAAAsG,iCAAA,CAAA;AAACC,MAAAA,GAAG,EAAEpG,YAAa;AAAC,MAAA,YAAA,EAAYqG,cAAI,CAACC,UAAU,CAACjF,MAAM,CAAA;KAAOC,EAAAA,IAAI,GACjEsD,YAAY,iBACTqB,sBAAA,CAAAC,aAAA,CAACK,gCAAY,EAAA;AACTC,MAAAA,GAAG,EAAExD,aAAc;AACnB,MAAA,aAAA,EAAY,MAAM;AAClByD,MAAAA,IAAI,EAAC,OAAO;AACZ,MAAA,WAAA,EAAU,WAAW;MACrB,eAAc,EAAA,WAAA;AAAW,KAAA,EAC5B,8HAEa,CACjB,eACDR,sBAAA,CAAAC,aAAA,CAACQ,6BAAc,EAAA;MACX5C,IAAI,EAAExC,IAAI,CAACwC,IAAK;AAChB6C,MAAAA,SAAS,EAAEhD,IAAK;AAChBE,MAAAA,SAAS,EAAEA,SAAU;AACrBnD,MAAAA,IAAI,EAAEkD,aAAc;AACpBU,MAAAA,MAAM,EAAEJ,UAAW;AACnBG,MAAAA,MAAM,EAAEJ,UAAW;AACnB2C,MAAAA,qBAAqB,EAAEzB,yBAA0B;AACjD9D,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAClB,CAAC,EACDuC,aAAa,KAAKiD,mBAAa,CAACC,IAAI,iBACjCb,sBAAA,CAAAC,aAAA,CAACa,yBAAY,EAAA;AACT7G,MAAAA,KAAK,EAAED,aAAc;AACrB0D,MAAAA,IAAI,EAAEA,IAAK;AACXvD,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTK,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCwG,MAAAA,UAAU,EAAE5E,WAAY;AACxBoC,MAAAA,aAAa,EAAEA,aAAc;AAC7ByC,MAAAA,WAAW,EAAElC,iBAAkB;AAC/BmC,MAAAA,aAAa,EAAExC,eAAgB;AAC/ByC,MAAAA,UAAU,EAAE9E,cAAe;AAC3BoC,MAAAA,SAAS,EAAEW,aAAc;AACzBT,MAAAA,SAAS,EAAEA,SAAU;AACrBtD,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAClB,CACJ,EACAuC,aAAa,KAAKiD,mBAAa,CAACO,MAAM,iBACnCnB,sBAAA,CAAAC,aAAA,CAACmB,6BAAc,EAAA;AACXnH,MAAAA,KAAK,EAAED,aAAc;AACrB0D,MAAAA,IAAI,EAAEA,IAAK;AACXvD,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTK,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChCwG,MAAAA,YAAY,EAAElF,WAAY;AAC1BoC,MAAAA,aAAa,EAAEA,aAAc;AAC7B+C,MAAAA,aAAa,EAAEvC,mBAAoB;AACnCkC,MAAAA,aAAa,EAAExC,eAAgB;AAC/B8C,MAAAA,YAAY,EAAEnF,cAAe;AAC7BoC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAU;AACrBtD,MAAAA,MAAM,EAAEA,MAAAA;AAAO,KAClB,CACJ,EACAuC,aAAa,KAAKiD,mBAAa,CAACY,QAAQ,iBACrCxB,sBAAA,CAAAC,aAAA,CAACwB,iCAAgB,EAAA;AACbxH,MAAAA,KAAK,EAAED,aAAc;AACrB0D,MAAAA,IAAI,EAAEA,IAAK;AACXvD,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTK,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClC2G,MAAAA,cAAc,EAAEvF,WAAY;AAC5BoC,MAAAA,aAAa,EAAEA,aAAc;AAC7BoD,MAAAA,eAAe,EAAE3C,qBAAsB;AACvCiC,MAAAA,aAAa,EAAExC,eAAgB;AAC/BmD,MAAAA,cAAc,EAAExF,cAAe;AAC/BoC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CACJ,EACAf,aAAa,KAAKiD,mBAAa,CAACiB,KAAK,iBAClC7B,sBAAA,CAAAC,aAAA,CAAC6B,2BAAa,EAAA;AACV7H,MAAAA,KAAK,EAAED,aAAc;AACrB0D,MAAAA,IAAI,EAAEA,IAAK;AACXE,MAAAA,SAAS,EAAEA,SAAU;AACrBW,MAAAA,aAAa,EAAEA,aAAc;AAC7BpE,MAAAA,GAAG,EAAEA,GAAI;AACTE,MAAAA,GAAG,EAAEA,GAAI;AACTK,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/B8G,MAAAA,WAAW,EAAE5F,WAAY;AACzB6F,MAAAA,YAAY,EAAE/C,kBAAmB;AACjCgC,MAAAA,aAAa,EAAExC,eAAgB;AAC/BwD,MAAAA,WAAW,EAAE7F,cAAe;AAC5BoC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CAEH,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMwD,kBAAkB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,cAAc;AACpBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE1I,gBAAgB;AACxB2I,EAAAA,IAAI,EAAEC,kCAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,SAAAA;KACR;AACD9E,IAAAA,IAAI,EAAE;AACF6E,MAAAA,GAAG,EAAEE,WAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNJ,IAAAA,IAAI,EAAE,SAAS;AACf5E,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
@@ -184,6 +184,9 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
184
184
  }
185
185
  }, [calendarState]);
186
186
  React.useEffect(function () {
187
+ if (!prevValue) {
188
+ setPrevValue(value);
189
+ }
187
190
  if (value && prevValue && calendarRangeHelper.isValueUpdate(value, prevValue) || value && !prevValue) {
188
191
  var _getBoundaryDates = getBoundaryDates(),
189
192
  _getBoundaryDates2 = _rollupPluginBabelHelpers.slicedToArray(_getBoundaryDates, 2),
@@ -197,8 +200,9 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
197
200
  }
198
201
  });
199
202
  }
203
+ setPrevValue(value);
200
204
  }
201
- if (!value && !prevValue) {
205
+ if (!value) {
202
206
  dispatch({
203
207
  type: types.ActionType.UPDATE_DATE,
204
208
  payload: {
@@ -206,8 +210,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
206
210
  }
207
211
  });
208
212
  }
209
- setPrevValue(value);
210
- }, [value]);
213
+ }, [value, prevValue]);
211
214
  React.useEffect(function () {
212
215
  setFirstDate(date);
213
216
  updateSecondDate();
@@ -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, I18N } 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: minDate,\n max: maxDate,\n renderFromDate,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, 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 ((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\n if (!value && !prevValue) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\n }\n\n setPrevValue(value);\n }, [value]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label={I18N.selectDate[locale]} {...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","minDate","min","maxDate","max","renderFromDate","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","Date","_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","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","I18N","selectDate","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, I18N } 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: minDate,\n max: maxDate,\n renderFromDate,\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 min = minDate && new Date(minDate);\n const max = maxDate && new Date(maxDate);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, renderFromDate, 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\n if (!value) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value: renderFromDate || min || new Date() },\n });\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={I18N.selectDate[locale]} {...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","minDate","min","maxDate","max","renderFromDate","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","Date","_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","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","I18N","selectDate","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 +1 @@
1
- {"version":3,"file":"withRange.js","sources":["../../../../src/components/Calendar/hoc/withRange.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback } from 'react';\nimport type { ReactElement, FC } from 'react';\n\nimport type { Calendar, CalendarRange, DateInfo, DateType } from '../Calendar.types';\nimport { getSortedValues, isValueUpdate } from '../utils';\n\n/**\n * HOC для календаря, дающий возможность выбора диапазона даты\n */\nexport const withRange = <T extends Calendar>(Component: FC<Calendar>) => ({\n value,\n min,\n max,\n disabledList,\n eventList,\n eventMonthList,\n disabledMonthList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n onChangeStartOfRange,\n ...rest\n}: CalendarRange<T>): ReactElement<T> => {\n const [startExternalValue, endExternalValue] = useMemo(() => value, [value]);\n const [[startValue, endValue], setValues] = useState<[DateType, DateType]>([startExternalValue, endExternalValue]);\n const [prevValue, setPrevValue] = useState(value);\n\n if (isValueUpdate(value, prevValue)) {\n setValues([startExternalValue, endExternalValue]);\n\n setPrevValue(value);\n }\n\n const handleOnChangeDay = useCallback(\n (newDay: Date, dateInfo?: DateInfo) => {\n if (endValue) {\n setValues([newDay, undefined]);\n\n onChangeStartOfRange?.(newDay, dateInfo);\n\n return;\n }\n\n setValues([startValue, newDay]);\n\n const [first, second] = getSortedValues([startValue, newDay]);\n\n if (first) {\n onChangeValue([first, second], dateInfo);\n }\n },\n [onChangeValue, onChangeStartOfRange, startValue, endValue],\n );\n\n return (\n <Component\n value={[startValue, endValue]}\n onChangeValue={handleOnChangeDay}\n disabledList={disabledList}\n eventList={eventList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n {...rest}\n />\n );\n};\n"],"names":["withRange","Component","_ref","value","min","max","disabledList","eventList","eventMonthList","disabledMonthList","eventYearList","disabledYearList","onChangeValue","onChangeStartOfRange","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","_useMemo2","_slicedToArray","startExternalValue","endExternalValue","_useState","useState","_useState2","_useState2$","startValue","endValue","setValues","_useState3","_useState4","prevValue","setPrevValue","isValueUpdate","handleOnChangeDay","useCallback","newDay","dateInfo","undefined","_getSortedValues","getSortedValues","_getSortedValues2","first","second","React","createElement","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"withRange.js","sources":["../../../../src/components/Calendar/hoc/withRange.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback } from 'react';\nimport type { ReactElement, FC } from 'react';\n\nimport type { Calendar, CalendarRange, DateInfo } from '../Calendar.types';\nimport { getSortedValues, isValueUpdate } from '../utils';\n\n/**\n * HOC для календаря, дающий возможность выбора диапазона даты\n */\nexport const withRange = <T extends Calendar>(Component: FC<Calendar>) => ({\n value,\n min,\n max,\n disabledList,\n eventList,\n eventMonthList,\n disabledMonthList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n onChangeStartOfRange,\n ...rest\n}: CalendarRange<T>): ReactElement<T> => {\n const [startExternalValue, endExternalValue] = useMemo(() => value, [value]);\n const [[startValue, endValue], setValues] = useState<[Date?, Date?]>([startExternalValue, endExternalValue]);\n const [prevValue, setPrevValue] = useState(value);\n\n if (isValueUpdate(value, prevValue)) {\n setValues([startExternalValue, endExternalValue]);\n\n setPrevValue(value);\n }\n\n const handleOnChangeDay = useCallback(\n (newDay: Date, dateInfo?: DateInfo) => {\n if (endValue) {\n setValues([newDay, undefined]);\n\n onChangeStartOfRange?.(newDay, dateInfo);\n\n return;\n }\n\n setValues([startValue, newDay]);\n\n const [first, second] = getSortedValues([startValue, newDay]);\n\n if (first) {\n onChangeValue([first, second], dateInfo);\n }\n },\n [onChangeValue, onChangeStartOfRange, startValue, endValue],\n );\n\n return (\n <Component\n value={[startValue, endValue]}\n onChangeValue={handleOnChangeDay}\n disabledList={disabledList}\n eventList={eventList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n {...rest}\n />\n );\n};\n"],"names":["withRange","Component","_ref","value","min","max","disabledList","eventList","eventMonthList","disabledMonthList","eventYearList","disabledYearList","onChangeValue","onChangeStartOfRange","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","_useMemo2","_slicedToArray","startExternalValue","endExternalValue","_useState","useState","_useState2","_useState2$","startValue","endValue","setValues","_useState3","_useState4","prevValue","setPrevValue","isValueUpdate","handleOnChangeDay","useCallback","newDay","dateInfo","undefined","_getSortedValues","getSortedValues","_getSortedValues2","first","second","React","createElement","_extends"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import type { DateType } from '../Calendar.types';\nimport { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: DateType,\n min: Date | undefined,\n renderFromDate: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || renderFromDate || min || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n const startYear = state.date.year - step <= 0 ? 0 : state.date.year - step;\n\n return {\n ...state,\n startYear,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: startYear,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n const startYear = state.startYear - yearsCount < 0 ? 0 : state.startYear - yearsCount;\n\n return {\n ...state,\n startYear,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","min","renderFromDate","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: Date | undefined,\n min: Date | undefined,\n renderFromDate: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || renderFromDate || min || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n const startYear = state.date.year - step <= 0 ? 0 : state.date.year - step;\n\n return {\n ...state,\n startYear,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: startYear,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n const startYear = state.startYear - yearsCount < 0 ? 0 : state.startYear - yearsCount;\n\n return {\n ...state,\n startYear,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","min","renderFromDate","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendarGridHelper.js","sources":["../../../../src/components/Calendar/utils/calendarGridHelper.ts"],"sourcesContent":["import type {\n CalendarValueType,\n DateObject,\n DateType,\n DisabledDay,\n EventDay,\n ItemProps,\n Locales,\n} from '../Calendar.types';\nimport type { CalendarStateType } from '../store/types';\n\nimport { isSelectProcess } from './calendarRangeHelper';\nimport { MONTHS, YEAR_RENDER_COUNT, I18N } from './constants';\n\nexport const getDaysInMonth = (monthIndex: number, year: number) => new Date(year, monthIndex + 1, 0).getDate();\n\nexport const getOffsetDayInWeek = (monthIndex: number, year: number) => (new Date(year, monthIndex).getDay() || 7) - 1;\n\nexport const getStartYear = (year: number) => Math.floor(year / YEAR_RENDER_COUNT) * YEAR_RENDER_COUNT;\n\nexport const getNextDate = (currentYear: number, currentMonth: number) =>\n currentMonth + 1 === MONTHS.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];\n\nexport const getPrevDate = (currentYear: number, currentMonth: number) =>\n currentMonth - 1 < 0 ? [Math.abs(currentYear - 1) || 0, 11] : [currentYear, currentMonth - 1];\n\nexport const getDateFromValue = (date: Date | undefined): DateObject => {\n const state = date || new Date();\n\n return {\n day: date !== undefined ? state.getDate() : 0,\n monthIndex: state.getMonth(),\n year: Math.abs(state.getFullYear()),\n };\n};\n\nexport const getDateFromNow = (): DateObject => {\n const nowDate = new Date();\n\n return {\n day: nowDate.getDate(),\n monthIndex: nowDate.getMonth(),\n year: nowDate.getFullYear(),\n };\n};\n\nexport const IsCurrentDay = (date: DateObject, currentDay: number) => {\n const { day, monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return day === currentDay && date.monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedDay = (date: DateObject, currentDay: number, value: DateType) => {\n if (!value) {\n return false;\n }\n\n const { day, monthIndex, year } = getDateFromValue(value);\n return day === currentDay && date.monthIndex === monthIndex && date.year === year;\n};\n\nexport const isCurrentMonth = (date: DateObject, monthIndex: number) => {\n const { monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedMonth = (date: DateObject, currentMonth: number, value?: DateType) => {\n if (!value) {\n return false;\n }\n\n const { monthIndex, year } = getDateFromValue(value);\n return currentMonth === monthIndex && date.year === year;\n};\n\nexport const isCurrentYear = (year: number) => {\n const { year: currentYear } = getDateFromNow();\n return year === currentYear;\n};\n\nexport const isSelectedYear = (yearValue: number, value: DateType) => {\n if (!value) {\n return false;\n }\n\n const { year } = getDateFromValue(value);\n return yearValue === year;\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nexport const getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод проверяет, можно ли выбрать день.\n */\nexport const canSelectDate = (\n { year, monthIndex, day }: DateObject,\n value: CalendarValueType,\n disabledList?: DisabledDay[],\n) => {\n if (!isSelectProcess(value)) {\n return true;\n }\n\n const hoverDate = new Date(year, monthIndex, day);\n const [startDate] = value;\n\n if (!disabledList?.length) {\n return true;\n }\n\n const offDisabledRange = disabledList.some(\n ({ date }) => (startDate < date && date < hoverDate) || (startDate > date && date > hoverDate),\n );\n\n return !offDisabledRange;\n};\n\n/**\n * Метод для получения двумерного массива и возвращения выбранного элемента.\n */\nexport const getMatrix = <T extends ItemProps>(items: T[], rowSize = 7): readonly [T[][], number[] | undefined] => {\n const newItems = [...items];\n\n let selected: [number, number] | undefined;\n\n const result = newItems.reduce((acc: T[][], item, index) => {\n if (index % rowSize === 0) {\n acc.push([]);\n }\n\n acc[acc.length - 1].push(item);\n\n if (item.isSelected) {\n selected = [acc.length - 1, index % rowSize];\n }\n\n return acc;\n }, []);\n\n return [result, selected] as const;\n};\n\nexport const getCalendarType = (type: CalendarStateType, locale: Locales) => {\n switch (type) {\n case 'Months':\n case 'Quarters':\n return I18N.year[locale];\n case 'Years':\n return I18N.period[locale];\n default:\n return I18N.month[locale];\n }\n};\n"],"names":["getDaysInMonth","monthIndex","year","Date","getDate","getOffsetDayInWeek","getDay","getStartYear","Math","floor","YEAR_RENDER_COUNT","getNextDate","currentYear","currentMonth","MONTHS","length","getPrevDate","abs","getDateFromValue","date","state","day","undefined","getMonth","getFullYear","getDateFromNow","nowDate","IsCurrentDay","currentDay","_getDateFromNow","currentMonthIndex","isSelectedDay","value","_getDateFromValue","isCurrentMonth","_getDateFromNow2","isSelectedMonth","_getDateFromValue2","isCurrentYear","_getDateFromNow3","isSelectedYear","yearValue","_getDateFromValue3","getPropsMap","props","reduce","acc","prop","_getDateFromValue4","key","concat","propList","get","push","set","Map","canSelectDate","_ref","disabledList","isSelectProcess","hoverDate","_value","_slicedToArray","startDate","offDisabledRange","some","_ref2","getMatrix","items","rowSize","arguments","newItems","_toConsumableArray","selected","result","item","index","isSelected","getCalendarType","type","locale","I18N","period","month"],"mappings":"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"}
1
+ {"version":3,"file":"calendarGridHelper.js","sources":["../../../../src/components/Calendar/utils/calendarGridHelper.ts"],"sourcesContent":["import type { CalendarValueType, DateObject, DisabledDay, EventDay, ItemProps, Locales } from '../Calendar.types';\nimport type { CalendarStateType } from '../store/types';\n\nimport { isSelectProcess } from './calendarRangeHelper';\nimport { MONTHS, YEAR_RENDER_COUNT, I18N } from './constants';\n\nexport const getDaysInMonth = (monthIndex: number, year: number) => new Date(year, monthIndex + 1, 0).getDate();\n\nexport const getOffsetDayInWeek = (monthIndex: number, year: number) => (new Date(year, monthIndex).getDay() || 7) - 1;\n\nexport const getStartYear = (year: number) => Math.floor(year / YEAR_RENDER_COUNT) * YEAR_RENDER_COUNT;\n\nexport const getNextDate = (currentYear: number, currentMonth: number) =>\n currentMonth + 1 === MONTHS.length ? [currentYear + 1, 0] : [currentYear, currentMonth + 1];\n\nexport const getPrevDate = (currentYear: number, currentMonth: number) =>\n currentMonth - 1 < 0 ? [Math.abs(currentYear - 1) || 0, 11] : [currentYear, currentMonth - 1];\n\nexport const getDateFromValue = (date: Date | undefined): DateObject => {\n const state = date || new Date();\n\n return {\n day: date !== undefined ? state.getDate() : 0,\n monthIndex: state.getMonth(),\n year: Math.abs(state.getFullYear()),\n };\n};\n\nexport const getDateFromNow = (): DateObject => {\n const nowDate = new Date();\n\n return {\n day: nowDate.getDate(),\n monthIndex: nowDate.getMonth(),\n year: nowDate.getFullYear(),\n };\n};\n\nexport const IsCurrentDay = (date: DateObject, currentDay: number) => {\n const { day, monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return day === currentDay && date.monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedDay = (date: DateObject, currentDay: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { day, monthIndex, year } = getDateFromValue(value);\n return day === currentDay && date.monthIndex === monthIndex && date.year === year;\n};\n\nexport const isCurrentMonth = (date: DateObject, monthIndex: number) => {\n const { monthIndex: currentMonthIndex, year: currentYear } = getDateFromNow();\n return monthIndex === currentMonthIndex && date.year === currentYear;\n};\n\nexport const isSelectedMonth = (date: DateObject, currentMonth: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { monthIndex, year } = getDateFromValue(value);\n return currentMonth === monthIndex && date.year === year;\n};\n\nexport const isCurrentYear = (year: number) => {\n const { year: currentYear } = getDateFromNow();\n return year === currentYear;\n};\n\nexport const isSelectedYear = (yearValue: number, value?: Date) => {\n if (!value) {\n return false;\n }\n\n const { year } = getDateFromValue(value);\n return yearValue === year;\n};\n\n/**\n * Метод для получения набора неповторяющихся дат.\n */\nexport const getPropsMap = <T extends EventDay | DisabledDay>(props: T[]) =>\n props.reduce((acc, prop) => {\n const { year, monthIndex, day } = getDateFromValue(prop.date);\n\n const key = `${year}-${monthIndex}-${day}`;\n\n const propList = acc.get(key) || [];\n propList.push(prop);\n\n return acc.set(key, propList);\n }, new Map<string, T[]>());\n\n/**\n * Метод проверяет, можно ли выбрать день.\n */\nexport const canSelectDate = (\n { year, monthIndex, day }: DateObject,\n value: CalendarValueType,\n disabledList?: DisabledDay[],\n) => {\n if (!isSelectProcess(value)) {\n return true;\n }\n\n const hoverDate = new Date(year, monthIndex, day);\n const [startDate] = value;\n\n if (!disabledList?.length) {\n return true;\n }\n\n const offDisabledRange = disabledList.some(\n ({ date }) => (startDate < date && date < hoverDate) || (startDate > date && date > hoverDate),\n );\n\n return !offDisabledRange;\n};\n\n/**\n * Метод для получения двумерного массива и возвращения выбранного элемента.\n */\nexport const getMatrix = <T extends ItemProps>(items: T[], rowSize = 7): readonly [T[][], number[] | undefined] => {\n const newItems = [...items];\n\n let selected: [number, number] | undefined;\n\n const result = newItems.reduce((acc: T[][], item, index) => {\n if (index % rowSize === 0) {\n acc.push([]);\n }\n\n acc[acc.length - 1].push(item);\n\n if (item.isSelected) {\n selected = [acc.length - 1, index % rowSize];\n }\n\n return acc;\n }, []);\n\n return [result, selected] as const;\n};\n\nexport const getCalendarType = (type: CalendarStateType, locale: Locales) => {\n switch (type) {\n case 'Months':\n case 'Quarters':\n return I18N.year[locale];\n case 'Years':\n return I18N.period[locale];\n default:\n return I18N.month[locale];\n }\n};\n"],"names":["getDaysInMonth","monthIndex","year","Date","getDate","getOffsetDayInWeek","getDay","getStartYear","Math","floor","YEAR_RENDER_COUNT","getNextDate","currentYear","currentMonth","MONTHS","length","getPrevDate","abs","getDateFromValue","date","state","day","undefined","getMonth","getFullYear","getDateFromNow","nowDate","IsCurrentDay","currentDay","_getDateFromNow","currentMonthIndex","isSelectedDay","value","_getDateFromValue","isCurrentMonth","_getDateFromNow2","isSelectedMonth","_getDateFromValue2","isCurrentYear","_getDateFromNow3","isSelectedYear","yearValue","_getDateFromValue3","getPropsMap","props","reduce","acc","prop","_getDateFromValue4","key","concat","propList","get","push","set","Map","canSelectDate","_ref","disabledList","isSelectProcess","hoverDate","_value","_slicedToArray","startDate","offDisabledRange","some","_ref2","getMatrix","items","rowSize","arguments","newItems","_toConsumableArray","selected","result","item","index","isSelected","getCalendarType","type","locale","I18N","period","month"],"mappings":"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"}