@skbkontur/react-ui 4.23.0 → 4.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cjs/components/Calendar/Calendar.d.ts +40 -5
  3. package/cjs/components/Calendar/Calendar.js +92 -36
  4. package/cjs/components/Calendar/Calendar.js.map +1 -1
  5. package/cjs/components/Calendar/Calendar.md +42 -1
  6. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  7. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  8. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  9. package/cjs/components/Calendar/CalendarContext.js +16 -0
  10. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  11. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  12. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  13. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  14. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  15. package/cjs/components/Calendar/CalendarDay.js +77 -0
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  17. package/cjs/components/Calendar/CalendarDay.md +70 -0
  18. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  19. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  20. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  21. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  22. package/cjs/components/Calendar/DayCellView.js +20 -43
  23. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  24. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  25. package/cjs/components/Calendar/DayCellView.styles.js +17 -24
  26. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  27. package/cjs/components/Calendar/Month.d.ts +0 -10
  28. package/cjs/components/Calendar/Month.js +33 -86
  29. package/cjs/components/Calendar/Month.js.map +1 -1
  30. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  31. package/cjs/components/Calendar/MonthView.js +47 -37
  32. package/cjs/components/Calendar/MonthView.js.map +1 -1
  33. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  34. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  35. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  36. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  37. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  38. package/cjs/components/Calendar/config.js +12 -6
  39. package/cjs/components/Calendar/config.js.map +1 -1
  40. package/cjs/components/Calendar/index.d.ts +1 -0
  41. package/cjs/components/Calendar/index.js +2 -1
  42. package/cjs/components/Calendar/index.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  44. package/cjs/components/DatePicker/DatePicker.js +71 -44
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DatePicker/DatePicker.md +36 -1
  47. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  48. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  49. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  50. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  51. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  52. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  53. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  54. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  55. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  56. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  57. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  58. package/cjs/components/Input/Input.js +1 -1
  59. package/cjs/components/Input/Input.js.map +1 -1
  60. package/cjs/components/Input/Input.styles.d.ts +1 -1
  61. package/cjs/components/Input/Input.styles.js +3 -2
  62. package/cjs/components/Input/Input.styles.js.map +1 -1
  63. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  64. package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
  65. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  66. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  67. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  68. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  69. package/cjs/internal/DateSelect/DateSelect.js +50 -4
  70. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  71. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  72. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  73. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  74. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  75. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  76. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  77. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  78. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  79. package/cjs/internal/InputLikeText/InputLikeText.js +1 -1
  80. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  81. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  82. package/cjs/internal/MobilePopup/MobilePopup.js +8 -2
  83. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  84. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  85. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  86. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  87. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  88. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  89. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  90. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  91. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  92. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  93. package/cjs/internal/NativeDateInput/utils.js +3 -2
  94. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  95. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
  96. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  97. package/cjs/internal/ThemePlayground/constants.js +2 -1
  98. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  99. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  100. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  101. package/cjs/internal/themes/DarkTheme.js +6 -1
  102. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  103. package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
  104. package/cjs/internal/themes/DefaultTheme.js +32 -4
  105. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  106. package/cjs/lib/date/InternalDate.d.ts +2 -0
  107. package/cjs/lib/date/InternalDate.js +8 -1
  108. package/cjs/lib/date/InternalDate.js.map +1 -1
  109. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  110. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  111. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  112. package/cjs/lib/date/InternalDateValidator.js +2 -1
  113. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  114. package/cjs/lib/date/comparison.d.ts +6 -0
  115. package/cjs/lib/date/comparison.js +44 -0
  116. package/cjs/lib/date/comparison.js.map +1 -0
  117. package/cjs/lib/locale/constants.d.ts +3 -0
  118. package/cjs/lib/locale/constants.js +6 -2
  119. package/cjs/lib/locale/constants.js.map +1 -1
  120. package/cjs/lib/theming/ThemeContext.md +3 -1
  121. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  122. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
  123. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
  124. package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  125. package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
  126. package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
  127. package/components/Calendar/Calendar/Calendar.js +81 -64
  128. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  129. package/components/Calendar/Calendar.d.ts +40 -5
  130. package/components/Calendar/Calendar.md +42 -1
  131. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  132. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  133. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  134. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  135. package/components/Calendar/CalendarContext/package.json +6 -0
  136. package/components/Calendar/CalendarContext.d.ts +12 -0
  137. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  138. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  139. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  140. package/components/Calendar/CalendarDay/CalendarDay.js +62 -0
  141. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  142. package/components/Calendar/CalendarDay/package.json +6 -0
  143. package/components/Calendar/CalendarDay.d.ts +12 -0
  144. package/components/Calendar/CalendarDay.md +70 -0
  145. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  146. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  147. package/components/Calendar/CalendarUtils.d.ts +2 -1
  148. package/components/Calendar/DayCellView/DayCellView.js +32 -46
  149. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  150. package/components/Calendar/DayCellView.d.ts +4 -12
  151. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -13
  152. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  153. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  154. package/components/Calendar/Month/Month.js +45 -80
  155. package/components/Calendar/Month/Month.js.map +1 -1
  156. package/components/Calendar/Month.d.ts +0 -10
  157. package/components/Calendar/MonthView/MonthView.js +49 -44
  158. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  159. package/components/Calendar/MonthView.d.ts +3 -2
  160. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  161. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  162. package/components/Calendar/MonthView.styles.d.ts +3 -0
  163. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  164. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  165. package/components/Calendar/config/config.js +6 -4
  166. package/components/Calendar/config/config.js.map +1 -1
  167. package/components/Calendar/index/index.js +2 -1
  168. package/components/Calendar/index/index.js.map +1 -1
  169. package/components/Calendar/index.d.ts +1 -0
  170. package/components/DatePicker/DatePicker/DatePicker.js +60 -38
  171. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  172. package/components/DatePicker/DatePicker.d.ts +4 -1
  173. package/components/DatePicker/DatePicker.md +36 -1
  174. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  175. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  176. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  177. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  178. package/components/DatePicker/MobilePicker/package.json +6 -0
  179. package/components/DatePicker/MobilePicker.d.ts +10 -0
  180. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  181. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  182. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  183. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  184. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  185. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  186. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  187. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  188. package/components/Input/Input/Input.js +1 -1
  189. package/components/Input/Input/Input.js.map +1 -1
  190. package/components/Input/Input.styles/Input.styles.js +2 -2
  191. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  192. package/components/Input/Input.styles.d.ts +1 -1
  193. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  194. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  195. package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  196. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
  197. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  198. package/internal/DateSelect/DateSelect/DateSelect.js +56 -4
  199. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  200. package/internal/DateSelect/DateSelect.d.ts +2 -0
  201. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  202. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  203. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  204. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  205. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  206. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  207. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  208. package/internal/DateSelect/locale/types.d.ts +1 -0
  209. package/internal/InputLikeText/InputLikeText/InputLikeText.js +1 -1
  210. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  211. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  212. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  213. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  214. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  215. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  216. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  217. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  218. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  219. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  220. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  221. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  222. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  223. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  224. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  225. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  226. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  227. package/internal/NativeDateInput/utils/utils.js +2 -1
  228. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  229. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +8 -5
  230. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  231. package/internal/ThemePlayground/constants/constants.js +3 -0
  232. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  233. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  234. package/internal/themes/DarkTheme/DarkTheme.js +2 -0
  235. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  236. package/internal/themes/DarkTheme.d.ts +2 -0
  237. package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
  238. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  239. package/internal/themes/DefaultTheme.d.ts +18 -0
  240. package/lib/date/InternalDate/InternalDate.js +7 -1
  241. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  242. package/lib/date/InternalDate.d.ts +2 -0
  243. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  244. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  245. package/lib/date/InternalDateTransformer.d.ts +3 -0
  246. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  247. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  248. package/lib/date/comparison/comparison.js +45 -0
  249. package/lib/date/comparison/comparison.js.map +1 -0
  250. package/lib/date/comparison/package.json +6 -0
  251. package/lib/date/comparison.d.ts +6 -0
  252. package/lib/locale/constants/constants.js +4 -1
  253. package/lib/locale/constants/constants.js.map +1 -1
  254. package/lib/locale/constants.d.ts +3 -0
  255. package/lib/theming/ThemeContext.md +3 -1
  256. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
  257. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
  258. package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
  259. package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  260. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
  261. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
  262. package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
  263. package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  264. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","theme","React","useContext","ThemeContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","aside","iconFocus","iconDisabled"],"mappings":"0KAAA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;;;;;;AAMO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGC,eAAMC,UAAN,CAAiBC,0BAAjB,CAAd;AACA,0BAAoCF,eAAMC,UAAN,CAAiBE,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACW,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACa,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACe,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACiB,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACkB,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACmB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGnB,eAAMqB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE;AACTG,gCAAaC,KAAb,EADS;AAETD,gCAAa7B,IAAb,CAAkBE,KAAlB,CAFS;AAGTK,MAAAA,OAAO,IAAIsB,0BAAaE,SAAb,CAAuB7B,KAAvB,CAHF;AAITM,MAAAA,QAAQ,IAAIqB,0BAAaG,YAAb,EAJH,CAFb;;;AASGV,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
