@salutejs/plasma-new-hope 0.172.1-canary.1498.11456450638.0 → 0.173.0-canary.1452.11459530697.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  2. package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  3. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  4. package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  5. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  6. package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  7. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  8. package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  9. package/cjs/components/Slider/Slider.css +15 -13
  10. package/cjs/components/Slider/Slider.js +11 -3
  11. package/cjs/components/Slider/Slider.js.map +1 -1
  12. package/cjs/components/Slider/Slider.tokens.js +23 -17
  13. package/cjs/components/Slider/Slider.tokens.js.map +1 -1
  14. package/cjs/components/Slider/components/Double/Double.css +8 -8
  15. package/cjs/components/Slider/components/Double/Double.js +58 -23
  16. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  17. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +77 -0
  18. package/cjs/components/Slider/components/Single/Single.css +14 -14
  19. package/cjs/components/Slider/components/Single/Single.js +64 -33
  20. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  21. package/cjs/components/Slider/components/Single/Single.styles.js +4 -4
  22. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  23. package/cjs/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
  24. package/cjs/components/Slider/components/SliderBase/SliderBase.css +5 -5
  25. package/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  26. package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  27. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  28. package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  29. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
  30. package/cjs/components/Slider/ui/Handler/Handler.css +3 -3
  31. package/cjs/components/Slider/ui/Handler/Handler.js +49 -88
  32. package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
  33. package/cjs/components/Slider/ui/Handler/Handler.styles.js +17 -7
  34. package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  35. package/cjs/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
  36. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js +122 -0
  37. package/cjs/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
  38. package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -1
  39. package/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  40. package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  41. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  42. package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  43. package/cjs/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
  44. package/cjs/components/Slider/utils/index.js +28 -10
  45. package/cjs/components/Slider/utils/index.js.map +1 -1
  46. package/cjs/components/Slider/variations/_view/base.js +1 -1
  47. package/cjs/components/Slider/variations/_view/base.js.map +1 -1
  48. package/cjs/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
  49. package/cjs/index.css +15 -13
  50. package/cjs/utils/index.js.map +1 -1
  51. package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  52. package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  53. package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  54. package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  55. package/emotion/cjs/components/Slider/Slider.js +10 -2
  56. package/emotion/cjs/components/Slider/Slider.template-doc.mdx +26 -0
  57. package/emotion/cjs/components/Slider/Slider.tokens.js +23 -17
  58. package/emotion/cjs/components/Slider/components/Double/Double.js +54 -19
  59. package/emotion/cjs/components/Slider/components/Single/Single.js +64 -33
  60. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +18 -9
  61. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  62. package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +10 -10
  63. package/emotion/cjs/components/Slider/ui/Handler/Handler.js +52 -88
  64. package/emotion/cjs/components/Slider/ui/Handler/Handler.styles.js +9 -15
  65. package/emotion/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
  66. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  67. package/emotion/cjs/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  68. package/emotion/cjs/components/Slider/utils/index.js +28 -10
  69. package/emotion/cjs/components/Slider/variations/_view/base.js +2 -1
  70. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  71. package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +90 -16
  72. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  73. package/emotion/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +90 -15
  74. package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  75. package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  76. package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  77. package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  78. package/emotion/es/components/Slider/Slider.js +11 -2
  79. package/emotion/es/components/Slider/Slider.template-doc.mdx +26 -0
  80. package/emotion/es/components/Slider/Slider.tokens.js +23 -17
  81. package/emotion/es/components/Slider/components/Double/Double.js +54 -19
  82. package/emotion/es/components/Slider/components/Single/Single.js +65 -34
  83. package/emotion/es/components/Slider/components/Single/Single.styles.js +17 -8
  84. package/emotion/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  85. package/emotion/es/components/Slider/components/SliderBase/SliderBase.styles.js +11 -11
  86. package/emotion/es/components/Slider/ui/Handler/Handler.js +51 -86
  87. package/emotion/es/components/Slider/ui/Handler/Handler.styles.js +10 -16
  88. package/emotion/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
  89. package/emotion/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  90. package/emotion/es/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
  91. package/emotion/es/components/Slider/utils/index.js +28 -10
  92. package/emotion/es/components/Slider/variations/_view/base.js +2 -1
  93. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
  94. package/emotion/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +90 -16
  95. package/emotion/es/examples/plasma_web/components/Slider/Slider.config.js +7 -7
  96. package/emotion/es/examples/plasma_web/components/Slider/Slider.stories.tsx +90 -15
  97. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  98. package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
  99. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  100. package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
  101. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  102. package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -1
  103. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  104. package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
  105. package/es/components/Slider/Slider.css +15 -13
  106. package/es/components/Slider/Slider.js +11 -3
  107. package/es/components/Slider/Slider.js.map +1 -1
  108. package/es/components/Slider/Slider.tokens.js +23 -17
  109. package/es/components/Slider/Slider.tokens.js.map +1 -1
  110. package/es/components/Slider/components/Double/Double.css +8 -8
  111. package/es/components/Slider/components/Double/Double.js +54 -19
  112. package/es/components/Slider/components/Double/Double.js.map +1 -1
  113. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +77 -0
  114. package/es/components/Slider/components/Single/Single.css +14 -14
  115. package/es/components/Slider/components/Single/Single.js +65 -34
  116. package/es/components/Slider/components/Single/Single.js.map +1 -1
  117. package/es/components/Slider/components/Single/Single.styles.js +4 -4
  118. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  119. package/es/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
  120. package/es/components/Slider/components/SliderBase/SliderBase.css +5 -5
  121. package/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  122. package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
  123. package/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  124. package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
  125. package/es/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
  126. package/es/components/Slider/ui/Handler/Handler.css +3 -3
  127. package/es/components/Slider/ui/Handler/Handler.js +48 -87
  128. package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
  129. package/es/components/Slider/ui/Handler/Handler.styles.js +17 -7
  130. package/es/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
  131. package/es/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
  132. package/es/components/Slider/ui/Handler/computeKeyPressData.js +118 -0
  133. package/es/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
  134. package/es/components/Slider/ui/Thumb/Thumb.css +1 -1
  135. package/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  136. package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -1
  137. package/es/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
  138. package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
  139. package/es/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
  140. package/es/components/Slider/utils/index.js +28 -10
  141. package/es/components/Slider/utils/index.js.map +1 -1
  142. package/es/components/Slider/variations/_view/base.js +1 -1
  143. package/es/components/Slider/variations/_view/base.js.map +1 -1
  144. package/es/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
  145. package/es/index.css +15 -13
  146. package/es/utils/index.js.map +1 -1
  147. package/package.json +2 -2
  148. package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  149. package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  150. package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  151. package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  152. package/styled-components/cjs/components/Slider/Slider.js +10 -2
  153. package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +26 -0
  154. package/styled-components/cjs/components/Slider/Slider.tokens.js +23 -17
  155. package/styled-components/cjs/components/Slider/components/Double/Double.js +54 -19
  156. package/styled-components/cjs/components/Slider/components/Single/Single.js +64 -33
  157. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +6 -6
  158. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
  159. package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +6 -6
  160. package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +52 -88
  161. package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +7 -4
  162. package/styled-components/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
  163. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
  164. package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  165. package/styled-components/cjs/components/Slider/utils/index.js +28 -10
  166. package/styled-components/cjs/components/Slider/variations/_view/base.js +2 -1
  167. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  168. package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +90 -16
  169. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  170. package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +90 -15
  171. package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +1 -5
  172. package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +1 -5
  173. package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +1 -5
  174. package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +1 -5
  175. package/styled-components/es/components/Slider/Slider.js +11 -2
  176. package/styled-components/es/components/Slider/Slider.template-doc.mdx +26 -0
  177. package/styled-components/es/components/Slider/Slider.tokens.js +23 -17
  178. package/styled-components/es/components/Slider/components/Double/Double.js +54 -19
  179. package/styled-components/es/components/Slider/components/Single/Single.js +65 -34
  180. package/styled-components/es/components/Slider/components/Single/Single.styles.js +5 -5
  181. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
  182. package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
  183. package/styled-components/es/components/Slider/ui/Handler/Handler.js +51 -86
  184. package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +8 -5
  185. package/styled-components/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
  186. package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +3 -2
  187. package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
  188. package/styled-components/es/components/Slider/utils/index.js +28 -10
  189. package/styled-components/es/components/Slider/variations/_view/base.js +2 -1
  190. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
  191. package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +90 -16
  192. package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +3 -3
  193. package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +90 -15
  194. package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
  195. package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
  196. package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -1
  197. package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
  198. package/types/components/Slider/Slider.d.ts.map +1 -1
  199. package/types/components/Slider/Slider.tokens.d.ts +22 -16
  200. package/types/components/Slider/Slider.tokens.d.ts.map +1 -1
  201. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  202. package/types/components/Slider/components/Double/Double.types.d.ts +1 -0
  203. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  204. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  205. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -1
  206. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  207. package/types/components/Slider/components/Single/Single.types.d.ts +80 -7
  208. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  209. package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -1
  210. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +1 -1
  211. package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -1
  212. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +6 -0
  213. package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -1
  214. package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -1
  215. package/types/components/Slider/ui/Handler/Handler.styles.d.ts +6 -2
  216. package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +1 -1
  217. package/types/components/Slider/ui/Handler/Handler.types.d.ts +5 -1
  218. package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +1 -1
  219. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts +12 -0
  220. package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts.map +1 -0
  221. package/types/components/Slider/ui/Thumb/Thumb.d.ts +1 -1
  222. package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -1
  223. package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -1
  224. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +1 -0
  225. package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -1
  226. package/types/components/Slider/utils/index.d.ts +26 -8
  227. package/types/components/Slider/utils/index.d.ts.map +1 -1
  228. package/types/components/Slider/variations/_view/base.d.ts.map +1 -1
  229. package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -1
  230. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +84 -2
  231. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  232. package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -1
  233. package/types/examples/plasma_web/components/Slider/Slider.d.ts +84 -2
  234. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  235. package/types/utils/index.d.ts +1 -1
  236. package/types/utils/index.d.ts.map +1 -1
  237. package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  238. package/cjs/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
  239. package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
  240. package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
  241. package/cjs/components/Slider/variations/_view/base_x642ct.css +0 -1
  242. package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
  243. package/es/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
  244. package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
  245. package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
  246. package/es/components/Slider/variations/_view/base_x642ct.css +0 -1
