@skbkontur/react-ui 4.14.2 → 4.15.1-fix-flushsync-warning

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 (365) hide show
  1. package/CHANGELOG.md +32 -5
  2. package/cjs/components/Button/Button.d.ts +2 -6
  3. package/cjs/components/Button/Button.js +14 -5
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.styles.js +2 -1
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/Button/getInnerLinkTheme.js +0 -3
  8. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  9. package/cjs/components/Calendar/Calendar.d.ts +104 -0
  10. package/cjs/components/Calendar/Calendar.js +475 -0
  11. package/cjs/components/Calendar/Calendar.js.map +1 -0
  12. package/cjs/components/Calendar/Calendar.md +147 -0
  13. package/cjs/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
  14. package/cjs/components/Calendar/Calendar.styles.js +33 -0
  15. package/cjs/components/Calendar/Calendar.styles.js.map +1 -0
  16. package/{internal → cjs/components}/Calendar/CalendarUtils.d.ts +19 -2
  17. package/cjs/components/Calendar/CalendarUtils.js +117 -0
  18. package/cjs/components/Calendar/CalendarUtils.js.map +1 -0
  19. package/cjs/components/Calendar/Month.js.map +1 -0
  20. package/cjs/{internal → components}/Calendar/MonthView.d.ts +1 -1
  21. package/cjs/{internal → components}/Calendar/MonthView.js +1 -1
  22. package/cjs/{internal → components}/Calendar/MonthView.js.map +1 -1
  23. package/cjs/components/Calendar/locale/index.d.ts +4 -0
  24. package/cjs/components/Calendar/locale/index.js +11 -0
  25. package/cjs/components/Calendar/locale/index.js.map +1 -0
  26. package/cjs/components/Calendar/locale/locales/en.d.ts +2 -0
  27. package/cjs/components/Calendar/locale/locales/en.js +16 -0
  28. package/cjs/components/Calendar/locale/locales/en.js.map +1 -0
  29. package/cjs/components/Calendar/locale/locales/ru.d.ts +2 -0
  30. package/cjs/components/Calendar/locale/locales/ru.js +16 -0
  31. package/cjs/components/Calendar/locale/locales/ru.js.map +1 -0
  32. package/cjs/components/Calendar/locale/types.d.ts +3 -0
  33. package/cjs/components/Calendar/locale/types.js +1 -0
  34. package/cjs/components/Calendar/locale/types.js.map +1 -0
  35. package/cjs/components/DatePicker/DatePicker.d.ts +16 -17
  36. package/cjs/components/DatePicker/DatePicker.js +107 -57
  37. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  38. package/cjs/components/DatePicker/DatePicker.styles.d.ts +3 -0
  39. package/cjs/components/DatePicker/DatePicker.styles.js +36 -1
  40. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  41. package/cjs/components/DatePicker/DatePickerHelpers.d.ts +1 -1
  42. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  43. package/cjs/components/DatePicker/Picker.d.ts +8 -9
  44. package/cjs/components/DatePicker/Picker.js +32 -41
  45. package/cjs/components/DatePicker/Picker.js.map +1 -1
  46. package/cjs/components/DatePicker/locale/locales/en.js +3 -15
  47. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  48. package/cjs/components/DatePicker/locale/locales/ru.js +3 -15
  49. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  50. package/cjs/components/DatePicker/locale/types.d.ts +2 -2
  51. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  52. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -1
  53. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  54. package/cjs/components/FileUploader/FileUploader.d.ts +1 -0
  55. package/cjs/components/FileUploader/FileUploader.js +3 -1
  56. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  57. package/cjs/components/Kebab/Kebab.d.ts +4 -1
  58. package/cjs/components/Kebab/Kebab.js +9 -3
  59. package/cjs/components/Kebab/Kebab.js.map +1 -1
  60. package/cjs/components/Link/Link.js +4 -2
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Link/Link.mixins.d.ts +1 -2
  63. package/cjs/components/Link/Link.mixins.js +4 -16
  64. package/cjs/components/Link/Link.mixins.js.map +1 -1
  65. package/cjs/components/Link/Link.styles.d.ts +2 -0
  66. package/cjs/components/Link/Link.styles.js +56 -38
  67. package/cjs/components/Link/Link.styles.js.map +1 -1
  68. package/cjs/components/Loader/Loader.js +1 -3
  69. package/cjs/components/Loader/Loader.js.map +1 -1
  70. package/cjs/components/Modal/Modal.d.ts +3 -3
  71. package/cjs/components/Modal/Modal.js +19 -2
  72. package/cjs/components/Modal/Modal.js.map +1 -1
  73. package/cjs/components/Modal/Modal.styles.d.ts +0 -2
  74. package/cjs/components/Modal/Modal.styles.js +25 -36
  75. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  76. package/cjs/components/Modal/ModalBody.js +0 -2
  77. package/cjs/components/Modal/ModalBody.js.map +1 -1
  78. package/cjs/components/Modal/ModalFooter.js +3 -6
  79. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  80. package/cjs/components/Modal/ModalHeader.js +2 -7
  81. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  82. package/cjs/components/PasswordInput/PasswordInput.js +4 -6
  83. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  84. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  85. package/cjs/components/ScrollContainer/ScrollContainer.js +9 -1
  86. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  87. package/cjs/components/SidePage/SidePage.d.ts +3 -3
  88. package/cjs/components/SidePage/SidePage.js +8 -1
  89. package/cjs/components/SidePage/SidePage.js.map +1 -1
  90. package/cjs/components/Spinner/Spinner.md +1 -1
  91. package/cjs/components/Switcher/Switcher.d.ts +4 -2
  92. package/cjs/components/Switcher/Switcher.js +13 -3
  93. package/cjs/components/Switcher/Switcher.js.map +1 -1
  94. package/cjs/components/Toast/Toast.md +16 -12
  95. package/cjs/components/TokenInput/TokenInput.d.ts +44 -1
  96. package/cjs/components/TokenInput/TokenInput.js +42 -0
  97. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  98. package/cjs/components/TokenInput/TokenInput.md +100 -0
  99. package/cjs/index.d.ts +1 -0
  100. package/cjs/index.js +1 -0
  101. package/cjs/index.js.map +1 -1
  102. package/cjs/internal/CustomComboBox/CustomComboBox.js +25 -13
  103. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  104. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  105. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  106. package/cjs/internal/InputLikeText/InputLikeText.js +4 -1
  107. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  108. package/cjs/internal/NativeDateInput/utils.d.ts +1 -1
  109. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  110. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
  111. package/cjs/internal/PopupMenu/PopupMenu.js +23 -3
  112. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  113. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  114. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +0 -5
  115. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -6
  116. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  117. package/cjs/internal/icons/SpinnerIcon.styles.js +2 -1
  118. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  119. package/cjs/internal/themes/DefaultTheme.d.ts +4 -15
  120. package/cjs/internal/themes/DefaultTheme.js +15 -48
  121. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  122. package/cjs/internal/themes/Theme2022.d.ts +0 -3
  123. package/cjs/internal/themes/Theme2022.js +2 -11
  124. package/cjs/internal/themes/Theme2022.js.map +1 -1
  125. package/cjs/lib/date/InternalDate.d.ts +1 -1
  126. package/cjs/lib/date/InternalDate.js +1 -1
  127. package/cjs/lib/date/InternalDate.js.map +1 -1
  128. package/cjs/lib/locale/decorators.js +0 -3
  129. package/cjs/lib/locale/decorators.js.map +1 -1
  130. package/cjs/lib/locale/types.d.ts +2 -0
  131. package/cjs/lib/locale/types.js +2 -0
  132. package/cjs/lib/locale/types.js.map +1 -1
  133. package/cjs/typings/html.d.ts +1 -1
  134. package/cjs/typings/utility-types.d.ts +6 -0
  135. package/components/Button/Button/Button.js +13 -4
  136. package/components/Button/Button/Button.js.map +1 -1
  137. package/components/Button/Button.d.ts +2 -6
  138. package/components/Button/Button.styles/Button.styles.js +1 -1
  139. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  140. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +0 -3
  141. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  142. package/{internal → components}/Calendar/Calendar/Calendar.js +136 -71
  143. package/components/Calendar/Calendar/Calendar.js.map +1 -0
  144. package/{internal → components}/Calendar/Calendar/package.json +1 -1
  145. package/components/Calendar/Calendar.d.ts +104 -0
  146. package/components/Calendar/Calendar.md +147 -0
  147. package/components/Calendar/Calendar.styles/Calendar.styles.js +17 -0
  148. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -0
  149. package/{internal → components}/Calendar/Calendar.styles/package.json +1 -1
  150. package/{internal → components}/Calendar/Calendar.styles.d.ts +1 -0
  151. package/{internal → components}/Calendar/CalendarDateShape/package.json +1 -1
  152. package/{internal → components}/Calendar/CalendarScrollEvents/package.json +1 -1
  153. package/{internal → components}/Calendar/CalendarUtils/CalendarUtils.js +34 -0
  154. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -0
  155. package/{internal → components}/Calendar/CalendarUtils/package.json +1 -1
  156. package/{cjs/internal → components}/Calendar/CalendarUtils.d.ts +19 -2
  157. package/{internal → components}/Calendar/DayCellView/package.json +1 -1
  158. package/{internal → components}/Calendar/DayCellView.styles/package.json +1 -1
  159. package/{internal → components}/Calendar/DayCellViewModel/package.json +1 -1
  160. package/components/Calendar/Month/Month.js.map +1 -0
  161. package/{internal → components}/Calendar/Month/package.json +1 -1
  162. package/{internal → components}/Calendar/MonthView/MonthView.js +1 -1
  163. package/components/Calendar/MonthView/MonthView.js.map +1 -0
  164. package/{internal → components}/Calendar/MonthView/package.json +1 -1
  165. package/{internal → components}/Calendar/MonthView.d.ts +1 -1
  166. package/{internal → components}/Calendar/MonthView.styles/package.json +1 -1
  167. package/{internal → components}/Calendar/MonthViewModel/package.json +1 -1
  168. package/{internal → components}/Calendar/config/package.json +1 -1
  169. package/{internal → components}/Calendar/index/package.json +1 -1
  170. package/components/Calendar/locale/index/index.js +8 -0
  171. package/components/Calendar/locale/index/index.js.map +1 -0
  172. package/components/Calendar/locale/index/package.json +6 -0
  173. package/components/Calendar/locale/index.d.ts +4 -0
  174. package/components/Calendar/locale/locales/en/en.js +3 -0
  175. package/components/Calendar/locale/locales/en/en.js.map +1 -0
  176. package/components/Calendar/locale/locales/en/package.json +6 -0
  177. package/components/Calendar/locale/locales/en.d.ts +2 -0
  178. package/components/Calendar/locale/locales/ru/package.json +6 -0
  179. package/components/Calendar/locale/locales/ru/ru.js +3 -0
  180. package/components/Calendar/locale/locales/ru/ru.js.map +1 -0
  181. package/components/Calendar/locale/locales/ru.d.ts +2 -0
  182. package/components/Calendar/locale/package.json +6 -0
  183. package/components/Calendar/locale/types/package.json +6 -0
  184. package/components/Calendar/locale/types/types.js +1 -0
  185. package/components/Calendar/locale/types/types.js.map +1 -0
  186. package/components/Calendar/locale/types.d.ts +3 -0
  187. package/{internal → components}/Calendar/package.json +1 -1
  188. package/components/DatePicker/DatePicker/DatePicker.js +112 -62
  189. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  190. package/components/DatePicker/DatePicker.d.ts +16 -17
  191. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +7 -1
  192. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  193. package/components/DatePicker/DatePicker.styles.d.ts +3 -0
  194. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  195. package/components/DatePicker/DatePickerHelpers.d.ts +1 -1
  196. package/components/DatePicker/Picker/Picker.js +50 -66
  197. package/components/DatePicker/Picker/Picker.js.map +1 -1
  198. package/components/DatePicker/Picker.d.ts +8 -9
  199. package/components/DatePicker/locale/locales/en/en.js +3 -3
  200. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  201. package/components/DatePicker/locale/locales/ru/ru.js +3 -3
  202. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  203. package/components/DatePicker/locale/types.d.ts +2 -2
  204. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -1
  205. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  206. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  207. package/components/FileUploader/FileUploader/FileUploader.js +3 -1
  208. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  209. package/components/FileUploader/FileUploader.d.ts +1 -0
  210. package/components/Kebab/Kebab/Kebab.js +6 -1
  211. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  212. package/components/Kebab/Kebab.d.ts +4 -1
  213. package/components/Link/Link/Link.js +4 -4
  214. package/components/Link/Link/Link.js.map +1 -1
  215. package/components/Link/Link.mixins/Link.mixins.js +2 -5
  216. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  217. package/components/Link/Link.mixins.d.ts +1 -2
  218. package/components/Link/Link.styles/Link.styles.js +28 -21
  219. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  220. package/components/Link/Link.styles.d.ts +2 -0
  221. package/components/Loader/Loader/Loader.js +0 -2
  222. package/components/Loader/Loader/Loader.js.map +1 -1
  223. package/components/Modal/Modal/Modal.js +28 -11
  224. package/components/Modal/Modal/Modal.js.map +1 -1
  225. package/components/Modal/Modal.d.ts +3 -3
  226. package/components/Modal/Modal.styles/Modal.styles.js +24 -30
  227. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  228. package/components/Modal/Modal.styles.d.ts +0 -2
  229. package/components/Modal/ModalBody/ModalBody.js +0 -2
  230. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  231. package/components/Modal/ModalFooter/ModalFooter.js +3 -7
  232. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  233. package/components/Modal/ModalHeader/ModalHeader.js +3 -7
  234. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  235. package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -5
  236. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  237. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +12 -4
  238. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  239. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  240. package/components/SidePage/SidePage/SidePage.js +9 -3
  241. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  242. package/components/SidePage/SidePage.d.ts +3 -3
  243. package/components/Spinner/Spinner.md +1 -1
  244. package/components/Switcher/Switcher/Switcher.js +8 -2
  245. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  246. package/components/Switcher/Switcher.d.ts +4 -2
  247. package/components/Toast/Toast.md +16 -12
  248. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  249. package/components/TokenInput/TokenInput.d.ts +44 -1
  250. package/components/TokenInput/TokenInput.md +100 -0
  251. package/index.d.ts +1 -0
  252. package/index.js +1 -0
  253. package/index.js.map +1 -1
  254. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +33 -14
  255. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  256. package/internal/DateSelect/DateSelect/DateSelect.js +4 -2
  257. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  258. package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
  259. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  260. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  261. package/internal/NativeDateInput/utils.d.ts +1 -1
  262. package/internal/PopupMenu/PopupMenu/PopupMenu.js +13 -2
  263. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  264. package/internal/PopupMenu/PopupMenu.d.ts +8 -0
  265. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  266. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -6
  267. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  268. package/internal/ZIndex/ZIndexStorage.d.ts +0 -5
  269. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +1 -1
  270. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  271. package/internal/themes/DefaultTheme/DefaultTheme.js +25 -80
  272. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  273. package/internal/themes/DefaultTheme.d.ts +4 -15
  274. package/internal/themes/Theme2022/Theme2022.js +6 -21
  275. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  276. package/internal/themes/Theme2022.d.ts +0 -3
  277. package/lib/date/InternalDate/InternalDate.js +1 -1
  278. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  279. package/lib/date/InternalDate.d.ts +1 -1
  280. package/lib/locale/decorators/decorators.js.map +1 -1
  281. package/lib/locale/types/types.js.map +1 -1
  282. package/lib/locale/types.d.ts +2 -0
  283. package/package.json +2 -5
  284. package/typings/html.d.ts +1 -1
  285. package/typings/utility-types.d.ts +6 -0
  286. package/cjs/components/DatePicker/Picker.styles.d.ts +0 -5
  287. package/cjs/components/DatePicker/Picker.styles.js +0 -39
  288. package/cjs/components/DatePicker/Picker.styles.js.map +0 -1
  289. package/cjs/internal/Calendar/Calendar.d.ts +0 -63
  290. package/cjs/internal/Calendar/Calendar.js +0 -387
  291. package/cjs/internal/Calendar/Calendar.js.map +0 -1
  292. package/cjs/internal/Calendar/Calendar.styles.js +0 -23
  293. package/cjs/internal/Calendar/Calendar.styles.js.map +0 -1
  294. package/cjs/internal/Calendar/CalendarUtils.js +0 -71
  295. package/cjs/internal/Calendar/CalendarUtils.js.map +0 -1
  296. package/cjs/internal/Calendar/Month.js.map +0 -1
  297. package/components/DatePicker/Picker.styles/Picker.styles.js +0 -13
  298. package/components/DatePicker/Picker.styles/Picker.styles.js.map +0 -1
  299. package/components/DatePicker/Picker.styles/package.json +0 -6
  300. package/components/DatePicker/Picker.styles.d.ts +0 -5
  301. package/internal/Calendar/Calendar/Calendar.js.map +0 -1
  302. package/internal/Calendar/Calendar.d.ts +0 -63
  303. package/internal/Calendar/Calendar.styles/Calendar.styles.js +0 -14
  304. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +0 -1
  305. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +0 -1
  306. package/internal/Calendar/Month/Month.js.map +0 -1
  307. package/internal/Calendar/MonthView/MonthView.js.map +0 -1
  308. /package/cjs/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
  309. /package/cjs/{internal → components}/Calendar/CalendarDateShape.js +0 -0
  310. /package/cjs/{internal → components}/Calendar/CalendarDateShape.js.map +0 -0
  311. /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
  312. /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js +0 -0
  313. /package/cjs/{internal → components}/Calendar/CalendarScrollEvents.js.map +0 -0
  314. /package/cjs/{internal → components}/Calendar/DayCellView.d.ts +0 -0
  315. /package/cjs/{internal → components}/Calendar/DayCellView.js +0 -0
  316. /package/cjs/{internal → components}/Calendar/DayCellView.js.map +0 -0
  317. /package/cjs/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
  318. /package/cjs/{internal → components}/Calendar/DayCellView.styles.js +0 -0
  319. /package/cjs/{internal → components}/Calendar/DayCellView.styles.js.map +0 -0
  320. /package/cjs/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
  321. /package/cjs/{internal → components}/Calendar/DayCellViewModel.js +0 -0
  322. /package/cjs/{internal → components}/Calendar/DayCellViewModel.js.map +0 -0
  323. /package/cjs/{internal → components}/Calendar/Month.d.ts +0 -0
  324. /package/cjs/{internal → components}/Calendar/Month.js +0 -0
  325. /package/cjs/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
  326. /package/cjs/{internal → components}/Calendar/MonthView.styles.js +0 -0
  327. /package/cjs/{internal → components}/Calendar/MonthView.styles.js.map +0 -0
  328. /package/cjs/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
  329. /package/cjs/{internal → components}/Calendar/MonthViewModel.js +0 -0
  330. /package/cjs/{internal → components}/Calendar/MonthViewModel.js.map +0 -0
  331. /package/cjs/{internal → components}/Calendar/config.d.ts +0 -0
  332. /package/cjs/{internal → components}/Calendar/config.js +0 -0
  333. /package/cjs/{internal → components}/Calendar/config.js.map +0 -0
  334. /package/cjs/{internal → components}/Calendar/index.d.ts +0 -0
  335. /package/cjs/{internal → components}/Calendar/index.js +0 -0
  336. /package/cjs/{internal → components}/Calendar/index.js.map +0 -0
  337. /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js +0 -0
  338. /package/{internal → components}/Calendar/CalendarDateShape/CalendarDateShape.js.map +0 -0
  339. /package/{internal → components}/Calendar/CalendarDateShape.d.ts +0 -0
  340. /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js +0 -0
  341. /package/{internal → components}/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +0 -0
  342. /package/{internal → components}/Calendar/CalendarScrollEvents.d.ts +0 -0
  343. /package/{internal → components}/Calendar/DayCellView/DayCellView.js +0 -0
  344. /package/{internal → components}/Calendar/DayCellView/DayCellView.js.map +0 -0
  345. /package/{internal → components}/Calendar/DayCellView.d.ts +0 -0
  346. /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js +0 -0
  347. /package/{internal → components}/Calendar/DayCellView.styles/DayCellView.styles.js.map +0 -0
  348. /package/{internal → components}/Calendar/DayCellView.styles.d.ts +0 -0
  349. /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js +0 -0
  350. /package/{internal → components}/Calendar/DayCellViewModel/DayCellViewModel.js.map +0 -0
  351. /package/{internal → components}/Calendar/DayCellViewModel.d.ts +0 -0
  352. /package/{internal → components}/Calendar/Month/Month.js +0 -0
  353. /package/{internal → components}/Calendar/Month.d.ts +0 -0
  354. /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js +0 -0
  355. /package/{internal → components}/Calendar/MonthView.styles/MonthView.styles.js.map +0 -0
  356. /package/{internal → components}/Calendar/MonthView.styles.d.ts +0 -0
  357. /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js +0 -0
  358. /package/{internal → components}/Calendar/MonthViewModel/MonthViewModel.js.map +0 -0
  359. /package/{internal → components}/Calendar/MonthViewModel.d.ts +0 -0
  360. /package/{internal → components}/Calendar/config/config.js +0 -0
  361. /package/{internal → components}/Calendar/config/config.js.map +0 -0
  362. /package/{internal → components}/Calendar/config.d.ts +0 -0
  363. /package/{internal → components}/Calendar/index/index.js +0 -0
  364. /package/{internal → components}/Calendar/index/index.js.map +0 -0
  365. /package/{internal → components}/Calendar/index.d.ts +0 -0
