@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
@@ -0,0 +1,147 @@
1
+
2
+
3
+ Календарь с заданной датой
4
+
5
+ ```jsx harmony
6
+ const [date, setDate] = React.useState("01.11.2021");
7
+
8
+ <Calendar
9
+ value={date}
10
+ onValueChange={setDate}
11
+ />
12
+ ```
13
+
14
+ Вне зависимости от того, какая дата выбрана в календаре в данный момент - можно изменить отображение начального года и месяца с помощью пропов `initialMonth` и `initialYear`
15
+
16
+ ```jsx harmony
17
+ import { Checkbox } from '@skbkontur/react-ui';
18
+
19
+ const [date, setDate] = React.useState("11.12.2021");
20
+ const initialMonth = 7;
21
+ const initialYear = 2000;
22
+
23
+ <div style={{ display: 'flex' }}>
24
+ <Calendar
25
+ value={date}
26
+ onValueChange={setDate}
27
+ initialMonth={initialMonth}
28
+ initialYear={initialYear}
29
+ />
30
+ <div style={{ fontSize: '16px' }}>
31
+ <p>Выбранная дата: {date}</p>
32
+ <p>Начальный месяц: {initialMonth}</p>
33
+ <p>Начальный год: {initialYear}</p>
34
+ </div>
35
+ </div>
36
+ ```
37
+
38
+ ### `isHoliday`
39
+
40
+ В компонент можно передать функцию `isHoliday`, которая будет получать день строкой формата `dd.mm.yyyy` и флаг `isWeekend`, и должна вернуть `true` для выходного и `false` для рабочего дня.
41
+
42
+ ```jsx harmony
43
+ import * as DatePickerHelpers from '../DatePicker/DatePickerHelpers';
44
+
45
+ const [date, setDate] = React.useState();
46
+
47
+ const createRandomHolidays = () => {
48
+ const holidays = new Array(10);
49
+ const today = new Date();
50
+
51
+ for (let index = 0; index < holidays.length; index++) {
52
+ const day = new Date(today.setDate(today.getDate() + 1 + index).valueOf());
53
+
54
+ const holiday = {
55
+ date: day.getDate(),
56
+ month: day.getMonth(),
57
+ year: day.getFullYear(),
58
+ };
59
+
60
+ holidays[index] = DatePickerHelpers.formatDate(holiday);
61
+ }
62
+
63
+ return holidays;
64
+ };
65
+ const holidays = createRandomHolidays();
66
+
67
+ const isHoliday = (day, isWeekend) => {
68
+ const today = new Date();
69
+ const holiday = {
70
+ date: today.getDate(),
71
+ month: today.getMonth(),
72
+ year: today.getFullYear(),
73
+ };
74
+
75
+ if (holidays.includes(day)) {
76
+ return !isWeekend;
77
+ }
78
+
79
+ return isWeekend;
80
+ };
81
+
82
+ <Calendar isHoliday={isHoliday} value={date} onValueChange={setDate} />;
83
+ ```
84
+
85
+
86
+ Календарю можно задать кастомную высоту с помощью переменной темы `calendarWrapperHeight`
87
+ - Базовая высота календаря - `330px`
88
+ - Максимальная высота календаря - `450px`
89
+ ```jsx harmony
90
+ import { ThemeContext } from '@skbkontur/react-ui/lib/theming/ThemeContext';
91
+ import { ThemeFactory } from '@skbkontur/react-ui/lib/theming/ThemeFactory';
92
+
93
+ const [date, setDate] = React.useState("01.11.2021");
94
+ const theme = React.useContext(ThemeContext);
95
+
96
+ <ThemeContext.Provider
97
+ value={ThemeFactory.create({ calendarWrapperHeight: '450px' }, theme)}
98
+ >
99
+ <Calendar
100
+ value={date}
101
+ onValueChange={setDate}
102
+ />
103
+ </ThemeContext.Provider>
104
+ ```
105
+
106
+
107
+ #### Локали по умолчанию
108
+
109
+ ```typescript static
110
+ interface CalendarLocale {
111
+ months?: string[];
112
+ }
113
+
114
+ const ru_RU = {
115
+ months: [
116
+ 'Январь',
117
+ 'Февраль',
118
+ 'Март',
119
+ 'Апрель',
120
+ 'Май',
121
+ 'Июнь',
122
+ 'Июль',
123
+ 'Август',
124
+ 'Сентябрь',
125
+ 'Октябрь',
126
+ 'Ноябрь',
127
+ 'Декабрь',
128
+ ]
129
+ };
130
+
131
+ const en_GB = {
132
+ months: [
133
+ 'January',
134
+ 'February',
135
+ 'March',
136
+ 'April',
137
+ 'May',
138
+ 'June',
139
+ 'July',
140
+ 'August',
141
+ 'September',
142
+ 'October',
143
+ 'November',
144
+ 'December',
145
+ ]
146
+ };
147
+ ```
@@ -0,0 +1,17 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3;
4
+
5
+ import { css, memoizeStyle } from "../../../lib/theming/Emotion";
6
+ export var styles = memoizeStyle({
7
+ root: function root(t) {
8
+ var width = parseInt(t.calendarCellSize) * 7;
9
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-block;\n background: ", ";\n box-sizing: content-box;\n border-radius: ", ";\n color: ", ";\n display: block;\n padding: 0 ", ";\n width: ", "px;\n touch-action: none;\n "])), t.calendarBg, t.pickerBorderRadius, t.textColorDefault, t.calendarPaddingX, width);
10
+ },
11
+ wrapper: function wrapper() {
12
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n font-size: 14px;\n position: relative;\n overflow: hidden;\n "])));
13
+ },
14
+ separator: function separator(t) {
15
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n border-bottom: ", ";\n margin: 0 ", ";\n "])), t.calendarBottomSeparatorBorder, t.calendarMonthTitleMarginX);
16
+ }
17
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Calendar.styles.ts"],"names":["css","memoizeStyle","styles","root","t","width","parseInt","calendarCellSize","calendarBg","pickerBorderRadius","textColorDefault","calendarPaddingX","wrapper","separator","calendarBottomSeparatorBorder","calendarMonthTitleMarginX"],"mappings":"wJAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,QAAMC,KAAK,GAAGC,QAAQ,CAACF,CAAC,CAACG,gBAAH,CAAR,GAA+B,CAA7C;AACA,WAAOP,GAAP;;AAEgBI,IAAAA,CAAC,CAACI,UAFlB;;AAImBJ,IAAAA,CAAC,CAACK,kBAJrB;AAKWL,IAAAA,CAAC,CAACM,gBALb;;AAOeN,IAAAA,CAAC,CAACO,gBAPjB;AAQWN,IAAAA,KARX;;;AAWD,GAdgC;;AAgBjCO,EAAAA,OAhBiC,qBAgBvB;AACR,WAAOZ,GAAP;;;;;AAKD,GAtBgC;;AAwBjCa,EAAAA,SAxBiC,qBAwBvBT,CAxBuB,EAwBb;AAClB,WAAOJ,GAAP;AACmBI,IAAAA,CAAC,CAACU,6BADrB;AAEcV,IAAAA,CAAC,CAACW,yBAFhB;;AAID,GA7BgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const width = parseInt(t.calendarCellSize) * 7;\n return css`\n display: inline-block;\n background: ${t.calendarBg};\n box-sizing: content-box;\n border-radius: ${t.pickerBorderRadius};\n color: ${t.textColorDefault};\n display: block;\n padding: 0 ${t.calendarPaddingX};\n width: ${width}px;\n touch-action: none;\n `;\n },\n\n wrapper() {\n return css`\n font-size: 14px;\n position: relative;\n overflow: hidden;\n `;\n },\n\n separator(t: Theme) {\n return css`\n border-bottom: ${t.calendarBottomSeparatorBorder};\n margin: 0 ${t.calendarMonthTitleMarginX};\n `;\n },\n});\n"]}
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/Calendar.styles.js",
2
+ "main": "../../../cjs/components/Calendar/Calendar.styles.js",
3
3
  "module": "Calendar.styles",