@@ -4,14 +4,18 @@ import styled from 'styled-components';
4
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
5
5
  import type { StoryObj, Meta } from '@storybook/react';
6
6
 
7
+ import { IconMic } from '../../../../components/_Icon';
7
8
  import { WithTheme } from '../../../_helpers';
8
9
 
9
10
  import { Slider } from './Slider';
10
11
 
11
12
  const sizes = ['l', 'm', 's'];
13
+ const pointerSizes = ['small', 'large', 'none'];
12
14
  const views = ['default', 'accent', 'gradient'];
13
- const labelPlacements = ['outer', 'inner'];
14
- const rangeValuesPlacement = ['outer', 'inner'];
15
+ const sliderAligns = ['center', 'left', 'right', 'none'];
16
+ const labelPlacements = ['top', 'left'];
17
+ const scaleAligns = ['side', 'bottom'];
18
+ const orientations: Array<string> = ['vertical', 'horizontal'];
15
19
 
16
20
  const meta: Meta<typeof Slider> = {
17
21
  title: 'plasma_web/Slider',
@@ -30,9 +34,24 @@ const meta: Meta<typeof Slider> = {
30
34
  type: 'inline-radio',
31
35
  },
32
36
  },
37
+ pointerSize: {
38
+ options: pointerSizes,
39
+ control: {
40
+ type: 'inline-radio',
41
+ },
42
+ },
43
+ orientation: {
44
+ options: orientations,
45
+ control: {
46
+ type: 'select',
47
+ },
48
+ },
33
49
  ...disableProps([
34
50
  'value',
35
51
  'onChangeCommitted',
52
+ 'onChangeTextField',
53
+ 'onBlurTextField',
54
+ 'onKeyDownTextField',
36
55
  'ariaLabel',
37
56
  'onChange',
38
57
  'fontSizeMultiplier',
@@ -52,8 +71,9 @@ type StorySingleProps = StoryProps;
52
71
  type StorySingle = StoryObj<StorySingleProps>;
53
72
  type StoryDouble = StoryObj<StoryProps>;
54
73
 
55
- const SliderWrapper = styled.div`
56
- width: 25rem;
74
+ const SliderWrapper = styled.div<{ isVertical?: boolean }>`
75
+ width: ${({ isVertical }) => (isVertical ? 'auto' : '25rem')};
76
+ height: ${({ isVertical }) => (isVertical ? '25rem' : 'auto')};
57
77
  `;
58
78
 
59
79
  const StoryDefault = (args: StorySingleProps) => {
@@ -67,41 +87,86 @@ const StoryDefault = (args: StorySingleProps) => {
67
87
  setValue(values);
68
88
  };
69
89
 
90
+ const { hasIcon, showIcon, orientation, labelPlacement, labelVerticalPlacement, ...rest } = args;
91
+ const isVertical = orientation === 'vertical';
92
+
70
93
  return (
71
- <SliderWrapper>
72
- <Slider value={value} onChangeCommitted={onChangeCommittedHandle} onChange={onChangeHandle} {...args} />
94
+ <SliderWrapper isVertical={isVertical}>
95
+ <Slider
96
+ value={value}
97
+ orientation={orientation}
98
+ labelPlacement={labelPlacement}
99
+ labelContent={showIcon ? <IconMic size={rest.size === 's' ? 'xs' : 's'} /> : null}
100
+ onChangeCommitted={onChangeCommittedHandle}
101
+ onChange={onChangeHandle}
102
+ {...rest}
103
+ />
73
104
  </SliderWrapper>
74
105
  );
75
106
  };
76
107
 
77
108
  export const Default: StorySingle = {
78
109
  argTypes: {
110
+ sliderAlign: {
111
+ options: sliderAligns,
112
+ control: {
113
+ type: 'inline-radio',
114
+ },
115
+ if: { arg: 'orientation', eq: 'vertical' },
116
+ },
79
117
  labelPlacement: {
80
118
  options: labelPlacements,
81
119
  control: {
82
120
  type: 'inline-radio',
83
121
  },
122
+ if: { arg: 'orientation', eq: 'horizontal' },
123
+ },
124
+ labelReversed: {
125
+ control: {
126
+ type: 'boolean',
127
+ expanded: true,
128
+ },
129
+ if: { arg: 'orientation', eq: 'vertical' },
130
+ },
131
+ scaleAlign: {
132
+ options: scaleAligns,
133
+ control: {
134
+ type: 'inline-radio',
135
+ },
136
+ if: { arg: 'orientation', eq: 'horizontal' },
84
137
  },
85
- rangeValuesPlacement: {
86
- options: rangeValuesPlacement,
138
+ orientation: {
139
+ options: orientations,
87
140
  control: {
88
141
  type: 'inline-radio',
89
142
  },
90
143
  },
144
+ reversed: {
145
+ control: {
146
+ type: 'boolean',
147
+ },
148
+ if: { arg: 'orientation', eq: 'vertical' },
149
+ },
91
150
  },
92
151
  args: {
93
152
  view: 'default',
94
153
  size: 'm',
154
+ pointerSize: 'small',
95
155
  min: 0,
96
156
  max: 100,
97
- disabled: false,
98
- ariaLabel: 'Цена товара',
157
+ orientation: 'horizontal',
158
+ ariaLabel: 'Цена микрофона',
99
159
  multipleStepSize: 10,
100
- label: 'Цена товара',
101
- labelPlacement: 'outer',
102
- rangeValuesPlacement: 'outer',
103
- showRangeValues: true,
160
+ label: 'Цена микрофона',
161
+ labelPlacement: 'top',
162
+ sliderAlign: 'center',
163
+ scaleAlign: 'bottom',
164
+ showScale: true,
104
165
  showCurrentValue: false,
166
+ showIcon: true,
167
+ reversed: false,
168
+ labelReversed: false,
169
+ disabled: false,
105
170
  },
106
171
  render: (args) => <StoryDefault {...args} />,
107
172
  };
@@ -141,7 +206,7 @@ const StoryMultipleValues = (args: StoryProps) => {
141
206
  };
142
207
 
143
208
  return (
144
- <SliderWrapper>
209
+ <SliderWrapper isVertical={args.orientation === 'vertical'}>
145
210
  <Slider
146
211
  value={value}
147
212
  onKeyDownTextField={onKeyDownTextField}
@@ -158,6 +223,7 @@ export const MultipleValues: StoryDouble = {
158
223
  args: {
159
224
  view: 'default',
160
225
  size: 'm',
226
+ pointerSize: 'small',
161
227
  min: 0,
162
228
  max: 100,
163
229
  disabled: false,
@@ -165,5 +231,14 @@ export const MultipleValues: StoryDouble = {
165
231
  ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
166
232
  multipleStepSize: 10,
167
233
  },
234
+ argTypes: {
235
+ pointerSize: {
236
+ options: ['small', 'large'],
237
+ control: {
238
+ type: 'inline-radio',
239
+ },
240
+ },
241
+ ...disableProps(['orientation']),
242
+ },
168
243
  render: (args) => <StoryMultipleValues {...args} />,
169
244
  };
@@ -82,9 +82,6 @@ var CalendarDays = function CalendarDays(_ref) {
82
82
  }
83
83
  onHoverDay === null || onHoverDay === void 0 || onHoverDay(selectedDate);
84
84
  }, [getSelectedDate, onHoverDay, value]);
85
- var handleMouseOutGrid = function handleMouseOutGrid() {
86
- return onHoverDay === null || onHoverDay === void 0 ? void 0 : onHoverDay(undefined);
87
- };
88
85
  var getRefs = function getRefs(element, isDayInCurrentMonth, i, j) {
89
86
  if (isDayInCurrentMonth) {
90
87
  outerRefs.current[i + offset][j] = element;
@@ -99,8 +96,7 @@ var CalendarDays = function CalendarDays(_ref) {
99
96
  return /*#__PURE__*/React.createElement(StyledCalendarDays, {
100
97
  role: "grid",
101
98
  "aria-labelledby": "id-grid-label",
102
- onKeyDown: onKeyDown,
103
- onMouseLeave: handleMouseOutGrid
99
+ onKeyDown: onKeyDown
104
100
  }, _StyledCalendarDaysHi || (_StyledCalendarDaysHi = /*#__PURE__*/React.createElement(StyledCalendarDaysHint, {
105
101
  id: "withShift"
106
102
  }, "\u0414\u043B\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C \u0434\u0430\u0442\u0430\u043C \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 Shift.")), /*#__PURE__*/React.createElement(StyledFlex, {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarDayItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarDayItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const handleMouseOutGrid = () => onHoverDay?.(undefined);\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureWidth","calendarDayItemWidth","dateStructureHeight","calendarDayItemHeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","onMouseLeave","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":";;;;;;;;;;;AAoBA;AACA;AACA;IACaA,YAAyC,GAAG,SAA5CA,YAAyCA,CAAAC,IAAA,EAkBhD;AAAA,EAAA,IAjBIC,WAAW,GAAAD,IAAA,CAAjBE,IAAI;IACJC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,SAAS,GAAAJ,IAAA,CAATI,SAAS;IACTC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,GAAG,GAAAN,IAAA,CAAHM,GAAG;IACHC,GAAG,GAAAP,IAAA,CAAHO,GAAG;IACHC,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAChBC,UAAU,GAAAT,IAAA,CAAVS,UAAU;IACVC,aAAa,GAAAV,IAAA,CAAbU,aAAa;IACbC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;IACRC,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;IACRC,SAAS,GAAAb,IAAA,CAATa,SAAS;IACTC,WAAW,GAAAd,IAAA,CAAXc,WAAW;IACXC,UAAU,GAAAf,IAAA,CAAVe,UAAU;IACVC,aAAa,GAAAhB,IAAA,CAAbgB,aAAa;IACbC,SAAS,GAAAjB,IAAA,CAATiB,SAAS;IAAAC,WAAA,GAAAlB,IAAA,CACTmB,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA,CAAA;EAEb,IAAAE,QAAA,GAAyBC,OAAO,CAAC;AAAEnB,MAAAA,IAAI,EAAED,WAAW;AAAEE,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,gBAAgB,EAAhBA,gBAAAA;AAAiB,KAAC,CAAC;IAAAc,SAAA,GAAAC,cAAA,CAAAH,QAAA,EAAA,CAAA,CAAA;AAA5GI,IAAAA,IAAI,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,QAAQ,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AACrB,EAAA,IAAMI,WAAW,GAAGC,MAAM,CAACF,QAAQ,CAAC,CAAA;AACpC,EAAA,IAAMG,gBAAgB,GAAGD,MAAM,CAACX,aAAa,CAAC,CAAA;AAE9C,EAAA,IAAMa,MAAM,GAAGjB,QAAQ,GAAGkB,QAAQ,GAAG,CAAC,CAAA;AAEtC,EAAA,IAAMC,aAAa,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAA,EAAA,CAAAC,MAAA,CACXC,WAAW,CAACC,uBAAuB,CAAAF,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,MAAM,CAACC,qBAAqB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAJ,MAAA,CAC3EC,WAAW,CAACI,qBAAqB,CAAA,EAAA,MAAA,CAAAL,MAAA,CAAYG,MAAM,CAACG,mBAAmB,EAAAN,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACvEC,WAAW,CAACM,uBAAuB,CAAA,EAAA,MAAA,CAAAP,MAAA,CAAYG,MAAM,CAACK,qBAAqB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAR,MAAA,CAC3EC,WAAW,CAACQ,2BAA2B,CAAAT,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,MAAM,CAACO,yBAAyB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAV,MAAA,CACnFC,WAAW,CAACU,8BAA8B,CAAA,EAAA,MAAA,CAAAX,MAAA,CAAYG,MAAM,CAACS,4BAA4B,EAAAZ,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACzFC,WAAW,CAACY,sBAAsB,CAAA,EAAA,MAAA,CAAAb,MAAA,CAAYG,MAAM,CAACW,oBAAoB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAd,MAAA,CACzEC,WAAW,CAACc,+BAA+B,CAAAf,EAAAA,MAAAA,CAAAA,MAAA,CAAYG,MAAM,CAACa,6BAA6B,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAAhB,MAAA,CAC3FC,WAAW,CAACgB,kBAAkB,CAAA,EAAA,MAAA,CAAAjB,MAAA,CAAYG,MAAM,CAACe,oBAAoB,EAAAlB,GAAAA,CAAAA,CAAAA,EAAAA,EAAAA,CAAAA,MAAA,CACrEC,WAAW,CAACkB,mBAAmB,CAAA,EAAA,MAAA,CAAAnB,MAAA,CAAYG,MAAM,CAACiB,qBAAqB,EAAA,GAAA,CAAA,CAAA,EAAA,EAAA,CAAApB,MAAA,CACvEC,WAAW,CAACoB,yBAAyB,UAAArB,MAAA,CAAYG,MAAM,CAACmB,2BAA2B,EAC1F,GAAA,CAAA,CAAA,CAAA;AAED,EAAA,IAAMC,eAAe,GAAGC,WAAW,CAC/B,UAACC,KAAuC,EAAK;AACzC,IAAA,IAAAC,qBAAA,GAAkCD,KAAK,CAACE,aAAa,CAACC,OAAO;MAArDC,GAAG,GAAAH,qBAAA,CAAHG,GAAG;MAAEC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;MAAEC,IAAI,GAAAL,qBAAA,CAAJK,IAAI,CAAA;AAE7B,IAAA,IAAMC,YAAY,GAAG;AACjBH,MAAAA,GAAG,EAAEI,MAAM,CAACJ,GAAG,CAAC;AAChBC,MAAAA,UAAU,EAAEG,MAAM,CAACH,UAAU,CAAC;MAC9BC,IAAI,EAAEE,MAAM,CAACF,IAAI,CAAA;KACpB,CAAA;IAED,IAAI,CAACG,aAAa,CAACF,YAAY,EAAE9D,KAAK,EAAEE,YAAY,CAAC,EAAE;AACnD,MAAA,OAAA;AACJ,KAAA;AAEA,IAAA,OAAO4D,YAAY,CAAA;AACvB,GAAC,EACD,CAAC5D,YAAY,EAAEF,KAAK,CACxB,CAAC,CAAA;AAED,EAAA,IAAMiE,iBAAiB,GAAGX,WAAW,CACjC,UAACY,CAAS,EAAEC,CAAS,EAAA;IAAA,OAAK,UAACZ,KAAuC,EAAK;AACnE,MAAA,IAAMO,YAAY,GAAGT,eAAe,CAACE,KAAK,CAAC,CAAA;MAE3C,IAAI,CAACO,YAAY,EAAE;AACf,QAAA,OAAA;AACJ,OAAA;MAEAnD,WAAW,CAACmD,YAAY,EAAE,CAACI,CAAC,GAAGxC,MAAM,EAAEyC,CAAC,CAAC,CAAC,CAAA;AAE1C,MAAA,IAAIC,eAAe,CAACpE,KAAK,CAAC,EAAE;AACxBY,QAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,IAAVA,UAAU,CAAGyD,SAAS,CAAC,CAAA;AAC3B,OAAA;KACH,CAAA;GACD,EAAA,CAAChB,eAAe,EAAE1C,WAAW,EAAEe,MAAM,EAAE1B,KAAK,EAAEY,UAAU,CAC5D,CAAC,CAAA;AAED,EAAA,IAAM0D,gBAAgB,GAAGhB,WAAW,CAChC,UAACC,KAAuC,EAAK;AACzC,IAAA,IAAMO,YAAY,GAAGT,eAAe,CAACE,KAAK,CAAC,CAAA;AAC3C,IAAA,IAAMgB,cAAc,GAAGC,KAAK,CAACC,OAAO,CAACzE,KAAK,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,CAAA;AAEnE,IAAA,IAAI,CAAC8D,YAAY,IAAI,CAACU,KAAK,CAACC,OAAO,CAACzE,KAAK,CAAC,IAAIuE,cAAc,EAAE;AAC1D,MAAA,OAAA;AACJ,KAAA;AAEA3D,IAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,IAAVA,UAAU,CAAGkD,YAAY,CAAC,CAAA;GAC7B,EACD,CAACT,eAAe,EAAEzC,UAAU,EAAEZ,KAAK,CACvC,CAAC,CAAA;AAED,EAAA,IAAM0E,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,IAAA,OAAS9D,UAAU,KAAVA,IAAAA,IAAAA,UAAU,uBAAVA,UAAU,CAAGyD,SAAS,CAAC,CAAA;AAAA,GAAA,CAAA;AAExD,EAAA,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAIC,OAAuB,EAAEC,mBAA4B,EAAEX,CAAS,EAAEC,CAAS,EAAK;AAC7F,IAAA,IAAIU,mBAAmB,EAAE;MACrBnE,SAAS,CAACoE,OAAO,CAACZ,CAAC,GAAGxC,MAAM,CAAC,CAACyC,CAAC,CAAC,GAAGS,OAAO,CAAA;AAC9C,KAAA;GACH,CAAA;AAEDG,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAIxD,WAAW,CAACuD,OAAO,EAAE;AAAA,MAAA,IAAAE,qBAAA,CAAA;AACrB,MAAA,CAAAA,qBAAA,GAAAvD,gBAAgB,CAACqD,OAAO,cAAAE,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAAC,IAAA,CAAAxD,gBAAgB,EAAWF,WAAW,CAACuD,OAAO,CAAC,CAAA;AACnD,KAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACII,KAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAA;AACfC,IAAAA,IAAI,EAAC,MAAM;AACX,IAAA,iBAAA,EAAgB,eAAe;AAC/BvE,IAAAA,SAAS,EAAEA,SAAU;AACrBwE,IAAAA,YAAY,EAAEZ,kBAAAA;GAAmBa,EAAAA,qBAAA,KAAAA,qBAAA,gBAEjCL,KAAA,CAAAC,aAAA,CAACK,sBAAsB,EAAA;AAACC,IAAAA,EAAE,EAAC,WAAA;AAAW,GAAA,EAAC,wUAEf,CAAC,CAAA,eACzBP,KAAA,CAAAC,aAAA,CAACO,UAAU,EAAA;AAACL,IAAAA,IAAI,EAAC,KAAA;GACZM,EAAAA,eAAe,CAAC3E,MAAM,CAAC,CAAC4E,GAAG,CAAC,UAACC,IAAI,EAAA;AAAA,IAAA,oBAC9BX,KAAA,CAAAC,aAAA,CAACW,iBAAiB,EAAA;AACdT,MAAAA,IAAI,EAAC,cAAc;AACnB,MAAA,YAAA,EAAYU,cAAc,CAAC/E,MAAM,CAAC,CAAC6E,IAAI,CAAE;AACzCG,MAAAA,GAAG,EAAEH,IAAK;MACVI,SAAS,EAAA,IAAA;AACTtC,MAAAA,GAAG,EAAEkC,IAAK;AACVK,MAAAA,KAAK,EAAEtE,aAAAA;AAAc,KAAA,EAEpBiE,IACc,CAAC,CAAA;GACvB,CACO,CAAC,EACZxE,IAAI,CAACuE,GAAG,CAAC,UAACjC,GAAe,EAAEO,CAAC,EAAA;AAAA,IAAA,oBACzBgB,KAAA,CAAAC,aAAA,CAACO,UAAU,EAAA;AAACL,MAAAA,IAAI,EAAC,KAAK;AAACW,MAAAA,GAAG,EAAE9B,CAAAA;AAAE,KAAA,EACzBP,GAAG,CAACiC,GAAG,CACJ,UAAAO,KAAA,EAaIhC,CAAC,EAAA;AAAA,MAAA,IAXGpE,IAAI,GAAAoG,KAAA,CAAJpG,IAAI;QACJqG,MAAM,GAAAD,KAAA,CAANC,MAAM;QACNC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;QACRC,UAAU,GAAAH,KAAA,CAAVG,UAAU;QACVC,SAAS,GAAAJ,KAAA,CAATI,SAAS;QACT1B,mBAAmB,GAAAsB,KAAA,CAAnBtB,mBAAmB;QACnB2B,OAAO,GAAAL,KAAA,CAAPK,OAAO;QAAAC,qBAAA,GAAAN,KAAA,CACPO,kBAAkB;AAAlBA,QAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;QAC1BE,gBAAgB,GAAAR,KAAA,CAAhBQ,gBAAgB;QAChBC,aAAa,GAAAT,KAAA,CAAbS,aAAa,CAAA;AAAA,MAAA,oBAIjB1B,KAAA,CAAAC,aAAA,CAACW,iBAAiB,EAAA;QACde,GAAG,EAAE,SAAAA,GAAAA,CAACjC,OAAuB,EAAA;AAAA,UAAA,OAAKD,OAAO,CAACC,OAAO,EAAEkC,OAAO,CAACjC,mBAAmB,CAAC,EAAEX,CAAC,EAAEC,CAAC,CAAC,CAAA;SAAC;AACvF+B,QAAAA,KAAK,EAAEtE,aAAc;AACrB3B,QAAAA,SAAS,EAAEmG,MAAO;AAClBC,QAAAA,QAAQ,EAAEA,QAAS;QACnB1C,GAAG,EAAE5D,IAAI,CAAC4D,GAAI;QACdE,IAAI,EAAE9D,IAAI,CAAC8D,IAAK;QAChBD,UAAU,EAAE7D,IAAI,CAAC6D,UAAW;QAC5BmD,SAAS,EACL7C,CAAC,GAAGxC,MAAM,MAAKnB,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,KAAI4D,CAAC,MAAK5D,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAG,CAAC,CAAC,CAAI,IAAA,CAACmG,kBACrE;AACDJ,QAAAA,UAAU,EAAEA,UAAW;AACvBC,QAAAA,SAAS,EAAEA,SAAU;AACrB1B,QAAAA,mBAAmB,EAAEA,mBAAoB;AACzCrE,QAAAA,QAAQ,EAAEA,QAAS;AACnBwG,QAAAA,SAAS,EAAEC,SAAS,CAAClH,IAAI,EAAEO,UAAU,CAAE;QACvCkG,OAAO,EAAEU,UAAU,CAAClH,KAAK,EAAED,IAAI,EAAEO,UAAU,EAAEkG,OAAO,CAAE;QACtDW,WAAW,EAAEC,cAAc,CAACpH,KAAK,EAAED,IAAI,EAAEO,UAAU,EAAEgG,UAAU,CAAE;QACjEe,OAAO,EAAEhB,QAAQ,GAAGhC,SAAS,GAAGJ,iBAAiB,CAACC,CAAC,EAAEC,CAAC,CAAE;AACxDmD,QAAAA,WAAW,EAAEjB,QAAQ,GAAGhC,SAAS,GAAGC,gBAAiB;QACrD0B,GAAG,EAAA,YAAA,CAAAlE,MAAA,CAAeoC,CAAC,OAAApC,MAAA,CAAIqC,CAAC,CAAG;AAC3BkB,QAAAA,IAAI,EAAC,UAAU;AACfsB,QAAAA,gBAAgB,EAAEA,gBAAiB;AACnCY,QAAAA,cAAc,EAAEX,aAAAA;OAEf7G,EAAAA,IAAI,CAAC4D,GACS,CAAC,CAAA;AAAA,KAE5B,CACQ,CAAC,CAAA;AAAA,GAChB,CACe,CAAC,CAAA;AAE7B;;;;"}
1
+ {"version":3,"file":"CalendarDays.js","sources":["../../../../../src/components/Calendar/ui/CalendarDays/CalendarDays.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useDays } from '../../hooks';\nimport {\n canSelectDate,\n FULL_DAY_NAMES,\n getInRange,\n getSideInRange,\n isSameDay,\n isSelectProcess,\n ROW_STEP,\n SHORT_DAY_NAMES,\n} from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\nimport { DateItem } from '../../Calendar.types';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\n\nimport { StyledCalendarDays, StyledCalendarDaysHint, StyledFlex } from './CalendarDays.styles';\nimport type { CalendarDaysProps } from './CalendarDays.types';\n\n/**\n * Компонент дней в календаре.\n */\nexport const CalendarDays: React.FC<CalendarDaysProps> = ({\n date: currentDate,\n value,\n eventList,\n disabledList,\n min,\n max,\n includeEdgeDates,\n hoveredDay,\n selectIndexes,\n isDouble,\n isSecond,\n outerRefs,\n onChangeDay,\n onHoverDay,\n onSetSelected,\n onKeyDown,\n locale = 'ru',\n}) => {\n const [days, selected] = useDays({ date: currentDate, value, eventList, disabledList, min, max, includeEdgeDates });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_STEP : 0;\n\n const dayItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarDayFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarDayFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarDayFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarDayFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarDayFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarDayFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarDaySelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarDayItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarDayItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarDayItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeDay = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeDay(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverDay?.(undefined);\n }\n },\n [getSelectedDate, onChangeDay, offset, value, onHoverDay],\n );\n\n const handleOnHoverDay = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverDay?.(selectedDate);\n },\n [getSelectedDate, onHoverDay, value],\n );\n\n const getRefs = (element: HTMLDivElement, isDayInCurrentMonth: boolean, i: number, j: number) => {\n if (isDayInCurrentMonth) {\n outerRefs.current[i + offset][j] = element;\n }\n };\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarDays role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n <StyledCalendarDaysHint id=\"withShift\">\n Для навигации только по доступным датам удерживайте клавишу Shift.\n </StyledCalendarDaysHint>\n <StyledFlex role=\"row\">\n {SHORT_DAY_NAMES[locale].map((name) => (\n <DateStructureItem\n role=\"columnheader\"\n aria-label={FULL_DAY_NAMES[locale][name]}\n key={name}\n dayOfWeek\n day={name}\n style={dayItemTokens}\n >\n {name}\n </DateStructureItem>\n ))}\n </StyledFlex>\n {days.map((day: DateItem[], i) => (\n <StyledFlex role=\"row\" key={i}>\n {day.map(\n (\n {\n date,\n events,\n disabled,\n isSelected,\n isCurrent,\n isDayInCurrentMonth,\n inRange,\n isOutOfMinMaxRange = false,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, Boolean(isDayInCurrentMonth), i, j)}\n style={dayItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] && j === selectIndexes?.[1] && !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDayInCurrentMonth={isDayInCurrentMonth}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredDay)}\n inRange={getInRange(value, date, hoveredDay, inRange)}\n sideInRange={getSideInRange(value, date, hoveredDay, isSelected)}\n onClick={disabled ? undefined : handleOnChangeDay(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverDay}\n key={`StyledDay-${i}-${j}`}\n role=\"gridcell\"\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n >\n {date.day}\n </DateStructureItem>\n ),\n )}\n </StyledFlex>\n ))}\n </StyledCalendarDays>\n );\n};\n"],"names":["CalendarDays","_ref","currentDate","date","value","eventList","disabledList","min","max","includeEdgeDates","hoveredDay","selectIndexes","isDouble","isSecond","outerRefs","onChangeDay","onHoverDay","onSetSelected","onKeyDown","_ref$locale","locale","_useDays","useDays","_useDays2","_slicedToArray","days","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_STEP","dayItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarDayFontFamily","dateStructureFontSize","calendarDayFontSize","dateStructureFontWeight","calendarDayFontWeight","dateStructureFontLineHeight","calendarDayFontLineHeight","dateStructureFontLetterSpacing","calendarDayFontLetterSpacing","dateStructureFontStyle","calendarDayFontStyle","dateStructureSelectedFontWeight","calendarDaySelectedFontWeight","dateStructureWidth","calendarDayItemWidth","dateStructureHeight","calendarDayItemHeight","dateStructureBorderRadius","calendarDayItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeDay","i","j","isSelectProcess","undefined","handleOnHoverDay","isSelectedDone","Array","isArray","getRefs","element","isDayInCurrentMonth","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarDays","role","_StyledCalendarDaysHi","StyledCalendarDaysHint","id","StyledFlex","SHORT_DAY_NAMES","map","name","DateStructureItem","FULL_DAY_NAMES","key","dayOfWeek","style","_ref2","events","disabled","isSelected","isCurrent","inRange","_ref2$isOutOfMinMaxRa","isOutOfMinMaxRange","disabledArrowKey","disabledDates","ref","Boolean","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths"],"mappings":"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"}
@@ -85,9 +85,6 @@ var CalendarMonths = function CalendarMonths(_ref) {
85
85
  }
86
86
  onHoverMonth === null || onHoverMonth === void 0 || onHoverMonth(selectedDate);
87
87
  }, [getSelectedDate, onHoverMonth, value]);
88
- var handleMouseOutGrid = function handleMouseOutGrid() {
89
- return onHoverMonth === null || onHoverMonth === void 0 ? void 0 : onHoverMonth(undefined);
90
- };
91
88
  var getRefs = useCallback(function (element, i, j) {
92
89
  outerRefs.current[i + offset][j] = element;
93
90
  }, [offset, outerRefs]);
@@ -100,8 +97,7 @@ var CalendarMonths = function CalendarMonths(_ref) {
100
97
  return /*#__PURE__*/React.createElement(StyledCalendarMonths, {
101
98
  role: "grid",
102
99
  "aria-labelledby": "id-grid-label",
103
- onKeyDown: onKeyDown,
104
- onMouseLeave: handleMouseOutGrid
100
+ onKeyDown: onKeyDown
105
101
  }, months.map(function (month, i) {
106
102
  return /*#__PURE__*/React.createElement(StyledFlex, {
107
103
  role: "row",
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n locale,\n}) => {\n const [months, selected] = useMonths({ date: currentDate, value, eventList, disabledList, min, max, locale });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarMonthItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarMonthItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const handleMouseOutGrid = () => onHoverMonth?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {months.map((month, i) => (\n <StyledFlex role=\"row\" key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","locale","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureWidth","calendarMonthItemWidth","dateStructureHeight","calendarMonthItemHeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverMonth","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","onMouseLeave","map","month","StyledFlex","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarMonths.js","sources":["../../../../../src/components/Calendar/ui/CalendarMonths/CalendarMonths.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useMonths } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_MONTH_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarMonthsProps } from './CalendarMonths.types';\nimport { StyledCalendarMonths, StyledFlex } from './CalendarMonths.styles';\n\n/**\n * Компонент месяцев в календаре.\n */\nexport const CalendarMonths: React.FC<CalendarMonthsProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredMonth,\n onChangeMonth,\n onHoverMonth,\n onSetSelected,\n onKeyDown,\n locale,\n}) => {\n const [months, selected] = useMonths({ date: currentDate, value, eventList, disabledList, min, max, locale });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_MONTH_STEP : 0;\n\n const monthItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarMonthFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarMonthFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarMonthFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarMonthFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarMonthFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarMonthFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarMonthSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarMonthItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarMonthItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarMonthItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeMonth = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeMonth(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverMonth?.(undefined);\n }\n },\n [getSelectedDate, onChangeMonth, offset, value, onHoverMonth],\n );\n\n const handleOnHoverMonth = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverMonth?.(selectedDate);\n },\n [getSelectedDate, onHoverMonth, value],\n );\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarMonths role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n {months.map((month, i) => (\n <StyledFlex role=\"row\" key={i}>\n {month.map(\n (\n {\n monthName,\n monthIndex,\n isSelected,\n isCurrent,\n monthFullName,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={monthItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredMonth)}\n inRange={getInRange(value, date, hoveredMonth, inRange)}\n sideInRange={getSideInRange(value, date, hoveredMonth, isSelected)}\n onClick={disabled ? undefined : handleOnChangeMonth(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverMonth}\n key={`StyledMonth-${i}-${j}`}\n role=\"gridcell\"\n aria-label={monthFullName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {monthName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarMonths>\n );\n};\n"],"names":["CalendarMonths","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredMonth","onChangeMonth","onHoverMonth","onSetSelected","onKeyDown","locale","_useMonths","useMonths","_useMonths2","_slicedToArray","months","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_MONTH_STEP","monthItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarMonthFontFamily","dateStructureFontSize","calendarMonthFontSize","dateStructureFontWeight","calendarMonthFontWeight","dateStructureFontLineHeight","calendarMonthFontLineHeight","dateStructureFontLetterSpacing","calendarMonthFontLetterSpacing","dateStructureFontStyle","calendarMonthFontStyle","dateStructureSelectedFontWeight","calendarMonthSelectedFontWeight","dateStructureWidth","calendarMonthItemWidth","dateStructureHeight","calendarMonthItemHeight","dateStructureBorderRadius","calendarMonthItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeMonth","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverMonth","isSelectedDone","Array","isArray","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarMonths","role","map","month","StyledFlex","key","_ref2","monthName","isSelected","isCurrent","monthFullName","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
@@ -83,9 +83,6 @@ var CalendarQuarters = function CalendarQuarters(_ref) {
83
83
  }
84
84
  onHoverQuarter === null || onHoverQuarter === void 0 || onHoverQuarter(selectedDate);
85
85
  }, [getSelectedDate, onHoverQuarter, value]);
86
- var handleMouseOutGrid = function handleMouseOutGrid() {
87
- return onHoverQuarter === null || onHoverQuarter === void 0 ? void 0 : onHoverQuarter(undefined);
88
- };
89
86
  var getRefs = useCallback(function (element, i, j) {
90
87
  outerRefs.current[i + offset][j] = element;
91
88
  }, [offset, outerRefs]);
@@ -98,8 +95,7 @@ var CalendarQuarters = function CalendarQuarters(_ref) {
98
95
  return /*#__PURE__*/React.createElement(StyledCalendarQuarters, {
99
96
  role: "grid",
100
97
  "aria-labelledby": "id-grid-label",
101
- onKeyDown: onKeyDown,
102
- onMouseLeave: handleMouseOutGrid
98
+ onKeyDown: onKeyDown
103
99
  }, quarters.map(function (quarter, i) {
104
100
  return /*#__PURE__*/React.createElement(StyledFlex, {
105
101
  role: "row",
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters, StyledFlex } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const [quarters, selected] = useQuarters({ date: currentDate, value, eventList, disabledList, min, max });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarQuarterItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarQuarterItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const handleMouseOutGrid = () => onHoverQuarter?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarQuarters\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {quarters.map((quarter, i) => (\n <StyledFlex role=\"row\" key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={quarterItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureWidth","calendarQuarterItemWidth","dateStructureHeight","calendarQuarterItemHeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverQuarter","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","onMouseLeave","map","quarter","StyledFlex","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarQuarters.js","sources":["../../../../../src/components/Calendar/ui/CalendarQuarters/CalendarQuarters.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useQuarters } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_QUARTER_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarQuartersProps } from './CalendarQuarters.types';\nimport { StyledCalendarQuarters, StyledFlex } from './CalendarQuarters.styles';\n\n/**\n * Компонент кварталов в календаре.\n */\nexport const CalendarQuarters: React.FC<CalendarQuartersProps> = ({\n date: currentDate,\n value,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredQuarter,\n onChangeQuarter,\n onHoverQuarter,\n onSetSelected,\n onKeyDown,\n}) => {\n const [quarters, selected] = useQuarters({ date: currentDate, value, eventList, disabledList, min, max });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_QUARTER_STEP : 0;\n\n const quarterItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarQuarterFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarQuarterFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarQuarterFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarQuarterFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarQuarterFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarQuarterFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarQuarterSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarQuarterItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarQuarterItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarQuarterItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeQuarter = useCallback(\n (i: number, j: number, quarterName: string) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeQuarter(selectedDate, [i + offset, j], quarterName);\n\n if (isSelectProcess(value)) {\n onHoverQuarter?.(undefined);\n }\n },\n [getSelectedDate, onChangeQuarter, offset, value, onHoverQuarter],\n );\n\n const handleOnHoverQuarter = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverQuarter?.(selectedDate);\n },\n [getSelectedDate, onHoverQuarter, value],\n );\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [offset, outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarQuarters role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n {quarters.map((quarter, i) => (\n <StyledFlex role=\"row\" key={i}>\n {quarter.map(\n (\n {\n quarterName,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={quarterItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={date.year}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredQuarter)}\n inRange={getInRange(value, date, hoveredQuarter, inRange)}\n sideInRange={getSideInRange(value, date, hoveredQuarter, isSelected)}\n onClick={disabled ? undefined : handleOnChangeQuarter(i, j, String(quarterName))}\n onMouseOver={disabled ? undefined : handleOnHoverQuarter}\n key={`StyledQuarter-${i}-${j}`}\n role=\"gridcell\"\n aria-label={quarterName}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {quarterName}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarQuarters>\n );\n};\n"],"names":["CalendarQuarters","_ref","currentDate","date","value","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredQuarter","onChangeQuarter","onHoverQuarter","onSetSelected","onKeyDown","_useQuarters","useQuarters","_useQuarters2","_slicedToArray","quarters","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_QUARTER_STEP","quarterItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarQuarterFontFamily","dateStructureFontSize","calendarQuarterFontSize","dateStructureFontWeight","calendarQuarterFontWeight","dateStructureFontLineHeight","calendarQuarterFontLineHeight","dateStructureFontLetterSpacing","calendarQuarterFontLetterSpacing","dateStructureFontStyle","calendarQuarterFontStyle","dateStructureSelectedFontWeight","calendarQuarterSelectedFontWeight","dateStructureWidth","calendarQuarterItemWidth","dateStructureHeight","calendarQuarterItemHeight","dateStructureBorderRadius","calendarQuarterItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeQuarter","i","j","quarterName","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverQuarter","isSelectedDone","Array","isArray","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarQuarters","role","map","quarter","StyledFlex","key","_ref2","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","String","onMouseOver","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
@@ -85,9 +85,6 @@ var CalendarYears = function CalendarYears(_ref) {
85
85
  }
86
86
  onHoverYear === null || onHoverYear === void 0 || onHoverYear(selectedDate);
87
87
  }, [getSelectedDate, onHoverYear, value]);
88
- var handleMouseOutGrid = function handleMouseOutGrid() {
89
- return onHoverYear === null || onHoverYear === void 0 ? void 0 : onHoverYear(undefined);
90
- };
91
88
  var getRefs = useCallback(function (element, i, j) {
92
89
  outerRefs.current[i + offset][j] = element;
93
90
  }, [outerRefs]);
@@ -100,8 +97,7 @@ var CalendarYears = function CalendarYears(_ref) {
100
97
  return /*#__PURE__*/React.createElement(StyledCalendarYears, {
101
98
  role: "grid",
102
99
  "aria-labelledby": "id-grid-label",
103
- onKeyDown: onKeyDown,
104
- onMouseLeave: handleMouseOutGrid
100
+ onKeyDown: onKeyDown
105
101
  }, years.map(function (year, i) {
106
102
  return /*#__PURE__*/React.createElement(StyledFlex, {
107
103
  role: "row",
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears, StyledFlex } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const [years, selected] = useYears({ date: currentDate, value, startYear, eventList, disabledList, min, max });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarYearItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarYearItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeYear = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const handleMouseOutGrid = () => onHoverYear?.(undefined);\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears\n role=\"grid\"\n aria-labelledby=\"id-grid-label\"\n onKeyDown={onKeyDown}\n onMouseLeave={handleMouseOutGrid}\n >\n {years.map((year, i) => (\n <StyledFlex role=\"row\" key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureWidth","calendarYearItemWidth","dateStructureHeight","calendarYearItemHeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverYear","isSelectedDone","Array","isArray","handleMouseOutGrid","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","onMouseLeave","map","StyledFlex","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarYears.js","sources":["../../../../../src/components/Calendar/ui/CalendarYears/CalendarYears.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\n\nimport { useYears } from '../../hooks';\nimport { innerTokens, tokens } from '../../Calendar.tokens';\nimport { ROW_YEAR_STEP, canSelectDate, getInRange, getSideInRange, isSameDay, isSelectProcess } from '../../utils';\nimport { DateStructureItem } from '../DateStructureItem/DateStructureItem';\n\nimport type { CalendarYearsProps } from './CalendarYears.types';\nimport { StyledCalendarYears, StyledFlex } from './CalendarYears.styles';\n\n/**\n * Компонент годов в календаре.\n */\nexport const CalendarYears: React.FC<CalendarYearsProps> = ({\n date: currentDate,\n value,\n startYear,\n selectIndexes,\n eventList,\n disabledList,\n min,\n max,\n outerRefs,\n isDouble,\n isSecond,\n hoveredYear,\n onChangeYear,\n onHoverYear,\n onSetSelected,\n onKeyDown,\n}) => {\n const [years, selected] = useYears({ date: currentDate, value, startYear, eventList, disabledList, min, max });\n const selectedRef = useRef(selected);\n const onSetSelectedRef = useRef(onSetSelected);\n\n const offset = isSecond ? ROW_YEAR_STEP : 0;\n\n const yearItemTokens = {\n [`${innerTokens.dateStructureFontFamily}`]: `var(${tokens.calendarYearFontFamily})`,\n [`${innerTokens.dateStructureFontSize}`]: `var(${tokens.calendarYearFontSize})`,\n [`${innerTokens.dateStructureFontWeight}`]: `var(${tokens.calendarYearFontWeight})`,\n [`${innerTokens.dateStructureFontLineHeight}`]: `var(${tokens.calendarYearFontLineHeight})`,\n [`${innerTokens.dateStructureFontLetterSpacing}`]: `var(${tokens.calendarYearFontLetterSpacing})`,\n [`${innerTokens.dateStructureFontStyle}`]: `var(${tokens.calendarYearFontStyle})`,\n [`${innerTokens.dateStructureSelectedFontWeight}`]: `var(${tokens.calendarYearSelectedFontWeight})`,\n [`${innerTokens.dateStructureWidth}`]: `var(${tokens.calendarYearItemWidth})`,\n [`${innerTokens.dateStructureHeight}`]: `var(${tokens.calendarYearItemHeight})`,\n [`${innerTokens.dateStructureBorderRadius}`]: `var(${tokens.calendarYearItemBorderRadius})`,\n };\n\n const getSelectedDate = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const { day, monthIndex, year } = event.currentTarget.dataset;\n\n const selectedDate = {\n day: Number(day),\n monthIndex: Number(monthIndex),\n year: Number(year),\n };\n\n if (!canSelectDate(selectedDate, value, disabledList)) {\n return;\n }\n\n return selectedDate;\n },\n [disabledList, value],\n );\n\n const handleOnChangeYear = useCallback(\n (i: number, j: number) => (event: React.MouseEvent<HTMLDivElement>) => {\n /**\n * нужно вызвать stopImmediatePropagation для случаев, когда\n * обработчик события onClick навешивается снаружи.\n * Как, например, в компоненте Popup\n */\n event.nativeEvent.stopImmediatePropagation();\n\n const selectedDate = getSelectedDate(event);\n\n if (!selectedDate) {\n return;\n }\n\n onChangeYear(selectedDate, [i + offset, j]);\n\n if (isSelectProcess(value)) {\n onHoverYear?.(undefined);\n }\n },\n [getSelectedDate, onChangeYear, offset, value, onHoverYear],\n );\n\n const handleOnHoverYear = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedDate = getSelectedDate(event);\n const isSelectedDone = Array.isArray(value) && value[0] && value[1];\n\n if (!selectedDate || !Array.isArray(value) || isSelectedDone) {\n return;\n }\n\n onHoverYear?.(selectedDate);\n },\n [getSelectedDate, onHoverYear, value],\n );\n\n const getRefs = useCallback(\n (element: HTMLDivElement, i: number, j: number) => {\n outerRefs.current[i + offset][j] = element;\n },\n [outerRefs],\n );\n\n useEffect(() => {\n if (selectedRef.current) {\n onSetSelectedRef.current?.(selectedRef.current);\n }\n }, []);\n\n return (\n <StyledCalendarYears role=\"grid\" aria-labelledby=\"id-grid-label\" onKeyDown={onKeyDown}>\n {years.map((year, i) => (\n <StyledFlex role=\"row\" key={i}>\n {year.map(\n (\n {\n yearValue,\n isSelected,\n isCurrent,\n date,\n events,\n isOutOfMinMaxRange,\n inRange,\n disabled,\n disabledArrowKey,\n disabledDates,\n },\n j,\n ) => {\n return (\n <DateStructureItem\n ref={(element: HTMLDivElement) => getRefs(element, i, j)}\n style={yearItemTokens}\n eventList={events}\n disabled={disabled}\n day={date.day}\n year={yearValue}\n monthIndex={date.monthIndex}\n isFocused={\n i + offset === selectIndexes?.[0] &&\n j === selectIndexes?.[1] &&\n !isOutOfMinMaxRange\n }\n isSelected={isSelected}\n isCurrent={isCurrent}\n isDouble={isDouble}\n isHovered={isSameDay(date, hoveredYear)}\n inRange={getInRange(value, date, hoveredYear, inRange)}\n sideInRange={getSideInRange(value, date, hoveredYear, isSelected)}\n onClick={disabled ? undefined : handleOnChangeYear(i, j)}\n onMouseOver={disabled ? undefined : handleOnHoverYear}\n key={`StyledYear-${i}-${j}`}\n role=\"gridcell\"\n data-year={yearValue}\n data-month-index={date.monthIndex}\n data-day={date.day}\n aria-label={String(yearValue)}\n disabledArrowKey={disabledArrowKey}\n disabledMonths={disabledDates}\n isDayInCurrentMonth\n >\n {yearValue}\n </DateStructureItem>\n );\n },\n )}\n </StyledFlex>\n ))}\n </StyledCalendarYears>\n );\n};\n"],"names":["CalendarYears","_ref","currentDate","date","value","startYear","selectIndexes","eventList","disabledList","min","max","outerRefs","isDouble","isSecond","hoveredYear","onChangeYear","onHoverYear","onSetSelected","onKeyDown","_useYears","useYears","_useYears2","_slicedToArray","years","selected","selectedRef","useRef","onSetSelectedRef","offset","ROW_YEAR_STEP","yearItemTokens","_defineProperty","concat","innerTokens","dateStructureFontFamily","tokens","calendarYearFontFamily","dateStructureFontSize","calendarYearFontSize","dateStructureFontWeight","calendarYearFontWeight","dateStructureFontLineHeight","calendarYearFontLineHeight","dateStructureFontLetterSpacing","calendarYearFontLetterSpacing","dateStructureFontStyle","calendarYearFontStyle","dateStructureSelectedFontWeight","calendarYearSelectedFontWeight","dateStructureWidth","calendarYearItemWidth","dateStructureHeight","calendarYearItemHeight","dateStructureBorderRadius","calendarYearItemBorderRadius","getSelectedDate","useCallback","event","_event$currentTarget$","currentTarget","dataset","day","monthIndex","year","selectedDate","Number","canSelectDate","handleOnChangeYear","i","j","nativeEvent","stopImmediatePropagation","isSelectProcess","undefined","handleOnHoverYear","isSelectedDone","Array","isArray","getRefs","element","current","useEffect","_onSetSelectedRef$cur","call","React","createElement","StyledCalendarYears","role","map","StyledFlex","key","_ref2","yearValue","isSelected","isCurrent","events","isOutOfMinMaxRange","inRange","disabled","disabledArrowKey","disabledDates","DateStructureItem","ref","style","isFocused","isHovered","isSameDay","getInRange","sideInRange","getSideInRange","onClick","onMouseOver","String","disabledMonths","isDayInCurrentMonth"],"mappings":"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"}