@salutejs/plasma-new-hope 0.339.0-canary.2299.18773440976.0 → 0.339.0-canary.2299.18840379933.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 (589) hide show
  1. package/cjs/components/Calendar/Calendar.tokens.js +24 -1
  2. package/cjs/components/Calendar/Calendar.tokens.js.map +1 -1
  3. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarBase/CalendarBase.css +18 -4
  5. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +48 -5
  6. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  7. package/cjs/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +9 -0
  8. package/cjs/components/Calendar/CalendarBase/variations/_tooltip-size/base.js.map +1 -0
  9. package/cjs/components/Calendar/CalendarBase/variations/_tooltip-size/base_x642ct.css +1 -0
  10. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.css +18 -4
  11. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +61 -11
  12. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  13. package/cjs/components/Calendar/CalendarDouble/variations/_size/base.js +9 -0
  14. package/cjs/components/Calendar/CalendarDouble/variations/_size/base.js.map +1 -0
  15. package/cjs/components/Calendar/CalendarDouble/variations/_size/base_x642ct.css +1 -0
  16. package/cjs/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +9 -0
  17. package/cjs/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js.map +1 -0
  18. package/cjs/components/Calendar/CalendarDouble/variations/_tooltip-size/base_x642ct.css +1 -0
  19. package/cjs/components/Calendar/hooks/useKeyNavigation.js +3 -0
  20. package/cjs/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
  21. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.css +4 -4
  22. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  23. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  24. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.css +4 -4
  25. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  26. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  27. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.css +4 -4
  28. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  29. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  30. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.css +4 -4
  31. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  32. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  33. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.css +4 -4
  34. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +23 -6
  35. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
  36. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +3 -3
  37. package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js.map +1 -1
  38. package/cjs/components/Calendar/ui/DateStructureItem/{DateStructureItem.styles_z3dhwf.css → DateStructureItem.styles_1jogt74.css} +1 -1
  39. package/cjs/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +22 -0
  40. package/cjs/components/Calendar/ui/EventTooltip/EventTooltip.styles.js.map +1 -0
  41. package/cjs/components/Calendar/ui/EventTooltip/EventTooltip.styles_dh6nzd.css +1 -0
  42. package/cjs/components/DatePicker/DatePicker.tokens.js +24 -1
  43. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  44. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  45. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  46. package/{es/components/DatePicker/DatePickerBase.styles_6x4unn.css → cjs/components/DatePicker/DatePickerBase.styles_1rfomby.css} +1 -1
  47. package/cjs/components/DatePicker/RangeDate/RangeDate.css +15 -13
  48. package/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -6
  49. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  50. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +13 -11
  51. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -0
  52. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  53. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  54. package/{es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1wt56uj.css → cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_k6m3t6.css} +2 -2
  55. package/cjs/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +9 -0
  56. package/cjs/components/DatePicker/RangeDate/variations/_tooltip-size/base.js.map +1 -0
  57. package/cjs/components/DatePicker/RangeDate/variations/_tooltip-size/base_x642ct.css +1 -0
  58. package/cjs/components/DatePicker/SingleDate/SingleDate.css +8 -6
  59. package/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -12
  60. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  61. package/cjs/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +9 -0
  62. package/cjs/components/DatePicker/SingleDate/variations/_tooltip-size/base.js.map +1 -0
  63. package/cjs/components/DatePicker/SingleDate/variations/_tooltip-size/base_x642ct.css +1 -0
  64. package/cjs/components/Loader/Loader.css +16 -0
  65. package/cjs/components/Loader/Loader.js +85 -0
  66. package/cjs/components/Loader/Loader.js.map +1 -0
  67. package/cjs/components/Loader/Loader.styles.js +36 -0
  68. package/cjs/components/Loader/Loader.styles.js.map +1 -0
  69. package/cjs/components/Loader/Loader.styles_1i0a33d.css +3 -0
  70. package/cjs/components/Loader/Loader.tokens.js +35 -0
  71. package/cjs/components/Loader/Loader.tokens.js.map +1 -0
  72. package/cjs/components/Loader/variations/_size/base.js +9 -0
  73. package/cjs/components/Loader/variations/_size/base.js.map +1 -0
  74. package/cjs/components/Loader/variations/_size/base_x642ct.css +1 -0
  75. package/cjs/components/Loader/variations/_view/base.js +9 -0
  76. package/cjs/components/Loader/variations/_view/base.js.map +1 -0
  77. package/cjs/components/Loader/variations/_view/base_x642ct.css +1 -0
  78. package/cjs/components/Popover/Popover.js +1 -0
  79. package/cjs/components/Popover/Popover.js.map +1 -1
  80. package/cjs/components/ProgressBarCircular/ProgressBarCircular.css +5 -5
  81. package/cjs/components/ProgressBarCircular/ProgressBarCircular.js +7 -5
  82. package/cjs/components/ProgressBarCircular/ProgressBarCircular.js.map +1 -1
  83. package/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +1 -1
  84. package/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js.map +1 -1
  85. package/{es/components/ProgressBarCircular/ProgressBarCircular.styles_1cnlydo.css → cjs/components/ProgressBarCircular/ProgressBarCircular.styles_16hxdvd.css} +1 -1
  86. package/cjs/components/TimePicker/TimePicker.css +15 -11
  87. package/cjs/components/TimePicker/TimePicker.js +22 -458
  88. package/cjs/components/TimePicker/TimePicker.js.map +1 -1
  89. package/cjs/components/TimePicker/TimePicker.styles.js +17 -21
  90. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
  91. package/cjs/components/TimePicker/{TimePicker.styles_ar3obv.css → TimePicker.styles_2lk4d9.css} +4 -3
  92. package/cjs/components/TimePicker/utils/index.js +1 -33
  93. package/cjs/components/TimePicker/utils/index.js.map +1 -1
  94. package/cjs/components/TimePickerGrid/TimePickerGrid.css +10 -0
  95. package/cjs/components/TimePickerGrid/TimePickerGrid.js +733 -0
  96. package/cjs/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  97. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +27 -0
  98. package/cjs/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  99. package/cjs/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  100. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +40 -0
  101. package/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  102. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  103. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  104. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  105. package/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +12 -12
  106. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  107. package/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  108. package/cjs/components/TimePickerGrid/utils/index.js +135 -0
  109. package/cjs/components/TimePickerGrid/utils/index.js.map +1 -0
  110. package/cjs/components/TimePickerGrid/variations/_disabled/base.js +9 -0
  111. package/cjs/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  112. package/cjs/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  113. package/cjs/components/TimePickerGrid/variations/_size/base.js +9 -0
  114. package/cjs/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  115. package/cjs/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  116. package/cjs/components/TimePickerGrid/variations/_view/base.js +9 -0
  117. package/cjs/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  118. package/cjs/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  119. package/cjs/index.css +33 -23
  120. package/cjs/index.js +5 -0
  121. package/cjs/index.js.map +1 -1
  122. package/emotion/cjs/components/Calendar/Calendar.tokens.js +23 -1
  123. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +44 -5
  124. package/emotion/cjs/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +12 -0
  125. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +53 -7
  126. package/emotion/cjs/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +12 -0
  127. package/emotion/cjs/components/Calendar/hooks/useKeyNavigation.js +3 -0
  128. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -2
  129. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -2
  130. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -2
  131. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -2
  132. package/emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +23 -6
  133. package/emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +9 -8
  134. package/emotion/cjs/components/Calendar/ui/EventTooltip/EventTooltip.js +11 -0
  135. package/emotion/cjs/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +25 -0
  136. package/emotion/cjs/components/Calendar/ui/index.js +4 -0
  137. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +23 -1
  138. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +5 -5
  139. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -6
  140. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -1
  141. package/emotion/cjs/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +12 -0
  142. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -12
  143. package/emotion/cjs/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +12 -0
  144. package/emotion/cjs/components/Loader/Loader.js +38 -6
  145. package/emotion/cjs/components/Loader/Loader.styles.js +5 -5
  146. package/emotion/cjs/components/Loader/Loader.tokens.js +11 -1
  147. package/emotion/cjs/components/Popover/Popover.js +1 -0
  148. package/emotion/cjs/components/ProgressBarCircular/ProgressBarCircular.js +6 -5
  149. package/emotion/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +9 -9
  150. package/emotion/cjs/components/TimePicker/TimePicker.js +22 -488
  151. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +17 -7
  152. package/emotion/cjs/components/TimePicker/utils/index.js +1 -25
  153. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  154. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +34 -0
  155. package/emotion/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  156. package/emotion/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  157. package/emotion/cjs/components/TimePickerGrid/index.js +26 -0
  158. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  159. package/emotion/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +71 -0
  160. package/emotion/cjs/components/TimePickerGrid/utils/index.js +166 -0
  161. package/emotion/cjs/components/TimePickerGrid/variations/_disabled/base.js +12 -0
  162. package/emotion/cjs/components/TimePickerGrid/variations/_size/base.js +12 -0
  163. package/emotion/cjs/components/TimePickerGrid/variations/_view/base.js +12 -0
  164. package/emotion/cjs/examples/components/Calendar/CalendarBase.config.js +11 -6
  165. package/emotion/cjs/examples/components/Calendar/CalendarDouble.config.js +11 -6
  166. package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
  167. package/emotion/cjs/examples/components/DatePicker/DatePicker.config.js +11 -7
  168. package/emotion/cjs/examples/components/Loader/Loader.config.js +14 -14
  169. package/emotion/cjs/examples/components/TimePicker/TimePicker.config.js +7 -7
  170. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +32 -0
  171. package/emotion/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  172. package/emotion/cjs/index.js +1 -0
  173. package/emotion/es/components/Calendar/Calendar.tokens.js +23 -1
  174. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +46 -7
  175. package/emotion/es/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +2 -0
  176. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +55 -9
  177. package/emotion/es/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +2 -0
  178. package/emotion/es/components/Calendar/hooks/useKeyNavigation.js +3 -0
  179. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -2
  180. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -2
  181. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -2
  182. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -2
  183. package/emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +24 -7
  184. package/emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +9 -8
  185. package/emotion/es/components/Calendar/ui/EventTooltip/EventTooltip.js +1 -0
  186. package/emotion/es/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +10 -0
  187. package/emotion/es/components/Calendar/ui/index.js +1 -0
  188. package/emotion/es/components/DatePicker/DatePicker.tokens.js +23 -1
  189. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +5 -5
  190. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +11 -2
  191. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -1
  192. package/emotion/es/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +2 -0
  193. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +11 -8
  194. package/emotion/es/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +2 -0
  195. package/emotion/es/components/Loader/Loader.js +39 -7
  196. package/emotion/es/components/Loader/Loader.styles.js +6 -6
  197. package/emotion/es/components/Loader/Loader.tokens.js +8 -1
  198. package/emotion/es/components/Popover/Popover.js +1 -0
  199. package/emotion/es/components/ProgressBarCircular/ProgressBarCircular.js +6 -5
  200. package/emotion/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +9 -9
  201. package/emotion/es/components/TimePicker/TimePicker.js +25 -491
  202. package/emotion/es/components/TimePicker/TimePicker.styles.js +14 -7
  203. package/emotion/es/components/TimePicker/utils/index.js +1 -22
  204. package/emotion/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  205. package/emotion/es/components/TimePickerGrid/TimePickerGrid.styles.js +11 -0
  206. package/emotion/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  207. package/emotion/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  208. package/emotion/es/components/TimePickerGrid/index.js +2 -0
  209. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  210. package/emotion/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js +33 -0
  211. package/emotion/es/components/TimePickerGrid/utils/index.js +133 -0
  212. package/emotion/es/components/TimePickerGrid/variations/_disabled/base.js +2 -0
  213. package/emotion/es/components/TimePickerGrid/variations/_size/base.js +2 -0
  214. package/emotion/es/components/TimePickerGrid/variations/_view/base.js +2 -0
  215. package/emotion/es/examples/components/Calendar/CalendarBase.config.js +11 -6
  216. package/emotion/es/examples/components/Calendar/CalendarDouble.config.js +11 -6
  217. package/emotion/es/examples/components/DatePicker/DatePicker.config.js +11 -7
  218. package/emotion/es/examples/components/Loader/Loader.config.js +14 -14
  219. package/emotion/es/examples/components/TimePicker/TimePicker.config.js +7 -7
  220. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +22 -0
  221. package/emotion/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  222. package/emotion/es/index.js +1 -0
  223. package/es/components/Calendar/Calendar.tokens.js +24 -1
  224. package/es/components/Calendar/Calendar.tokens.js.map +1 -1
  225. package/es/components/Calendar/Calendar.types.js.map +1 -1
  226. package/es/components/Calendar/CalendarBase/CalendarBase.css +18 -4
  227. package/es/components/Calendar/CalendarBase/CalendarBase.js +49 -6
  228. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  229. package/es/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +5 -0
  230. package/es/components/Calendar/CalendarBase/variations/_tooltip-size/base.js.map +1 -0
  231. package/es/components/Calendar/CalendarBase/variations/_tooltip-size/base_x642ct.css +1 -0
  232. package/es/components/Calendar/CalendarDouble/CalendarDouble.css +18 -4
  233. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +62 -12
  234. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  235. package/es/components/Calendar/CalendarDouble/variations/_size/base.js +5 -0
  236. package/es/components/Calendar/CalendarDouble/variations/_size/base.js.map +1 -0
  237. package/es/components/Calendar/CalendarDouble/variations/_size/base_x642ct.css +1 -0
  238. package/es/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +5 -0
  239. package/es/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js.map +1 -0
  240. package/es/components/Calendar/CalendarDouble/variations/_tooltip-size/base_x642ct.css +1 -0
  241. package/es/components/Calendar/hooks/useKeyNavigation.js +3 -0
  242. package/es/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
  243. package/es/components/Calendar/ui/CalendarDays/CalendarDays.css +4 -4
  244. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -1
  245. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  246. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.css +4 -4
  247. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -1
  248. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  249. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.css +4 -4
  250. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -1
  251. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  252. package/es/components/Calendar/ui/CalendarYears/CalendarYears.css +4 -4
  253. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -1
  254. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  255. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.css +4 -4
  256. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +24 -7
  257. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -1
  258. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +3 -3
  259. package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js.map +1 -1
  260. package/es/components/Calendar/ui/DateStructureItem/{DateStructureItem.styles_z3dhwf.css → DateStructureItem.styles_1jogt74.css} +1 -1
  261. package/es/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +18 -0
  262. package/es/components/Calendar/ui/EventTooltip/EventTooltip.styles.js.map +1 -0
  263. package/es/components/Calendar/ui/EventTooltip/EventTooltip.styles_dh6nzd.css +1 -0
  264. package/es/components/DatePicker/DatePicker.tokens.js +24 -1
  265. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  266. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  267. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  268. package/{cjs/components/DatePicker/DatePickerBase.styles_6x4unn.css → es/components/DatePicker/DatePickerBase.styles_1rfomby.css} +1 -1
  269. package/es/components/DatePicker/RangeDate/RangeDate.css +15 -13
  270. package/es/components/DatePicker/RangeDate/RangeDate.js +15 -6
  271. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  272. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +13 -11
  273. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -0
  274. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  275. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  276. package/{cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1wt56uj.css → es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_k6m3t6.css} +2 -2
  277. package/es/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +5 -0
  278. package/es/components/DatePicker/RangeDate/variations/_tooltip-size/base.js.map +1 -0
  279. package/es/components/DatePicker/RangeDate/variations/_tooltip-size/base_x642ct.css +1 -0
  280. package/es/components/DatePicker/SingleDate/SingleDate.css +8 -6
  281. package/es/components/DatePicker/SingleDate/SingleDate.js +15 -12
  282. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  283. package/es/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +5 -0
  284. package/es/components/DatePicker/SingleDate/variations/_tooltip-size/base.js.map +1 -0
  285. package/es/components/DatePicker/SingleDate/variations/_tooltip-size/base_x642ct.css +1 -0
  286. package/es/components/Loader/Loader.css +16 -0
  287. package/es/components/Loader/Loader.js +75 -0
  288. package/es/components/Loader/Loader.js.map +1 -0
  289. package/es/components/Loader/Loader.styles.js +30 -0
  290. package/es/components/Loader/Loader.styles.js.map +1 -0
  291. package/es/components/Loader/Loader.styles_1i0a33d.css +3 -0
  292. package/es/components/Loader/Loader.tokens.js +30 -0
  293. package/es/components/Loader/Loader.tokens.js.map +1 -0
  294. package/es/components/Loader/variations/_size/base.js +5 -0
  295. package/es/components/Loader/variations/_size/base.js.map +1 -0
  296. package/es/components/Loader/variations/_size/base_x642ct.css +1 -0
  297. package/es/components/Loader/variations/_view/base.js +5 -0
  298. package/es/components/Loader/variations/_view/base.js.map +1 -0
  299. package/es/components/Loader/variations/_view/base_x642ct.css +1 -0
  300. package/es/components/Popover/Popover.js +1 -0
  301. package/es/components/Popover/Popover.js.map +1 -1
  302. package/es/components/ProgressBarCircular/ProgressBarCircular.css +5 -5
  303. package/es/components/ProgressBarCircular/ProgressBarCircular.js +7 -5
  304. package/es/components/ProgressBarCircular/ProgressBarCircular.js.map +1 -1
  305. package/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +1 -1
  306. package/es/components/ProgressBarCircular/ProgressBarCircular.styles.js.map +1 -1
  307. package/{cjs/components/ProgressBarCircular/ProgressBarCircular.styles_1cnlydo.css → es/components/ProgressBarCircular/ProgressBarCircular.styles_16hxdvd.css} +1 -1
  308. package/es/components/TimePicker/TimePicker.css +15 -11
  309. package/es/components/TimePicker/TimePicker.js +26 -462
  310. package/es/components/TimePicker/TimePicker.js.map +1 -1
  311. package/es/components/TimePicker/TimePicker.styles.js +17 -21
  312. package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
  313. package/es/components/TimePicker/{TimePicker.styles_ar3obv.css → TimePicker.styles_2lk4d9.css} +4 -3
  314. package/es/components/TimePicker/utils/index.js +2 -32
  315. package/es/components/TimePicker/utils/index.js.map +1 -1
  316. package/es/components/TimePickerGrid/TimePickerGrid.css +10 -0
  317. package/es/components/TimePickerGrid/TimePickerGrid.js +724 -0
  318. package/es/components/TimePickerGrid/TimePickerGrid.js.map +1 -0
  319. package/es/components/TimePickerGrid/TimePickerGrid.styles.js +22 -0
  320. package/es/components/TimePickerGrid/TimePickerGrid.styles.js.map +1 -0
  321. package/es/components/TimePickerGrid/TimePickerGrid.styles_mz2mkl.css +2 -0
  322. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js +35 -0
  323. package/es/components/TimePickerGrid/TimePickerGrid.tokens.js.map +1 -0
  324. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.css +7 -0
  325. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +109 -0
  326. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js.map +1 -0
  327. package/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -11
  328. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.js.map +1 -0
  329. package/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles_1nwjzgi.css +7 -0
  330. package/es/components/TimePickerGrid/utils/index.js +126 -0
  331. package/es/components/TimePickerGrid/utils/index.js.map +1 -0
  332. package/es/components/TimePickerGrid/variations/_disabled/base.js +5 -0
  333. package/es/components/TimePickerGrid/variations/_disabled/base.js.map +1 -0
  334. package/es/components/TimePickerGrid/variations/_disabled/base_x642ct.css +1 -0
  335. package/es/components/TimePickerGrid/variations/_size/base.js +5 -0
  336. package/es/components/TimePickerGrid/variations/_size/base.js.map +1 -0
  337. package/es/components/TimePickerGrid/variations/_size/base_x642ct.css +1 -0
  338. package/es/components/TimePickerGrid/variations/_view/base.js +5 -0
  339. package/es/components/TimePickerGrid/variations/_view/base.js.map +1 -0
  340. package/es/components/TimePickerGrid/variations/_view/base_x642ct.css +1 -0
  341. package/es/index.css +33 -23
  342. package/es/index.js +2 -0
  343. package/es/index.js.map +1 -1
  344. package/package.json +4 -4
  345. package/styled-components/cjs/components/Calendar/Calendar.tokens.js +23 -1
  346. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +44 -5
  347. package/styled-components/cjs/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +14 -0
  348. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +53 -7
  349. package/styled-components/cjs/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +14 -0
  350. package/styled-components/cjs/components/Calendar/hooks/useKeyNavigation.js +3 -0
  351. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -2
  352. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -2
  353. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -2
  354. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -2
  355. package/styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js +23 -6
  356. package/styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +9 -6
  357. package/styled-components/cjs/components/Calendar/ui/EventTooltip/EventTooltip.js +11 -0
  358. package/styled-components/cjs/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +71 -0
  359. package/styled-components/cjs/components/Calendar/ui/index.js +4 -0
  360. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +23 -1
  361. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +3 -3
  362. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -6
  363. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -1
  364. package/styled-components/cjs/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +14 -0
  365. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -12
  366. package/styled-components/cjs/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +14 -0
  367. package/styled-components/cjs/components/Loader/Loader.js +38 -6
  368. package/styled-components/cjs/components/Loader/Loader.styles.js +9 -4
  369. package/styled-components/cjs/components/Loader/Loader.tokens.js +11 -1
  370. package/styled-components/cjs/components/Popover/Popover.js +1 -0
  371. package/styled-components/cjs/components/ProgressBarCircular/ProgressBarCircular.js +6 -5
  372. package/styled-components/cjs/components/ProgressBarCircular/ProgressBarCircular.styles.js +5 -5
  373. package/styled-components/cjs/components/TimePicker/TimePicker.js +22 -488
  374. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +57 -3
  375. package/styled-components/cjs/components/TimePicker/utils/index.js +1 -25
  376. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.js +922 -0
  377. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.styles.js +79 -0
  378. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.tokens.js +50 -0
  379. package/styled-components/cjs/components/TimePickerGrid/TimePickerGrid.types.js +4 -0
  380. package/styled-components/cjs/components/TimePickerGrid/hooks/useKeyboardNavigation.js +30 -0
  381. package/styled-components/cjs/components/TimePickerGrid/index.js +26 -0
  382. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +118 -0
  383. package/styled-components/cjs/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +16 -14
  384. package/styled-components/cjs/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +4 -0
  385. package/styled-components/cjs/components/TimePickerGrid/utils/index.js +166 -0
  386. package/styled-components/cjs/components/TimePickerGrid/variations/_disabled/base.js +14 -0
  387. package/styled-components/cjs/components/TimePickerGrid/variations/_size/base.js +14 -0
  388. package/styled-components/cjs/components/TimePickerGrid/variations/_view/base.js +14 -0
  389. package/styled-components/cjs/examples/components/Calendar/CalendarBase.config.js +53 -3
  390. package/styled-components/cjs/examples/components/Calendar/CalendarDouble.config.js +53 -3
  391. package/styled-components/cjs/examples/components/Combobox/Combobox.js +0 -15
  392. package/styled-components/cjs/examples/components/DatePicker/DatePicker.config.js +51 -2
  393. package/styled-components/cjs/examples/components/Loader/Loader.config.js +36 -25
  394. package/styled-components/cjs/examples/components/TimePicker/TimePicker.config.js +3 -2
  395. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.config.js +103 -0
  396. package/styled-components/cjs/examples/components/TimePickerGrid/TimePickerGrid.js +15 -0
  397. package/styled-components/cjs/index.js +1 -0
  398. package/styled-components/es/components/Calendar/Calendar.tokens.js +23 -1
  399. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +46 -7
  400. package/styled-components/es/components/Calendar/CalendarBase/variations/_tooltip-size/base.js +4 -0
  401. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +55 -9
  402. package/styled-components/es/components/Calendar/CalendarDouble/variations/_tooltip-size/base.js +4 -0
  403. package/styled-components/es/components/Calendar/hooks/useKeyNavigation.js +3 -0
  404. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +5 -2
  405. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +5 -2
  406. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +5 -2
  407. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +5 -2
  408. package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js +24 -7
  409. package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +9 -6
  410. package/styled-components/es/components/Calendar/ui/EventTooltip/EventTooltip.js +1 -0
  411. package/styled-components/es/components/Calendar/ui/EventTooltip/EventTooltip.styles.js +56 -0
  412. package/styled-components/es/components/Calendar/ui/index.js +1 -0
  413. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +23 -1
  414. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +3 -3
  415. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +11 -2
  416. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +3 -1
  417. package/styled-components/es/components/DatePicker/RangeDate/variations/_tooltip-size/base.js +4 -0
  418. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +11 -8
  419. package/styled-components/es/components/DatePicker/SingleDate/variations/_tooltip-size/base.js +4 -0
  420. package/styled-components/es/components/Loader/Loader.js +39 -7
  421. package/styled-components/es/components/Loader/Loader.styles.js +10 -5
  422. package/styled-components/es/components/Loader/Loader.tokens.js +8 -1
  423. package/styled-components/es/components/Popover/Popover.js +1 -0
  424. package/styled-components/es/components/ProgressBarCircular/ProgressBarCircular.js +6 -5
  425. package/styled-components/es/components/ProgressBarCircular/ProgressBarCircular.styles.js +5 -5
  426. package/styled-components/es/components/TimePicker/TimePicker.js +25 -491
  427. package/styled-components/es/components/TimePicker/TimePicker.styles.js +54 -3
  428. package/styled-components/es/components/TimePicker/utils/index.js +1 -22
  429. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.js +863 -0
  430. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.styles.js +21 -0
  431. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.tokens.js +32 -0
  432. package/styled-components/es/components/TimePickerGrid/TimePickerGrid.types.js +1 -0
  433. package/styled-components/es/components/TimePickerGrid/hooks/useKeyboardNavigation.js +20 -0
  434. package/styled-components/es/components/TimePickerGrid/index.js +2 -0
  435. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.js +103 -0
  436. package/styled-components/es/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.js +11 -9
  437. package/styled-components/es/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.js +1 -0
  438. package/styled-components/es/components/TimePickerGrid/utils/index.js +133 -0
  439. package/styled-components/es/components/TimePickerGrid/variations/_disabled/base.js +4 -0
  440. package/styled-components/es/components/TimePickerGrid/variations/_size/base.js +4 -0
  441. package/styled-components/es/components/TimePickerGrid/variations/_view/base.js +4 -0
  442. package/styled-components/es/examples/components/Calendar/CalendarBase.config.js +53 -3
  443. package/styled-components/es/examples/components/Calendar/CalendarDouble.config.js +53 -3
  444. package/styled-components/es/examples/components/DatePicker/DatePicker.config.js +51 -2
  445. package/styled-components/es/examples/components/Loader/Loader.config.js +36 -25
  446. package/styled-components/es/examples/components/TimePicker/TimePicker.config.js +3 -2
  447. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.config.js +93 -0
  448. package/styled-components/es/examples/components/TimePickerGrid/TimePickerGrid.js +5 -0
  449. package/styled-components/es/index.js +1 -0
  450. package/types/components/Calendar/Calendar.tokens.d.ts +22 -0
  451. package/types/components/Calendar/Calendar.tokens.d.ts.map +1 -1
  452. package/types/components/Calendar/Calendar.types.d.ts +43 -1
  453. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  454. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts +10 -2
  455. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  456. package/types/components/Calendar/CalendarBase/variations/_tooltip-size/base.d.ts +2 -0
  457. package/types/components/Calendar/CalendarBase/variations/_tooltip-size/base.d.ts.map +1 -0
  458. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts +13 -2
  459. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  460. package/types/components/Calendar/CalendarDouble/variations/_tooltip-size/base.d.ts +2 -0
  461. package/types/components/Calendar/CalendarDouble/variations/_tooltip-size/base.d.ts.map +1 -0
  462. package/types/components/Calendar/hooks/useKeyNavigation.d.ts.map +1 -1
  463. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  464. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +3 -2
  465. package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
  466. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  467. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts +2 -1
  468. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts.map +1 -1
  469. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  470. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.d.ts +2 -1
  471. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.d.ts.map +1 -1
  472. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  473. package/types/components/Calendar/ui/CalendarYears/CalendarYears.types.d.ts +2 -1
  474. package/types/components/Calendar/ui/CalendarYears/CalendarYears.types.d.ts.map +1 -1
  475. package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.d.ts.map +1 -1
  476. package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.d.ts.map +1 -1
  477. package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.types.d.ts +2 -1
  478. package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.types.d.ts.map +1 -1
  479. package/types/components/Calendar/ui/EventTooltip/EventTooltip.d.ts +2 -0
  480. package/types/components/Calendar/ui/EventTooltip/EventTooltip.d.ts.map +1 -0
  481. package/types/components/Calendar/ui/EventTooltip/EventTooltip.styles.d.ts +2 -0
  482. package/types/components/Calendar/ui/EventTooltip/EventTooltip.styles.d.ts.map +1 -0
  483. package/types/components/Calendar/ui/index.d.ts +1 -0
  484. package/types/components/Calendar/ui/index.d.ts.map +1 -1
  485. package/types/components/DatePicker/DatePicker.tokens.d.ts +22 -0
  486. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  487. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  488. package/types/components/DatePicker/DatePickerBase.types.d.ts +5 -1
  489. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  490. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +7 -3
  491. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  492. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +3 -0
  493. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  494. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
  495. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
  496. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
  497. package/types/components/DatePicker/RangeDate/variations/_tooltip-size/base.d.ts +2 -0
  498. package/types/components/DatePicker/RangeDate/variations/_tooltip-size/base.d.ts.map +1 -0
  499. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +7 -3
  500. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  501. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +3 -0
  502. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  503. package/types/components/DatePicker/SingleDate/variations/_tooltip-size/base.d.ts +2 -0
  504. package/types/components/DatePicker/SingleDate/variations/_tooltip-size/base.d.ts.map +1 -0
  505. package/types/components/Loader/Loader.d.ts.map +1 -1
  506. package/types/components/Loader/Loader.styles.d.ts.map +1 -1
  507. package/types/components/Loader/Loader.tokens.d.ts +8 -1
  508. package/types/components/Loader/Loader.tokens.d.ts.map +1 -1
  509. package/types/components/Loader/Loader.types.d.ts +18 -5
  510. package/types/components/Loader/Loader.types.d.ts.map +1 -1
  511. package/types/components/Popover/Popover.d.ts.map +1 -1
  512. package/types/components/ProgressBarCircular/ProgressBarCircular.d.ts.map +1 -1
  513. package/types/components/ProgressBarCircular/ProgressBarCircular.types.d.ts +5 -1
  514. package/types/components/ProgressBarCircular/ProgressBarCircular.types.d.ts.map +1 -1
  515. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  516. package/types/components/TimePicker/TimePicker.styles.d.ts +18 -0
  517. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  518. package/types/components/TimePicker/utils/index.d.ts +1 -2
  519. package/types/components/TimePicker/utils/index.d.ts.map +1 -1
  520. package/types/components/TimePickerGrid/TimePickerGrid.d.ts +61 -0
  521. package/types/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  522. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts +5 -0
  523. package/types/components/TimePickerGrid/TimePickerGrid.styles.d.ts.map +1 -0
  524. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts +33 -0
  525. package/types/components/TimePickerGrid/TimePickerGrid.tokens.d.ts.map +1 -0
  526. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts +65 -0
  527. package/types/components/TimePickerGrid/TimePickerGrid.types.d.ts.map +1 -0
  528. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts +14 -0
  529. package/types/components/TimePickerGrid/hooks/useKeyboardNavigation.d.ts.map +1 -0
  530. package/types/components/TimePickerGrid/index.d.ts +4 -0
  531. package/types/components/TimePickerGrid/index.d.ts.map +1 -0
  532. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts +3 -0
  533. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.d.ts.map +1 -0
  534. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.styles.d.ts.map +1 -0
  535. package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.types.d.ts +9 -8
  536. package/types/components/TimePickerGrid/ui/TimeColumn/TimeColumn.types.d.ts.map +1 -0
  537. package/types/components/TimePickerGrid/utils/index.d.ts +24 -0
  538. package/types/components/TimePickerGrid/utils/index.d.ts.map +1 -0
  539. package/types/components/TimePickerGrid/variations/_disabled/base.d.ts +2 -0
  540. package/types/components/TimePickerGrid/variations/_disabled/base.d.ts.map +1 -0
  541. package/types/components/TimePickerGrid/variations/_size/base.d.ts +2 -0
  542. package/types/components/TimePickerGrid/variations/_size/base.d.ts.map +1 -0
  543. package/types/components/TimePickerGrid/variations/_view/base.d.ts +2 -0
  544. package/types/components/TimePickerGrid/variations/_view/base.d.ts.map +1 -0
  545. package/types/components/Tooltip/Tooltip.types.d.ts +3 -3
  546. package/types/components/Tooltip/Tooltip.types.d.ts.map +1 -1
  547. package/types/examples/components/Calendar/Calendar.d.ts +8 -0
  548. package/types/examples/components/Calendar/Calendar.d.ts.map +1 -1
  549. package/types/examples/components/Calendar/CalendarBase.config.d.ts +5 -0
  550. package/types/examples/components/Calendar/CalendarBase.config.d.ts.map +1 -1
  551. package/types/examples/components/Calendar/CalendarDouble.config.d.ts +5 -0
  552. package/types/examples/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
  553. package/types/examples/components/DatePicker/DatePicker.config.d.ts +4 -0
  554. package/types/examples/components/DatePicker/DatePicker.config.d.ts.map +1 -1
  555. package/types/examples/components/DatePicker/DatePicker.d.ts +8 -0
  556. package/types/examples/components/DatePicker/DatePicker.d.ts.map +1 -1
  557. package/types/examples/components/Loader/Loader.config.d.ts.map +1 -1
  558. package/types/examples/components/TimePicker/TimePicker.config.d.ts.map +1 -1
  559. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts +21 -0
  560. package/types/examples/components/TimePickerGrid/TimePickerGrid.config.d.ts.map +1 -0
  561. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts +32 -0
  562. package/types/examples/components/TimePickerGrid/TimePickerGrid.d.ts.map +1 -0
  563. package/types/index.d.ts +1 -0
  564. package/types/index.d.ts.map +1 -1
  565. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  566. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  567. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  568. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  569. package/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  570. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  571. package/emotion/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -71
  572. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  573. package/emotion/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js +0 -33
  574. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.css +0 -7
  575. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -56
  576. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.js.map +0 -1
  577. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles.js.map +0 -1
  578. package/es/components/TimePicker/ui/TimeColumn/TimeColumn.styles_juymyb.css +0 -7
  579. package/styled-components/cjs/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -65
  580. package/styled-components/es/components/TimePicker/ui/TimeColumn/TimeColumn.js +0 -50
  581. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts +0 -3
  582. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.d.ts.map +0 -1
  583. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.styles.d.ts.map +0 -1
  584. package/types/components/TimePicker/ui/TimeColumn/TimeColumn.types.d.ts.map +0 -1
  585. /package/emotion/cjs/components/{TimePicker/ui/TimeColumn/TimeColumn.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  586. /package/{styled-components/cjs/components/TimePicker → emotion/cjs/components/TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  587. /package/emotion/es/components/{TimePicker/ui/TimeColumn/TimeColumn.types.js → TimePickerGrid/TimePickerGrid.types.js} +0 -0
  588. /package/{styled-components/es/components/TimePicker → emotion/es/components/TimePickerGrid}/ui/TimeColumn/TimeColumn.types.js +0 -0
  589. /package/types/components/{TimePicker → TimePickerGrid}/ui/TimeColumn/TimeColumn.styles.d.ts +0 -0
@@ -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';\nimport cls from 'classnames';\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';\nimport { classes } from '../Calendar.tokens';\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 className,\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 locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const 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 (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\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\n ref={outerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n {...rest}\n >\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","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","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","cls","_defineProperty","classes","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 KeyboardEvent,\n useEffect,\n useReducer,\n ReactNode,\n useRef,\n MutableRefObject,\n HTMLAttributes,\n} from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\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, EventTooltip } 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';\nimport { classes } from '../Calendar.tokens';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (\n Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement> & { eventTooltipSize?: string }>,\n) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n className,\n value: externalValue,\n min: minDate,\n max: maxDate,\n renderFromDate,\n includeEdgeDates,\n type = 'Days',\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n locale = 'ru',\n stretched,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [eventNodes, setEventNodes] = useState<ReactNode[]>([]);\n const eventTooltipTargetRef = useRef<HTMLDivElement | null>(null);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const innerRootRef = useForkRef(rootRef, outerRootRef);\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 const handleTriggerEventTooltip = (\n structureRef?: MutableRefObject<HTMLDivElement | null>,\n events?: ReactNode[],\n ) => {\n if (structureRef?.current && events?.length) {\n eventTooltipTargetRef.current = structureRef.current;\n\n setEventNodes(events);\n } else if (eventTooltipTargetRef.current !== null) {\n eventTooltipTargetRef.current = null;\n\n setEventNodes([]);\n }\n };\n\n const tooltipContent = () => {\n const TooltipBodyWrapper = eventTooltipOptions?.bodyWrapper;\n if (!TooltipBodyWrapper) {\n return eventNodes;\n }\n\n return <TooltipBodyWrapper>{eventNodes}</TooltipBodyWrapper>;\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 (prevType !== type) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: type, size: sizeMap[type].double },\n });\n\n setPrevType(type);\n }\n }, [type]);\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\n ref={innerRootRef}\n className={cls(className, { [classes.stretched]: stretched })}\n aria-label={I18N.selectDate[locale]}\n eventTooltipSize={eventTooltipOptions?.size}\n {...rest}\n >\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\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 onTriggerEventTooltip={handleTriggerEventTooltip}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n\n {eventTooltipTargetRef.current && eventNodes?.length && (\n <EventTooltip\n opened={Boolean(eventNodes?.length)}\n target={eventTooltipTargetRef}\n frame={rootRef}\n text={tooltipContent()}\n trigger=\"hover\"\n {...eventTooltipOptions}\n />\n )}\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 size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n eventTooltipSizeCSS: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","className","externalValue","value","minDate","min","maxDate","max","renderFromDate","includeEdgeDates","_ref$type","type","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$locale","locale","stretched","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useState9","_useState10","eventNodes","setEventNodes","eventTooltipTargetRef","useRef","rootRef","innerRootRef","useForkRef","Date","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState11","_useState12","firstDate","setFirstDate","_useState13","_useState14","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","handleTriggerEventTooltip","structureRef","events","current","length","tooltipContent","TooltipBodyWrapper","bodyWrapper","React","createElement","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","_extends","ref","cls","_defineProperty","classes","I18N","selectDate","eventTooltipSize","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","onTriggerEventTooltip","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","EventTooltip","opened","Boolean","target","frame","text","trigger","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","eventTooltipSizeCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import './base_x642ct.css';
2
+ var base = "bj55pxd";
3
+
4
+ export { base };
5
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sources":["../../../../../../src/components/Calendar/CalendarDouble/variations/_size/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nexport const base = css``;\n"],"names":["base"],"mappings":"AAEO,IAAMA,IAAI,GAAQ;;;;"}
@@ -0,0 +1,5 @@
1
+ import './base_x642ct.css';
2
+ var base = "b10ys244";
3
+
4
+ export { base };
5
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sources":["../../../../../../src/components/Calendar/CalendarDouble/variations/_tooltip-size/base.ts"],"sourcesContent":["import { css } from '@linaria/core';\n\nexport const base = css``;\n"],"names":["base"],"mappings":"AAEO,IAAMA,IAAI,GAAQ;;;;"}
@@ -290,6 +290,9 @@ var useKeyNavigation = function useKeyNavigation(_ref10) {
290
290
  _getCorrectIndexes2 = _slicedToArray(_getCorrectIndexes, 2),
291
291
  newRowIndex = _getCorrectIndexes2[0],
292
292
  newColumnIndex = _getCorrectIndexes2[1];
293
+ if (selectIndexes[0] === newRowIndex && selectIndexes[1] === newColumnIndex) {
294
+ return;
295
+ }
293
296
 
294
297
  /**
295
298
  * Изменение состояния необходимо сделать здесь, т.к.
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/Calendar/hooks/useKeyNavigation.ts"],"sourcesContent":["import React, { KeyboardEvent, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport type { DaysMetaDescription, KeyboardArrowKey } from '../Calendar.types';\nimport { Keys } from '../Calendar.types';\nimport { offsetMap } from '../utils';\nimport type { CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseKeyNavigationArgs } from './types';\n\n/**\n * Метод для получения стороны двойного календаря.\n */\nconst getDoubleCalendarSide = (currentIndex: number, calendarState: CalendarStateType) => {\n if (currentIndex >= 0 && currentIndex < offsetMap[calendarState]) {\n return 'first';\n }\n\n if (currentIndex >= offsetMap[calendarState] && currentIndex < offsetMap[calendarState] * 2) {\n return 'second';\n }\n\n return '';\n};\n\nconst isOutOfBound = ([rowIndex, columnIndex]: number[], rowSize: number, columnSize: number) =>\n columnIndex === -1 || columnIndex === columnSize + 1 || rowIndex === -1 || rowIndex === rowSize + 1;\n\nconst isVisible = (refs: React.MutableRefObject<HTMLDivElement[][]>, row: number, column: number) =>\n refs.current?.[row]?.[column];\n\nconst isAriaDisableItem = (item: HTMLDivElement) => item?.getAttribute('aria-disabled') === 'true';\n\nconst hasDisabledArrowKey = ({\n refs,\n payload,\n key,\n}: {\n refs: React.MutableRefObject<HTMLDivElement[][]>;\n payload: number[];\n key: KeyboardArrowKey;\n}) => {\n const [previousRowIndex, previousColumnIndex] = payload;\n\n const disabledArrowKey = refs.current?.[previousRowIndex]?.[previousColumnIndex]?.dataset.disabledArrowKey;\n\n return Boolean(disabledArrowKey?.includes(key));\n};\n\nconst hasDisabledMonths = ({ item, key }: { item: HTMLDivElement; key: 'previous' | 'next' }) => {\n return item?.dataset?.disabledMonths ? item?.dataset?.disabledMonths.includes(key) : false;\n};\n\nconst getNextCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex <= columnSize) {\n newColumnIndex++;\n\n if (newColumnIndex > columnSize && newRowIndex < rowSize) {\n newRowIndex++;\n newColumnIndex = minColumnIndex;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item) {\n const isDisabledArrowDown = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const isDisabledArrowRight = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'right',\n });\n\n if (isDisabledArrowDown || isDisabledArrowRight) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\nconst getPreviousCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex >= minColumnIndex) {\n newColumnIndex--;\n\n if (newColumnIndex < minColumnIndex && newRowIndex <= rowSize) {\n newRowIndex--;\n newColumnIndex = columnSize;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item && item.dataset.day === '1') {\n const isDisabledArrowUp = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const isDisabledArrowLeft = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'left',\n });\n\n if (isDisabledArrowUp || isDisabledArrowLeft) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Метод для нахождения стартового индекса дня в следующем/предыдущем месяце\n */\nfunction getCorrectColumnIndex({\n refs,\n rowSize,\n isNext,\n}: {\n refs: HTMLDivElement[][];\n rowSize: number;\n isNext: boolean;\n}): number {\n if (isNext) {\n let index = refs[rowSize].filter(Boolean).length;\n\n if (!index) {\n index = refs[rowSize - 1].filter(Boolean).length;\n }\n\n return index;\n }\n\n // Смещение влево - начинаем поиск первого не-nullable элемента в первой строке\n return refs[0].findIndex((item) => item) - 1;\n}\n\nconst getCorrectIndexes = (\n refs: React.MutableRefObject<HTMLDivElement[][]>,\n [rowIndex, columnIndex]: number[],\n rowSize: number,\n columnSize: number,\n withShift: boolean,\n defaultState: number[],\n calendarState: CalendarStateType,\n) => {\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n const minRowIndex = newRowIndex + 1;\n const maxRowIndex = newRowIndex - 1;\n\n const minColumnIndex = 0;\n const maxColumnIndex = columnSize;\n\n if (newColumnIndex === minColumnIndex - 1) {\n newColumnIndex += 1;\n\n while (newColumnIndex < maxColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex++;\n }\n }\n\n if (newColumnIndex === columnSize + 1) {\n newColumnIndex -= 1;\n\n while (newColumnIndex > minColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex--;\n }\n }\n\n if (newRowIndex === minColumnIndex - 1) {\n newRowIndex = offsetMap[calendarState] - 1;\n\n while (newRowIndex > minRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex--;\n }\n }\n\n if (newRowIndex === rowSize + 1) {\n newRowIndex = rowSize + 1 - offsetMap[calendarState];\n\n while (newRowIndex <= maxRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex++;\n }\n }\n\n // INFO: Логика для получения правильной позиции дня, когда переключились на другой месяц\n // INFO: и ставим указатель на первый доступный день. Только при зажатой клавиши Shift.\n if (isAriaDisableItem(refs.current?.[newRowIndex]?.[newColumnIndex]) && withShift) {\n const isNext = rowIndex === rowSize + 1;\n const isPrevious = rowIndex === minColumnIndex - 1;\n\n const state = { refs, rowSize, newColumnIndex, minColumnIndex, columnSize, newRowIndex, defaultState };\n\n if (isNext) {\n return getNextCorrectPosition(state);\n }\n\n if (isPrevious) {\n return getPreviousCorrectPosition(state);\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Хук для осуществления возможности клавиатурной навигации по матрице.\n */\nexport const useKeyNavigation = ({ isDouble = false, size, onPrev, onNext, calendarState }: UseKeyNavigationArgs) => {\n const [rowSize, columnSize] = size;\n const [selectIndexes, setSelectIndexes] = useState<number[]>([0, 0]);\n const [isOutOfMinMaxRange, setIsOutOfMinMaxRange] = useState<boolean>(false);\n\n const withShiftState = useRef<boolean>(false);\n const currentIndexes = useRef<number[]>([0, 0]);\n\n const outerRefs = useRef(\n Array(rowSize + 1)\n .fill(0)\n .map(() => Array<HTMLDivElement>(columnSize + 1)),\n );\n\n useLayoutEffect(() => {\n if (!isOutOfBound(selectIndexes, rowSize, columnSize)) {\n return;\n }\n\n if (withShiftState.current) {\n const isNext = selectIndexes[0] === rowSize + 1;\n\n let refs = outerRefs.current;\n\n const isSecond = isDouble && isNext;\n const isFirst = isDouble && !isNext;\n\n const firstEndIndex = Math.floor(sizeMap[calendarState].double[0] / 2);\n\n // Определяем какую часть сдвоенного календаря взять\n if (isFirst) {\n refs = outerRefs.current.slice(0, firstEndIndex);\n } else if (isSecond) {\n refs = outerRefs.current.slice(firstEndIndex, sizeMap[calendarState].double[1]);\n }\n\n const refsList = refs?.flatMap((items) => items.filter(Boolean));\n\n // Если в месяце нет хотя бы одной none-disabled даты значит весь месяц выключен.\n const hasSomeEnabledDay = refsList.some((item) => !isAriaDisableItem(item));\n\n const isDisabledNextMonth = hasDisabledMonths({ item: refsList[refsList.length - 1], key: 'next' });\n const isDisabledPreviousMonth = hasDisabledMonths({ item: refsList[0], key: 'previous' });\n\n // Если следующий/предыдущий месяц находится за границами мин/макс, то переходить на него\n // с текущего выключенного, нет смысла.\n if (!hasSomeEnabledDay && (isDisabledNextMonth || isDisabledPreviousMonth)) {\n const inverseHandle = isNext ? onPrev : onNext;\n\n inverseHandle();\n\n setSelectIndexes(currentIndexes.current);\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(true);\n\n return;\n }\n\n if (!hasSomeEnabledDay) {\n const handle = isNext ? onNext : onPrev;\n\n const startColumnIndex = getCorrectColumnIndex({\n refs,\n rowSize: isDouble ? refs.length - 1 : rowSize,\n isNext,\n });\n\n handle();\n\n setSelectIndexes([selectIndexes[0], startColumnIndex]);\n\n return;\n }\n }\n\n const [newRowIndex, newColumnIndex] = getCorrectIndexes(\n outerRefs,\n selectIndexes,\n rowSize,\n columnSize,\n withShiftState.current,\n currentIndexes.current,\n calendarState,\n );\n\n /**\n * Изменение состояния необходимо сделать здесь, т.к.\n * требуется дождаться обновление DOM и outerRefs\n */\n setSelectIndexes([newRowIndex, newColumnIndex]);\n }, [onPrev, onNext, selectIndexes, rowSize, columnSize, withShiftState, currentIndexes, isDouble]);\n\n useLayoutEffect(() => {\n const [rowIndex, columnIndex] = selectIndexes;\n\n const item = outerRefs?.current?.[rowIndex]?.[columnIndex];\n\n if (item) {\n item.focus();\n }\n }, [selectIndexes, outerRefs]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setIsOutOfMinMaxRange(false);\n\n const { keyCode, shiftKey: withShift } = event;\n\n const [currentRowIndex, currentColumnIndex] = selectIndexes;\n\n let newRowIndex = currentRowIndex;\n let newColumnIndex = currentColumnIndex;\n\n const minColumnIndex = 0;\n const minRowIndex = 0;\n\n const prevRowIndex = currentRowIndex - 1;\n const nextRowIndex = currentRowIndex + 1;\n\n const prevColumnIndex = currentColumnIndex - 1;\n const nextColumnIndex = currentColumnIndex + 1;\n\n currentIndexes.current = [currentRowIndex, currentColumnIndex];\n\n const positionState = {\n refs: outerRefs,\n rowSize,\n columnSize,\n minColumnIndex,\n defaultState: [currentRowIndex, currentColumnIndex],\n };\n\n switch (keyCode) {\n case Keys.pageUp: {\n event.preventDefault();\n\n const isDisabledPreviousMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'previous',\n });\n\n if (isDisabledPreviousMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onPrev(withShift);\n\n break;\n }\n case Keys.pageDown: {\n event.preventDefault();\n\n const isDisabledNextMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'next',\n });\n\n if (isDisabledNextMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onNext(withShift);\n\n break;\n }\n case Keys.home: {\n event.preventDefault();\n\n newColumnIndex = minColumnIndex;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = minColumnIndex - 1;\n\n break;\n }\n case Keys.end: {\n event.preventDefault();\n\n newColumnIndex = columnSize;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = columnSize + 1;\n\n break;\n }\n\n case Keys.left: {\n event.preventDefault();\n\n newRowIndex = prevColumnIndex < minColumnIndex ? prevRowIndex : currentRowIndex;\n newColumnIndex = prevColumnIndex < minColumnIndex ? columnSize : prevColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowLeft = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'left',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowLeft);\n\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n // INFO: Для навигации только по доступным дням\n if (withShift) {\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n case Keys.up: {\n event.preventDefault();\n\n newRowIndex = prevRowIndex < minRowIndex ? rowSize : prevRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowUp = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'up',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowUp);\n\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n\n case Keys.right: {\n event.preventDefault();\n\n newRowIndex = nextColumnIndex > columnSize ? nextRowIndex : currentRowIndex;\n newColumnIndex = nextColumnIndex > columnSize ? minColumnIndex : nextColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowRight = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'right',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowRight);\n\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.down: {\n event.preventDefault();\n\n newRowIndex = nextRowIndex > rowSize ? minRowIndex : nextRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowDown = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'down',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowDown);\n\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.enter:\n case Keys.space: {\n outerRefs.current?.[newRowIndex]?.[newColumnIndex].click();\n break;\n }\n\n default:\n return;\n }\n\n setSelectIndexes([newRowIndex, newColumnIndex]);\n },\n [selectIndexes, outerRefs, rowSize, columnSize, onNext, onPrev, isDouble],\n );\n\n return [selectIndexes, onKeyDown, setSelectIndexes, outerRefs, isOutOfMinMaxRange] as const;\n};\n"],"names":["getDoubleCalendarSide","currentIndex","calendarState","offsetMap","isOutOfBound","_ref","rowSize","columnSize","_ref2","_slicedToArray","rowIndex","columnIndex","isVisible","refs","row","column","_refs$current","current","isAriaDisableItem","item","getAttribute","hasDisabledArrowKey","_ref3","_refs$current2","payload","key","_payload","previousRowIndex","previousColumnIndex","disabledArrowKey","dataset","Boolean","includes","hasDisabledMonths","_ref4","_item$dataset","_item$dataset2","disabledMonths","getNextCorrectPosition","_ref5","_refs$current3","newRowIndex","newColumnIndex","minColumnIndex","_ref5$defaultState","defaultState","_refs$current4","isDisabledArrowDown","isDisabledArrowRight","getPreviousCorrectPosition","_ref6","_refs$current5","_ref6$defaultState","_refs$current6","day","isDisabledArrowUp","isDisabledArrowLeft","getCorrectColumnIndex","_ref7","isNext","index","filter","length","findIndex","getCorrectIndexes","_ref8","withShift","_refs$current7","_ref9","minRowIndex","maxRowIndex","maxColumnIndex","isPrevious","state","useKeyNavigation","_ref10","_ref10$isDouble","isDouble","size","onPrev","onNext","_size","_useState","useState","_useState2","selectIndexes","setSelectIndexes","_useState3","_useState4","isOutOfMinMaxRange","setIsOutOfMinMaxRange","withShiftState","useRef","currentIndexes","outerRefs","Array","fill","map","useLayoutEffect","_refs","isSecond","isFirst","firstEndIndex","Math","floor","sizeMap","slice","refsList","flatMap","items","hasSomeEnabledDay","some","isDisabledNextMonth","isDisabledPreviousMonth","inverseHandle","handle","startColumnIndex","_getCorrectIndexes","_getCorrectIndexes2","_outerRefs$current","_selectIndexes","focus","onKeyDown","useCallback","event","keyCode","shiftKey","_selectIndexes2","currentRowIndex","currentColumnIndex","prevRowIndex","nextRowIndex","prevColumnIndex","nextColumnIndex","positionState","Keys","pageUp","preventDefault","pageDown","home","end","left","isCurrentDateDisabledArrowLeft","_getPreviousCorrectPo","_objectSpread","_getPreviousCorrectPo2","up","isCurrentDateDisabledArrowUp","isNextDateDisabledArrowUp","_getPreviousCorrectPo3","_getPreviousCorrectPo4","haseCurrentPosition","right","isCurrentDateDisabledArrowRight","_getNextCorrectPositi","_getNextCorrectPositi2","down","isCurrentDateDisabledArrowDown","_getNextCorrectPositi3","_getNextCorrectPositi4","enter","space","_outerRefs$current2","click"],"mappings":"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"}
1
+ {"version":3,"file":"useKeyNavigation.js","sources":["../../../../src/components/Calendar/hooks/useKeyNavigation.ts"],"sourcesContent":["import React, { KeyboardEvent, useCallback, useLayoutEffect, useRef, useState } from 'react';\n\nimport type { DaysMetaDescription, KeyboardArrowKey } from '../Calendar.types';\nimport { Keys } from '../Calendar.types';\nimport { offsetMap } from '../utils';\nimport type { CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseKeyNavigationArgs } from './types';\n\n/**\n * Метод для получения стороны двойного календаря.\n */\nconst getDoubleCalendarSide = (currentIndex: number, calendarState: CalendarStateType) => {\n if (currentIndex >= 0 && currentIndex < offsetMap[calendarState]) {\n return 'first';\n }\n\n if (currentIndex >= offsetMap[calendarState] && currentIndex < offsetMap[calendarState] * 2) {\n return 'second';\n }\n\n return '';\n};\n\nconst isOutOfBound = ([rowIndex, columnIndex]: number[], rowSize: number, columnSize: number) =>\n columnIndex === -1 || columnIndex === columnSize + 1 || rowIndex === -1 || rowIndex === rowSize + 1;\n\nconst isVisible = (refs: React.MutableRefObject<HTMLDivElement[][]>, row: number, column: number) =>\n refs.current?.[row]?.[column];\n\nconst isAriaDisableItem = (item: HTMLDivElement) => item?.getAttribute('aria-disabled') === 'true';\n\nconst hasDisabledArrowKey = ({\n refs,\n payload,\n key,\n}: {\n refs: React.MutableRefObject<HTMLDivElement[][]>;\n payload: number[];\n key: KeyboardArrowKey;\n}) => {\n const [previousRowIndex, previousColumnIndex] = payload;\n\n const disabledArrowKey = refs.current?.[previousRowIndex]?.[previousColumnIndex]?.dataset.disabledArrowKey;\n\n return Boolean(disabledArrowKey?.includes(key));\n};\n\nconst hasDisabledMonths = ({ item, key }: { item: HTMLDivElement; key: 'previous' | 'next' }) => {\n return item?.dataset?.disabledMonths ? item?.dataset?.disabledMonths.includes(key) : false;\n};\n\nconst getNextCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex <= columnSize) {\n newColumnIndex++;\n\n if (newColumnIndex > columnSize && newRowIndex < rowSize) {\n newRowIndex++;\n newColumnIndex = minColumnIndex;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item) {\n const isDisabledArrowDown = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const isDisabledArrowRight = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'right',\n });\n\n if (isDisabledArrowDown || isDisabledArrowRight) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\nconst getPreviousCorrectPosition = ({\n refs,\n rowSize,\n newRowIndex,\n newColumnIndex,\n columnSize,\n minColumnIndex,\n defaultState = [],\n}: DaysMetaDescription): number[] => {\n let item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n while (isAriaDisableItem(item) && newColumnIndex >= minColumnIndex) {\n newColumnIndex--;\n\n if (newColumnIndex < minColumnIndex && newRowIndex <= rowSize) {\n newRowIndex--;\n newColumnIndex = columnSize;\n }\n\n item = refs.current?.[newRowIndex]?.[newColumnIndex];\n\n if (item && item.dataset.day === '1') {\n const isDisabledArrowUp = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const isDisabledArrowLeft = hasDisabledArrowKey({\n refs,\n payload: [newRowIndex, newColumnIndex],\n key: 'left',\n });\n\n if (isDisabledArrowUp || isDisabledArrowLeft) {\n return defaultState;\n }\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Метод для нахождения стартового индекса дня в следующем/предыдущем месяце\n */\nfunction getCorrectColumnIndex({\n refs,\n rowSize,\n isNext,\n}: {\n refs: HTMLDivElement[][];\n rowSize: number;\n isNext: boolean;\n}): number {\n if (isNext) {\n let index = refs[rowSize].filter(Boolean).length;\n\n if (!index) {\n index = refs[rowSize - 1].filter(Boolean).length;\n }\n\n return index;\n }\n\n // Смещение влево - начинаем поиск первого не-nullable элемента в первой строке\n return refs[0].findIndex((item) => item) - 1;\n}\n\nconst getCorrectIndexes = (\n refs: React.MutableRefObject<HTMLDivElement[][]>,\n [rowIndex, columnIndex]: number[],\n rowSize: number,\n columnSize: number,\n withShift: boolean,\n defaultState: number[],\n calendarState: CalendarStateType,\n) => {\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n const minRowIndex = newRowIndex + 1;\n const maxRowIndex = newRowIndex - 1;\n\n const minColumnIndex = 0;\n const maxColumnIndex = columnSize;\n\n if (newColumnIndex === minColumnIndex - 1) {\n newColumnIndex += 1;\n\n while (newColumnIndex < maxColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex++;\n }\n }\n\n if (newColumnIndex === columnSize + 1) {\n newColumnIndex -= 1;\n\n while (newColumnIndex > minColumnIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newColumnIndex--;\n }\n }\n\n if (newRowIndex === minColumnIndex - 1) {\n newRowIndex = offsetMap[calendarState] - 1;\n\n while (newRowIndex > minRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex--;\n }\n }\n\n if (newRowIndex === rowSize + 1) {\n newRowIndex = rowSize + 1 - offsetMap[calendarState];\n\n while (newRowIndex <= maxRowIndex && !isVisible(refs, newRowIndex, newColumnIndex)) {\n newRowIndex++;\n }\n }\n\n // INFO: Логика для получения правильной позиции дня, когда переключились на другой месяц\n // INFO: и ставим указатель на первый доступный день. Только при зажатой клавиши Shift.\n if (isAriaDisableItem(refs.current?.[newRowIndex]?.[newColumnIndex]) && withShift) {\n const isNext = rowIndex === rowSize + 1;\n const isPrevious = rowIndex === minColumnIndex - 1;\n\n const state = { refs, rowSize, newColumnIndex, minColumnIndex, columnSize, newRowIndex, defaultState };\n\n if (isNext) {\n return getNextCorrectPosition(state);\n }\n\n if (isPrevious) {\n return getPreviousCorrectPosition(state);\n }\n }\n\n return [newRowIndex, newColumnIndex];\n};\n\n/**\n * Хук для осуществления возможности клавиатурной навигации по матрице.\n */\nexport const useKeyNavigation = ({ isDouble = false, size, onPrev, onNext, calendarState }: UseKeyNavigationArgs) => {\n const [rowSize, columnSize] = size;\n const [selectIndexes, setSelectIndexes] = useState<number[]>([0, 0]);\n const [isOutOfMinMaxRange, setIsOutOfMinMaxRange] = useState<boolean>(false);\n\n const withShiftState = useRef<boolean>(false);\n const currentIndexes = useRef<number[]>([0, 0]);\n\n const outerRefs = useRef(\n Array(rowSize + 1)\n .fill(0)\n .map(() => Array<HTMLDivElement>(columnSize + 1)),\n );\n\n useLayoutEffect(() => {\n if (!isOutOfBound(selectIndexes, rowSize, columnSize)) {\n return;\n }\n\n if (withShiftState.current) {\n const isNext = selectIndexes[0] === rowSize + 1;\n\n let refs = outerRefs.current;\n\n const isSecond = isDouble && isNext;\n const isFirst = isDouble && !isNext;\n\n const firstEndIndex = Math.floor(sizeMap[calendarState].double[0] / 2);\n\n // Определяем какую часть сдвоенного календаря взять\n if (isFirst) {\n refs = outerRefs.current.slice(0, firstEndIndex);\n } else if (isSecond) {\n refs = outerRefs.current.slice(firstEndIndex, sizeMap[calendarState].double[1]);\n }\n\n const refsList = refs?.flatMap((items) => items.filter(Boolean));\n\n // Если в месяце нет хотя бы одной none-disabled даты значит весь месяц выключен.\n const hasSomeEnabledDay = refsList.some((item) => !isAriaDisableItem(item));\n\n const isDisabledNextMonth = hasDisabledMonths({ item: refsList[refsList.length - 1], key: 'next' });\n const isDisabledPreviousMonth = hasDisabledMonths({ item: refsList[0], key: 'previous' });\n\n // Если следующий/предыдущий месяц находится за границами мин/макс, то переходить на него\n // с текущего выключенного, нет смысла.\n if (!hasSomeEnabledDay && (isDisabledNextMonth || isDisabledPreviousMonth)) {\n const inverseHandle = isNext ? onPrev : onNext;\n\n inverseHandle();\n\n setSelectIndexes(currentIndexes.current);\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(true);\n\n return;\n }\n\n if (!hasSomeEnabledDay) {\n const handle = isNext ? onNext : onPrev;\n\n const startColumnIndex = getCorrectColumnIndex({\n refs,\n rowSize: isDouble ? refs.length - 1 : rowSize,\n isNext,\n });\n\n handle();\n\n setSelectIndexes([selectIndexes[0], startColumnIndex]);\n\n return;\n }\n }\n\n const [newRowIndex, newColumnIndex] = getCorrectIndexes(\n outerRefs,\n selectIndexes,\n rowSize,\n columnSize,\n withShiftState.current,\n currentIndexes.current,\n calendarState,\n );\n\n if (selectIndexes[0] === newRowIndex && selectIndexes[1] === newColumnIndex) {\n return;\n }\n\n /**\n * Изменение состояния необходимо сделать здесь, т.к.\n * требуется дождаться обновление DOM и outerRefs\n */\n setSelectIndexes([newRowIndex, newColumnIndex]);\n }, [onPrev, onNext, selectIndexes, rowSize, columnSize, withShiftState, currentIndexes, isDouble]);\n\n useLayoutEffect(() => {\n const [rowIndex, columnIndex] = selectIndexes;\n\n const item = outerRefs?.current?.[rowIndex]?.[columnIndex];\n\n if (item) {\n item.focus();\n }\n }, [selectIndexes, outerRefs]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setIsOutOfMinMaxRange(false);\n\n const { keyCode, shiftKey: withShift } = event;\n\n const [currentRowIndex, currentColumnIndex] = selectIndexes;\n\n let newRowIndex = currentRowIndex;\n let newColumnIndex = currentColumnIndex;\n\n const minColumnIndex = 0;\n const minRowIndex = 0;\n\n const prevRowIndex = currentRowIndex - 1;\n const nextRowIndex = currentRowIndex + 1;\n\n const prevColumnIndex = currentColumnIndex - 1;\n const nextColumnIndex = currentColumnIndex + 1;\n\n currentIndexes.current = [currentRowIndex, currentColumnIndex];\n\n const positionState = {\n refs: outerRefs,\n rowSize,\n columnSize,\n minColumnIndex,\n defaultState: [currentRowIndex, currentColumnIndex],\n };\n\n switch (keyCode) {\n case Keys.pageUp: {\n event.preventDefault();\n\n const isDisabledPreviousMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'previous',\n });\n\n if (isDisabledPreviousMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onPrev(withShift);\n\n break;\n }\n case Keys.pageDown: {\n event.preventDefault();\n\n const isDisabledNextMonth = hasDisabledMonths({\n item: outerRefs.current[currentRowIndex][currentColumnIndex],\n key: 'next',\n });\n\n if (isDisabledNextMonth) {\n setIsOutOfMinMaxRange(true);\n\n break;\n }\n\n onNext(withShift);\n\n break;\n }\n case Keys.home: {\n event.preventDefault();\n\n newColumnIndex = minColumnIndex;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = minColumnIndex - 1;\n\n break;\n }\n case Keys.end: {\n event.preventDefault();\n\n newColumnIndex = columnSize;\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n newColumnIndex = columnSize + 1;\n\n break;\n }\n\n case Keys.left: {\n event.preventDefault();\n\n newRowIndex = prevColumnIndex < minColumnIndex ? prevRowIndex : currentRowIndex;\n newColumnIndex = prevColumnIndex < minColumnIndex ? columnSize : prevColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowLeft = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'left',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowLeft);\n\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n // INFO: Для навигации только по доступным дням\n if (withShift) {\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowLeft) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n case Keys.up: {\n event.preventDefault();\n\n newRowIndex = prevRowIndex < minRowIndex ? rowSize : prevRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowUp = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'up',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowUp);\n\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'up',\n });\n\n const [rowIndex, columnIndex] = getPreviousCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'first') {\n if (isCurrentDateDisabledArrowUp) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onPrev();\n }\n\n newRowIndex = minRowIndex - 1;\n\n break;\n }\n\n case Keys.right: {\n event.preventDefault();\n\n newRowIndex = nextColumnIndex > columnSize ? nextRowIndex : currentRowIndex;\n newColumnIndex = nextColumnIndex > columnSize ? minColumnIndex : nextColumnIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowRight = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'right',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowRight);\n\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n setIsOutOfMinMaxRange(rowIndex === currentRowIndex && currentColumnIndex === columnIndex);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowRight) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.down: {\n event.preventDefault();\n\n newRowIndex = nextRowIndex > rowSize ? minRowIndex : nextRowIndex;\n\n withShiftState.current = withShift;\n\n const isCurrentDateDisabledArrowDown = hasDisabledArrowKey({\n refs: outerRefs,\n payload: [currentRowIndex, currentColumnIndex],\n key: 'down',\n });\n\n setIsOutOfMinMaxRange(isCurrentDateDisabledArrowDown);\n\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n if (withShift) {\n const item = outerRefs.current[newRowIndex][newColumnIndex];\n\n const isNextDateDisabledArrowUp =\n !!item &&\n hasDisabledArrowKey({\n refs: outerRefs,\n payload: [newRowIndex, newColumnIndex],\n key: 'down',\n });\n\n const [rowIndex, columnIndex] = getNextCorrectPosition({\n ...positionState,\n newRowIndex,\n newColumnIndex,\n });\n\n // Если индексы равны, значит мы остались на текущей дате по причине, того\n // что в следующем(-их)/предыдущем(-их) месяце нет доступных дат\n const haseCurrentPosition = rowIndex === currentRowIndex && currentColumnIndex === columnIndex;\n\n setIsOutOfMinMaxRange(isNextDateDisabledArrowUp || haseCurrentPosition);\n\n newRowIndex = rowIndex;\n newColumnIndex = columnIndex;\n }\n\n if (isVisible(outerRefs, newRowIndex, newColumnIndex)) {\n break;\n }\n\n if (!isDouble || getDoubleCalendarSide(currentRowIndex, calendarState) === 'second') {\n if (isCurrentDateDisabledArrowDown) {\n newRowIndex = currentRowIndex;\n newColumnIndex = currentColumnIndex;\n\n break;\n }\n\n onNext();\n }\n\n newRowIndex = rowSize + 1;\n\n break;\n }\n case Keys.enter:\n case Keys.space: {\n outerRefs.current?.[newRowIndex]?.[newColumnIndex].click();\n break;\n }\n\n default:\n return;\n }\n\n setSelectIndexes([newRowIndex, newColumnIndex]);\n },\n [selectIndexes, outerRefs, rowSize, columnSize, onNext, onPrev, isDouble],\n );\n\n return [selectIndexes, onKeyDown, setSelectIndexes, outerRefs, isOutOfMinMaxRange] as const;\n};\n"],"names":["getDoubleCalendarSide","currentIndex","calendarState","offsetMap","isOutOfBound","_ref","rowSize","columnSize","_ref2","_slicedToArray","rowIndex","columnIndex","isVisible","refs","row","column","_refs$current","current","isAriaDisableItem","item","getAttribute","hasDisabledArrowKey","_ref3","_refs$current2","payload","key","_payload","previousRowIndex","previousColumnIndex","disabledArrowKey","dataset","Boolean","includes","hasDisabledMonths","_ref4","_item$dataset","_item$dataset2","disabledMonths","getNextCorrectPosition","_ref5","_refs$current3","newRowIndex","newColumnIndex","minColumnIndex","_ref5$defaultState","defaultState","_refs$current4","isDisabledArrowDown","isDisabledArrowRight","getPreviousCorrectPosition","_ref6","_refs$current5","_ref6$defaultState","_refs$current6","day","isDisabledArrowUp","isDisabledArrowLeft","getCorrectColumnIndex","_ref7","isNext","index","filter","length","findIndex","getCorrectIndexes","_ref8","withShift","_refs$current7","_ref9","minRowIndex","maxRowIndex","maxColumnIndex","isPrevious","state","useKeyNavigation","_ref10","_ref10$isDouble","isDouble","size","onPrev","onNext","_size","_useState","useState","_useState2","selectIndexes","setSelectIndexes","_useState3","_useState4","isOutOfMinMaxRange","setIsOutOfMinMaxRange","withShiftState","useRef","currentIndexes","outerRefs","Array","fill","map","useLayoutEffect","_refs","isSecond","isFirst","firstEndIndex","Math","floor","sizeMap","slice","refsList","flatMap","items","hasSomeEnabledDay","some","isDisabledNextMonth","isDisabledPreviousMonth","inverseHandle","handle","startColumnIndex","_getCorrectIndexes","_getCorrectIndexes2","_outerRefs$current","_selectIndexes","focus","onKeyDown","useCallback","event","keyCode","shiftKey","_selectIndexes2","currentRowIndex","currentColumnIndex","prevRowIndex","nextRowIndex","prevColumnIndex","nextColumnIndex","positionState","Keys","pageUp","preventDefault","pageDown","home","end","left","isCurrentDateDisabledArrowLeft","_getPreviousCorrectPo","_objectSpread","_getPreviousCorrectPo2","up","isCurrentDateDisabledArrowUp","isNextDateDisabledArrowUp","_getPreviousCorrectPo3","_getPreviousCorrectPo4","haseCurrentPosition","right","isCurrentDateDisabledArrowRight","_getNextCorrectPositi","_getNextCorrectPositi2","down","isCurrentDateDisabledArrowDown","_getNextCorrectPositi3","_getNextCorrectPositi4","enter","space","_outerRefs$current2","click"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- .DateStructureItem_styles_z3dhwf_s140bov1__431a872e{border-radius:calc(var(--plasma-calendar-date-structure-border-radius) - 0.125rem);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.DateStructureItem_styles_z3dhwf_s140bov1__431a872e.DateStructureItem_styles_z3dhwf_itemInRange__431a872e:before{content:'';z-index:-1;position:absolute;width:100%;height:calc(100% - 0.125rem);background:var(--plasma-calendar-range-background);}.DateStructureItem_styles_z3dhwf_s140bov1__431a872e.DateStructureItem_styles_z3dhwf_itemSideInRange__431a872e:before{content:'';z-index:-1;position:absolute;width:0.75rem;height:calc(100% - 0.125rem);background:var(--plasma-calendar-range-background);}.DateStructureItem_styles_z3dhwf_s140bov1__431a872e.DateStructureItem_styles_z3dhwf_itemSideLeft__431a872e:before{left:var(--s140bov1-0);}.DateStructureItem_styles_z3dhwf_s140bov1__431a872e.DateStructureItem_styles_z3dhwf_itemSideRight__431a872e:before{right:var(--s140bov1-0);}
2
- .DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e{font-family:var(--plasma-calendar-date-structure-font-family);font-size:var(--plasma-calendar-date-structure-font-size);font-style:var(--plasma-calendar-date-structure-font-style);font-weight:var(--plasma-calendar-date-structure-font-weight);-webkit-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);-moz-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);-ms-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);line-height:var(--plasma-calendar-date-structure-line-height);position:relative;box-sizing:border-box;border-radius:var(--plasma-calendar-date-structure-border-radius);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--s1k1xcqq-0);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e{outline:none;cursor:pointer;position:relative;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e:hover{background-color:var(--plasma-calendar-selectable-item-bg-hover);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemHovered__431a872e,.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemHovered__431a872e:hover{background-color:var(--plasma-calendar-selected-item-background);color:var(--plasma-calendar-selected-item-color);cursor:pointer;font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemSelected__431a872e:not(.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e){border:0;background-color:var(--plasma-calendar-selected-item-background);color:var(--plasma-calendar-selected-item-color);cursor:default;font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e{border:var(--plasma-calendar-current-item-border-width) solid var(--plasma-calendar-current-item-border-color);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e.DateStructureItem_styles_z3dhwf_itemSelected__431a872e{background-color:initial;color:var(--plasma-calendar-selected-item-color);font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e.DateStructureItem_styles_z3dhwf_itemSelected__431a872e > div:first-of-type{background-color:var(--plasma-calendar-selected-item-background);min-width:calc(100% - 0.125rem);min-height:calc(100% - 0.125rem);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-calendar-date-structure-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_focusVisible__431a872e:focus::before,.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-calendar-outline-focus-color);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e{position:relative;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e::before{content:'';position:absolute;top:-0.1875rem;left:-0.1875rem;right:-0.1875rem;bottom:-0.1875rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-calendar-date-structure-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e.DateStructureItem_styles_z3dhwf_focusVisible__431a872e:focus::before,.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemSelectable__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-calendar-outline-focus-color);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_dayInCurrentMonth__431a872e:not(.DateStructureItem_styles_z3dhwf_itemDisabled__431a872e):active{background-color:var(--plasma-calendar-active-item-bg);color:var(--plasma-calendar-active-item-color);font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_dayOfWeek__431a872e{color:var(--plasma-calendar-day-of-the-week-color);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemDisabled__431a872e{color:var(--s1k1xcqq-1);cursor:not-allowed;opacity:var(--plasma-calendar-disabled-opacity);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemDisabledCurrent__431a872e{color:var(--s1k1xcqq-1);cursor:not-allowed;opacity:var(--plasma-calendar-disabled-opacity);}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e > .DateStructureItem_styles_z3dhwf_itemInRange__431a872e:before{width:calc(100% + 2px);height:100%;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e > .DateStructureItem_styles_z3dhwf_itemSideRight__431a872e:before{width:100%;right:-1px;left:unset;}.DateStructureItem_styles_z3dhwf_s1k1xcqq__431a872e.DateStructureItem_styles_z3dhwf_itemCurrent__431a872e > .DateStructureItem_styles_z3dhwf_itemSideLeft__431a872e:before{width:100%;left:-1px;right:unset;}
3
- .DateStructureItem_styles_z3dhwf_s1wqrord__431a872e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;bottom:var(--plasma-calendar-event-item-bottom,0.25rem);}
4
- .DateStructureItem_styles_z3dhwf_s1cvvf5__431a872e{margin:0 0.063rem;width:0.188rem;height:0.188rem;border-radius:50%;background-color:var(--s1cvvf5-0);}
1
+ .DateStructureItem_styles_1jogt74_s140bov1__5d6e738e{border-radius:calc(var(--plasma-calendar-date-structure-border-radius) - 0.125rem);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.DateStructureItem_styles_1jogt74_s140bov1__5d6e738e.DateStructureItem_styles_1jogt74_itemInRange__5d6e738e:before{content:'';z-index:-1;position:absolute;width:100%;height:calc(100% - 0.125rem);background:var(--plasma-calendar-range-background);}.DateStructureItem_styles_1jogt74_s140bov1__5d6e738e.DateStructureItem_styles_1jogt74_itemSideInRange__5d6e738e:before{content:'';z-index:-1;position:absolute;width:0.75rem;height:calc(100% - 0.125rem);background:var(--plasma-calendar-range-background);}.DateStructureItem_styles_1jogt74_s140bov1__5d6e738e.DateStructureItem_styles_1jogt74_itemSideLeft__5d6e738e:before{left:var(--s140bov1-0);}.DateStructureItem_styles_1jogt74_s140bov1__5d6e738e.DateStructureItem_styles_1jogt74_itemSideRight__5d6e738e:before{right:var(--s140bov1-0);}
2
+ .DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e{font-family:var(--plasma-calendar-date-structure-font-family);font-size:var(--plasma-calendar-date-structure-font-size);font-style:var(--plasma-calendar-date-structure-font-style);font-weight:var(--plasma-calendar-date-structure-font-weight);-webkit-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);-moz-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);-ms-letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);letter-spacing:var(--plasma-calendar-date-structure-font-letter-spacing);line-height:var(--plasma-calendar-date-structure-line-height);position:relative;box-sizing:border-box;border-radius:var(--plasma-calendar-date-structure-border-radius);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--s1k1xcqq-0);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e{outline:none;cursor:pointer;position:relative;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e:hover{background-color:var(--plasma-calendar-selectable-item-bg-hover);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemHovered__5d6e738e,.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemHovered__5d6e738e:hover{background-color:var(--plasma-calendar-selected-item-background);color:var(--plasma-calendar-selected-item-color);cursor:pointer;font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemSelected__5d6e738e:not(.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e){border:0;background-color:var(--plasma-calendar-selected-item-background);color:var(--plasma-calendar-selected-item-color);cursor:default;font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e{border:var(--plasma-calendar-current-item-border-width) solid var(--plasma-calendar-current-item-border-color);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e.DateStructureItem_styles_1jogt74_itemSelected__5d6e738e{background-color:initial;color:var(--plasma-calendar-selected-item-color);font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e.DateStructureItem_styles_1jogt74_itemSelected__5d6e738e > div:first-of-type{background-color:var(--plasma-calendar-selected-item-background);min-width:calc(100% - 0.125rem);min-height:calc(100% - 0.125rem);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e::before{content:'';position:absolute;top:-0.125rem;left:-0.125rem;right:-0.125rem;bottom:-0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-calendar-date-structure-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_focusVisible__5d6e738e:focus::before,.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-calendar-outline-focus-color);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e{position:relative;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e::before{content:'';position:absolute;top:-0.1875rem;left:-0.1875rem;right:-0.1875rem;bottom:-0.1875rem;z-index:1;display:block;box-sizing:content-box;border:0.063rem solid transparent;border-radius:calc(var(--plasma-calendar-date-structure-border-radius) + 0.125rem);-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e.DateStructureItem_styles_1jogt74_focusVisible__5d6e738e:focus::before,.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemSelectable__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.063rem var(--plasma-calendar-outline-focus-color);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_dayInCurrentMonth__5d6e738e:not(.DateStructureItem_styles_1jogt74_itemDisabled__5d6e738e):active{background-color:var(--plasma-calendar-active-item-bg);color:var(--plasma-calendar-active-item-color);font-weight:var(--plasma-calendar-date-structure-selected-font-weight);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_dayOfWeek__5d6e738e{color:var(--plasma-calendar-day-of-the-week-color);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemDisabled__5d6e738e{color:var(--s1k1xcqq-1);cursor:not-allowed;opacity:var(--plasma-calendar-disabled-opacity);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemDisabledCurrent__5d6e738e{color:var(--s1k1xcqq-1);cursor:not-allowed;opacity:var(--plasma-calendar-disabled-opacity);}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e > .DateStructureItem_styles_1jogt74_itemInRange__5d6e738e:before{width:calc(100% + 2px);height:100%;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e > .DateStructureItem_styles_1jogt74_itemSideRight__5d6e738e:before{width:100%;right:-1px;left:unset;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e.DateStructureItem_styles_1jogt74_itemCurrent__5d6e738e > .DateStructureItem_styles_1jogt74_itemSideLeft__5d6e738e:before{width:100%;left:-1px;right:unset;}.DateStructureItem_styles_1jogt74_s1k1xcqq__5d6e738e .DateStructureItem_styles_1jogt74_popoverWrapper__5d6e738e.DateStructureItem_styles_1jogt74_popoverTargetAsRef__5d6e738e{z-index:-1;width:100%;}
3
+ .DateStructureItem_styles_1jogt74_s1wqrord__5d6e738e{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;bottom:var(--plasma-calendar-event-item-bottom,0.25rem);}
4
+ .DateStructureItem_styles_1jogt74_s1cvvf5__5d6e738e{margin:0 0.063rem;width:0.188rem;height:0.188rem;border-radius:50%;background-color:var(--s1cvvf5-0);}
5
5
 
6
6
  .CalendarDays_styles_445k2m_s1jnjaxw__ac4a553a{outline:none;padding:var(--plasma-calendar-days-padding);box-sizing:border-box;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);width:100%;height:100%;}
7
7
  .CalendarDays_styles_445k2m_s1rv3pd5__ac4a553a{display:none;}
@@ -26,6 +26,7 @@ var CalendarDays = function CalendarDays(_ref) {
26
26
  outerRefs = _ref.outerRefs,
27
27
  onChangeDay = _ref.onChangeDay,
28
28
  onHoverDay = _ref.onHoverDay,
29
+ onTriggerEventTooltip = _ref.onTriggerEventTooltip,
29
30
  onSetSelected = _ref.onSetSelected,
30
31
  onKeyDown = _ref.onKeyDown,
31
32
  _ref$locale = _ref.locale,
@@ -44,6 +45,7 @@ var CalendarDays = function CalendarDays(_ref) {
44
45
  selected = _useDays2[1];
45
46
  var selectedRef = useRef(selected);
46
47
  var onSetSelectedRef = useRef(onSetSelected);
48
+ var noopRef = useRef(null);
47
49
  var offset = isSecond ? ROW_STEP : 0;
48
50
  var dayItemTokens = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(innerTokens.dateStructureFontFamily), "var(".concat(tokens.calendarDayFontFamily, ")")), "".concat(innerTokens.dateStructureFontSize), "var(".concat(tokens.calendarDayFontSize, ")")), "".concat(innerTokens.dateStructureFontWeight), "var(".concat(tokens.calendarDayFontWeight, ")")), "".concat(innerTokens.dateStructureFontLineHeight), "var(".concat(tokens.calendarDayFontLineHeight, ")")), "".concat(innerTokens.dateStructureFontLetterSpacing), "var(".concat(tokens.calendarDayFontLetterSpacing, ")")), "".concat(innerTokens.dateStructureFontStyle), "var(".concat(tokens.calendarDayFontStyle, ")")), "".concat(innerTokens.dateStructureSelectedFontWeight), "var(".concat(tokens.calendarDaySelectedFontWeight, ")")), "".concat(innerTokens.dateStructureBorderRadius), "var(".concat(tokens.calendarDayItemBorderRadius, ")"));
49
51
  var getSelectedDate = useCallback(function (event) {
@@ -82,7 +84,8 @@ var CalendarDays = function CalendarDays(_ref) {
82
84
  onHoverDay === null || onHoverDay === void 0 || onHoverDay(selectedDate);
83
85
  }, [getSelectedDate, onHoverDay, value]);
84
86
  var handleMouseOutGrid = function handleMouseOutGrid() {
85
- return onHoverDay === null || onHoverDay === void 0 ? void 0 : onHoverDay(undefined);
87
+ onHoverDay === null || onHoverDay === void 0 || onHoverDay(undefined);
88
+ onTriggerEventTooltip === null || onTriggerEventTooltip === void 0 || onTriggerEventTooltip(noopRef, []);
86
89
  };
87
90
  var getRefs = function getRefs(element, isDayInCurrentMonth, i, j) {
88
91
  if (isDayInCurrentMonth) {
@@ -149,6 +152,7 @@ var CalendarDays = function CalendarDays(_ref) {
149
152
  sideInRange: getSideInRange(value, date, hoveredDay, isSelected),
150
153
  onClick: disabled ? undefined : handleOnChangeDay(i, j),
151
154
  onMouseOver: disabled ? undefined : handleOnHoverDay,
155
+ onTriggerEventTooltip: onTriggerEventTooltip,
152
156
  key: "StyledDay-".concat(i, "-").concat(j),
153
157
  role: "gridcell",
154
158
  disabledArrowKey: disabledArrowKey,