1
+ {"version":3,"sources":["InputLayoutAsideIcon.tsx"],"names":["InputLayoutAsideIcon","icon","side","theme","React","useContext","ThemeContext","InputLayoutContext","focused","disabled","size","sizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","gaps","inputIconGapSmall","inputIconGapMedium","inputIconGapLarge","_icon","Function","cloneElement","props","style","marginLeft","marginRight","stylesLayout","aside","iconFocus","iconDisabled"],"mappings":"0KAAA;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;;;;;;AAMO,IAAMA,oBAAwE,GAAG,SAA3EA,oBAA2E,OAA2B,sBAAxBC,IAAwB,CAAxBA,IAAwB,0BAAjB,IAAiB,aAAXC,IAAW,QAAXA,IAAW;AACjH,MAAMC,KAAK,GAAGC,eAAMC,UAAN,CAAiBC,0BAAjB,CAAd;AACA,0BAAoCF,eAAMC,UAAN,CAAiBE,sCAAjB,CAApC,CAAQC,OAAR,qBAAQA,OAAR,CAAiBC,QAAjB,qBAAiBA,QAAjB,CAA2BC,IAA3B,qBAA2BA,IAA3B;;AAEA,MAAMC,KAA+B,GAAG;AACtCC,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACW,kBAAP,CADuB;AAEtCC,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACa,mBAAP,CAFsB;AAGtCC,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACe,kBAAP,CAHuB,EAAxC;;AAKA,MAAMC,IAA8B,GAAG;AACrCP,IAAAA,KAAK,EAAEC,QAAQ,CAACV,KAAK,CAACiB,iBAAP,CADsB;AAErCL,IAAAA,MAAM,EAAEF,QAAQ,CAACV,KAAK,CAACkB,kBAAP,CAFqB;AAGrCJ,IAAAA,KAAK,EAAEJ,QAAQ,CAACV,KAAK,CAACmB,iBAAP,CAHsB,EAAvC;;;AAMA,MAAIC,KAAK,GAAGtB,IAAI,YAAYuB,QAAhB,GAA2BvB,IAAI,EAA/B,GAAoCA,IAAhD;AACA,MAAI,wBAAUA,IAAV,KAAmB,yBAAaA,IAAb,CAAvB,EAA2C;AACzCsB,IAAAA,KAAK,gBAAGnB,eAAMqB,YAAN,CAAmBxB,IAAnB,EAAyB,EAAES,IAAI,sBAAET,IAAI,CAACyB,KAAL,CAAWhB,IAAb,+BAAqBC,KAAK,CAACD,IAAD,CAAhC,EAAzB,CAAR;AACD;;AAED,MAAMiB,KAA0B,GAAG,EAAnC;AACA,MAAIzB,IAAJ,EAAU;AACR,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpByB,MAAAA,KAAK,CAACC,UAAN,GAAmBT,IAAI,CAACT,IAAD,CAAvB;AACD,KAFD,MAEO;AACLiB,MAAAA,KAAK,CAACE,WAAN,GAAoBV,IAAI,CAACT,IAAD,CAAxB;AACD;AACF;;AAED;AACEa,IAAAA,KAAK;AACH;AACE,MAAA,KAAK,EAAEI,KADT;AAEE,MAAA,SAAS,EAAE;AACTG,gCAAaC,KAAb,EADS;AAETD,gCAAa7B,IAAb,CAAkBE,KAAlB,CAFS;AAGTK,MAAAA,OAAO,IAAIsB,0BAAaE,SAAb,CAAuB7B,KAAvB,CAHF;AAITM,MAAAA,QAAQ,IAAIqB,0BAAaG,YAAb,CAA0B9B,KAA1B,CAJH,CAFb;;;AASGoB,IAAAA,KATH,CAFJ;;;;AAeD,CA5CM,C","sourcesContent":["import React from 'react';\nimport { isElement } from 'react-is';\n\nimport { isKonturIcon } from '../../../lib/utils';\nimport { InputProps } from '../Input';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { InputLayoutContext } from './InputLayoutContext';\nimport { stylesLayout } from './InputLayout.styles';\nexport interface InputLayoutAsideIconProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAsideIcon: React.FunctionComponent<InputLayoutAsideIconProps> = ({ icon = null, side }) => {\n const theme = React.useContext(ThemeContext);\n const { focused, disabled, size } = React.useContext(InputLayoutContext);\n\n const sizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const gaps: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconGapSmall),\n medium: parseInt(theme.inputIconGapMedium),\n large: parseInt(theme.inputIconGapLarge),\n };\n\n let _icon = icon instanceof Function ? icon() : icon;\n if (isElement(icon) && isKonturIcon(icon)) {\n _icon = React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n const style: React.CSSProperties = {};\n if (side) {\n if (side === 'right') {\n style.marginLeft = gaps[size];\n } else {\n style.marginRight = gaps[size];\n }\n }\n\n return (\n _icon && (\n <span\n style={style}\n className={cx(\n stylesLayout.aside(),\n stylesLayout.icon(theme),\n focused && stylesLayout.iconFocus(theme),\n disabled && stylesLayout.iconDisabled(theme),\n )}\n >\n {_icon}\n </span>\n )\n );\n};\n"]}
@@ -60,6 +60,7 @@ export declare class DateSelect extends React.PureComponent<DateSelectProps, Dat
60
60
  private setPositionRepeatTimer;
61
61
  private yearStep;
62
62
  private touchStartY;
63
+ private isMobileLayout;
63
64
  componentDidUpdate(): void;
64
65
  componentDidMount(): void;
65
66
  componentWillUnmount(): void;
@@ -79,6 +80,7 @@ export declare class DateSelect extends React.PureComponent<DateSelectProps, Dat
79
80
  private setNodeTop;
80
81
  private disableItems;
81
82
  private renderMenu;
83
+ private renderMobileMenu;
82
84
  private refItemsContainer;
83
85
  private handleLongClickUp;
84
86
  private handleLongClickDown;
@@ -2,6 +2,8 @@
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _globalObject = require("@skbkontur/global-object");
4
4
 
5
+ var _decorator = require("../../components/ResponsiveLayout/decorator");
6
+ var _Calendar = require("../../components/Calendar/Calendar");
5
7
  var _utils = require("../../lib/utils");
6
8
  var _identifiers = require("../../lib/events/keyboard/identifiers");
7
9
  var _locale = require("../../components/DatePicker/locale");
@@ -29,6 +31,8 @@ var itemHeight = 24;
29
31
  var visibleYearsCount = 11;
30
32
  var itemsToMoveCount = -5;
31
33
  var monthsCount = 12;
34
+ var defaultMinMonth = 0;
35
+ var defaultMaxMonth = 11;
32
36
  var defaultMinYear = 1900;
33
37
  var defaultMaxYear = 2100;
34
38
 