4
4
  "types": "../Calendar.styles.d.ts",
5
5
  "sideEffects": false
@@ -2,4 +2,5 @@ import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  root(t: Theme): string;
4
4
  wrapper(): string;
5
+ separator(t: Theme): string;
5
6
  };
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/CalendarDateShape.js",
2
+ "main": "../../../cjs/components/Calendar/CalendarDateShape.js",
3
3
  "module": "CalendarDateShape",
4
4
  "types": "../CalendarDateShape.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/CalendarScrollEvents.js",
2
+ "main": "../../../cjs/components/Calendar/CalendarScrollEvents.js",
3
3
  "module": "CalendarScrollEvents",
4
4
  "types": "../CalendarScrollEvents.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,6 @@
1
1
  import { themeConfig } from "../config";
2
2
  import { MonthViewModel } from "../MonthViewModel";
3
+ import { isGreater, isLess } from "../CalendarDateShape";
3
4
  export var calculateScrollPosition = function calculateScrollPosition(months, scrollPosition, deltaY, theme) {
4
5
  var scrollDirection = deltaY > 0 ? 1 : -1;
5
6
  var nextScrollPosition = scrollPosition - deltaY;
@@ -67,4 +68,37 @@ export var getMonths = function getMonths(month, year) {
67
68
  return [-1, 0, 1].map(function (x) {
68
69
  return MonthViewModel.create(month + x, year);
69
70
  });
71
+ };
72
+ export var getMonthInNativeFormat = function getMonthInNativeFormat(initialMonth) {
73
+ if (initialMonth) {
74
+ return initialMonth - 1;
75
+ }
76
+ };
77
+ export var getInitialDate = function getInitialDate(_ref3) {
78
+ var today = _ref3.today,
79
+ date = _ref3.date,
80
+ minDate = _ref3.minDate,
81
+ maxDate = _ref3.maxDate;
82
+
83
+ if (date) {
84
+ return date;
85
+ }
86
+
87
+ if (minDate && isLess(today, minDate)) {
88
+ return minDate;
89
+ }
90
+
91
+ if (maxDate && isGreater(today, maxDate)) {
92
+ return maxDate;
93
+ }
94
+
95
+ return today;
96
+ };
97
+ export var getTodayDate = function getTodayDate() {
98
+ var date = new Date();
99
+ return {
100
+ date: date.getDate(),
101
+ month: date.getMonth(),
102
+ year: date.getFullYear()
103
+ };
70
104
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CalendarUtils.ts"],"names":["themeConfig","MonthViewModel","isGreater","isLess","calculateScrollPosition","months","scrollPosition","deltaY","theme","scrollDirection","nextScrollPosition","nextMonths","firstMonth","getHeight","getMonths","month","year","lastMonth","length","applyDelta","minDate","maxDate","isMinDateExceeded","isMaxDateExceeded","isMonthVisible","top","WRAPPER_HEIGHT","getMonthsHeight","reduce","a","b","map","x","create","getMonthInNativeFormat","initialMonth","getInitialDate","today","date","getTodayDate","Date","getDate","getMonth","getFullYear"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport { CalendarState } from './Calendar';\nimport { CalendarDateShape, isGreater, isLess } from './CalendarDateShape';\n\nexport const calculateScrollPosition = (\n months: MonthViewModel[],\n scrollPosition: number,\n deltaY: number,\n theme: Theme,\n) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n\n let nextScrollPosition = scrollPosition - deltaY;\n let nextMonths = months;\n\n const firstMonth = months[0];\n if (scrollDirection < 0 && nextScrollPosition >= firstMonth.getHeight(theme)) {\n do {\n nextScrollPosition -= nextMonths[0].getHeight(theme);\n nextMonths = getMonths(firstMonth.month, firstMonth.year);\n } while (nextScrollPosition >= nextMonths[0].getHeight(theme));\n }\n\n const lastMonth = months[months.length - 1];\n if (scrollDirection > 0 && nextScrollPosition < 0) {\n do {\n nextScrollPosition += nextMonths[1].getHeight(theme);\n nextMonths = getMonths(lastMonth.month, lastMonth.year);\n } while (nextScrollPosition < 0);\n }\n\n return {\n scrollPosition: nextScrollPosition,\n months: nextMonths,\n scrollDirection,\n };\n};\n\nexport const applyDelta = (deltaY: number, theme: Theme) => {\n return (\n { scrollPosition, months }: Readonly<CalendarState>,\n { minDate, maxDate }: { minDate: CalendarDateShape; maxDate: CalendarDateShape },\n ) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n const isMinDateExceeded =\n minDate && scrollDirection < 0 && minDate.year * 12 + minDate.month > months[0].year * 12 + months[0].month;\n\n const isMaxDateExceeded =\n maxDate && scrollDirection > 0 && maxDate.year * 12 + maxDate.month < months[1].year * 12 + months[1].month;\n\n if (isMinDateExceeded) {\n return { scrollPosition: 0, scrollDirection };\n }\n\n if (isMaxDateExceeded) {\n return { scrollPosition: months[2].getHeight(theme), scrollDirection };\n }\n\n return calculateScrollPosition(months, scrollPosition, deltaY, theme);\n };\n};\n\nexport const isMonthVisible = (top: number, month: MonthViewModel, theme: Theme) => {\n return top < themeConfig(theme).WRAPPER_HEIGHT && top > -month.getHeight(theme);\n};\n\nexport const getMonthsHeight = (months: MonthViewModel[], theme: Theme) =>\n months.reduce((a, b) => a + b.getHeight(theme), 0);\n\nexport const getMonths = (month: number, year: number): MonthViewModel[] => {\n return [-1, 0, 1].map((x) => MonthViewModel.create(month + x, year));\n};\n\nexport const getMonthInNativeFormat = (initialMonth: number | undefined) => {\n if (initialMonth) {\n return initialMonth - 1;\n }\n};\n\nexport const getInitialDate = ({\n today,\n date,\n minDate,\n maxDate,\n}: {\n today: CalendarDateShape;\n date?: Nullable<CalendarDateShape>;\n minDate?: Nullable<CalendarDateShape>;\n maxDate?: Nullable<CalendarDateShape>;\n}) => {\n if (date) {\n return date;\n }\n\n if (minDate && isLess(today, minDate)) {\n return minDate;\n }\n\n if (maxDate && isGreater(today, maxDate)) {\n return maxDate;\n }\n\n return today;\n};\n\nexport const getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/CalendarUtils.js",
2
+ "main": "../../../cjs/components/Calendar/CalendarUtils.js",
3
3
  "module": "CalendarUtils",
4
4
  "types": "../CalendarUtils.d.ts",
5
5
  "sideEffects": false
@@ -1,12 +1,17 @@
1
+ import { Nullable } from '../../typings/utility-types';
1
2
  import { Theme } from '../../lib/theming/Theme';
2
3
  import { MonthViewModel } from './MonthViewModel';
3
- import { CalendarProps, CalendarState } from './Calendar';
4
+ import { CalendarState } from './Calendar';
5
+ import { CalendarDateShape } from './CalendarDateShape';
4
6
  export declare const calculateScrollPosition: (months: MonthViewModel[], scrollPosition: number, deltaY: number, theme: Theme) => {
5
7
  scrollPosition: number;
6
8
  months: MonthViewModel[];
7
9
  scrollDirection: number;
8
10
  };
9
- export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosition, months }: Readonly<CalendarState>, { minDate, maxDate }: CalendarProps) => {
11
+ export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosition, months }: Readonly<CalendarState>, { minDate, maxDate }: {
12
+ minDate: CalendarDateShape;
13
+ maxDate: CalendarDateShape;
14
+ }) => {
10
15
  scrollPosition: number;
11
16
  months: MonthViewModel[];
12
17
  scrollDirection: number;
@@ -17,3 +22,15 @@ export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosi
17
22
  export declare const isMonthVisible: (top: number, month: MonthViewModel, theme: Theme) => boolean;
18
23
  export declare const getMonthsHeight: (months: MonthViewModel[], theme: Theme) => number;
19
24
  export declare const getMonths: (month: number, year: number) => MonthViewModel[];
25
+ export declare const getMonthInNativeFormat: (initialMonth: number | undefined) => number | undefined;
26
+ export declare const getInitialDate: ({ today, date, minDate, maxDate, }: {
27
+ today: CalendarDateShape;
28
+ date?: Nullable<CalendarDateShape>;
29
+ minDate?: Nullable<CalendarDateShape>;
30
+ maxDate?: Nullable<CalendarDateShape>;
31
+ }) => CalendarDateShape;
32
+ export declare const getTodayDate: () => {
33
+ date: number;
34
+ month: number;
35
+ year: number;
36
+ };
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/DayCellView.js",
2
+ "main": "../../../cjs/components/Calendar/DayCellView.js",
3
3
  "module": "DayCellView",
4
4
  "types": "../DayCellView.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/DayCellView.styles.js",
2
+ "main": "../../../cjs/components/Calendar/DayCellView.styles.js",
3
3
  "module": "DayCellView.styles",
4
4
  "types": "../DayCellView.styles.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/DayCellViewModel.js",
2
+ "main": "../../../cjs/components/Calendar/DayCellViewModel.js",
3
3
  "module": "DayCellViewModel",
4
4
  "types": "../DayCellViewModel.d.ts",
5
5
  "sideEffects": false
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Month.tsx"],"names":["React","ThemeContext","createPropsGetter","themeConfig","CDS","MonthView","DayCellView","CalendarScrollEvents","styles","Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","isEqual","value","today","minDate","maxDate","componentDidMount","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","onDateClick","isHoliday","Component","MonthDayGrid","getProps","defaultProps","monthDayGrid","width","DAY_SIZE","display","map","day","isWeekend","date"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DateSelect } from '../../internal/DateSelect';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { MonthViewModel } from './MonthViewModel';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport { MonthView } from './MonthView';\nimport { DayCellView } from './DayCellView';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { styles } from './MonthView.styles';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n onDateClick?: (date: CDS.CalendarDateShape) => void;\n onMonthYearChange: (month: number, year: number) => void;\n isHoliday?: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\ntype DefaultProps = Required<Pick<MonthDayGridProps, 'isHoliday'>>;\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\n\n private monthSelect: DateSelect | null = null;\n private yearSelect: DateSelect | null = null;\n\n public shouldComponentUpdate(nextProps: MonthProps) {\n if (this.props.top !== nextProps.top) {\n return true;\n }\n if (!CDS.isEqual(nextProps.value, this.props.value)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.today, this.props.today)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {\n return true;\n }\n return this.props.month !== nextProps.month;\n }\n\n public componentDidMount() {\n CalendarScrollEvents.addListener(this.closeSelects);\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 public renderMain() {\n const { month, maxDate, minDate, top } = this.props;\n return (\n <MonthView\n firstDayOffset={month.offset}\n height={month.getHeight(this.theme)}\n isFirstInYear={month.isFirstInYear}\n isLastInYear={month.isLastInYear}\n maxDate={maxDate}\n minDate={minDate}\n month={month.month}\n top={top}\n year={month.year}\n onMonthSelect={this.handleMonthSelect}\n onYearSelect={this.handleYearSelect}\n monthSelectRef={this.monthRef}\n yearSelectRef={this.yearRef}\n >\n {this.renderCells()}\n </MonthView>\n );\n }\n\n private renderCells() {\n return (\n <MonthDayGrid\n days={this.props.month.days}\n offset={this.props.month.offset}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n today={this.props.today}\n value={this.props.value}\n onDateClick={this.props.onDateClick}\n isHoliday={this.props.isHoliday}\n />\n );\n }\n\n private closeSelects = () => {\n if (this.monthSelect) {\n this.monthSelect.close();\n }\n if (this.yearSelect) {\n this.yearSelect.close();\n }\n };\n\n private monthRef = (monthSelect: DateSelect | null) => {\n this.monthSelect = monthSelect;\n };\n\n private yearRef = (yearSelect: DateSelect | null) => {\n this.yearSelect = yearSelect;\n };\n\n private handleMonthSelect = (month: number) => {\n this.props.onMonthYearChange(month, this.props.month.year);\n };\n\n private handleYearSelect = (year: number) => {\n this.props.onMonthYearChange(this.props.month.month, year);\n };\n}\n\ninterface MonthDayGridProps {\n days: DayCellViewModel[];\n offset: number;\n minDate?: CDS.CalendarDateShape;\n maxDate?: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n onDateClick?: (x0: CDS.CalendarDateShape) => void;\n isHoliday?: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private theme!: Theme;\n\n public static defaultProps: DefaultProps = {\n isHoliday: (day: CDS.CalendarDateShape & { isWeekend: boolean }) => day.isWeekend,\n };\n\n private getProps = createPropsGetter(MonthDayGrid.defaultProps);\n\n public shouldComponentUpdate(nextProps: MonthDayGridProps) {\n if (!CDS.isEqual(nextProps.value, this.props.value)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.today, this.props.today)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {\n return true;\n }\n if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {\n return true;\n }\n return this.props.days !== nextProps.days;\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 public renderMain() {\n return (\n <div className={styles.monthDayGrid(this.theme)}>\n <div\n style={{\n width: this.props.offset * themeConfig(this.theme).DAY_SIZE,\n display: 'inline-block',\n }}\n />\n {this.props.days.map((day) => {\n const isWeekend = this.getProps().isHoliday(day);\n\n return (\n <DayCellView\n date={day}\n key={`${day.date}.${day.month}.${day.year}`}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n today={this.props.today}\n value={this.props.value}\n isWeekend={isWeekend}\n onDateClick={this.props.onDateClick}\n />\n );\n })}\n </div>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/Month.js",
2
+ "main": "../../../cjs/components/Calendar/Month.js",
3
3
  "module": "Month",
4
4
  "types": "../Month.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import { DateSelect } from "../../DateSelect";
2
+ import { DateSelect } from "../../../internal/DateSelect";
3
3
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
4
4
  import * as ColorFunctions from "../../../lib/styles/ColorFunctions";
5
5
  import { cx } from "../../../lib/theming/Emotion";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["MonthView.tsx"],"names":["React","useContext","DateSelect","ThemeContext","ColorFunctions","cx","styles","themeConfig","CDS","CalendarDataTids","MonthView","props","theme","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../../internal/DateSelect';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useContext(ThemeContext);\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n\n return (\n <div data-tid={CalendarDataTids.month} className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/MonthView.js",
2
+ "main": "../../../cjs/components/Calendar/MonthView.js",
3
3
  "module": "MonthView",
4
4
  "types": "../MonthView.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { DateSelect } from '../DateSelect';
2
+ import { DateSelect } from '../../internal/DateSelect';
3
3
  import * as CDS from './CalendarDateShape';
4
4
  interface MonthViewProps {
5
5
  children: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/MonthView.styles.js",
2
+ "main": "../../../cjs/components/Calendar/MonthView.styles.js",
3
3
  "module": "MonthView.styles",
4
4
  "types": "../MonthView.styles.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/MonthViewModel.js",
2
+ "main": "../../../cjs/components/Calendar/MonthViewModel.js",
3
3
  "module": "MonthViewModel",
4
4
  "types": "../MonthViewModel.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/config.js",
2
+ "main": "../../../cjs/components/Calendar/config.js",
3
3
  "module": "config",
4
4
  "types": "../config.d.ts",
5
5
  "sideEffects": false
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../../cjs/internal/Calendar/index.js",
2
+ "main": "../../../cjs/components/Calendar/index.js",
3
3
  "module": "index",
4
4
  "types": "../index.d.ts",
5
5
  "sideEffects": false
@@ -0,0 +1,8 @@
1
+ import { LocaleHelper } from "../../../../lib/locale/LocaleHelper";
2
+ import { componentsLocales as en_GB } from "../locales/en";
3
+ import { componentsLocales as ru_RU } from "../locales/ru";
4
+ export * from "../types";
5
+ export var CalendarLocaleHelper = new LocaleHelper({
6
+ ru_RU: ru_RU,
7
+ en_GB: en_GB
8
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["LocaleHelper","componentsLocales","en_GB","ru_RU","CalendarLocaleHelper"],"mappings":"AAAA,SAASA,YAAT,QAA6B,kCAA7B;;AAEA,SAASC,iBAAiB,IAAIC,KAA9B,QAA2C,cAA3C;AACA,SAASD,iBAAiB,IAAIE,KAA9B,QAA2C,cAA3C;;;AAGA,cAAc,SAAd;;AAEA,OAAO,IAAMC,oBAAoB,GAAG,IAAIJ,YAAJ,CAAiC;AACnEG,EAAAA,KAAK,EAALA,KADmE;AAEnED,EAAAA,KAAK,EAALA,KAFmE,EAAjC,CAA7B","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper';\n\nimport { componentsLocales as en_GB } from './locales/en';\nimport { componentsLocales as ru_RU } from './locales/ru';\nimport { CalendarLocale } from './types';\n\nexport * from './types';\n\nexport const CalendarLocaleHelper = new LocaleHelper<CalendarLocale>({\n ru_RU,\n en_GB,\n});\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/components/Calendar/locale/index.js",
3
+ "module": "index",
4
+ "types": "../index.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,4 @@
1
+ import { LocaleHelper } from '../../../lib/locale/LocaleHelper';
2
+ import { CalendarLocale } from './types';
3
+ export * from './types';
4
+ export declare const CalendarLocaleHelper: LocaleHelper<CalendarLocale>;
@@ -0,0 +1,3 @@
1
+ export var componentsLocales = {
2
+ months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
3
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["en.ts"],"names":["componentsLocales","months"],"mappings":";;AAEA,OAAO,IAAMA,iBAAiC,GAAG;AAC/CC,EAAAA,MAAM,EAAE;AACN,WADM;AAEN,YAFM;AAGN,SAHM;AAIN,SAJM;AAKN,OALM;AAMN,QANM;AAON,QAPM;AAQN,UARM;AASN,aATM;AAUN,WAVM;AAWN,YAXM;AAYN,YAZM,CADuC,EAA1C","sourcesContent":["import { CalendarLocale } from '../types';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n};\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../../cjs/components/Calendar/locale/locales/en.js",
3
+ "module": "en",
4
+ "types": "../en.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,2 @@
1
+ import { CalendarLocale } from '../types';
2
+ export declare const componentsLocales: CalendarLocale;
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../../cjs/components/Calendar/locale/locales/ru.js",
3
+ "module": "ru",
4
+ "types": "../ru.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,3 @@
1
+ export var componentsLocales = {
2
+ months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
3
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ru.ts"],"names":["componentsLocales","months"],"mappings":";;AAEA,OAAO,IAAMA,iBAAiC,GAAG;AAC/CC,EAAAA,MAAM,EAAE;AACN,UADM;AAEN,WAFM;AAGN,QAHM;AAIN,UAJM;AAKN,OALM;AAMN,QANM;AAON,QAPM;AAQN,UARM;AASN,YATM;AAUN,WAVM;AAWN,UAXM;AAYN,WAZM,CADuC,EAA1C","sourcesContent":["import { CalendarLocale } from '../types';\n\nexport const componentsLocales: CalendarLocale = {\n months: [\n 'Январь',\n 'Февраль',\n 'Март',\n 'Апрель',\n 'Май',\n 'Июнь',\n 'Июль',\n 'Август',\n 'Сентябрь',\n 'Октябрь',\n 'Ноябрь',\n 'Декабрь',\n ],\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import { CalendarLocale } from '../types';
2
+ export declare const componentsLocales: CalendarLocale;
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/Calendar/locale/index.js",
3
+ "module": "index",
4
+ "types": "index.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../../cjs/components/Calendar/locale/types.js",
3
+ "module": "types",
4
+ "types": "../types.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1,3 @@
1
+ export interface CalendarLocale {
2
+ months?: string[];
3
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "main": "../../cjs/internal/Calendar/index.js",
2
+ "main": "../../cjs/components/Calendar/index.js",
3
3
  "module": "index",
4
4
  "types": "index.d.ts",
5
5
  "sideEffects": false