@@ -1,55 +1,68 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
3
  import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
3
4
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5
+
6
+ var _class, _class2, _temp;
7
+
4
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
5
9
  import React from 'react';
6
10
  import normalizeWheel from 'normalize-wheel';
7
11
  import throttle from 'lodash.throttle';
12
+ import shallowEqual from 'shallowequal';
13
+ import { InternalDate } from "../../../lib/date/InternalDate";
14
+ import { InternalDateTransformer } from "../../../lib/date/InternalDateTransformer";
15
+ import { rootNode } from "../../../lib/rootNode";
16
+ import { cx } from "../../../lib/theming/Emotion";
17
+ import { CommonWrapper } from "../../../internal/CommonWrapper";
8
18
  import { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from "../../../lib/date/constants";
9
19
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
10
20
  import { animation } from "../../../lib/animation";
11
21
  import { isMobile } from "../../../lib/client";
12
22
  import { createPropsGetter } from "../../../lib/createPropsGetter";
13
23
  import { themeConfig } from "../config";
14
- import * as CalendarUtils from "../CalendarUtils";
15
24
  import { MonthViewModel } from "../MonthViewModel";
16
25
  import * as CalendarScrollEvents from "../CalendarScrollEvents";
17
26
  import { Month } from "../Month";
18
27
  import { styles } from "../Calendar.styles";
19
28
  import { create, isGreater, isLess } from "../CalendarDateShape";
29
+ import * as CalendarUtils from "../CalendarUtils";
20
30
  export var CalendarDataTids = {
21
- root: 'Calendar',
31
+ root: 'Calendar__root',
22
32
  month: 'MonthView__month',
23
33
  headerMonth: 'MonthView__headerMonth',
24
34
  headerYear: 'MonthView__headerYear'
25
35
  };
36
+ export
37
+ /**
38
+ * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а
39
+ */
40
+ var Calendar = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
41
+ _inheritsLoose(Calendar, _React$Component);
26
42
 
27
- var getTodayDate = function getTodayDate() {
28
- var date = new Date();
29
- return {
30
- date: date.getDate(),
31
- month: date.getMonth(),
32
- year: date.getFullYear()
43
+ Calendar.formatDate = function formatDate(date, month, year) {
44
+ return new InternalDate().setComponents({
45
+ date: date,
46
+ month: month,
47
+ year: year
48
+ }).toString({
49
+ withPad: true
50
+ });
33
51
  };
34
- };
35
-
36
- export var Calendar = /*#__PURE__*/function (_React$Component) {
37
- _inheritsLoose(Calendar, _React$Component);
38
52
 
39
- function Calendar(props) {
40
- var _props$initialMonth, _props$initialYear;
53
+ function Calendar(_props) {
54
+ var _CalendarUtils$getMon, _this$props$initialYe;
41
55
 
42
56
  var _this;
43
57
 
44
- _this = _React$Component.call(this, props) || this;
58
+ _this = _React$Component.call(this, _props) || this;
45
59
  _this.getProps = createPropsGetter(Calendar.defaultProps);
46
60
  _this.animation = animation();
47
61
  _this.touchStartY = null;
48
62
 
49
63
  _this.scrollToMonth = /*#__PURE__*/function () {
50
64
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(month, year) {
51
- var _this$getProps, minDate, maxDate, currentMonth, diffInMonths, maxMonthsToAdd, onEnd, isYearChanges, monthsToPrependCount, monthsToPrepend, monthsToAppendCount, monthsToAppend;
52
-
65
+ var minDate, maxDate, currentMonth, diffInMonths, maxMonthsToAdd, onEnd, isYearChanges, monthsToPrependCount, monthsToPrepend, monthsToAppendCount, monthsToAppend;
53
66
  return _regeneratorRuntime.wrap(function _callee$(_context) {
54
67
  while (1) {
55
68
  switch (_context.prev = _context.next) {
@@ -68,10 +81,11 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
68
81
  });
69
82
 
70
83
  case 4:
71
- _this$getProps = _this.getProps(), minDate = _this$getProps.minDate, maxDate = _this$getProps.maxDate;
84
+ minDate = _this.getDateInNativeFormat(_this.getProps().minDate);
85
+ maxDate = _this.getDateInNativeFormat(_this.getProps().maxDate);
72
86
 
73
87
  if (!(minDate && isGreater(minDate, create(32, month, year)))) {
74
- _context.next = 8;
88
+ _context.next = 9;
75
89
  break;
76
90
  }
77
91
 
@@ -79,9 +93,9 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
79
93
 
80
94
  return _context.abrupt("return");
81
95
 
82
- case 8:
96
+ case 9:
83
97
  if (!(maxDate && isLess(maxDate, create(0, month, year)))) {
84
- _context.next = 11;
98
+ _context.next = 12;
85
99
  break;
86
100
  }
87
101
 
@@ -89,12 +103,12 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
89
103
 
90
104
  return _context.abrupt("return");
91
105
 
92
- case 11:
106
+ case 12:
93
107
  currentMonth = _this.state.months[1];
94
108
  diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;
95
109
 
96
110
  if (!(diffInMonths === 0)) {
97
- _context.next = 16;
111
+ _context.next = 17;
98
112
  break;
99
113
  }
100
114
 
@@ -102,11 +116,11 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
102
116
 
103
117
  return _context.abrupt("return");
104
118
 
105
- case 16:
119
+ case 17:
106
120
  maxMonthsToAdd = themeConfig(_this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;
107
121
 
108
122
  onEnd = function onEnd() {
109
- return _this.setState({
123
+ _this.setState({
110
124
  months: CalendarUtils.getMonths(month, year),
111
125
  scrollPosition: 0
112
126
  });
@@ -185,7 +199,7 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
185
199
  });
186
200
  }
187
201
 
188
- case 21:
202
+ case 22:
189
203
  case "end":
190
204
  return _context.stop();
191
205
  }
@@ -204,10 +218,15 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
204
218
  var wrapperStyle = {
205
219
  height: themeConfig(_this.theme).WRAPPER_HEIGHT
206
220
  };
207
- return /*#__PURE__*/React.createElement("div", {
221
+
222
+ var props = _this.getProps();
223
+
224
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
225
+ rootNodeRef: _this.setRootNode
226
+ }, props), /*#__PURE__*/React.createElement("div", {
208
227
  ref: _this.refRoot,
209
- className: styles.root(_this.theme),
210
- "data-tid": CalendarDataTids.root
228
+ "data-tid": CalendarDataTids.root,
229
+ className: cx(styles.root(_this.theme))
211
230
  }, /*#__PURE__*/React.createElement("div", {
212
231
  style: wrapperStyle,
213
232
  className: styles.wrapper()
@@ -217,7 +236,9 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
217
236
  var top = _ref2[0],
218
237
  month = _ref2[1];
219
238
  return CalendarUtils.isMonthVisible(top, month, _this.theme);
220
- }).map(_this.renderMonth, _assertThisInitialized(_this))));
239
+ }).map(_this.renderMonth, _assertThisInitialized(_this))), /*#__PURE__*/React.createElement("div", {
240
+ className: styles.separator(_this.theme)
241
+ })));
221
242
  };
222
243
 
223
244
  _this.refRoot = function (element) {
@@ -245,14 +266,39 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
245
266
  _this.root = element;
246
267
  };
247
268
 
269
+ _this.isHoliday = function (_ref3) {
270
+ var date = _ref3.date,
271
+ month = _ref3.month,
272
+ year = _ref3.year,
273
+ isWeekend = _ref3.isWeekend;
274
+ var dateString = InternalDateTransformer.dateToInternalString({
275
+ date: date,
276
+ month: month + 1,
277
+ year: year
278
+ });
279
+ return _this.getProps().isHoliday(dateString, isWeekend);
280
+ };
281
+
282
+ _this.handleDateChange = function (dateShape) {
283
+ var value = InternalDateTransformer.dateToInternalString({
284
+ date: dateShape.date,
285
+ month: dateShape.month + 1,
286
+ year: dateShape.year
287
+ });
288
+
289
+ if (_this.props.onValueChange) {
290
+ _this.props.onValueChange(value);
291
+ }
292
+ };
293
+
248
294
  _this.handleMonthYearChange = function (month, year) {
249
295
  _this.scrollToMonth(month, year);
250
296
  };
251
297
 
252
298
  _this.executeAnimations = function (pixelY) {
253
- _this.setState(function (_ref3) {
254
- var months = _ref3.months,
255
- scrollPosition = _ref3.scrollPosition;
299
+ _this.setState(function (_ref4) {
300
+ var months = _ref4.months,
301
+ scrollPosition = _ref4.scrollPosition;
256
302
  var targetPosition = CalendarUtils.calculateScrollPosition(months, scrollPosition, pixelY, _this.theme).scrollPosition;
257
303
  return {
258
304
  scrollTarget: targetPosition
@@ -260,9 +306,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
260
306
  }, _this.handleWheelEnd);
261
307
 
262
308
  _this.animation.animate(pixelY, function (deltaY) {
263
- return (// FIXME: Typescript not resolving setState cb type
264
- _this.setState(CalendarUtils.applyDelta(deltaY, _this.theme))
265
- );
309
+ // FIXME: Typescript not resolving setState cb type
310
+ _this.setState(CalendarUtils.applyDelta(deltaY, _this.theme));
266
311
  });
267
312
 
268
313
  CalendarScrollEvents.emit();
@@ -331,9 +376,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
331
376
  var amount = scrollTarget - targetPosition;
332
377
 
333
378
  _this.animation.animate(amount, function (deltaY) {
334
- return (// FIXME: Typescript not resolving setState cb type
335
- _this.setState(CalendarUtils.applyDelta(deltaY, _this.theme))
336
- );
379
+ // FIXME: Typescript not resolving setState cb type
380
+ _this.setState(CalendarUtils.applyDelta(deltaY, _this.theme));
337
381
  });
338
382
  });
339
383
  }
@@ -346,8 +390,8 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
346
390
 
347
391
  _this.scrollAmount = function (scrollAmmount, onEnd) {
348
392
  return _this.animation.animate(scrollAmmount, function (deltaY) {
349
- return _this.setState(function (_ref4) {
350
- var scrollPosition = _ref4.scrollPosition;
393
+ _this.setState(function (_ref5) {
394
+ var scrollPosition = _ref5.scrollPosition;
351
395
  return {
352
396
  scrollPosition: scrollPosition + deltaY
353
397
  };
@@ -355,22 +399,48 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
355
399
  }, onEnd);
356
400
  };
357
401
 
358
- var today = getTodayDate();
359
- var initialMonth = (_props$initialMonth = props.initialMonth) != null ? _props$initialMonth : today.month;
360
- var initialYear = (_props$initialYear = props.initialYear) != null ? _props$initialYear : today.year;
402
+ var _this$getProps = _this.getProps(),
403
+ _minDate = _this$getProps.minDate,
404
+ _maxDate = _this$getProps.maxDate,
405
+ _value = _this$getProps.value;
406
+
407
+ var minDateShape = _this.getDateInNativeFormat(_minDate);
408
+
409
+ var maxDateShape = _this.getDateInNativeFormat(_maxDate);
410
+
411
+ var _dateShape = _this.getDateInNativeFormat(_value);
412
+
413
+ var today = CalendarUtils.getTodayDate();
414
+ var initialDate = CalendarUtils.getInitialDate({
415
+ today: today,
416
+ date: _dateShape,
417
+ minDate: minDateShape,
418
+ maxDate: maxDateShape
419
+ });
420
+ var initialMonth = (_CalendarUtils$getMon = CalendarUtils.getMonthInNativeFormat(_this.props.initialMonth)) != null ? _CalendarUtils$getMon : initialDate.month;
421
+ var initialYear = (_this$props$initialYe = _this.props.initialYear) != null ? _this$props$initialYe : initialDate.year;
361
422
  _this.state = {
362
423
  scrollPosition: 0,
363
424
  months: CalendarUtils.getMonths(initialMonth, initialYear),
364
425
  today: today,
365
426
  scrollDirection: 1,
366
- scrollTarget: 0,
367
- touchStart: 0
427
+ scrollTarget: 0
368
428
  };
369
429
  return _this;
370
430
  }
371
431
 
372
432
  var _proto = Calendar.prototype;
373
433
 
434
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
435
+ var value = this.props.value;
436
+
437
+ if (value && !shallowEqual(value, prevProps.value)) {
438
+ var _date = new InternalDate().parseValue(value).getComponentsLikeNumber();
439
+
440
+ this.scrollToMonth(_date.month - 1, _date.year);
441
+ }
442
+ };
443
+
374
444
  _proto.componentWillUnmount = function componentWillUnmount() {
375
445
  if (this.animation.inProgress()) {
376
446
  this.animation.cancel();
@@ -386,19 +456,17 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
386
456
  });
387
457
  }
388
458
  /**
389
- * Scrolls calendar to given date
459
+ * Прокручивает календарь до переданной даты
390
460
  * @public
391
461
  */
392
462
  ;
393
463
 
394
- _proto.renderMonth = function renderMonth(_ref5) {
395
- var top = _ref5[0],
396
- month = _ref5[1];
397
-
398
- var _this$getProps2 = this.getProps(),
399
- minDate = _this$getProps2.minDate,
400
- maxDate = _this$getProps2.maxDate;
401
-
464
+ _proto.renderMonth = function renderMonth(_ref6) {
465
+ var top = _ref6[0],
466
+ month = _ref6[1];
467
+ var date = this.getDateInNativeFormat(this.props.value);
468
+ var minDate = this.getDateInNativeFormat(this.props.minDate);
469
+ var maxDate = this.getDateInNativeFormat(this.props.maxDate);
402
470
  return /*#__PURE__*/React.createElement(Month, {
403
471
  key: month.month + '-' + month.year,
404
472
  top: top,
@@ -406,13 +474,17 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
406
474
  maxDate: maxDate,
407
475
  minDate: minDate,
408
476
  today: this.state.today,
409
- value: this.props.value,
410
- onDateClick: this.props.onSelect,
477
+ value: date,
478
+ onDateClick: this.handleDateChange,
411
479
  onMonthYearChange: this.handleMonthYearChange,
412
- isHoliday: this.props.isHoliday
480
+ isHoliday: this.isHoliday
413
481
  });
414
482
  };
415
483
 
484
+ _proto.getDateInNativeFormat = function getDateInNativeFormat(date) {
485
+ return new InternalDate().parseValue(date).toNativeFormat();
486
+ };
487
+
416
488
  _proto.getMonthPositions = function getMonthPositions() {
417
489
  var _this$state2 = this.state,
418
490
  scrollPosition = _this$state2.scrollPosition,
@@ -428,17 +500,10 @@ export var Calendar = /*#__PURE__*/function (_React$Component) {
428
500
  };
429
501
 
430
502
  return Calendar;
431
- }(React.Component);
432
- Calendar.__KONTUR_REACT_UI__ = 'Calendar';
433
- Calendar.defaultProps = {
434
- minDate: {
435
- year: MIN_YEAR,
436
- month: MIN_MONTH,
437
- date: MIN_DATE
438
- },
439
- maxDate: {
440
- year: MAX_YEAR,
441
- month: MAX_MONTH,
442
- date: MAX_DATE
503
+ }(React.Component), _class2.__KONTUR_REACT_UI__ = 'Calendar', _class2.defaultProps = {
504
+ minDate: _class2.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),
505
+ maxDate: _class2.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),
506
+ isHoliday: function isHoliday(_day, isWeekend) {
507
+ return isWeekend;
443
508
  }
444
- };
509
+ }, _temp)) || _class;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Calendar.tsx"],"names":["React","normalizeWheel","throttle","shallowEqual","InternalDate","InternalDateTransformer","rootNode","cx","CommonWrapper","MAX_DATE","MAX_MONTH","MAX_YEAR","MIN_DATE","MIN_MONTH","MIN_YEAR","ThemeContext","animation","isMobile","createPropsGetter","themeConfig","MonthViewModel","CalendarScrollEvents","Month","styles","create","isGreater","isLess","CalendarUtils","CalendarDataTids","root","month","headerMonth","headerYear","Calendar","formatDate","date","year","setComponents","toString","withPad","props","getProps","defaultProps","touchStartY","scrollToMonth","inProgress","finish","Promise","r","setTimeout","minDate","getDateInNativeFormat","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","setRootNode","refRoot","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","separator","element","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","isHoliday","isWeekend","dateString","dateToInternalString","handleDateChange","dateShape","value","onValueChange","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","window","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","minDateShape","maxDateShape","today","getTodayDate","initialDate","getInitialDate","initialMonth","getMonthInNativeFormat","initialYear","componentDidUpdate","prevProps","parseValue","getComponentsLikeNumber","componentWillUnmount","cancel","render","toNativeFormat","position","push","Component","__KONTUR_REACT_UI__","_day"],"mappings":"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","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\nimport shallowEqual from 'shallowequal';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { cx } from '../../lib/theming/Emotion';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable, Range } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\nimport * as CalendarUtils from './CalendarUtils';\n\nexport interface CalendarProps extends CommonProps {\n /**\n * Вызывается при изменении `value`\n *\n * В аргументе хранится дата в формате `dd.mm.yyyy`\n */\n onValueChange?: (date: string) => void;\n /**\n * Задаёт текущую дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n value: Nullable<string>;\n /**\n * Задаёт максимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n maxDate?: string;\n /**\n * Задаёт минимальную возможную дату\n *\n * Дата задаётся в формате `dd.mm.yyyy`\n */\n minDate?: string;\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {string} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n /**\n * Позволяет задать начальный месяц\n */\n initialMonth?: Range<1, 13>;\n /**\n * Позволяет задать начальный год\n */\n initialYear?: number;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а\n */\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private theme!: Theme;\n private wheelEndTimeout: Nullable<number>;\n private root: Nullable<HTMLElement>;\n private animation = animation();\n private touchStartY: Nullable<number> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = CalendarUtils.getMonthInNativeFormat(this.props.initialMonth) ?? initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>): void {\n const { value } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month - 1, date.year);\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\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 /**\n * Прокручивает календарь до переданной даты\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n };\n\n const isYearChanges = (state: CalendarState) => {\n return (\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2\n );\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(month + index, year);\n });\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(month + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={cx(styles.root(this.theme))}>\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n <div className={styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n const date = this.getDateInNativeFormat(this.props.value);\n const minDate = this.getDateInNativeFormat(this.props.minDate);\n const maxDate = this.getDateInNativeFormat(this.props.maxDate);\n\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n maxDate={maxDate}\n minDate={minDate}\n today={this.state.today}\n value={date}\n onDateClick={this.handleDateChange}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.isHoliday}\n />\n );\n }\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n\n return this.getProps().isHoliday(dateString, isWeekend);\n };\n\n private handleDateChange = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({\n date: dateShape.date,\n month: dateShape.month + 1,\n year: dateShape.year,\n });\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = window.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/Calendar.js",
2
+ "main": "../../../cjs/components/Calendar/Calendar.js",
3
3
  "module": "Calendar",
4
4
  "types": "../Calendar.d.ts",
5
5
  "sideEffects": false
@@ -0,0 +1,104 @@
1
+ import React from 'react';
2
+ import { CommonProps } from '../../internal/CommonWrapper';
3
+ import { Nullable, Range } from '../../typings/utility-types';
4
+ import { MonthViewModel } from './MonthViewModel';
5
+ import { CalendarDateShape } from './CalendarDateShape';
6
+ export interface CalendarProps extends CommonProps {
7
+ /**
8
+ * Вызывается при изменении `value`
9
+ *
10
+ * В аргументе хранится дата в формате `dd.mm.yyyy`
11
+ */
12
+ onValueChange?: (date: string) => void;
13
+ /**
14
+ * Задаёт текущую дату
15
+ *
16
+ * Дата задаётся в формате `dd.mm.yyyy`
17
+ */
18
+ value: Nullable<string>;
19
+ /**
20
+ * Задаёт максимальную возможную дату
21
+ *
22
+ * Дата задаётся в формате `dd.mm.yyyy`
23
+ */
24
+ maxDate?: string;
25
+ /**
26
+ * Задаёт минимальную возможную дату
27
+ *
28
+ * Дата задаётся в формате `dd.mm.yyyy`
29
+ */
30
+ minDate?: string;
31
+ /**
32
+ * Функция для определения праздничных дней
33
+ * @default (_day, isWeekend) => isWeekend
34
+ * @param {string} day - строка в формате `dd.mm.yyyy`
35
+ * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)
36
+ *
37
+ * @returns {boolean} `true` для выходного или `false` для рабочего дня
38
+ */
39
+ isHoliday?: (day: string, isWeekend: boolean) => boolean;
40
+ /**
41
+ * Позволяет задать начальный месяц
42
+ */
43
+ initialMonth?: Range<1, 13>;
44
+ /**
45
+ * Позволяет задать начальный год
46
+ */
47
+ initialYear?: number;
48
+ }
49
+ export interface CalendarState {
50
+ scrollPosition: number;
51
+ months: MonthViewModel[];
52
+ today: CalendarDateShape;
53
+ scrollDirection: number;
54
+ scrollTarget: number;
55
+ }
56
+ export declare const CalendarDataTids: {
57
+ readonly root: "Calendar__root";
58
+ readonly month: "MonthView__month";
59
+ readonly headerMonth: "MonthView__headerMonth";
60
+ readonly headerYear: "MonthView__headerYear";
61
+ };
62
+ declare type DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;
63
+ /**
64
+ * Компонент календаря из [DatePicker](https://tech.skbkontur.ru/react-ui/#/Components/DatePicker)'а
65
+ */
66
+ export declare class Calendar extends React.Component<CalendarProps, CalendarState> {
67
+ static __KONTUR_REACT_UI__: string;
68
+ private static formatDate;
69
+ static defaultProps: DefaultProps;
70
+ private getProps;
71
+ private theme;
72
+ private wheelEndTimeout;
73
+ private root;
74
+ private animation;
75
+ private touchStartY;
76
+ private setRootNode;
77
+ constructor(props: CalendarProps);
78
+ componentDidUpdate(prevProps: Readonly<CalendarProps>): void;
79
+ componentWillUnmount(): void;
80
+ render(): JSX.Element;
81
+ /**
82
+ * Прокручивает календарь до переданной даты
83
+ * @public
84
+ */
85
+ scrollToMonth: (month: number, year: number) => Promise<void>;
86
+ private renderMain;
87
+ private refRoot;
88
+ private renderMonth;
89
+ private isHoliday;
90
+ private handleDateChange;
91
+ private getDateInNativeFormat;
92
+ private getMonthPositions;
93
+ private handleMonthYearChange;
94
+ private executeAnimations;
95
+ private handleTouchStart;
96
+ private handleTouchMove;
97
+ private throttledHandleTouchMove;
98
+ private handleWheel;
99
+ private handleWheelEnd;
100
+ private scrollToNearestWeek;
101
+ private scrollTo;
102
+ private scrollAmount;
103
+ }
104
+ export {};