@@ -74,7 +78,8 @@ var DateSelectDataTids = {
74
78
 
75
79
 
76
80
 
77
- DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocaleHelper), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(DateSelect, _React$PureComponent);function DateSelect() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
81
+
82
+ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocaleHelper), (0, _decorator.responsiveLayout)(_class = _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(DateSelect, _React$PureComponent);function DateSelect() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
78
83
 
79
84
 
80
85
 
@@ -150,6 +155,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
150
155
 
151
156
 
152
157
 
158
+
153
159
 
154
160
 
155
161
  open = function () {
@@ -261,6 +267,11 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
261
267
 
262
268
 
263
269
 
270
+
271
+
272
+
273
+
274
+
264
275
 
265
276
 
266
277
 
@@ -399,6 +410,41 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
399
410
 
400
411
 
401
412
 
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
402
448
 
403
449
 
404
450
 
@@ -532,8 +578,8 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
532
578
  _this.setPosition(_this.state.pos + itemHeight * _this.yearStep);
533
579
  };return _this;}var _proto = DateSelect.prototype;_proto.componentDidUpdate = function componentDidUpdate() {this.setNodeTop();};_proto.componentDidMount = function componentDidMount() {this.listener = LayoutEvents.addListener(this.setNodeTop);this.setNodeTop();_globalObject.globalObject.addEventListener == null ? void 0 : _globalObject.globalObject.addEventListener('keydown', this.handleKey);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.listener) {this.listener.remove();}if (this.timeout) {_globalObject.globalObject.clearTimeout(this.timeout);}if (this.longClickTimer) {_globalObject.globalObject.clearTimeout(this.longClickTimer);}if (this.setPositionRepeatTimer) {_globalObject.globalObject.clearTimeout(this.setPositionRepeatTimer);}_globalObject.globalObject.removeEventListener == null ? void 0 : _globalObject.globalObject.removeEventListener('keydown', this.handleKey);} /**
534
580
  * @public
535
- */;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2;if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return this.renderMain2022();}var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)((_cx = {}, _cx[_DateSelect.styles.root(this.theme)] = true, _cx[_DateSelect.styles.disabled()] = Boolean(disabled), _cx)), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-controls': !disabled ? this.menuId : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DateSelect.styles.arrow(this.theme)] = true, _cx2[_DateSelect.styles.arrowDisabled()] = Boolean(disabled), _cx2)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowTriangleUpDownIcon, { size: 12 }))), this.state.opened && this.renderMenu(this.menuId));};_proto.renderMain2022 = function renderMain2022() {var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)(_DateSelect.styles.root(this.theme), _DateSelect.styles.root2022(), disabled && _DateSelect.styles.disabled()), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0)), isInteractiveElement && /*#__PURE__*/_react.default.createElement(_ArrowCollapseCVOpenIcon16Regular.ArrowCollapseCVOpenIcon16Regular, { className: (0, _Emotion.cx)(_DateSelect.globalClasses.arrow), color: "#ADADAD" }), this.state.opened && this.renderMenu(this.menuId));};_proto.disableItems = function disableItems(index) {var value = this.props.value + index;if ((0, _utils.isNonNullable)(this.props.maxValue) && (0, _utils.isNonNullable)(this.props.minValue)) {return value > this.props.maxValue || value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.minValue)) {return value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.maxValue)) {return value > this.props.maxValue;}};_proto.renderMenu = function renderMenu(id) {var _this3 = this,_cx3;var _this$state = this.state,top = _this$state.top,height = _this$state.height,nodeTop = _this$state.nodeTop;var shift = this.state.pos % itemHeight;if (shift < 0) {shift += itemHeight;}var from = (this.state.pos - shift + top) / itemHeight;var to = from + Math.ceil((height + shift) / itemHeight);var items = [];var _loop = function _loop(i) {var _cx4;var disableItems = _this3.disableItems(i) || false;var className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_DateSelect.styles.menuItem(_this3.theme)] = true, _cx4[_DateSelect.styles.menuItemSelected(_this3.theme)] = i === 0, _cx4[_DateSelect.styles.menuItemActive(_this3.theme)] = i === _this3.state.current, _cx4[_DateSelect.styles.menuItemDisabled(_this3.theme)] = disableItems, _cx4));var clickHandler = { onMouseDown: preventDefault, onClick: _this3.handleItemClick(i) };items.push( /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i), "data-tid": DateSelectDataTids.menuItem, "data-prop-disabled": disableItems, key: i, className: className, onMouseEnter: function onMouseEnter() {return _this3.setState({ current: i });}, onMouseLeave: function onMouseLeave() {return _this3.setState({ current: null });} }, clickHandler), _this3.getItem(i)));};for (var i = from; i < to; ++i) {_loop(i);}var style = { top: top - 5, left: 0, right: 0 };var shiftStyle = { position: 'relative', top: -shift };var holderClass = (0, _Emotion.cx)((_cx3 = {}, _cx3[_DateSelect.styles.menuHolder(this.theme)] = true, _cx3[_DateSelect.styles.isTopCapped()] = this.state.topCapped, _cx3[_DateSelect.styles.isBotCapped()] = this.state.botCapped, _cx3));var dropdownOffset = -itemHeight;if (nodeTop < -top) {var overflowOffsetDelta = this.state.topCapped ? 6 : 17;dropdownOffset -= nodeTop + top - overflowOffsetDelta;}var iconUp = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCUpIcon16Regular.ArrowCUpIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronUpIcon, null);var iconDown = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCDownIcon16Regular.ArrowCDownIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: true }, /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { "data-tid": DateSelectDataTids.menu, id: id, getParent: this.getAnchor, offsetY: dropdownOffset, offsetX: -10 }, /*#__PURE__*/_react.default.createElement("div", { className: holderClass, style: style }, !this.state.topCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuUp()), onClick: this.handleUp, onMouseDown: this.handleLongClickUp, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickUp, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconUp)), /*#__PURE__*/_react.default.createElement("div", { className: _DateSelect.styles.itemsHolder(), style: { height: height } }, /*#__PURE__*/_react.default.createElement("div", { ref: this.refItemsContainer, style: shiftStyle }, items)), !this.state.botCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuDown()), onClick: this.handleDown, onMouseDown: this.handleLongClickDown, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickDown, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconDown)))));};_proto.getItem = function getItem(index) {
536
- var value = this.props.value + index;
581
+ */;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx, _cx2;if ((0, _ThemeHelpers.isTheme2022)(this.theme)) {return this.renderMain2022();}var isMobile = this.isMobileLayout;var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)((_cx = {}, _cx[_DateSelect.styles.root(this.theme)] = true, _cx[_DateSelect.styles.disabled()] = Boolean(disabled), _cx)), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-controls': !disabled ? this.menuId : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DateSelect.styles.arrow(this.theme)] = true, _cx2[_DateSelect.styles.arrowDisabled()] = Boolean(disabled), _cx2)) }, /*#__PURE__*/_react.default.createElement(_px.ArrowTriangleUpDownIcon, { size: 12 }))), isMobile ? !disabled && this.renderMobileMenu(this.props, this.menuId) : this.state.opened && this.renderMenu(this.menuId));};_proto.renderMain2022 = function renderMain2022() {var isMobile = this.isMobileLayout;var disabled = this.props.disabled;var width = this.getProps().width;var isInteractiveElement = !disabled;var Tag = isInteractiveElement ? 'button' : 'span';var rootProps = { className: (0, _Emotion.cx)(_DateSelect.styles.root(this.theme), _DateSelect.styles.root2022(), disabled && _DateSelect.styles.disabled()), style: { width: width }, ref: this.refRoot, onClick: this.open, 'aria-expanded': isInteractiveElement ? this.state.opened : undefined, 'aria-label': isInteractiveElement ? this.locale.selectChosenAriaLabel + " " + (this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel) + " " + this.getItem(0) : undefined };return /*#__PURE__*/_react.default.createElement(Tag, rootProps, /*#__PURE__*/_react.default.createElement("div", { "data-tid": DateSelectDataTids.caption, className: _DateSelect.styles.caption() }, this.getItem(0)), isInteractiveElement && /*#__PURE__*/_react.default.createElement(_ArrowCollapseCVOpenIcon16Regular.ArrowCollapseCVOpenIcon16Regular, { className: (0, _Emotion.cx)(_DateSelect.globalClasses.arrow), color: "#ADADAD" }), isMobile ? !disabled && this.renderMobileMenu(this.props, this.menuId) : this.state.opened && this.renderMenu(this.menuId));};_proto.disableItems = function disableItems(index) {var value = this.props.value + index;if ((0, _utils.isNonNullable)(this.props.maxValue) && (0, _utils.isNonNullable)(this.props.minValue)) {return value > this.props.maxValue || value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.minValue)) {return value < this.props.minValue;}if ((0, _utils.isNonNullable)(this.props.maxValue)) {return value > this.props.maxValue;}};_proto.renderMenu = function renderMenu(id) {var _this3 = this,_cx3;var _this$state = this.state,top = _this$state.top,height = _this$state.height,nodeTop = _this$state.nodeTop;var shift = this.state.pos % itemHeight;if (shift < 0) {shift += itemHeight;}var from = (this.state.pos - shift + top) / itemHeight;var to = from + Math.ceil((height + shift) / itemHeight);var items = [];var _loop = function _loop(i) {var _cx4;var disableItems = _this3.disableItems(i) || false;var className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_DateSelect.styles.menuItem(_this3.theme)] = true, _cx4[_DateSelect.styles.menuItemSelected(_this3.theme)] = i === 0, _cx4[_DateSelect.styles.menuItemActive(_this3.theme)] = i === _this3.state.current, _cx4[_DateSelect.styles.menuItemDisabled(_this3.theme)] = disableItems, _cx4));var clickHandler = { onMouseDown: preventDefault, onClick: _this3.handleItemClick(i) };items.push( /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "aria-label": "\u0412\u044B\u0431\u0440\u0430\u0442\u044C " + (_this3.getProps().type === 'year' ? 'год' : 'месяц') + " " + _this3.getItem(i), "data-tid": DateSelectDataTids.menuItem, "data-prop-disabled": disableItems, key: i, className: className, onMouseEnter: function onMouseEnter() {return _this3.setState({ current: i });}, onMouseLeave: function onMouseLeave() {return _this3.setState({ current: null });} }, clickHandler), _this3.getItem(i)));};for (var i = from; i < to; ++i) {_loop(i);}var style = { top: top - 5, left: 0, right: 0 };var shiftStyle = { position: 'relative', top: -shift };var holderClass = (0, _Emotion.cx)((_cx3 = {}, _cx3[_DateSelect.styles.menuHolder(this.theme)] = true, _cx3[_DateSelect.styles.isTopCapped()] = this.state.topCapped, _cx3[_DateSelect.styles.isBotCapped()] = this.state.botCapped, _cx3));var dropdownOffset = -itemHeight;if (nodeTop < -top) {var overflowOffsetDelta = this.state.topCapped ? 6 : 17;dropdownOffset -= nodeTop + top - overflowOffsetDelta;}var iconUp = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCUpIcon16Regular.ArrowCUpIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronUpIcon, null);var iconDown = (0, _ThemeHelpers.isTheme2022)(this.theme) ? /*#__PURE__*/_react.default.createElement(_ArrowCDownIcon16Regular.ArrowCDownIcon16Regular, { color: "#ADADAD" }) : /*#__PURE__*/_react.default.createElement(_px.ArrowChevronDownIcon, null);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: true }, /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { "data-tid": DateSelectDataTids.menu, id: id, getParent: this.getAnchor, offsetY: dropdownOffset, offsetX: -10 }, /*#__PURE__*/_react.default.createElement("div", { className: holderClass, style: style }, !this.state.topCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuUp()), onClick: this.handleUp, onMouseDown: this.handleLongClickUp, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickUp, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconUp)), /*#__PURE__*/_react.default.createElement("div", { className: _DateSelect.styles.itemsHolder(), style: { height: height } }, /*#__PURE__*/_react.default.createElement("div", { ref: this.refItemsContainer, style: shiftStyle }, items)), !this.state.botCapped && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_DateSelect.styles.menu(this.theme), _DateSelect.styles.menuDown()), onClick: this.handleDown, onMouseDown: this.handleLongClickDown, onMouseUp: this.handleLongClickStop, onMouseLeave: this.handleLongClickStop, onTouchStart: this.handleLongClickDown, onTouchEnd: this.handleLongClickStop }, /*#__PURE__*/_react.default.createElement("span", null, iconDown)))));};_proto.renderMobileMenu = function renderMobileMenu(_ref, id) {var _this4 = this;var value = _ref.value,minValue = _ref.minValue,maxValue = _ref.maxValue,onValueChange = _ref.onValueChange,type = _ref.type;var from = type === 'month' ? defaultMinMonth : minValue != null ? minValue : defaultMinYear;var to = type === 'month' ? defaultMaxMonth : maxValue != null ? maxValue : defaultMaxYear;var min = type === 'month' ? minValue != null ? minValue : defaultMinMonth : minValue != null ? minValue : defaultMinYear;var max = type === 'month' ? maxValue != null ? maxValue : defaultMaxMonth : maxValue != null ? maxValue : defaultMaxYear;var items = [];for (var item = from; item <= to; ++item) {items.push({ item: item, disabled: item < min || item > max });}return /*#__PURE__*/ (// eslint-disable-next-line jsx-a11y/no-onchange
582
+ _react.default.createElement("select", { id: id, "data-tid": type === 'month' ? _Calendar.CalendarDataTids.monthSelectMobile : _Calendar.CalendarDataTids.yearSelectMobile, className: _DateSelect.styles.nativeSelect(), value: value, onChange: function onChange(e) {onValueChange(parseInt(e.target.value));} }, items.map(function (_ref2) {var _this4$locale$months;var item = _ref2.item,disabled = _ref2.disabled;return /*#__PURE__*/_react.default.createElement("option", { key: item, value: item, disabled: disabled }, type === 'month' ? (_this4$locale$months = _this4.locale.months) == null ? void 0 : _this4$locale$months[item] : item);})));};_proto.getItem = function getItem(index) {var value = this.props.value + index;
537
583
  if (this.getProps().type === 'month') {var _this$locale$months;
538
584
  return (_this$locale$months = this.locale.months) == null ? void 0 : _this$locale$months[value];
539
585
  }
@@ -576,7 +622,7 @@ DateSelect = (_dec = (0, _decorators.locale)('Calendar', _locale.DatePickerLocal
576
622
  return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;
577
623
  }
578
624
  return Infinity; // Be defensive.
579
- };return DateSelect;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DateSelect', _class2.displayName = 'DateSelect', _class2.propTypes = { disabled: _propTypes.default.bool, type: _propTypes.default.string, value: _propTypes.default.number.isRequired, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, minValue: _propTypes.default.number, maxValue: _propTypes.default.number }, _class2.defaultProps = { type: 'year', width: 'auto' }, _temp)) || _class);exports.DateSelect = DateSelect;
625
+ };return DateSelect;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'DateSelect', _class2.displayName = 'DateSelect', _class2.propTypes = { disabled: _propTypes.default.bool, type: _propTypes.default.string, value: _propTypes.default.number.isRequired, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, minValue: _propTypes.default.number, maxValue: _propTypes.default.number }, _class2.defaultProps = { type: 'year', width: 'auto' }, _temp)) || _class) || _class);exports.DateSelect = DateSelect;
580
626
 
581
627
 
582
628
  function preventDefault(e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","longClickTimer","setPositionRepeatTimer","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser, SafeTimer } from '@skbkontur/global-object';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: SafeTimer;\n private longClickTimer: SafeTimer;\n private setPositionRepeatTimer: SafeTimer;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n globalObject.addEventListener?.('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n globalObject.clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n }\n globalObject.removeEventListener?.('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n this.timeout = globalObject.setTimeout(\n () =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n 0,\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n globalObject.clearTimeout(this.longClickTimer);\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = globalObject.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
1
+ {"version":3,"sources":["DateSelect.tsx"],"names":["itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinMonth","defaultMaxMonth","defaultMinYear","defaultMaxYear","calculatePos","pos","minPos","maxPos","DateSelectDataTids","caption","menuItem","menu","DateSelect","DatePickerLocaleHelper","responsiveLayout","getProps","defaultProps","state","botCapped","current","height","opened","top","topCapped","nodeTop","Infinity","root","itemsContainer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","menuId","refRoot","element","setNodeTop","timeout","globalObject","clearTimeout","setTimeout","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","isMobile","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","longClickTimer","setPositionRepeatTimer","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","value","onValueChange","handleKey","e","handleUp","handleDown","componentDidUpdate","componentDidMount","listener","LayoutEvents","addListener","componentWillUnmount","remove","render","theme","renderMain","renderMain2022","isMobileLayout","width","isInteractiveElement","Tag","rootProps","className","styles","Boolean","style","ref","onClick","undefined","locale","selectChosenAriaLabel","type","selectYearAriaLabel","selectMonthAriaLabel","getItem","arrow","arrowDisabled","renderMobileMenu","renderMenu","root2022","globalClasses","disableItems","index","maxValue","minValue","id","from","to","Math","ceil","items","i","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","iconUp","iconDown","menuUp","itemsHolder","menuDown","min","max","item","CalendarDataTids","monthSelectMobile","yearSelectMobile","nativeSelect","parseInt","target","map","months","getMinPos","getMaxPos","calculatedPos","React","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","bool","string","number","isRequired","oneOfType","func"],"mappings":"4cAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iD;;AAEA,IAAMA,UAAU,GAAG,EAAnB;AACA,IAAMC,iBAAiB,GAAG,EAA1B;AACA,IAAMC,gBAAgB,GAAG,CAAC,CAA1B;AACA,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,eAAe,GAAG,CAAxB;AACA,IAAMC,eAAe,GAAG,EAAxB;AACA,IAAMC,cAAc,GAAG,IAAvB;AACA,IAAMC,cAAc,GAAG,IAAvB;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAcC,MAAd,EAA8BC,MAA9B,EAAiD;AACpE,MAAIA,MAAM,IAAIF,GAAd,EAAmB;AACjB,WAAOE,MAAP;AACD;;AAED,MAAID,MAAM,IAAID,GAAd,EAAmB;AACjB,WAAOC,MAAP;AACD;;AAED,SAAOD,GAAP;AACD,CAVD;;AAYO,IAAMG,kBAAkB,GAAG;AAChCC,EAAAA,OAAO,EAAE,qBADuB;AAEhCC,EAAAA,QAAQ,EAAE,sBAFsB;AAGhCC,EAAAA,IAAI,EAAE,kBAH0B,EAA3B,C;;;;;;;AAUMC,U,WADZ,wBAAO,UAAP,EAAmBC,8BAAnB,C,MADAC,2B;;;;;;;;;;;;;;;;;;;;;;;;;AA2BSC,IAAAA,Q,GAAW,0CAAkBH,UAAU,CAACI,YAA7B,C;;AAEZC,IAAAA,K,GAAQ;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,OAAO,EAAE,CAFI;AAGbC,MAAAA,MAAM,EAAE,CAHK;AAIbC,MAAAA,MAAM,EAAE,KAJK;AAKbhB,MAAAA,GAAG,EAAE,CALQ;AAMbiB,MAAAA,GAAG,EAAE,CANQ;AAObC,MAAAA,SAAS,EAAE,KAPE;AAQbC,MAAAA,OAAO,EAAEC,QARI,E;;;;;AAaPC,IAAAA,I,GAA2B,I;AAC3BC,IAAAA,c,GAAqC,I;;;;;AAKrCC,IAAAA,Q,GAAW,C;AACXC,IAAAA,W,GAAgC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCjCC,IAAAA,I,GAAO,YAAM;AAClB,UAAI,MAAKC,KAAL,CAAWC,QAAf,EAAyB;AACvB;AACD;;AAED,UAAI,MAAKf,KAAL,CAAWI,MAAf,EAAuB;AACrB;AACD;;AAED,YAAKY,WAAL,CAAiB,CAAjB;AACA,YAAKC,QAAL,CAAc;AACZb,QAAAA,MAAM,EAAE,IADI;AAEZF,QAAAA,OAAO,EAAE,CAFG,EAAd;;AAID,K;;;;;AAKMgB,IAAAA,K,GAAQ,YAAM;AACnB,UAAI,CAAC,MAAKlB,KAAL,CAAWI,MAAhB,EAAwB;AACtB;AACD;;AAED,YAAKa,QAAL,CAAc,EAAEb,MAAM,EAAE,KAAV,EAAd;AACD,K;;;;;;;;;;;;;AAaOe,IAAAA,M,GAAS5B,kBAAkB,CAACG,IAAnB,GAA0B,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFnC0B,IAAAA,O,GAAU,UAACC,OAAD,EAAiC;AACjD,YAAKZ,IAAL,GAAYY,OAAZ;AACD,K;;AAEOC,IAAAA,U,GAAa,YAAM;AACzB,UAAMb,IAAI,GAAG,MAAKA,IAAlB;AACA,UAAI,CAACA,IAAL,EAAW;AACT;AACD;AACD,UAAI,MAAKc,OAAT,EAAkB;AAChBC,mCAAaC,YAAb,CAA0B,MAAKF,OAA/B;AACD;AACD,YAAKA,OAAL,GAAeC,2BAAaE,UAAb;AACb;AACE,gBAAKT,QAAL,CAAc;AACZV,YAAAA,OAAO,EAAE,4BAAWE,IAAX,EAAiBJ,GADd,EAAd,CADF,GADa;;AAKb,OALa,CAAf;;AAOD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKOsB,IAAAA,iB,GAAoB,UAACN,OAAD,EAAiC;AAC3D,UAAI,CAAC,MAAKX,cAAN,IAAwBW,OAA5B,EAAqC;AACnCA,QAAAA,OAAO,CAACO,gBAAR,CAAyB,OAAzB,EAAkC,MAAKC,WAAvC,EAAoD,EAAEC,OAAO,EAAE,KAAX,EAApD;AACD;AACD,UAAI,MAAKpB,cAAL,IAAuB,CAACW,OAA5B,EAAqC;AACnC,cAAKX,cAAL,CAAoBqB,mBAApB,CAAwC,OAAxC,EAAiD,MAAKF,WAAtD;AACD;;AAED,UAAIG,gBAAJ,EAAc;AACZ,YAAI,CAAC,MAAKtB,cAAN,IAAwBW,OAA5B,EAAqC;AACnCA,UAAAA,OAAO,CAACO,gBAAR,CAAyB,YAAzB,EAAuC,MAAKK,gBAA5C;AACAZ,UAAAA,OAAO,CAACO,gBAAR,CAAyB,WAAzB,EAAsC,MAAKM,eAA3C;AACD;AACD,YAAI,MAAKxB,cAAL,IAAuB,CAACW,OAA5B,EAAqC;AACnC,gBAAKX,cAAL,CAAoBqB,mBAApB,CAAwC,YAAxC,EAAsD,MAAKE,gBAA3D;AACA,gBAAKvB,cAAL,CAAoBqB,mBAApB,CAAwC,WAAxC,EAAqD,MAAKG,eAA1D;AACD;AACF;;AAED,YAAKxB,cAAL,GAAsBW,OAAtB;AACD,K;;AAEOc,IAAAA,iB,GAAoB,UAACC,KAAD,EAAgD;AAC1EA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKC,cAAL,GAAsBd,2BAAaE,UAAb,CAAwB,YAAM;AAClD,cAAKa,sBAAL,GAA8Bf,2BAAagB,WAAb,CAAyB,oBAAM,MAAKxB,WAAL,CAAiB,MAAKhB,KAAL,CAAWZ,GAAX,GAAiBT,UAAlC,CAAN,EAAzB,EAA8E,GAA9E,CAA9B;AACD,OAFqB,EAEnB,GAFmB,CAAtB;AAGD,K;;AAEO8D,IAAAA,mB,GAAsB,UAACL,KAAD,EAAgD;AAC5EA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKC,cAAL,GAAsBd,2BAAaE,UAAb,CAAwB,YAAM;AAClD,cAAKa,sBAAL,GAA8Bf,2BAAagB,WAAb,CAAyB,oBAAM,MAAKxB,WAAL,CAAiB,MAAKhB,KAAL,CAAWZ,GAAX,GAAiBT,UAAlC,CAAN,EAAzB,EAA8E,GAA9E,CAA9B;AACD,OAFqB,EAEnB,GAFmB,CAAtB;AAGD,K;;AAEO+D,IAAAA,mB,GAAsB,YAAM;AAClClB,iCAAaC,YAAb,CAA0B,MAAKa,cAA/B;AACAd,iCAAaC,YAAb,CAA0B,MAAKc,sBAA/B;AACD,K;;AAEOI,IAAAA,S,GAAY,oBAAM,MAAKlC,IAAX,E;;AAEZoB,IAAAA,W,GAAc,UAACO,KAAD,EAAkB;AACtC,UAAI,CAAC,gCAAaA,KAAb,EAAoBZ,2BAAaoB,UAAjC,CAAL,EAAmD;AACjD;AACD;AACDR,MAAAA,KAAK,CAACC,cAAN;AACAD,MAAAA,KAAK,CAACS,eAAN;;AAEA,UAAIC,MAAM,GAAGV,KAAK,CAACU,MAAnB;AACA,UAAIV,KAAK,CAACW,SAAN,KAAoB,CAAxB,EAA2B;AACzBD,QAAAA,MAAM,IAAInE,UAAV;AACD,OAFD,MAEO,IAAIyD,KAAK,CAACW,SAAN,KAAoB,CAAxB,EAA2B;AAChCD,QAAAA,MAAM,IAAInE,UAAU,GAAG,CAAvB;AACD;AACD,UAAMS,GAAG,GAAG,MAAKY,KAAL,CAAWZ,GAAX,GAAiB0D,MAA7B;AACA,YAAK9B,WAAL,CAAiB5B,GAAjB;AACD,K;;AAEO6C,IAAAA,gB,GAAmB,UAACG,KAAD,EAAkB;AAC3C,UAAI,CAAC,gCAAaA,KAAb,EAAoBZ,2BAAawB,UAAjC,CAAL,EAAmD;AACjD;AACD;;AAED,YAAKpC,WAAL,GAAmBwB,KAAK,CAACa,aAAN,CAAoB,CAApB,EAAuBC,OAA1C;AACD,K;;AAEOhB,IAAAA,e,GAAkB,UAACE,KAAD,EAAkB;AAC1C,UAAI,CAAC,gCAAaA,KAAb,EAAoBZ,2BAAawB,UAAjC,CAAD,IAAiD,CAAC,6BAAUxB,0BAAV,CAAtD,EAA+E;AAC7E;AACD;;AAED,UAAQ0B,OAAR,GAAoBd,KAAK,CAACe,cAAN,CAAqB,CAArB,CAApB,CAAQD,OAAR;AACA,UAAME,UAAU,GAAG5B,2BAAa6B,gBAAhC;;AAEA,UAAMP,MAAM,GAAG,CAAC,CAAC,MAAKlC,WAAL,IAAoB,CAArB,IAA0BsC,OAA3B,IAAsCE,UAArD;AACA,UAAMhE,GAAG,GAAG,MAAKY,KAAL,CAAWZ,GAAX,GAAiB0D,MAAjB,GAA0BA,MAAM,GAAGnE,UAA/C;;AAEA,YAAKiC,WAAL,GAAmBsC,OAAnB;;AAEA,YAAKlC,WAAL,CAAiB5B,GAAjB;AACD,K;;AAEOkE,IAAAA,e,GAAkB,UAACC,KAAD,EAAmB;AAC3C,aAAO,YAAM;AACX,YAAMC,KAAK,GAAG,MAAK1C,KAAL,CAAW0C,KAAX,GAAmBD,KAAjC;AACA,YAAI,MAAKzC,KAAL,CAAW2C,aAAf,EAA8B;AAC5B,gBAAK3C,KAAL,CAAW2C,aAAX,CAAyBD,KAAzB;AACD;AACD,cAAKvC,QAAL,CAAc,EAAEb,MAAM,EAAE,KAAV,EAAd;AACD,OAND;AAOD,K;;AAEOsD,IAAAA,S,GAAY,UAACC,CAAD,EAAsB;AACxC,UAAI,MAAK3D,KAAL,CAAWI,MAAX,IAAqB,8BAAYuD,CAAZ,CAAzB,EAAyC;AACvCA,QAAAA,CAAC,CAACtB,cAAF;AACA,cAAKnB,KAAL;AACAyC,QAAAA,CAAC,CAACd,eAAF;AACD;AACF,K;;AAEOe,IAAAA,Q,GAAW,UAACxB,KAAD,EAA6B;AAC9CA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKrB,WAAL,CAAiB,MAAKhB,KAAL,CAAWZ,GAAX,GAAiBT,UAAU,GAAG,MAAKgC,QAApD;AACD,K;;AAEOkD,IAAAA,U,GAAa,UAACzB,KAAD,EAA6B;AAChDA,MAAAA,KAAK,CAACC,cAAN;AACA,YAAKrB,WAAL,CAAiB,MAAKhB,KAAL,CAAWZ,GAAX,GAAiBT,UAAU,GAAG,MAAKgC,QAApD;AACD,K,wDA/bMmD,kB,GAAP,8BAA4B,CAC1B,KAAKxC,UAAL,GACD,C,QAEMyC,iB,GAAP,6BAA2B,CACzB,KAAKC,QAAL,GAAgBC,YAAY,CAACC,WAAb,CAAyB,KAAK5C,UAA9B,CAAhB,CACA,KAAKA,UAAL,GACAE,2BAAaI,gBAAb,+CAAaA,gBAAb,CAAgC,SAAhC,EAA2C,KAAK8B,SAAhD,EACD,C,QAEMS,oB,GAAP,gCAA8B,CAC5B,IAAI,KAAKH,QAAT,EAAmB,CACjB,KAAKA,QAAL,CAAcI,MAAd,GACD,CACD,IAAI,KAAK7C,OAAT,EAAkB,CAChBC,2BAAaC,YAAb,CAA0B,KAAKF,OAA/B,EACD,CACD,IAAI,KAAKe,cAAT,EAAyB,CACvBd,2BAAaC,YAAb,CAA0B,KAAKa,cAA/B,EACD,CACD,IAAI,KAAKC,sBAAT,EAAiC,CAC/Bf,2BAAaC,YAAb,CAA0B,KAAKc,sBAA/B,EACD,CACDf,2BAAaO,mBAAb,+CAAaA,mBAAb,CAAmC,SAAnC,EAA8C,KAAK2B,SAAnD,EACD,C,CAED;AACF;AACA,K,QA4BSW,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACC,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAIOA,U,GAAR,sBAAqB,eACnB,IAAI,+BAAY,KAAKD,KAAjB,CAAJ,EAA6B,CAC3B,OAAO,KAAKE,cAAL,EAAP,CACD,CACD,IAAMxC,QAAQ,GAAG,KAAKyC,cAAtB,CACA,IAAQ1D,QAAR,GAAqB,KAAKD,KAA1B,CAAQC,QAAR,CACA,IAAM2D,KAAK,GAAG,KAAK5E,QAAL,GAAgB4E,KAA9B,CACA,IAAMC,oBAAoB,GAAG,CAAC5D,QAA9B,CACA,IAAM6D,GAAG,GAAGD,oBAAoB,GAAG,QAAH,GAAc,MAA9C,CACA,IAAME,SAAS,GAAG,EAChBC,SAAS,EAAE,gCACRC,mBAAOtE,IAAP,CAAY,KAAK6D,KAAjB,CADQ,IACkB,IADlB,MAERS,mBAAOhE,QAAP,EAFQ,IAEYiE,OAAO,CAACjE,QAAD,CAFnB,OADK,EAKhBkE,KAAK,EAAE,EAAEP,KAAK,EAALA,KAAF,EALS,EAMhBQ,GAAG,EAAE,KAAK9D,OANM,EAOhB+D,OAAO,EAAE,KAAKtE,IAPE,EAQhB,iBAAiB8D,oBAAoB,GAAG,KAAK3E,KAAL,CAAWI,MAAd,GAAuBgF,SAR5C,EAShB,iBAAiB,CAACrE,QAAD,GAAY,KAAKI,MAAjB,GAA0BiE,SAT3B,EAUhB,cAAcT,oBAAoB,GAC3B,KAAKU,MAAL,CAAYC,qBADe,UAE5B,KAAKxF,QAAL,GAAgByF,IAAhB,KAAyB,MAAzB,GAAkC,KAAKF,MAAL,CAAYG,mBAA9C,GAAoE,KAAKH,MAAL,CAAYI,oBAFpD,UAG1B,KAAKC,OAAL,CAAa,CAAb,CAH0B,GAI9BN,SAdY,EAAlB,CAiBA,oBACE,6BAAC,GAAD,EAASP,SAAT,eACE,sCAAK,YAAUtF,kBAAkB,CAACC,OAAlC,EAA2C,SAAS,EAAEuF,mBAAOvF,OAAP,EAAtD,IACG,KAAKkG,OAAL,CAAa,CAAb,CADH,eAEE,sCACE,SAAS,EAAE,kCACRX,mBAAOY,KAAP,CAAa,KAAKrB,KAAlB,CADQ,IACmB,IADnB,OAERS,mBAAOa,aAAP,EAFQ,IAEiBZ,OAAO,CAACjE,QAAD,CAFxB,QADb,iBAME,6BAAC,2BAAD,IAAyB,IAAI,EAAE,EAA/B,GANF,CAFF,CADF,EAYGiB,QAAQ,GACL,CAACjB,QAAD,IAAa,KAAK8E,gBAAL,CAAsB,KAAK/E,KAA3B,EAAkC,KAAKK,MAAvC,CADR,GAEL,KAAKnB,KAAL,CAAWI,MAAX,IAAqB,KAAK0F,UAAL,CAAgB,KAAK3E,MAArB,CAd3B,CADF,CAkBD,C,QAEOqD,c,GAAR,0BAAyB,CACvB,IAAMxC,QAAQ,GAAG,KAAKyC,cAAtB,CACA,IAAQ1D,QAAR,GAAqB,KAAKD,KAA1B,CAAQC,QAAR,CACA,IAAM2D,KAAK,GAAG,KAAK5E,QAAL,GAAgB4E,KAA9B,CACA,IAAMC,oBAAoB,GAAG,CAAC5D,QAA9B,CACA,IAAM6D,GAAG,GAAGD,oBAAoB,GAAG,QAAH,GAAc,MAA9C,CACA,IAAME,SAAS,GAAG,EAChBC,SAAS,EAAE,iBAAGC,mBAAOtE,IAAP,CAAY,KAAK6D,KAAjB,CAAH,EAA4BS,mBAAOgB,QAAP,EAA5B,EAA+ChF,QAAQ,IAAIgE,mBAAOhE,QAAP,EAA3D,CADK,EAEhBkE,KAAK,EAAE,EAAEP,KAAK,EAALA,KAAF,EAFS,EAGhBQ,GAAG,EAAE,KAAK9D,OAHM,EAIhB+D,OAAO,EAAE,KAAKtE,IAJE,EAKhB,iBAAiB8D,oBAAoB,GAAG,KAAK3E,KAAL,CAAWI,MAAd,GAAuBgF,SAL5C,EAMhB,cAAcT,oBAAoB,GAC3B,KAAKU,MAAL,CAAYC,qBADe,UAE5B,KAAKxF,QAAL,GAAgByF,IAAhB,KAAyB,MAAzB,GAAkC,KAAKF,MAAL,CAAYG,mBAA9C,GAAoE,KAAKH,MAAL,CAAYI,oBAFpD,UAG1B,KAAKC,OAAL,CAAa,CAAb,CAH0B,GAI9BN,SAVY,EAAlB,CAaA,oBACE,6BAAC,GAAD,EAASP,SAAT,eACE,sCAAK,YAAUtF,kBAAkB,CAACC,OAAlC,EAA2C,SAAS,EAAEuF,mBAAOvF,OAAP,EAAtD,IACG,KAAKkG,OAAL,CAAa,CAAb,CADH,CADF,EAIGf,oBAAoB,iBACnB,6BAAC,kEAAD,IAAkC,SAAS,EAAE,iBAAGqB,0BAAcL,KAAjB,CAA7C,EAAsE,KAAK,EAAC,SAA5E,GALJ,EAOG3D,QAAQ,GACL,CAACjB,QAAD,IAAa,KAAK8E,gBAAL,CAAsB,KAAK/E,KAA3B,EAAkC,KAAKK,MAAvC,CADR,GAEL,KAAKnB,KAAL,CAAWI,MAAX,IAAqB,KAAK0F,UAAL,CAAgB,KAAK3E,MAArB,CAT3B,CADF,CAaD,C,QAuBO8E,Y,GAAR,sBAAqBC,KAArB,EAAoC,CAClC,IAAM1C,KAAK,GAAG,KAAK1C,KAAL,CAAW0C,KAAX,GAAmB0C,KAAjC,CACA,IAAI,0BAAc,KAAKpF,KAAL,CAAWqF,QAAzB,KAAsC,0BAAc,KAAKrF,KAAL,CAAWsF,QAAzB,CAA1C,EAA8E,CAC5E,OAAO5C,KAAK,GAAG,KAAK1C,KAAL,CAAWqF,QAAnB,IAA+B3C,KAAK,GAAG,KAAK1C,KAAL,CAAWsF,QAAzD,CACD,CAED,IAAI,0BAAc,KAAKtF,KAAL,CAAWsF,QAAzB,CAAJ,EAAwC,CACtC,OAAO5C,KAAK,GAAG,KAAK1C,KAAL,CAAWsF,QAA1B,CACD,CAED,IAAI,0BAAc,KAAKtF,KAAL,CAAWqF,QAAzB,CAAJ,EAAwC,CACtC,OAAO3C,KAAK,GAAG,KAAK1C,KAAL,CAAWqF,QAA1B,CACD,CACF,C,QAEOL,U,GAAR,oBAAmBO,EAAnB,EAAiD,wBAC/C,kBAAiC,KAAKrG,KAAtC,CAAQK,GAAR,eAAQA,GAAR,CAAaF,MAAb,eAAaA,MAAb,CAAqBI,OAArB,eAAqBA,OAArB,CAEA,IAAIgD,KAAK,GAAG,KAAKvD,KAAL,CAAWZ,GAAX,GAAiBT,UAA7B,CACA,IAAI4E,KAAK,GAAG,CAAZ,EAAe,CACbA,KAAK,IAAI5E,UAAT,CACD,CAED,IAAM2H,IAAI,GAAG,CAAC,KAAKtG,KAAL,CAAWZ,GAAX,GAAiBmE,KAAjB,GAAyBlD,GAA1B,IAAiC1B,UAA9C,CACA,IAAM4H,EAAE,GAAGD,IAAI,GAAGE,IAAI,CAACC,IAAL,CAAU,CAACtG,MAAM,GAAGoD,KAAV,IAAmB5E,UAA7B,CAAlB,CACA,IAAM+H,KAAK,GAAG,EAAd,CAV+C,2BAYtCC,CAZsC,YAa7C,IAAMV,YAAY,GAAG,MAAI,CAACA,YAAL,CAAkBU,CAAlB,KAAwB,KAA7C,CACA,IAAM7B,SAAS,GAAG,kCACfC,mBAAOtF,QAAP,CAAgB,MAAI,CAAC6E,KAArB,CADe,IACe,IADf,OAEfS,mBAAO6B,gBAAP,CAAwB,MAAI,CAACtC,KAA7B,CAFe,IAEuBqC,CAAC,KAAK,CAF7B,OAGf5B,mBAAO8B,cAAP,CAAsB,MAAI,CAACvC,KAA3B,CAHe,IAGqBqC,CAAC,KAAK,MAAI,CAAC3G,KAAL,CAAWE,OAHtC,OAIf6E,mBAAO+B,gBAAP,CAAwB,MAAI,CAACxC,KAA7B,CAJe,IAIuB2B,YAJvB,QAAlB,CAMA,IAAMc,YAAY,GAAG,EACnBC,WAAW,EAAE3E,cADM,EAEnB8C,OAAO,EAAE,MAAI,CAAC7B,eAAL,CAAqBqD,CAArB,CAFU,EAArB,CAIAD,KAAK,CAACO,IAAN,eACE,gEACE,+DAAuB,MAAI,CAACnH,QAAL,GAAgByF,IAAhB,KAAyB,MAAzB,GAAkC,KAAlC,GAA0C,OAAjE,UAA4E,MAAI,CAACG,OAAL,CAAaiB,CAAb,CAD9E,EAEE,YAAUpH,kBAAkB,CAACE,QAF/B,EAGE,sBAAoBwG,YAHtB,EAIE,GAAG,EAAEU,CAJP,EAKE,SAAS,EAAE7B,SALb,EAME,YAAY,EAAE,gCAAM,MAAI,CAAC7D,QAAL,CAAc,EAAEf,OAAO,EAAEyG,CAAX,EAAd,CAAN,EANhB,EAOE,YAAY,EAAE,gCAAM,MAAI,CAAC1F,QAAL,CAAc,EAAEf,OAAO,EAAE,IAAX,EAAd,CAAN,EAPhB,IAQM6G,YARN,GAUG,MAAI,CAACrB,OAAL,CAAaiB,CAAb,CAVH,CADF,EAxB6C,EAY/C,KAAK,IAAIA,CAAC,GAAGL,IAAb,EAAmBK,CAAC,GAAGJ,EAAvB,EAA2B,EAAEI,CAA7B,EAAgC,OAAvBA,CAAuB,EA0B/B,CACD,IAAM1B,KAKL,GAAG,EACF5E,GAAG,EAAEA,GAAG,GAAG,CADT,EAEF6G,IAAI,EAAE,CAFJ,EAGFC,KAAK,EAAE,CAHL,EALJ,CAWA,IAAMC,UAA+B,GAAG,EACtCC,QAAQ,EAAE,UAD4B,EAEtChH,GAAG,EAAE,CAACkD,KAFgC,EAAxC,CAKA,IAAM+D,WAAW,GAAG,kCACjBvC,mBAAOwC,UAAP,CAAkB,KAAKjD,KAAvB,CADiB,IACe,IADf,OAEjBS,mBAAOyC,WAAP,EAFiB,IAEM,KAAKxH,KAAL,CAAWM,SAFjB,OAGjByE,mBAAO0C,WAAP,EAHiB,IAGM,KAAKzH,KAAL,CAAWC,SAHjB,QAApB,CAMA,IAAIyH,cAAc,GAAG,CAAC/I,UAAtB,CACA,IAAI4B,OAAO,GAAG,CAACF,GAAf,EAAoB,CAClB,IAAMsH,mBAAmB,GAAG,KAAK3H,KAAL,CAAWM,SAAX,GAAuB,CAAvB,GAA2B,EAAvD,CACAoH,cAAc,IAAInH,OAAO,GAAGF,GAAV,GAAgBsH,mBAAlC,CACD,CAED,IAAMC,MAAM,GAAG,+BAAY,KAAKtD,KAAjB,iBAA0B,6BAAC,4CAAD,IAAuB,KAAK,EAAC,SAA7B,GAA1B,gBAAsE,6BAAC,sBAAD,OAArF,CACA,IAAMuD,QAAQ,GAAG,+BAAY,KAAKvD,KAAjB,iBAA0B,6BAAC,gDAAD,IAAyB,KAAK,EAAC,SAA/B,GAA1B,gBAAwE,6BAAC,wBAAD,OAAzF,CAEA,oBACE,6BAAC,wBAAD,IAAa,cAAc,EAAE,KAAKpD,KAAlC,EAAyC,cAAc,EAAE,KAAKA,KAA9D,EAAqE,MAAM,MAA3E,iBACE,6BAAC,oCAAD,IACE,YAAU3B,kBAAkB,CAACG,IAD/B,EAEE,EAAE,EAAE2G,EAFN,EAGE,SAAS,EAAE,KAAK1D,SAHlB,EAIE,OAAO,EAAE+E,cAJX,EAKE,OAAO,EAAE,CAAC,EALZ,iBAOE,sCAAK,SAAS,EAAEJ,WAAhB,EAA6B,KAAK,EAAErC,KAApC,IACG,CAAC,KAAKjF,KAAL,CAAWM,SAAZ,iBACC,sCACE,SAAS,EAAE,iBAAGyE,mBAAOrF,IAAP,CAAY,KAAK4E,KAAjB,CAAH,EAA4BS,mBAAO+C,MAAP,EAA5B,CADb,EAEE,OAAO,EAAE,KAAKlE,QAFhB,EAGE,WAAW,EAAE,KAAKzB,iBAHpB,EAIE,SAAS,EAAE,KAAKO,mBAJlB,EAKE,YAAY,EAAE,KAAKA,mBALrB,EAME,YAAY,EAAE,KAAKP,iBANrB,EAOE,UAAU,EAAE,KAAKO,mBAPnB,iBASE,2CAAOkF,MAAP,CATF,CAFJ,eAcE,sCAAK,SAAS,EAAE7C,mBAAOgD,WAAP,EAAhB,EAAsC,KAAK,EAAE,EAAE5H,MAAM,EAANA,MAAF,EAA7C,iBACE,sCAAK,GAAG,EAAE,KAAKwB,iBAAf,EAAkC,KAAK,EAAEyF,UAAzC,IACGV,KADH,CADF,CAdF,EAmBG,CAAC,KAAK1G,KAAL,CAAWC,SAAZ,iBACC,sCACE,SAAS,EAAE,iBAAG8E,mBAAOrF,IAAP,CAAY,KAAK4E,KAAjB,CAAH,EAA4BS,mBAAOiD,QAAP,EAA5B,CADb,EAEE,OAAO,EAAE,KAAKnE,UAFhB,EAGE,WAAW,EAAE,KAAKpB,mBAHpB,EAIE,SAAS,EAAE,KAAKC,mBAJlB,EAKE,YAAY,EAAE,KAAKA,mBALrB,EAME,YAAY,EAAE,KAAKD,mBANrB,EAOE,UAAU,EAAE,KAAKC,mBAPnB,iBASE,2CAAOmF,QAAP,CATF,CApBJ,CAPF,CADF,CADF,CA6CD,C,QAEOhC,gB,GAAR,gCAEEQ,EAFF,EAGe,uBAFX7C,KAEW,QAFXA,KAEW,CAFJ4C,QAEI,QAFJA,QAEI,CAFMD,QAEN,QAFMA,QAEN,CAFgB1C,aAEhB,QAFgBA,aAEhB,CAF+B8B,IAE/B,QAF+BA,IAE/B,CACb,IAAMe,IAAI,GAAGf,IAAI,KAAK,OAAT,GAAmBxG,eAAnB,GAAqCqH,QAArC,WAAqCA,QAArC,GAAiDnH,cAA9D,CACA,IAAMsH,EAAE,GAAGhB,IAAI,KAAK,OAAT,GAAmBvG,eAAnB,GAAqCmH,QAArC,WAAqCA,QAArC,GAAiDjH,cAA5D,CAEA,IAAM+I,GAAG,GAAG1C,IAAI,KAAK,OAAT,GAAmBa,QAAnB,WAAmBA,QAAnB,GAA+BrH,eAA/B,GAAiDqH,QAAjD,WAAiDA,QAAjD,GAA6DnH,cAAzE,CACA,IAAMiJ,GAAG,GAAG3C,IAAI,KAAK,OAAT,GAAmBY,QAAnB,WAAmBA,QAAnB,GAA+BnH,eAA/B,GAAiDmH,QAAjD,WAAiDA,QAAjD,GAA6DjH,cAAzE,CAEA,IAAMwH,KAAiD,GAAG,EAA1D,CACA,KAAK,IAAIyB,IAAI,GAAG7B,IAAhB,EAAsB6B,IAAI,IAAI5B,EAA9B,EAAkC,EAAE4B,IAApC,EAA0C,CACxCzB,KAAK,CAACO,IAAN,CAAW,EAAEkB,IAAI,EAAJA,IAAF,EAAQpH,QAAQ,EAAEoH,IAAI,GAAGF,GAAP,IAAcE,IAAI,GAAGD,GAAvC,EAAX,EACD,CAED,qBACE;AACA,+CACE,EAAE,EAAE7B,EADN,EAEE,YAAUd,IAAI,KAAK,OAAT,GAAmB6C,2BAAiBC,iBAApC,GAAwDD,2BAAiBE,gBAFrF,EAGE,SAAS,EAAEvD,mBAAOwD,YAAP,EAHb,EAIE,KAAK,EAAE/E,KAJT,EAKE,QAAQ,EAAE,kBAACG,CAAD,EAAO,CACfF,aAAa,CAAC+E,QAAQ,CAAC7E,CAAC,CAAC8E,MAAF,CAASjF,KAAV,CAAT,CAAb,CACD,CAPH,IASGkD,KAAK,CAACgC,GAAN,CAAU,+CAAGP,IAAH,SAAGA,IAAH,CAASpH,QAAT,SAASA,QAAT,qBACT,yCAAQ,GAAG,EAAEoH,IAAb,EAAmB,KAAK,EAAEA,IAA1B,EAAgC,QAAQ,EAAEpH,QAA1C,IACGwE,IAAI,KAAK,OAAT,2BAAmB,MAAI,CAACF,MAAL,CAAYsD,MAA/B,qBAAmB,qBAAqBR,IAArB,CAAnB,GAAgDA,IADnD,CADS,EAAV,CATH,CAFF,EAkBD,C,QAkHOzC,O,GAAR,iBAAgBQ,KAAhB,EAA+B,CAC7B,IAAM1C,KAAK,GAAG,KAAK1C,KAAL,CAAW0C,KAAX,GAAmB0C,KAAjC;AACA,QAAI,KAAKpG,QAAL,GAAgByF,IAAhB,KAAyB,OAA7B,EAAsC;AACpC,oCAAO,KAAKF,MAAL,CAAYsD,MAAnB,qBAAO,oBAAqBnF,KAArB,CAAP;AACD;AACD,WAAOA,KAAP;AACD,G;;AAEOxC,EAAAA,W,GAAR,qBAAoB5B,GAApB,EAAiC;AAC/B,QAAIiB,GAAG,GAAGxB,gBAAgB,GAAGF,UAA7B;AACA,QAAIwB,MAAM,GAAGvB,iBAAiB,GAAGD,UAAjC;AACA,QAAI,KAAKmB,QAAL,GAAgByF,IAAhB,KAAyB,OAA7B,EAAsC;AACpClF,MAAAA,GAAG,GAAG,CAAC,KAAKS,KAAL,CAAW0C,KAAZ,GAAoB7E,UAA1B;AACAwB,MAAAA,MAAM,GAAGrB,WAAW,GAAGH,UAAvB;AACD;;AAED,QAAMU,MAAM,GAAG,KAAKuJ,SAAL,KAAmBvI,GAAlC;AACA,QAAMf,MAAM,GAAG,KAAKuJ,SAAL,KAAmBxI,GAAnB,GAAyBF,MAAzB,GAAkCxB,UAAjD;;AAEA,QAAMmK,aAAa,GAAG3J,YAAY,CAACC,GAAD,EAAMC,MAAN,EAAcC,MAAd,CAAlC;AACA,QAAMgB,SAAS,GAAGwI,aAAa,IAAIzJ,MAAnC;AACA,QAAMY,SAAS,GAAG6I,aAAa,IAAIxJ,MAAnC;;AAEA,SAAK2B,QAAL,CAAc,EAAE7B,GAAG,EAAE0J,aAAP,EAAsBzI,GAAG,EAAHA,GAAtB,EAA2BF,MAAM,EAANA,MAA3B,EAAmCG,SAAS,EAATA,SAAnC,EAA8CL,SAAS,EAATA,SAA9C,EAAd;AACD,G;;AAEO2I,EAAAA,S,GAAR,qBAAoB;AAClB,QAAMrD,IAAI,GAAG,KAAKzF,QAAL,GAAgByF,IAA7B;AACA,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,aAAO,CAAC,KAAKzE,KAAL,CAAW0C,KAAZ,GAAoB7E,UAA3B;AACD,KAFD,MAEO,IAAI4G,IAAI,KAAK,MAAb,EAAqB;AAC1B,aAAO,CAAC,CAAC,KAAKzE,KAAL,CAAWsF,QAAX,IAAuBnH,cAAxB,IAA0C,KAAK6B,KAAL,CAAW0C,KAAtD,IAA+D7E,UAAtE;AACD;AACD,WAAO,CAAC6B,QAAR,CAPkB,CAOA;AACnB,G;;AAEOqI,EAAAA,S,GAAR,qBAAoB;AAClB,QAAMtD,IAAI,GAAG,KAAKzF,QAAL,GAAgByF,IAA7B;AACA,QAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,aAAO,CAAC3G,iBAAiB,GAAG,KAAKkC,KAAL,CAAW0C,KAAhC,IAAyC7E,UAAhD;AACD,KAFD,MAEO,IAAI4G,IAAI,KAAK,MAAb,EAAqB;AAC1B,aAAO,CAAC,CAAC,KAAKzE,KAAL,CAAWqF,QAAX,IAAuBjH,cAAxB,IAA0C,KAAK4B,KAAL,CAAW0C,KAAtD,IAA+D7E,UAAtE;AACD;AACD,WAAO6B,QAAP,CAPkB,CAOD;AAClB,G,qBA/hB6BuI,eAAMC,a,WACtBC,mB,GAAsB,Y,UACtBC,W,GAAc,Y,UAEdC,S,GAAY,EACxBpI,QAAQ,EAAEqI,mBAAUC,IADI,EAGxB9D,IAAI,EAAE6D,mBAAUE,MAHQ,EAKxB9F,KAAK,EAAE4F,mBAAUG,MAAV,CAAiBC,UALA,EAOxB9E,KAAK,EAAE0E,mBAAUK,SAAV,CAAoB,CAACL,mBAAUG,MAAX,EAAmBH,mBAAUE,MAA7B,CAApB,CAPiB,EASxB7F,aAAa,EAAE2F,mBAAUM,IATD,EAWxBtD,QAAQ,EAAEgD,mBAAUG,MAXI,EAaxBpD,QAAQ,EAAEiD,mBAAUG,MAbI,E,UAgBZxJ,Y,GAA6B,EACzCwF,IAAI,EAAE,MADmC,EAEzCb,KAAK,EAAE,MAFkC,E;;;AA8gB7C,SAASrC,cAAT,CAAwBsB,CAAxB,EAAiD;AAC/CA,EAAAA,CAAC,CAACtB,cAAF;AACD","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser, SafeTimer } from '@skbkontur/global-object';\n\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { CalendarDataTids } from '../../components/Calendar/Calendar';\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ArrowCollapseCVOpenIcon16Regular } from '../icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular';\nimport { ArrowCUpIcon16Regular } from '../icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular';\nimport { ArrowCDownIcon16Regular } from '../icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\n\nimport { globalClasses, styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinMonth = 0;\nconst defaultMaxMonth = 11;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\nconst calculatePos = (pos: number, minPos: number, maxPos: number) => {\n if (maxPos <= pos) {\n return maxPos;\n }\n\n if (minPos >= pos) {\n return minPos;\n }\n\n return pos;\n};\n\nexport const DateSelectDataTids = {\n caption: 'DateSelect__caption',\n menuItem: 'DateSelect__menuItem',\n menu: 'DateSelect__menu',\n} as const;\n\ntype DefaultProps = Required<Pick<DateSelectProps, 'type' | 'width'>>;\n\n@responsiveLayout\n@locale('Calendar', DatePickerLocaleHelper)\nexport class DateSelect extends React.PureComponent<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n public static displayName = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps: DefaultProps = {\n type: 'year',\n width: 'auto',\n };\n\n private getProps = createPropsGetter(DateSelect.defaultProps);\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: SafeTimer;\n private longClickTimer: SafeTimer;\n private setPositionRepeatTimer: SafeTimer;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n private isMobileLayout!: boolean;\n\n public componentDidUpdate() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n globalObject.addEventListener?.('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n globalObject.clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n }\n globalObject.removeEventListener?.('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private menuId = DateSelectDataTids.menu + getRandomID();\n\n private renderMain() {\n if (isTheme2022(this.theme)) {\n return this.renderMain2022();\n }\n const isMobile = this.isMobileLayout;\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-controls': !disabled ? this.menuId : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {isMobile\n ? !disabled && this.renderMobileMenu(this.props, this.menuId)\n : this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private renderMain2022() {\n const isMobile = this.isMobileLayout;\n const { disabled } = this.props;\n const width = this.getProps().width;\n const isInteractiveElement = !disabled;\n const Tag = isInteractiveElement ? 'button' : 'span';\n const rootProps = {\n className: cx(styles.root(this.theme), styles.root2022(), disabled && styles.disabled()),\n style: { width },\n ref: this.refRoot,\n onClick: this.open,\n 'aria-expanded': isInteractiveElement ? this.state.opened : undefined,\n 'aria-label': isInteractiveElement\n ? `${this.locale.selectChosenAriaLabel} ${\n this.getProps().type === 'year' ? this.locale.selectYearAriaLabel : this.locale.selectMonthAriaLabel\n } ${this.getItem(0)}`\n : undefined,\n };\n\n return (\n <Tag {...rootProps}>\n <div data-tid={DateSelectDataTids.caption} className={styles.caption()}>\n {this.getItem(0)}\n </div>\n {isInteractiveElement && (\n <ArrowCollapseCVOpenIcon16Regular className={cx(globalClasses.arrow)} color=\"#ADADAD\" />\n )}\n {isMobile\n ? !disabled && this.renderMobileMenu(this.props, this.menuId)\n : this.state.opened && this.renderMenu(this.menuId)}\n </Tag>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n globalObject.clearTimeout(this.timeout);\n }\n this.timeout = globalObject.setTimeout(\n () =>\n this.setState({\n nodeTop: getDOMRect(root).top,\n }),\n 0,\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (isNonNullable(this.props.maxValue) && isNonNullable(this.props.minValue)) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.minValue)) {\n return value < this.props.minValue;\n }\n\n if (isNonNullable(this.props.maxValue)) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(id?: string): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <button\n aria-label={`Выбрать ${this.getProps().type === 'year' ? 'год' : 'месяц'} ${this.getItem(i)}`}\n data-tid={DateSelectDataTids.menuItem}\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </button>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n const iconUp = isTheme2022(this.theme) ? <ArrowCUpIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronUpIcon />;\n const iconDown = isTheme2022(this.theme) ? <ArrowCDownIcon16Regular color=\"#ADADAD\" /> : <ArrowChevronDownIcon />;\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <DropdownContainer\n data-tid={DateSelectDataTids.menu}\n id={id}\n getParent={this.getAnchor}\n offsetY={dropdownOffset}\n offsetX={-10}\n >\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconUp}</span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>{iconDown}</span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </RenderLayer>\n );\n }\n\n private renderMobileMenu(\n { value, minValue, maxValue, onValueChange, type }: DateSelectProps,\n id?: string,\n ): JSX.Element {\n const from = type === 'month' ? defaultMinMonth : minValue ?? defaultMinYear;\n const to = type === 'month' ? defaultMaxMonth : maxValue ?? defaultMaxYear;\n\n const min = type === 'month' ? minValue ?? defaultMinMonth : minValue ?? defaultMinYear;\n const max = type === 'month' ? maxValue ?? defaultMaxMonth : maxValue ?? defaultMaxYear;\n\n const items: Array<{ item: number; disabled: boolean }> = [];\n for (let item = from; item <= to; ++item) {\n items.push({ item, disabled: item < min || item > max });\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-onchange\n <select\n id={id}\n data-tid={type === 'month' ? CalendarDataTids.monthSelectMobile : CalendarDataTids.yearSelectMobile}\n className={styles.nativeSelect()}\n value={value}\n onChange={(e) => {\n onValueChange(parseInt(e.target.value));\n }}\n >\n {items.map(({ item, disabled }) => (\n <option key={item} value={item} disabled={disabled}>\n {type === 'month' ? this.locale.months?.[item] : item}\n </option>\n ))}\n </select>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = globalObject.setTimeout(() => {\n this.setPositionRepeatTimer = globalObject.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n globalObject.clearTimeout(this.longClickTimer);\n globalObject.clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, globalObject.TouchEvent) || !isBrowser(globalObject)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = globalObject.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return () => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.getProps().type === 'month') {\n return this.locale.months?.[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.getProps().type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n\n const calculatedPos = calculatePos(pos, minPos, maxPos);\n const topCapped = calculatedPos <= minPos;\n const botCapped = calculatedPos >= maxPos;\n\n this.setState({ pos: calculatedPos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return -this.props.value * itemHeight;\n } else if (type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n const type = this.getProps().type;\n if (type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
@@ -20,4 +20,5 @@ export declare const styles: {
20
20
  menu(t: Theme): string;
21
21
  menuUp(): string;
22
22
  menuDown(): string;
23
+ nativeSelect(): string;
23
24
  };
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = exports.globalClasses = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = exports.globalClasses = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
2
2
 
3
3
 
4
4
  var globalClasses = (0, _Emotion.prefix)('select')({
@@ -187,4 +187,18 @@ var styles = (0, _Emotion.memoizeStyle)({
187
187
 
188
188
 
189
189
 
190
+ },
191
+
192
+ nativeSelect: function nativeSelect() {
193
+ return (0, _Emotion.css)(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n "])));
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
190
204
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.styles.ts"],"names":["globalClasses","arrow","styles","root","t","css","dateSelectTextColorDefault","dateSelectFontSize","dateSelectLineHeight","dateSelectLinkColor","transitionDuration","transitionTimingFunction","root2022","disabled","caption","dateSelectTextColorDisabled","arrowDisabled","menuHolder","dateSelectMenuBg","dateSelectPopupBoxShadow","isTopCapped","isBotCapped","itemsHolder","menuItem","menuItemSelected","dateSelectMenuItemBgSelected","dateSelectMenuItemFontSelected","menuItemActive","dateSelectMenuItemBgActive","dateSelectMenuItemFontActive","menuItemDisabled","dateSelectMenuItemBgDisabled","menu","dateSelectTextColorInvert","menuUp","menuDown"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const globalClasses = prefix('select')({\n arrow: 'arrow',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n display: inline-block;\n font: inherit;\n font-size: ${t.dateSelectFontSize};\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ${t.dateSelectLineHeight};\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ${t.dateSelectLinkColor};\n }\n\n & .${globalClasses.arrow} {\n transition: fill ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.arrow} {\n fill: ${t.dateSelectTextColorDefault} !important;\n }\n `;\n },\n\n root2022() {\n return css`\n display: inline-flex;\n justify-content: space-between;\n `;\n },\n\n disabled() {\n return css`\n color: inherit !important; // override root:hover style\n cursor: default;\n `;\n },\n\n caption() {\n return css`\n position: relative;\n `;\n },\n\n arrow(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDisabled};\n float: right;\n line-height: ${t.dateSelectLineHeight};\n opacity: 1;\n position: absolute;\n right: 4px;\n top: 0;\n transform: scaleX(0.7);\n transition: opacity 0.2s ease-out;\n `;\n },\n arrowDisabled() {\n return css`\n opacity: 0;\n `;\n },\n\n menuHolder(t: Theme) {\n return css`\n background: ${t.dateSelectMenuBg};\n box-shadow: ${t.dateSelectPopupBoxShadow};\n box-sizing: content-box;\n color: ${t.dateSelectTextColorDefault};\n font-size: ${t.dateSelectFontSize};\n margin-top: -11px;\n overflow: hidden;\n position: absolute;\n z-index: 1000;\n `;\n },\n\n isTopCapped() {\n return css`\n margin-top: 0;\n padding-top: 5px;\n `;\n },\n\n isBotCapped() {\n return css`\n padding-bottom: 5px;\n `;\n },\n\n itemsHolder() {\n return css`\n overflow: hidden;\n position: relative;\n `;\n },\n\n menuItem(t: Theme) {\n return css`\n display: flex;\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n height: 24px;\n padding: 0;\n padding-left: 10px;\n width: 100%;\n user-select: none;\n white-space: nowrap;\n touch-action: none;\n border: none;\n font: inherit;\n line-height: 24px;\n background-color: transparent;\n `;\n },\n\n menuItemSelected(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgSelected};\n color: ${t.dateSelectMenuItemFontSelected};\n `;\n },\n\n menuItemActive(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectMenuItemFontActive};\n `;\n },\n\n menuItemDisabled(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgDisabled};\n color: ${t.dateSelectTextColorDisabled};\n pointer-events: none;\n `;\n },\n\n menu(t: Theme) {\n return css`\n box-sizing: border-box;\n cursor: pointer;\n height: 16px;\n line-height: 0;\n padding-left: 18px;\n text-align: left;\n user-select: none;\n\n background: ${t.dateSelectMenuBg};\n color: ${t.dateSelectTextColorDefault};\n\n &:hover {\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectTextColorInvert};\n }\n `;\n },\n\n menuUp() {\n return css`\n span {\n position: relative;\n top: -0.5px;\n }\n `;\n },\n\n menuDown() {\n return css`\n span {\n position: relative;\n top: -1px;\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["DateSelect.styles.ts"],"names":["globalClasses","arrow","styles","root","t","css","dateSelectTextColorDefault","dateSelectFontSize","dateSelectLineHeight","dateSelectLinkColor","transitionDuration","transitionTimingFunction","root2022","disabled","caption","dateSelectTextColorDisabled","arrowDisabled","menuHolder","dateSelectMenuBg","dateSelectPopupBoxShadow","isTopCapped","isBotCapped","itemsHolder","menuItem","menuItemSelected","dateSelectMenuItemBgSelected","dateSelectMenuItemFontSelected","menuItemActive","dateSelectMenuItemBgActive","dateSelectMenuItemFontActive","menuItemDisabled","dateSelectMenuItemBgDisabled","menu","dateSelectTextColorInvert","menuUp","menuDown","nativeSelect"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const globalClasses = prefix('select')({\n arrow: 'arrow',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n display: inline-block;\n font: inherit;\n font-size: ${t.dateSelectFontSize};\n padding: 0px;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n border: none;\n line-height: ${t.dateSelectLineHeight};\n background-color: transparent;\n box-sizing: content-box;\n\n &:hover {\n color: ${t.dateSelectLinkColor};\n }\n\n & .${globalClasses.arrow} {\n transition: fill ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.arrow} {\n fill: ${t.dateSelectTextColorDefault} !important;\n }\n `;\n },\n\n root2022() {\n return css`\n display: inline-flex;\n justify-content: space-between;\n `;\n },\n\n disabled() {\n return css`\n color: inherit !important; // override root:hover style\n cursor: default;\n `;\n },\n\n caption() {\n return css`\n position: relative;\n `;\n },\n\n arrow(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDisabled};\n float: right;\n line-height: ${t.dateSelectLineHeight};\n opacity: 1;\n position: absolute;\n right: 4px;\n top: 0;\n transform: scaleX(0.7);\n transition: opacity 0.2s ease-out;\n `;\n },\n arrowDisabled() {\n return css`\n opacity: 0;\n `;\n },\n\n menuHolder(t: Theme) {\n return css`\n background: ${t.dateSelectMenuBg};\n box-shadow: ${t.dateSelectPopupBoxShadow};\n box-sizing: content-box;\n color: ${t.dateSelectTextColorDefault};\n font-size: ${t.dateSelectFontSize};\n margin-top: -11px;\n overflow: hidden;\n position: absolute;\n z-index: 1000;\n `;\n },\n\n isTopCapped() {\n return css`\n margin-top: 0;\n padding-top: 5px;\n `;\n },\n\n isBotCapped() {\n return css`\n padding-bottom: 5px;\n `;\n },\n\n itemsHolder() {\n return css`\n overflow: hidden;\n position: relative;\n `;\n },\n\n menuItem(t: Theme) {\n return css`\n display: flex;\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n height: 24px;\n padding: 0;\n padding-left: 10px;\n width: 100%;\n user-select: none;\n white-space: nowrap;\n touch-action: none;\n border: none;\n font: inherit;\n line-height: 24px;\n background-color: transparent;\n `;\n },\n\n menuItemSelected(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgSelected};\n color: ${t.dateSelectMenuItemFontSelected};\n `;\n },\n\n menuItemActive(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectMenuItemFontActive};\n `;\n },\n\n menuItemDisabled(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgDisabled};\n color: ${t.dateSelectTextColorDisabled};\n pointer-events: none;\n `;\n },\n\n menu(t: Theme) {\n return css`\n box-sizing: border-box;\n cursor: pointer;\n height: 16px;\n line-height: 0;\n padding-left: 18px;\n text-align: left;\n user-select: none;\n\n background: ${t.dateSelectMenuBg};\n color: ${t.dateSelectTextColorDefault};\n\n &:hover {\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectTextColorInvert};\n }\n `;\n },\n\n menuUp() {\n return css`\n span {\n position: relative;\n top: -0.5px;\n }\n `;\n },\n\n menuDown() {\n return css`\n span {\n position: relative;\n top: -1px;\n }\n `;\n },\n\n nativeSelect() {\n return css`\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n `;\n },\n});\n"]}
@@ -3,4 +3,5 @@
3
3
  var componentsLocales = {
4
4
  selectMonthAriaLabel: 'month',
5
5
  selectYearAriaLabel: 'year',
6
- selectChosenAriaLabel: 'Chosen' };exports.componentsLocales = componentsLocales;
6
+ selectChosenAriaLabel: 'Chosen',
7
+ selectChooseAriaLabel: 'Choose' };exports.componentsLocales = componentsLocales;
@@ -1 +1 @@
1
- {"version":3,"sources":["en.ts"],"names":["componentsLocales","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel"],"mappings":";;AAEO,IAAMA,iBAAmC,GAAG;AACjDC,EAAAA,oBAAoB,EAAE,OAD2B;AAEjDC,EAAAA,mBAAmB,EAAE,MAF4B;AAGjDC,EAAAA,qBAAqB,EAAE,QAH0B,EAA5C,C","sourcesContent":["import { DateSelectLocale } from '../types';\n\nexport const componentsLocales: DateSelectLocale = {\n selectMonthAriaLabel: 'month',\n selectYearAriaLabel: 'year',\n selectChosenAriaLabel: 'Chosen',\n};\n"]}
1
+ {"version":3,"sources":["en.ts"],"names":["componentsLocales","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","selectChooseAriaLabel"],"mappings":";;AAEO,IAAMA,iBAAmC,GAAG;AACjDC,EAAAA,oBAAoB,EAAE,OAD2B;AAEjDC,EAAAA,mBAAmB,EAAE,MAF4B;AAGjDC,EAAAA,qBAAqB,EAAE,QAH0B;AAIjDC,EAAAA,qBAAqB,EAAE,QAJ0B,EAA5C,C","sourcesContent":["import { DateSelectLocale } from '../types';\n\nexport const componentsLocales: DateSelectLocale = {\n selectMonthAriaLabel: 'month',\n selectYearAriaLabel: 'year',\n selectChosenAriaLabel: 'Chosen',\n selectChooseAriaLabel: 'Choose',\n};\n"]}
@@ -3,4 +3,5 @@
3
3
  var componentsLocales = {
4
4
  selectMonthAriaLabel: 'месяц',
5
5
  selectYearAriaLabel: 'год',
6
- selectChosenAriaLabel: 'Выбранный' };exports.componentsLocales = componentsLocales;
6
+ selectChosenAriaLabel: 'Выбранный',
7
+ selectChooseAriaLabel: 'Выбрать' };exports.componentsLocales = componentsLocales;
@@ -1 +1 @@
1
- {"version":3,"sources":["ru.ts"],"names":["componentsLocales","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel"],"mappings":";;AAEO,IAAMA,iBAAmC,GAAG;AACjDC,EAAAA,oBAAoB,EAAE,OAD2B;AAEjDC,EAAAA,mBAAmB,EAAE,KAF4B;AAGjDC,EAAAA,qBAAqB,EAAE,WAH0B,EAA5C,C","sourcesContent":["import { DateSelectLocale } from '../types';\n\nexport const componentsLocales: DateSelectLocale = {\n selectMonthAriaLabel: 'месяц',\n selectYearAriaLabel: 'год',\n selectChosenAriaLabel: 'Выбранный',\n};\n"]}
1
+ {"version":3,"sources":["ru.ts"],"names":["componentsLocales","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","selectChooseAriaLabel"],"mappings":";;AAEO,IAAMA,iBAAmC,GAAG;AACjDC,EAAAA,oBAAoB,EAAE,OAD2B;AAEjDC,EAAAA,mBAAmB,EAAE,KAF4B;AAGjDC,EAAAA,qBAAqB,EAAE,WAH0B;AAIjDC,EAAAA,qBAAqB,EAAE,SAJ0B,EAA5C,C","sourcesContent":["import { DateSelectLocale } from '../types';\n\nexport const componentsLocales: DateSelectLocale = {\n selectMonthAriaLabel: 'месяц',\n selectYearAriaLabel: 'год',\n selectChosenAriaLabel: 'Выбранный',\n selectChooseAriaLabel: 'Выбрать',\n};\n"]}
@@ -2,4 +2,5 @@ export interface DateSelectLocale {
2
2
  selectMonthAriaLabel?: string;
3
3
  selectYearAriaLabel?: string;
4
4
  selectChosenAriaLabel?: string;
5
+ selectChooseAriaLabel?: string;
5
6
  }
@@ -293,7 +293,7 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
293
293
  return /*#__PURE__*/(
294
294
  _react.default.createElement("span", {
295
295
  className: (0, _Emotion.cx)(_Input.styles.icon(), className, _Input.styles.useDefaultColor(_this.theme), (_cx4 = {}, _cx4[
296
- _Input.styles.iconDisabled()] = disabled, _cx4)) },
296
+ _Input.styles.iconDisabled(_this.theme)] = disabled, _cx4)) },
297
297
 
298
298
 
299
299
  iconNode));