@skbkontur/react-ui 0.0.0-95a1dbe516 → 0.0.0-9ab4f802f3

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 (647) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/README.md +41 -13
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -6
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +76 -3
  6. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  7. package/cjs/components/Autocomplete/Autocomplete.styles.js +7 -1
  8. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  9. package/cjs/components/Button/Button.js +2 -2
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +38 -11
  12. package/cjs/components/Calendar/Calendar.d.ts +28 -5
  13. package/cjs/components/Calendar/Calendar.js +80 -36
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/Calendar.md +82 -1
  16. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  17. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  18. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  19. package/cjs/components/Calendar/CalendarContext.js +16 -0
  20. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  21. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  22. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  23. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  24. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  25. package/cjs/components/Calendar/CalendarDay.js +79 -0
  26. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  27. package/cjs/components/Calendar/CalendarDay.md +70 -0
  28. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  29. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  30. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  31. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  32. package/cjs/components/Calendar/DayCellView.js +20 -42
  33. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  34. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  35. package/cjs/components/Calendar/DayCellView.styles.js +37 -43
  36. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  37. package/cjs/components/Calendar/Month.d.ts +0 -10
  38. package/cjs/components/Calendar/Month.js +36 -88
  39. package/cjs/components/Calendar/Month.js.map +1 -1
  40. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  41. package/cjs/components/Calendar/MonthView.js +47 -37
  42. package/cjs/components/Calendar/MonthView.js.map +1 -1
  43. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  44. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  45. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  46. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  47. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  48. package/cjs/components/Calendar/config.js +12 -6
  49. package/cjs/components/Calendar/config.js.map +1 -1
  50. package/cjs/components/Calendar/index.d.ts +1 -0
  51. package/cjs/components/Calendar/index.js +2 -1
  52. package/cjs/components/Calendar/index.js.map +1 -1
  53. package/cjs/components/Checkbox/Checkbox.js +1 -1
  54. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  55. package/cjs/components/DateInput/DateFragmentsView.js +1 -1
  56. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/cjs/components/DateInput/DateInput.js +1 -1
  58. package/cjs/components/DateInput/DateInput.js.map +1 -1
  59. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  60. package/cjs/components/DatePicker/DatePicker.js +72 -45
  61. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.md +29 -1
  63. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  64. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  65. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  66. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  67. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  68. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  69. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  70. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  71. package/cjs/components/DatePicker/Picker.js +1 -1
  72. package/cjs/components/DatePicker/Picker.js.map +1 -1
  73. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  74. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  75. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  76. package/cjs/components/Dropdown/Dropdown.js +1 -1
  77. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  78. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  79. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  80. package/cjs/components/DropdownMenu/DropdownMenu.md +39 -0
  81. package/cjs/components/FileUploader/FileUploader.d.ts +2 -0
  82. package/cjs/components/FileUploader/FileUploader.js +32 -9
  83. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  84. package/cjs/components/FileUploader/FileUploader.md +29 -0
  85. package/cjs/components/FxInput/FxInput.js +1 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/Group/Group.js +1 -1
  88. package/cjs/components/Group/Group.js.map +1 -1
  89. package/cjs/components/Hint/Hint.d.ts +4 -3
  90. package/cjs/components/Hint/Hint.js +9 -8
  91. package/cjs/components/Hint/Hint.js.map +1 -1
  92. package/cjs/components/Input/Input.js +1 -1
  93. package/cjs/components/Input/Input.js.map +1 -1
  94. package/cjs/components/Input/Input.styles.d.ts +1 -1
  95. package/cjs/components/Input/Input.styles.js +3 -2
  96. package/cjs/components/Input/Input.styles.js.map +1 -1
  97. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  98. package/cjs/components/Input/InputLayout/InputLayout.styles.js +3 -2
  99. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  100. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  101. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.js +6 -1
  103. package/cjs/components/Kebab/Kebab.js.map +1 -1
  104. package/cjs/components/Link/Link.js +3 -2
  105. package/cjs/components/Link/Link.js.map +1 -1
  106. package/cjs/components/Loader/Loader.js +1 -1
  107. package/cjs/components/Loader/Loader.js.map +1 -1
  108. package/cjs/components/MenuItem/MenuItem.js +2 -2
  109. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  110. package/cjs/components/MiniModal/MiniModal.js +1 -1
  111. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  112. package/cjs/components/Modal/Modal.js +1 -1
  113. package/cjs/components/Modal/Modal.js.map +1 -1
  114. package/cjs/components/Modal/ModalBody.js +1 -1
  115. package/cjs/components/Modal/ModalBody.js.map +1 -1
  116. package/cjs/components/Paging/Paging.js +8 -3
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  119. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  120. package/cjs/components/Radio/Radio.js +1 -1
  121. package/cjs/components/Radio/Radio.js.map +1 -1
  122. package/cjs/components/RadioGroup/RadioGroup.js +10 -1
  123. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  124. package/cjs/components/ScrollContainer/ScrollBar.js +1 -1
  125. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  126. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  127. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -0
  128. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  129. package/cjs/components/Select/Select.js +6 -3
  130. package/cjs/components/Select/Select.js.map +1 -1
  131. package/cjs/components/SidePage/SidePage.js +1 -1
  132. package/cjs/components/SidePage/SidePage.js.map +1 -1
  133. package/cjs/components/SidePage/SidePageBody.js +1 -1
  134. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageContainer.js +1 -1
  136. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageFooter.js +1 -1
  138. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  139. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.js +1 -1
  142. package/cjs/components/Spinner/Spinner.js.map +1 -1
  143. package/cjs/components/Switcher/Switcher.js +1 -1
  144. package/cjs/components/Switcher/Switcher.js.map +1 -1
  145. package/cjs/components/Tabs/Indicator.js +1 -1
  146. package/cjs/components/Tabs/Indicator.js.map +1 -1
  147. package/cjs/components/Tabs/Tab.js +2 -2
  148. package/cjs/components/Tabs/Tab.js.map +1 -1
  149. package/cjs/components/Tabs/Tabs.js +1 -1
  150. package/cjs/components/Tabs/Tabs.js.map +1 -1
  151. package/cjs/components/Textarea/Textarea.js +1 -1
  152. package/cjs/components/Textarea/Textarea.js.map +1 -1
  153. package/cjs/components/Toast/Toast.js +1 -1
  154. package/cjs/components/Toast/Toast.js.map +1 -1
  155. package/cjs/components/Toast/ToastView.js +1 -1
  156. package/cjs/components/Toast/ToastView.js.map +1 -1
  157. package/cjs/components/Toggle/Toggle.js +1 -1
  158. package/cjs/components/Toggle/Toggle.js.map +1 -1
  159. package/cjs/components/Token/Token.js +2 -1
  160. package/cjs/components/Token/Token.js.map +1 -1
  161. package/cjs/components/TokenInput/TokenInput.js +1 -1
  162. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  163. package/cjs/components/TokenInput/TokenInputMenu.js +2 -2
  164. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  165. package/cjs/components/Tooltip/Tooltip.d.ts +10 -5
  166. package/cjs/components/Tooltip/Tooltip.js +59 -20
  167. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  168. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -4
  169. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  170. package/cjs/hooks/useDrop.d.ts +1 -1
  171. package/cjs/hooks/useDrop.js.map +1 -1
  172. package/cjs/index.d.ts +2 -0
  173. package/cjs/index.js +2 -0
  174. package/cjs/index.js.map +1 -1
  175. package/cjs/internal/CommonWrapper/CommonWrapper.js +2 -2
  176. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  177. package/cjs/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  178. package/cjs/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -0
  179. package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.js → utils/getCommonVisualStateDataAttributes.js} +3 -4
  180. package/cjs/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -0
  181. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  182. package/cjs/internal/CommonWrapper/{getVisualStateDataAttributes.js → utils/getVisualStateDataAttributes.js} +3 -3
  183. package/cjs/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -0
  184. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  185. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js +1 -0
  186. package/cjs/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -0
  187. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +2 -3
  188. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  189. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  190. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  191. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  192. package/cjs/internal/DateSelect/DateSelect.js +51 -4
  193. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  194. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  195. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  196. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  197. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  198. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  199. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  200. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  201. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  202. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  203. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +16 -3
  204. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  205. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  206. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +4 -2
  207. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  208. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  209. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +3 -2
  210. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  211. package/cjs/internal/InputLikeText/InputLikeText.js +2 -2
  212. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  213. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +1 -1
  214. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  215. package/cjs/internal/InternalMenu/InternalMenu.js +2 -2
  216. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  217. package/cjs/internal/Menu/Menu.js +2 -2
  218. package/cjs/internal/Menu/Menu.js.map +1 -1
  219. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js +7 -1
  221. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  222. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  223. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  224. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  225. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  226. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  227. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  228. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  229. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  230. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  231. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  232. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  233. package/cjs/internal/NativeDateInput/utils.js +3 -2
  234. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  235. package/cjs/internal/Popup/Popup.d.ts +15 -4
  236. package/cjs/internal/Popup/Popup.js +67 -4
  237. package/cjs/internal/Popup/Popup.js.map +1 -1
  238. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  239. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  240. package/cjs/internal/RenderContainer/RenderContainer.d.ts +3 -0
  241. package/cjs/internal/RenderContainer/RenderContainer.js +34 -24
  242. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  243. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -4
  244. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  245. package/cjs/internal/RenderLayer/RenderLayer.js +5 -1
  246. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  247. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  248. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  249. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +9 -6
  250. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  251. package/cjs/internal/ThemePlayground/constants.js +2 -1
  252. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  253. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +1 -1
  254. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  255. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  256. package/cjs/internal/ZIndex/ZIndex.d.ts +7 -3
  257. package/cjs/internal/ZIndex/ZIndex.js +41 -3
  258. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  259. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  260. package/cjs/internal/themes/DarkTheme.js +6 -1
  261. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  262. package/cjs/internal/themes/DefaultTheme.d.ts +18 -0
  263. package/cjs/internal/themes/DefaultTheme.js +32 -4
  264. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  265. package/cjs/lib/date/InternalDate.d.ts +2 -0
  266. package/cjs/lib/date/InternalDate.js +8 -1
  267. package/cjs/lib/date/InternalDate.js.map +1 -1
  268. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  269. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  270. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  271. package/cjs/lib/date/InternalDateValidator.js +2 -1
  272. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  273. package/cjs/lib/date/comparison.d.ts +6 -0
  274. package/cjs/lib/date/comparison.js +44 -0
  275. package/cjs/lib/date/comparison.js.map +1 -0
  276. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  277. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  278. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  279. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  280. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  281. package/cjs/lib/listenFocusOutside.js +4 -2
  282. package/cjs/lib/listenFocusOutside.js.map +1 -1
  283. package/cjs/lib/locale/constants.d.ts +3 -0
  284. package/cjs/lib/locale/constants.js +6 -2
  285. package/cjs/lib/locale/constants.js.map +1 -1
  286. package/cjs/lib/taskWithDelayAndMinimalDuration.js +1 -0
  287. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  288. package/cjs/lib/theming/Emotion.d.ts +7 -1
  289. package/cjs/lib/theming/Emotion.js +6 -3
  290. package/cjs/lib/theming/Emotion.js.map +1 -1
  291. package/cjs/lib/theming/ThemeContext.d.ts +0 -2
  292. package/cjs/lib/theming/ThemeContext.js +1 -3
  293. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  294. package/cjs/lib/theming/ThemeContext.md +3 -1
  295. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  296. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js +50 -0
  297. package/cjs/lib/theming/themes/Theme2022DarkUpdate2024.js.map +1 -0
  298. package/cjs/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  299. package/cjs/lib/theming/themes/Theme2022Update2024.js +75 -0
  300. package/cjs/lib/theming/themes/Theme2022Update2024.js.map +1 -0
  301. package/cjs/lib/widgets/StylesContainer.d.ts +13 -0
  302. package/cjs/lib/widgets/StylesContainer.js +70 -0
  303. package/cjs/lib/widgets/StylesContainer.js.map +1 -0
  304. package/cjs/lib/widgets/index.d.ts +1 -0
  305. package/cjs/lib/widgets/index.js +1 -0
  306. package/cjs/lib/widgets/index.js.map +1 -0
  307. package/components/Autocomplete/Autocomplete/Autocomplete.js +11 -5
  308. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  309. package/components/Autocomplete/Autocomplete.md +76 -3
  310. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +4 -1
  311. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -1
  312. package/components/Autocomplete/Autocomplete.styles.d.ts +1 -0
  313. package/components/Button/Button/Button.js +3 -3
  314. package/components/Button/Button/Button.js.map +1 -1
  315. package/components/Button/Button.md +38 -11
  316. package/components/Calendar/Calendar/Calendar.js +83 -66
  317. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  318. package/components/Calendar/Calendar.d.ts +28 -5
  319. package/components/Calendar/Calendar.md +82 -1
  320. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  321. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  322. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  323. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  324. package/components/Calendar/CalendarContext/package.json +6 -0
  325. package/components/Calendar/CalendarContext.d.ts +12 -0
  326. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  327. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  328. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  329. package/components/Calendar/CalendarDay/CalendarDay.js +64 -0
  330. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  331. package/components/Calendar/CalendarDay/package.json +6 -0
  332. package/components/Calendar/CalendarDay.d.ts +12 -0
  333. package/components/Calendar/CalendarDay.md +70 -0
  334. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  335. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  336. package/components/Calendar/CalendarUtils.d.ts +2 -1
  337. package/components/Calendar/DayCellView/DayCellView.js +33 -46
  338. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  339. package/components/Calendar/DayCellView.d.ts +4 -12
  340. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -14
  341. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  342. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  343. package/components/Calendar/Month/Month.js +50 -84
  344. package/components/Calendar/Month/Month.js.map +1 -1
  345. package/components/Calendar/Month.d.ts +0 -10
  346. package/components/Calendar/MonthView/MonthView.js +50 -45
  347. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  348. package/components/Calendar/MonthView.d.ts +3 -2
  349. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  350. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  351. package/components/Calendar/MonthView.styles.d.ts +3 -0
  352. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  353. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  354. package/components/Calendar/config/config.js +6 -4
  355. package/components/Calendar/config/config.js.map +1 -1
  356. package/components/Calendar/index/index.js +2 -1
  357. package/components/Calendar/index/index.js.map +1 -1
  358. package/components/Calendar/index.d.ts +1 -0
  359. package/components/Checkbox/Checkbox/Checkbox.js +2 -2
  360. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  361. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +2 -2
  362. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  363. package/components/DateInput/DateInput/DateInput.js +2 -2
  364. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  365. package/components/DatePicker/DatePicker/DatePicker.js +62 -41
  366. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  367. package/components/DatePicker/DatePicker.d.ts +4 -1
  368. package/components/DatePicker/DatePicker.md +29 -1
  369. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  370. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  371. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  372. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  373. package/components/DatePicker/MobilePicker/package.json +6 -0
  374. package/components/DatePicker/MobilePicker.d.ts +10 -0
  375. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  376. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  377. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  378. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  379. package/components/DatePicker/Picker/Picker.js +3 -3
  380. package/components/DatePicker/Picker/Picker.js.map +1 -1
  381. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  382. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  383. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  384. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  385. package/components/Dropdown/Dropdown/Dropdown.js +3 -3
  386. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  387. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -3
  388. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  389. package/components/DropdownMenu/DropdownMenu.md +39 -0
  390. package/components/FileUploader/FileUploader/FileUploader.js +30 -8
  391. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  392. package/components/FileUploader/FileUploader.d.ts +2 -0
  393. package/components/FileUploader/FileUploader.md +29 -0
  394. package/components/FxInput/FxInput/FxInput.js +2 -2
  395. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  396. package/components/Group/Group/Group.js +2 -2
  397. package/components/Group/Group/Group.js.map +1 -1
  398. package/components/Hint/Hint/Hint.js +53 -48
  399. package/components/Hint/Hint/Hint.js.map +1 -1
  400. package/components/Hint/Hint.d.ts +4 -3
  401. package/components/Input/Input/Input.js +3 -3
  402. package/components/Input/Input/Input.js.map +1 -1
  403. package/components/Input/Input.styles/Input.styles.js +2 -2
  404. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  405. package/components/Input/Input.styles.d.ts +1 -1
  406. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -2
  407. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  408. package/components/Input/InputLayout/InputLayout.styles.d.ts +1 -1
  409. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +1 -1
  410. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  411. package/components/Kebab/Kebab/Kebab.js +7 -4
  412. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  413. package/components/Link/Link/Link.js +6 -3
  414. package/components/Link/Link/Link.js.map +1 -1
  415. package/components/Loader/Loader/Loader.js +2 -2
  416. package/components/Loader/Loader/Loader.js.map +1 -1
  417. package/components/MenuItem/MenuItem/MenuItem.js +3 -3
  418. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  419. package/components/MiniModal/MiniModal/MiniModal.js +2 -2
  420. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  421. package/components/Modal/Modal/Modal.js +3 -3
  422. package/components/Modal/Modal/Modal.js.map +1 -1
  423. package/components/Modal/ModalBody/ModalBody.js +3 -3
  424. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  425. package/components/Paging/Paging/Paging.js +10 -6
  426. package/components/Paging/Paging/Paging.js.map +1 -1
  427. package/components/PasswordInput/PasswordInput/PasswordInput.js +2 -2
  428. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  429. package/components/Radio/Radio/Radio.js +2 -2
  430. package/components/Radio/Radio/Radio.js.map +1 -1
  431. package/components/RadioGroup/RadioGroup/RadioGroup.js +8 -4
  432. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  433. package/components/ScrollContainer/ScrollBar/ScrollBar.js +2 -2
  434. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  435. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +5 -0
  436. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  437. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  438. package/components/Select/Select/Select.js +6 -5
  439. package/components/Select/Select/Select.js.map +1 -1
  440. package/components/SidePage/SidePage/SidePage.js +2 -2
  441. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  442. package/components/SidePage/SidePageBody/SidePageBody.js +2 -2
  443. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  444. package/components/SidePage/SidePageContainer/SidePageContainer.js +2 -2
  445. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  446. package/components/SidePage/SidePageFooter/SidePageFooter.js +2 -2
  447. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  448. package/components/SidePage/SidePageHeader/SidePageHeader.js +2 -2
  449. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  450. package/components/Spinner/Spinner/Spinner.js +2 -2
  451. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  452. package/components/Switcher/Switcher/Switcher.js +3 -3
  453. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  454. package/components/Tabs/Indicator/Indicator.js +2 -2
  455. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  456. package/components/Tabs/Tab/Tab.js +3 -3
  457. package/components/Tabs/Tab/Tab.js.map +1 -1
  458. package/components/Tabs/Tabs/Tabs.js +2 -2
  459. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  460. package/components/Textarea/Textarea/Textarea.js +2 -2
  461. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  462. package/components/Toast/Toast/Toast.js +3 -3
  463. package/components/Toast/Toast/Toast.js.map +1 -1
  464. package/components/Toast/ToastView/ToastView.js +2 -2
  465. package/components/Toast/ToastView/ToastView.js.map +1 -1
  466. package/components/Toggle/Toggle/Toggle.js +2 -2
  467. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  468. package/components/Token/Token/Token.js +6 -3
  469. package/components/Token/Token/Token.js.map +1 -1
  470. package/components/TokenInput/TokenInput/TokenInput.js +2 -2
  471. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  472. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +3 -3
  473. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  474. package/components/Tooltip/Tooltip/Tooltip.js +67 -46
  475. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  476. package/components/Tooltip/Tooltip.d.ts +10 -5
  477. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +3 -3
  478. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  479. package/hooks/useDrop/useDrop.js.map +1 -1
  480. package/hooks/useDrop.d.ts +1 -1
  481. package/index.d.ts +2 -0
  482. package/index.js +2 -0
  483. package/index.js.map +1 -1
  484. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  485. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  486. package/internal/CommonWrapper/utils/extractCommonProps/extractCommonProps.js.map +1 -0
  487. package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/package.json +1 -1
  488. package/internal/CommonWrapper/{extractCommonProps.d.ts → utils/extractCommonProps.d.ts} +2 -2
  489. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/getCommonVisualStateDataAttributes.js +1 -5
  490. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +1 -0
  491. package/internal/CommonWrapper/{getCommonVisualStateDataAttributes → utils/getCommonVisualStateDataAttributes}/package.json +1 -1
  492. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/getVisualStateDataAttributes.js +3 -3
  493. package/internal/CommonWrapper/utils/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +1 -0
  494. package/internal/CommonWrapper/{getVisualStateDataAttributes → utils/getVisualStateDataAttributes}/package.json +1 -1
  495. package/internal/CommonWrapper/{getVisualStateDataAttributes.d.ts → utils/getVisualStateDataAttributes.d.ts} +1 -1
  496. package/internal/CommonWrapper/utils/tryGetBoolean/package.json +6 -0
  497. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js +3 -0
  498. package/internal/CommonWrapper/utils/tryGetBoolean/tryGetBoolean.js.map +1 -0
  499. package/internal/CommonWrapper/utils/tryGetBoolean.d.ts +1 -0
  500. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +3 -3
  501. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  502. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +5 -3
  503. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  504. package/internal/DateSelect/DateSelect/DateSelect.js +59 -6
  505. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  506. package/internal/DateSelect/DateSelect.d.ts +2 -0
  507. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  508. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  509. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  510. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  511. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  512. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  513. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  514. package/internal/DateSelect/locale/types.d.ts +1 -0
  515. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +12 -3
  516. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  517. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +5 -2
  518. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +4 -2
  519. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  520. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -0
  521. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -2
  522. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  523. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +1 -0
  524. package/internal/InputLikeText/InputLikeText/InputLikeText.js +3 -3
  525. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  526. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +2 -2
  527. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -1
  528. package/internal/InternalMenu/InternalMenu/InternalMenu.js +3 -3
  529. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  530. package/internal/Menu/Menu/Menu.js +3 -3
  531. package/internal/Menu/Menu/Menu.js.map +1 -1
  532. package/internal/MobilePopup/MobilePopup/MobilePopup.js +4 -3
  533. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  534. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  535. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  536. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  537. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  538. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  539. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  540. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  541. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  542. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  543. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  544. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  545. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  546. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  547. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  548. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +2 -2
  549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  550. package/internal/NativeDateInput/utils/utils.js +2 -1
  551. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  552. package/internal/Popup/Popup/Popup.js +53 -10
  553. package/internal/Popup/Popup/Popup.js.map +1 -1
  554. package/internal/Popup/Popup.d.ts +15 -4
  555. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  556. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  557. package/internal/RenderContainer/RenderContainer/RenderContainer.js +19 -12
  558. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  559. package/internal/RenderContainer/RenderContainer.d.ts +3 -0
  560. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -5
  561. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  562. package/internal/RenderLayer/RenderLayer/RenderLayer.js +2 -2
  563. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  564. package/internal/ThemePlayground/Playground/Playground.js +2 -2
  565. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  566. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +10 -7
  567. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  568. package/internal/ThemePlayground/constants/constants.js +3 -0
  569. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  570. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
  571. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  572. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  573. package/internal/ZIndex/ZIndex/ZIndex.js +55 -7
  574. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  575. package/internal/ZIndex/ZIndex.d.ts +7 -3
  576. package/internal/themes/DarkTheme/DarkTheme.js +2 -0
  577. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  578. package/internal/themes/DarkTheme.d.ts +2 -0
  579. package/internal/themes/DefaultTheme/DefaultTheme.js +32 -1
  580. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  581. package/internal/themes/DefaultTheme.d.ts +18 -0
  582. package/lib/date/InternalDate/InternalDate.js +7 -1
  583. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  584. package/lib/date/InternalDate.d.ts +2 -0
  585. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  586. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  587. package/lib/date/InternalDateTransformer.d.ts +3 -0
  588. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  589. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  590. package/lib/date/comparison/comparison.js +45 -0
  591. package/lib/date/comparison/comparison.js.map +1 -0
  592. package/lib/date/comparison/package.json +6 -0
  593. package/lib/date/comparison.d.ts +6 -0
  594. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +24 -0
  595. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  596. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  597. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  598. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  599. package/lib/listenFocusOutside/listenFocusOutside.js +3 -2
  600. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  601. package/lib/locale/constants/constants.js +4 -1
  602. package/lib/locale/constants/constants.js.map +1 -1
  603. package/lib/locale/constants.d.ts +3 -0
  604. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +2 -0
  605. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  606. package/lib/theming/Emotion/Emotion.js +12 -3
  607. package/lib/theming/Emotion/Emotion.js.map +1 -1
  608. package/lib/theming/Emotion.d.ts +7 -1
  609. package/lib/theming/ThemeContext/ThemeContext.js +0 -2
  610. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  611. package/lib/theming/ThemeContext.d.ts +0 -2
  612. package/lib/theming/ThemeContext.md +3 -1
  613. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js +33 -0
  614. package/lib/theming/themes/Theme2022DarkUpdate2024/Theme2022DarkUpdate2024.js.map +1 -0
  615. package/lib/theming/themes/Theme2022DarkUpdate2024/package.json +6 -0
  616. package/lib/theming/themes/Theme2022DarkUpdate2024.d.ts +30 -0
  617. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js +50 -0
  618. package/lib/theming/themes/Theme2022Update2024/Theme2022Update2024.js.map +1 -0
  619. package/lib/theming/themes/Theme2022Update2024/package.json +6 -0
  620. package/lib/theming/themes/Theme2022Update2024.d.ts +46 -0
  621. package/lib/widgets/StylesContainer/StylesContainer.js +65 -0
  622. package/lib/widgets/StylesContainer/StylesContainer.js.map +1 -0
  623. package/lib/widgets/StylesContainer/package.json +6 -0
  624. package/lib/widgets/StylesContainer.d.ts +13 -0
  625. package/lib/widgets/index/index.js +1 -0
  626. package/lib/widgets/index/index.js.map +1 -0
  627. package/lib/widgets/index/package.json +6 -0
  628. package/lib/widgets/index.d.ts +1 -0
  629. package/lib/widgets/package.json +6 -0
  630. package/package.json +3 -2
  631. package/cjs/internal/CommonWrapper/extractCommonProps.js.map +0 -1
  632. package/cjs/internal/CommonWrapper/getCommonVisualStateDataAttributes.js.map +0 -1
  633. package/cjs/internal/CommonWrapper/getVisualStateDataAttributes.js.map +0 -1
  634. package/cjs/lib/theming/StyleContainer.d.ts +0 -4
  635. package/cjs/lib/theming/StyleContainer.js +0 -21
  636. package/cjs/lib/theming/StyleContainer.js.map +0 -1
  637. package/internal/CommonWrapper/extractCommonProps/extractCommonProps.js.map +0 -1
  638. package/internal/CommonWrapper/getCommonVisualStateDataAttributes/getCommonVisualStateDataAttributes.js.map +0 -1
  639. package/internal/CommonWrapper/getVisualStateDataAttributes/getVisualStateDataAttributes.js.map +0 -1
  640. package/lib/theming/StyleContainer/StyleContainer.js +0 -21
  641. package/lib/theming/StyleContainer/StyleContainer.js.map +0 -1
  642. package/lib/theming/StyleContainer/package.json +0 -6
  643. package/lib/theming/StyleContainer.d.ts +0 -4
  644. /package/cjs/internal/CommonWrapper/{extractCommonProps.js → utils/extractCommonProps.js} +0 -0
  645. /package/cjs/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
  646. /package/internal/CommonWrapper/{extractCommonProps → utils/extractCommonProps}/extractCommonProps.js +0 -0
  647. /package/internal/CommonWrapper/{getCommonVisualStateDataAttributes.d.ts → utils/getCommonVisualStateDataAttributes.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarUtils.ts"],"names":["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","MonthViewModel","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
+ {"version":3,"sources":["CalendarUtils.ts"],"names":["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","MonthViewModel","create","getMonthInNativeFormat","getMonthInHumanFormat","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 = (month: number) => month - 1;\n\nexport const getMonthInHumanFormat = (month: number) => month + 1;\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,13 +1,5 @@
1
- import { Nullable } from '../../typings/utility-types';
2
- import * as CDS from './CalendarDateShape';
3
- interface DayCellViewProps {
4
- date: CDS.CalendarDateShape;
5
- today?: CDS.CalendarDateShape;
6
- value?: Nullable<CDS.CalendarDateShape>;
7
- minDate?: CDS.CalendarDateShape;
8
- maxDate?: CDS.CalendarDateShape;
9
- onDateClick?: (day: CDS.CalendarDateShape) => void;
10
- isWeekend?: boolean;
1
+ import { DayCellViewModel } from './DayCellViewModel';
2
+ export interface DayCellViewProps {
3
+ date: DayCellViewModel;
11
4
  }
12
- export declare function DayCellView(props: DayCellViewProps): JSX.Element;
13
- export {};
5
+ export declare const DayCellView: (props: DayCellViewProps) => JSX.Element;
@@ -1,67 +1,45 @@
1
- "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.DayCellView = DayCellView;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react = _interopRequireDefault(require("react"));
2
-
3
- var _useLocaleForControl = require("../../lib/locale/useLocaleForControl");
1
+ "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.DayCellView = void 0;var _react = _interopRequireWildcard(require("react"));
4
2
 
5
3
  var _Emotion = require("../../lib/theming/Emotion");
6
- var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
7
- var _locale = require("../DatePicker/locale");
8
- var _getVisualStateDataAttributes = require("../../internal/CommonWrapper/getVisualStateDataAttributes");
4
+ var _InternalDateTransformer = require("../../lib/date/InternalDateTransformer");
9
5
  var _useTheme = require("../../lib/theming/useTheme");
10
6
 
11
- var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
12
7
  var _DayCellView = require("./DayCellView.styles");
13
- var _Calendar = require("./Calendar");
14
-
15
-
16
-
17
-
18
-
8
+ var _CalendarContext = require("./CalendarContext");
19
9
 
10
+ var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
11
+ var _CalendarDay = require("./CalendarDay");
20
12
 
21
13
 
22
14
 
23
15
 
24
16
 
25
- function DayCellView(props) {var _emotion$cx;
26
- var date = props.date,minDate = props.minDate,maxDate = props.maxDate,today = props.today,value = props.value,isWeekend = props.isWeekend,onDateClick = props.onDateClick;
17
+ var DayCellView = function DayCellView(props) {var _isHoliday, _renderDay;
18
+ var date = props.date;
19
+ var _useContext = (0, _react.useContext)(_CalendarContext.CalendarContext),value = _useContext.value,minDate = _useContext.minDate,maxDate = _useContext.maxDate,isHoliday = _useContext.isHoliday,renderDay = _useContext.renderDay,today = _useContext.today,onDateClick = _useContext.onDateClick;
27
20
  var emotion = (0, _Emotion.useEmotion)();
28
21
  var theme = (0, _useTheme.useTheme)();
29
- var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(theme);
30
22
 
31
23
  var handleClick = function handleClick() {
32
- var _props$date = props.date,date = _props$date.date,month = _props$date.month,year = _props$date.year;
33
- onDateClick == null ? void 0 : onDateClick({ date: date, month: month, year: year });
24
+ onDateClick == null ? void 0 : onDateClick(date);
34
25
  };
35
26
 
27
+ var humanDateString = _InternalDateTransformer.InternalDateTransformer.dateToHumanString(date);
36
28
  var styles = (0, _DayCellView.getStyles)(emotion);
37
- var child = _isTheme2022 ? /*#__PURE__*/
38
- _react.default.createElement("span", { className: emotion.cx(_DayCellView.globalClasses.todayCaption, styles.todayCaption()) }, date.date) :
39
-
40
- date.date;
41
29
 
30
+ var dayProps = {
31
+ isToday: Boolean(today && CDS.isEqual(date, today)),
32
+ isSelected: Boolean(value && CDS.isEqual(date, value)),
33
+ isDisabled: !CDS.isBetween(date, minDate, maxDate),
34
+ isWeekend: (_isHoliday = isHoliday == null ? void 0 : isHoliday(humanDateString, date.isWeekend)) != null ? _isHoliday : date.isWeekend,
35
+ date: humanDateString };
42
36
 
43
- var isToday = Boolean(today && CDS.isEqual(date, today));
44
- var isSelected = Boolean(value && CDS.isEqual(date, value));
45
37
 
46
- var locale = (0, _useLocaleForControl.useLocaleForControl)('Calendar', _locale.DatePickerLocaleHelper);
38
+ var dayElement = (_renderDay = renderDay == null ? void 0 : renderDay(dayProps)) != null ? _renderDay : /*#__PURE__*/_react.default.createElement(_CalendarDay.CalendarDay, dayProps);
47
39
 
48
40
  return /*#__PURE__*/(
49
- _react.default.createElement("button", (0, _extends2.default)({
50
- "data-tid": _Calendar.CalendarDataTids.dayCell,
51
- tabIndex: -1,
52
- "aria-label": locale.dayCellChooseDateAriaLabel + " " + (value == null ? void 0 : value.date) + "." + (value && value.month + 1) + "." + (value == null ? void 0 : value.year),
53
- disabled: !CDS.isBetween(date, minDate, maxDate),
54
- className: emotion.cx((_emotion$cx = {}, _emotion$cx[
55
- styles.cell(theme)] = true, _emotion$cx[
56
- styles.today(theme)] = isToday && !_isTheme2022, _emotion$cx[
57
- styles.today2022(theme)] = isToday && _isTheme2022, _emotion$cx[
58
- styles.selected(theme)] = isSelected, _emotion$cx[
59
- styles.weekend(theme)] = Boolean(isWeekend), _emotion$cx)) },
60
-
61
- (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ selected: isSelected }), {
62
- onClick: handleClick }),
63
-
64
- child));
41
+ _react.default.createElement("div", { onClick: handleClick, className: styles.cell(theme) },
42
+ dayElement));
65
43
 
66
44
 
67
- }
45
+ };exports.DayCellView = DayCellView;
@@ -1 +1 @@
1
- {"version":3,"sources":["DayCellView.tsx"],"names":["DayCellView","props","date","minDate","maxDate","today","value","isWeekend","onDateClick","emotion","theme","_isTheme2022","handleClick","month","year","styles","child","cx","globalClasses","todayCaption","isToday","Boolean","CDS","isEqual","isSelected","locale","DatePickerLocaleHelper","CalendarDataTids","dayCell","dayCellChooseDateAriaLabel","isBetween","cell","today2022","selected","weekend"],"mappings":"uVAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AAYO,SAASA,WAAT,CAAqBC,KAArB,EAA8C;AACnD,MAAQC,IAAR,GAAyED,KAAzE,CAAQC,IAAR,CAAcC,OAAd,GAAyEF,KAAzE,CAAcE,OAAd,CAAuBC,OAAvB,GAAyEH,KAAzE,CAAuBG,OAAvB,CAAgCC,KAAhC,GAAyEJ,KAAzE,CAAgCI,KAAhC,CAAuCC,KAAvC,GAAyEL,KAAzE,CAAuCK,KAAvC,CAA8CC,SAA9C,GAAyEN,KAAzE,CAA8CM,SAA9C,CAAyDC,WAAzD,GAAyEP,KAAzE,CAAyDO,WAAzD;AACA,MAAMC,OAAO,GAAG,0BAAhB;AACA,MAAMC,KAAK,GAAG,yBAAd;AACA,MAAMC,YAAY,GAAG,+BAAYD,KAAZ,CAArB;;AAEA,MAAME,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,sBAA8BX,KAAK,CAACC,IAApC,CAAQA,IAAR,eAAQA,IAAR,CAAcW,KAAd,eAAcA,KAAd,CAAqBC,IAArB,eAAqBA,IAArB;AACAN,IAAAA,WAAW,QAAX,YAAAA,WAAW,CAAG,EAAEN,IAAI,EAAJA,IAAF,EAAQW,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAH,CAAX;AACD,GAHD;;AAKA,MAAMC,MAAM,GAAG,4BAAUN,OAAV,CAAf;AACA,MAAMO,KAAK,GAAGL,YAAY;AACxB,yCAAM,SAAS,EAAEF,OAAO,CAACQ,EAAR,CAAWC,2BAAcC,YAAzB,EAAuCJ,MAAM,CAACI,YAAP,EAAvC,CAAjB,IAAiFjB,IAAI,CAACA,IAAtF,CADwB;;AAGxBA,EAAAA,IAAI,CAACA,IAHP;;;AAMA,MAAMkB,OAAO,GAAGC,OAAO,CAAChB,KAAK,IAAIiB,GAAG,CAACC,OAAJ,CAAYrB,IAAZ,EAAkBG,KAAlB,CAAV,CAAvB;AACA,MAAMmB,UAAU,GAAGH,OAAO,CAACf,KAAK,IAAIgB,GAAG,CAACC,OAAJ,CAAYrB,IAAZ,EAAkBI,KAAlB,CAAV,CAA1B;;AAEA,MAAMmB,MAAM,GAAG,8CAAoB,UAApB,EAAgCC,8BAAhC,CAAf;;AAEA;AACE;AACE,kBAAUC,2BAAiBC,OAD7B;AAEE,MAAA,QAAQ,EAAE,CAAC,CAFb;AAGE,oBAAeH,MAAM,CAACI,0BAAtB,UAAoDvB,KAApD,oBAAoDA,KAAK,CAAEJ,IAA3D,WAAmEI,KAAK,IAAIA,KAAK,CAACO,KAAN,GAAc,CAA1F,WAA+FP,KAA/F,oBAA+FA,KAAK,CAAEQ,IAAtG,CAHF;AAIE,MAAA,QAAQ,EAAE,CAACQ,GAAG,CAACQ,SAAJ,CAAc5B,IAAd,EAAoBC,OAApB,EAA6BC,OAA7B,CAJb;AAKE,MAAA,SAAS,EAAEK,OAAO,CAACQ,EAAR;AACRF,MAAAA,MAAM,CAACgB,IAAP,CAAYrB,KAAZ,CADQ,IACa,IADb;AAERK,MAAAA,MAAM,CAACV,KAAP,CAAaK,KAAb,CAFQ,IAEcU,OAAO,IAAI,CAACT,YAF1B;AAGRI,MAAAA,MAAM,CAACiB,SAAP,CAAiBtB,KAAjB,CAHQ,IAGkBU,OAAO,IAAIT,YAH7B;AAIRI,MAAAA,MAAM,CAACkB,QAAP,CAAgBvB,KAAhB,CAJQ,IAIiBc,UAJjB;AAKRT,MAAAA,MAAM,CAACmB,OAAP,CAAexB,KAAf,CALQ,IAKgBW,OAAO,CAACd,SAAD,CALvB,eALb;;AAYM,oEAA6B,EAAE0B,QAAQ,EAAET,UAAZ,EAA7B,CAZN;AAaE,MAAA,OAAO,EAAEZ,WAbX;;AAeGI,IAAAA,KAfH,CADF;;;AAmBD","sourcesContent":["import React from 'react';\n\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { Nullable } from '../../typings/utility-types';\nimport { useEmotion } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/getVisualStateDataAttributes';\nimport { useTheme } from '../../lib/theming/useTheme';\n\nimport * as CDS from './CalendarDateShape';\nimport { getStyles, globalClasses } from './DayCellView.styles';\nimport { CalendarDataTids } from './Calendar';\n\ninterface DayCellViewProps {\n date: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n minDate?: CDS.CalendarDateShape;\n maxDate?: CDS.CalendarDateShape;\n onDateClick?: (day: CDS.CalendarDateShape) => void;\n isWeekend?: boolean;\n}\n\nexport function DayCellView(props: DayCellViewProps) {\n const { date, minDate, maxDate, today, value, isWeekend, onDateClick } = props;\n const emotion = useEmotion();\n const theme = useTheme();\n const _isTheme2022 = isTheme2022(theme);\n\n const handleClick = () => {\n const { date, month, year } = props.date;\n onDateClick?.({ date, month, year });\n };\n\n const styles = getStyles(emotion);\n const child = _isTheme2022 ? (\n <span className={emotion.cx(globalClasses.todayCaption, styles.todayCaption())}>{date.date}</span>\n ) : (\n date.date\n );\n\n const isToday = Boolean(today && CDS.isEqual(date, today));\n const isSelected = Boolean(value && CDS.isEqual(date, value));\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n\n return (\n <button\n data-tid={CalendarDataTids.dayCell}\n tabIndex={-1}\n aria-label={`${locale.dayCellChooseDateAriaLabel} ${value?.date}.${value && value.month + 1}.${value?.year}`}\n disabled={!CDS.isBetween(date, minDate, maxDate)}\n className={emotion.cx({\n [styles.cell(theme)]: true,\n [styles.today(theme)]: isToday && !_isTheme2022,\n [styles.today2022(theme)]: isToday && _isTheme2022,\n [styles.selected(theme)]: isSelected,\n [styles.weekend(theme)]: Boolean(isWeekend),\n })}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n onClick={handleClick}\n >\n {child}\n </button>\n );\n}\n"]}
1
+ {"version":3,"sources":["DayCellView.tsx"],"names":["DayCellView","props","date","CalendarContext","value","minDate","maxDate","isHoliday","renderDay","today","onDateClick","emotion","theme","handleClick","humanDateString","InternalDateTransformer","dateToHumanString","styles","dayProps","isToday","Boolean","CDS","isEqual","isSelected","isDisabled","isBetween","isWeekend","dayElement","cell"],"mappings":"mKAAA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;AAMO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAA6B;AACtD,MAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;AACA,oBAA8E,uBAAWC,gCAAX,CAA9E,CAAQC,KAAR,eAAQA,KAAR,CAAeC,OAAf,eAAeA,OAAf,CAAwBC,OAAxB,eAAwBA,OAAxB,CAAiCC,SAAjC,eAAiCA,SAAjC,CAA4CC,SAA5C,eAA4CA,SAA5C,CAAuDC,KAAvD,eAAuDA,KAAvD,CAA8DC,WAA9D,eAA8DA,WAA9D;AACA,MAAMC,OAAO,GAAG,0BAAhB;AACA,MAAMC,KAAK,GAAG,yBAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBH,IAAAA,WAAW,QAAX,YAAAA,WAAW,CAAGR,IAAH,CAAX;AACD,GAFD;;AAIA,MAAMY,eAAe,GAAGC,iDAAwBC,iBAAxB,CAA0Cd,IAA1C,CAAxB;AACA,MAAMe,MAAM,GAAG,4BAAUN,OAAV,CAAf;;AAEA,MAAMO,QAA0B,GAAG;AACjCC,IAAAA,OAAO,EAAEC,OAAO,CAACX,KAAK,IAAIY,GAAG,CAACC,OAAJ,CAAYpB,IAAZ,EAAkBO,KAAlB,CAAV,CADiB;AAEjCc,IAAAA,UAAU,EAAEH,OAAO,CAAChB,KAAK,IAAIiB,GAAG,CAACC,OAAJ,CAAYpB,IAAZ,EAAkBE,KAAlB,CAAV,CAFc;AAGjCoB,IAAAA,UAAU,EAAE,CAACH,GAAG,CAACI,SAAJ,CAAcvB,IAAd,EAAoBG,OAApB,EAA6BC,OAA7B,CAHoB;AAIjCoB,IAAAA,SAAS,gBAAEnB,SAAF,oBAAEA,SAAS,CAAGO,eAAH,EAAoBZ,IAAI,CAACwB,SAAzB,CAAX,yBAAkDxB,IAAI,CAACwB,SAJ/B;AAKjCxB,IAAAA,IAAI,EAAEY,eAL2B,EAAnC;;;AAQA,MAAMa,UAAU,iBAAGnB,SAAH,oBAAGA,SAAS,CAAGU,QAAH,CAAZ,sCAA4B,6BAAC,wBAAD,EAAiBA,QAAjB,CAA5C;;AAEA;AACE,0CAAK,OAAO,EAAEL,WAAd,EAA2B,SAAS,EAAEI,MAAM,CAACW,IAAP,CAAYhB,KAAZ,CAAtC;AACGe,IAAAA,UADH,CADF;;;AAKD,CA5BM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { useEmotion } from '../../lib/theming/Emotion';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { useTheme } from '../../lib/theming/useTheme';\n\nimport { getStyles } from './DayCellView.styles';\nimport { CalendarContext } from './CalendarContext';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDay, CalendarDayProps } from './CalendarDay';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps) => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const emotion = useEmotion();\n const theme = useTheme();\n\n const handleClick = () => {\n onDateClick?.(date);\n };\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n const styles = getStyles(emotion);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled: !CDS.isBetween(date, minDate, maxDate),\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n };\n\n const dayElement = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n\n return (\n <div onClick={handleClick} className={styles.cell(theme)}>\n {dayElement}\n </div>\n );\n};\n"]}
@@ -1,13 +1,10 @@
1
1
  import type { Emotion } from '@emotion/css/create-instance';
2
2
  import { Theme } from '../../lib/theming/Theme';
3
- export declare const globalClasses: {
4
- todayCaption: string;
5
- };
6
3
  export declare const getStyles: (emotion: Emotion) => {
7
4
  cell(t: Theme): string;
5
+ day(t: Theme): string;
8
6
  selected(t: Theme): string;
9
7
  weekend(t: Theme): string;
10
8
  today(t: Theme): string;
11
- today2022(t: Theme): string;
12
- todayCaption(): string;
9
+ todayCaption2022(t: Theme): string;
13
10
  };
@@ -1,77 +1,71 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.globalClasses = exports.getStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.getStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
2
2
 
3
- var _Emotion = require("../../lib/theming/Emotion");
3
+ var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
4
 
5
- var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
6
5
 
7
- var globalClasses = (0, _Emotion.prefix)('day-cell-view')({
8
- todayCaption: 'today-caption' });exports.globalClasses = globalClasses;
6
+ var getStyles = function getStyles(emotion) {
7
+ return (0, _Emotion.memoizeStyle)({
8
+ cell: function cell(t) {
9
+ return emotion.css(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n flex: 1 1 ", ";\n height: ", ";\n "])),
10
+ t.calendarCellWidth,
11
+ t.calendarCellHeight);
9
12
 
13
+ },
10
14
 
11
- var getStyles = function getStyles(emotion) {return (
12
- (0, _Emotion.memoizeStyle)({
13
- cell: function cell(t) {
14
- return emotion.css(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n background: ", ";\n border: 1px solid transparent;\n display: inline-block;\n font-size: 14px;\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n\n width: ", ";\n height: ", ";\n line-height: ", ";\n border-radius: 50%;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ", ";\n }\n "])),
15
- (0, _Mixins.resetButton)(emotion),
15
+ day: function day(t) {
16
+ return emotion.css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: 100%;\n height: 100%;\n\n background: ", ";\n border: 1px solid transparent;\n font-size: ", ";\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ", ";\n }\n "])),
16
17
 
17
- t.calendarCellBg,
18
18
 
19
19
 
20
+ t.calendarCellBg,
20
21
 
22
+ t.calendarCellFontSize,
21
23
 
22
24
 
23
25
 
24
26
 
27
+ t.calendarCellLineHeight,
28
+ t.calendarCellBorderRadius,
25
29
 
26
- t.calendarCellSize,
27
- t.calendarCellSize,
28
- t.calendarCellLineHeight,
29
30
 
31
+ t.calendarCellHoverBgColor,
32
+ t.calendarCellHoverColor,
30
33
 
31
34
 
32
- t.calendarCellHoverBgColor,
33
- t.calendarCellHoverColor,
34
35
 
35
36
 
36
37
 
37
38
 
38
39
 
40
+ t.calendarCellActiveHoverColor);
39
41
 
40
42
 
41
- t.calendarCellActiveHoverColor);
43
+ },
42
44
 
45
+ selected: function selected(t) {
46
+ return emotion.css(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n color: ", ";\n "])),
47
+ t.calendarCellSelectedBgColor,
48
+ t.calendarCellSelectedFontColor);
43
49
 
44
- },
50
+ },
45
51
 
46
- selected: function selected(t) {
47
- return emotion.css(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n color: ", ";\n "])),
48
- t.calendarCellSelectedBgColor,
49
- t.calendarCellSelectedFontColor);
52
+ weekend: function weekend(t) {
53
+ return emotion.css(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
54
+ t.calendarCellWeekendColor);
50
55
 
51
- },
56
+ },
52
57
 
53
- weekend: function weekend(t) {
54
- return emotion.css(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
55
- t.calendarCellWeekendColor);
58
+ today: function today(t) {
59
+ return emotion.css(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n "])),
60
+ t.calendarCellTodayBorder);
56
61
 
57
- },
62
+ },
58
63
 
59
- today: function today(t) {
60
- return emotion.css(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n "])),
61
- t.calendarCellTodayBorder);
64
+ todayCaption2022: function todayCaption2022(t) {
65
+ return emotion.css(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 2px;\n border-bottom: ", ";\n "])),
62
66
 
63
- },
67
+ t.calendarCellTodayBorder);
64
68
 
65
- today2022: function today2022(t) {
66
- return emotion.css(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n .", " {\n border-bottom: ", ";\n }\n "])),
67
- globalClasses.todayCaption,
68
- t.calendarCellTodayBorder);
69
+ } });
69
70
 
70
-
71
- },
72
-
73
- todayCaption: function todayCaption() {
74
- return emotion.css(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 2px;\n "])));
75
-
76
-
77
- } }));};exports.getStyles = getStyles;
71
+ };exports.getStyles = getStyles;
@@ -1 +1 @@
1
- {"version":3,"sources":["DayCellView.styles.ts"],"names":["globalClasses","todayCaption","getStyles","emotion","cell","t","css","calendarCellBg","calendarCellSize","calendarCellLineHeight","calendarCellHoverBgColor","calendarCellHoverColor","calendarCellActiveHoverColor","selected","calendarCellSelectedBgColor","calendarCellSelectedFontColor","weekend","calendarCellWeekendColor","today","calendarCellTodayBorder","today2022"],"mappings":";;AAEA;;AAEA,iD;;AAEO,IAAMA,aAAa,GAAG,qBAAO,eAAP,EAAwB;AACnDC,EAAAA,YAAY,EAAE,eADqC,EAAxB,CAAtB,C;;;AAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AACvB,+BAAa;AACXC,MAAAA,IADW,gBACNC,CADM,EACI;AACb,eAAOF,OAAO,CAACG,GAAf;AACI,iCAAYH,OAAZ,CADJ;;AAGgBE,QAAAA,CAAC,CAACE,cAHlB;;;;;;;;;AAYWF,QAAAA,CAAC,CAACG,gBAZb;AAaYH,QAAAA,CAAC,CAACG,gBAbd;AAciBH,QAAAA,CAAC,CAACI,sBAdnB;;;;AAkBwBJ,QAAAA,CAAC,CAACK,wBAlB1B;AAmBaL,QAAAA,CAAC,CAACM,sBAnBf;;;;;;;;AA2BaN,QAAAA,CAAC,CAACO,4BA3Bf;;;AA8BD,OAhCU;;AAkCXC,MAAAA,QAlCW,oBAkCFR,CAlCE,EAkCQ;AACjB,eAAOF,OAAO,CAACG,GAAf;AACsBD,QAAAA,CAAC,CAACS,2BADxB;AAEWT,QAAAA,CAAC,CAACU,6BAFb;;AAID,OAvCU;;AAyCXC,MAAAA,OAzCW,mBAyCHX,CAzCG,EAyCO;AAChB,eAAOF,OAAO,CAACG,GAAf;AACWD,QAAAA,CAAC,CAACY,wBADb;;AAGD,OA7CU;;AA+CXC,MAAAA,KA/CW,iBA+CLb,CA/CK,EA+CK;AACd,eAAOF,OAAO,CAACG,GAAf;AACYD,QAAAA,CAAC,CAACc,uBADd;;AAGD,OAnDU;;AAqDXC,MAAAA,SArDW,qBAqDDf,CArDC,EAqDS;AAClB,eAAOF,OAAO,CAACG,GAAf;AACKN,QAAAA,aAAa,CAACC,YADnB;AAEqBI,QAAAA,CAAC,CAACc,uBAFvB;;;AAKD,OA3DU;;AA6DXlB,MAAAA,YA7DW,0BA6DI;AACb,eAAOE,OAAO,CAACG,GAAf;;;AAGD,OAjEU,EAAb,CADuB,GAAlB,C","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const globalClasses = prefix('day-cell-view')({\n todayCaption: 'today-caption',\n});\n\nexport const getStyles = (emotion: Emotion) =>\n memoizeStyle({\n cell(t: Theme) {\n return emotion.css`\n ${resetButton(emotion)};\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n display: inline-block;\n font-size: 14px;\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n\n width: ${t.calendarCellSize};\n height: ${t.calendarCellSize};\n line-height: ${t.calendarCellLineHeight};\n border-radius: 50%;\n\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return emotion.css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n weekend(t: Theme) {\n return emotion.css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n today(t: Theme) {\n return emotion.css`\n border: ${t.calendarCellTodayBorder};\n `;\n },\n\n today2022(t: Theme) {\n return emotion.css`\n .${globalClasses.todayCaption} {\n border-bottom: ${t.calendarCellTodayBorder};\n }\n `;\n },\n\n todayCaption() {\n return emotion.css`\n padding-bottom: 2px;\n `;\n },\n });\n"]}
1
+ {"version":3,"sources":["DayCellView.styles.ts"],"names":["getStyles","emotion","cell","t","css","calendarCellWidth","calendarCellHeight","day","calendarCellBg","calendarCellFontSize","calendarCellLineHeight","calendarCellBorderRadius","calendarCellHoverBgColor","calendarCellHoverColor","calendarCellActiveHoverColor","selected","calendarCellSelectedBgColor","calendarCellSelectedFontColor","weekend","calendarCellWeekendColor","today","calendarCellTodayBorder","todayCaption2022"],"mappings":";;AAEA,oD;;;AAGO,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD,EAAsB;AAC7C,SAAO,2BAAa;AAClBC,IAAAA,IADkB,gBACbC,CADa,EACH;AACb,aAAOF,OAAO,CAACG,GAAf;AACcD,MAAAA,CAAC,CAACE,iBADhB;AAEYF,MAAAA,CAAC,CAACG,kBAFd;;AAID,KANiB;;AAQlBC,IAAAA,GARkB,eAQdJ,CARc,EAQJ;AACZ,aAAOF,OAAO,CAACG,GAAf;;;;AAIgBD,MAAAA,CAAC,CAACK,cAJlB;;AAMeL,MAAAA,CAAC,CAACM,oBANjB;;;;;AAWiBN,MAAAA,CAAC,CAACO,sBAXnB;AAYmBP,MAAAA,CAAC,CAACQ,wBAZrB;;;AAewBR,MAAAA,CAAC,CAACS,wBAf1B;AAgBaT,MAAAA,CAAC,CAACU,sBAhBf;;;;;;;;AAwBaV,MAAAA,CAAC,CAACW,4BAxBf;;;AA2BD,KApCiB;;AAsClBC,IAAAA,QAtCkB,oBAsCTZ,CAtCS,EAsCC;AACjB,aAAOF,OAAO,CAACG,GAAf;AACsBD,MAAAA,CAAC,CAACa,2BADxB;AAEWb,MAAAA,CAAC,CAACc,6BAFb;;AAID,KA3CiB;;AA6ClBC,IAAAA,OA7CkB,mBA6CVf,CA7CU,EA6CA;AAChB,aAAOF,OAAO,CAACG,GAAf;AACWD,MAAAA,CAAC,CAACgB,wBADb;;AAGD,KAjDiB;;AAmDlBC,IAAAA,KAnDkB,iBAmDZjB,CAnDY,EAmDF;AACd,aAAOF,OAAO,CAACG,GAAf;AACYD,MAAAA,CAAC,CAACkB,uBADd;;AAGD,KAvDiB;;AAyDlBC,IAAAA,gBAzDkB,4BAyDDnB,CAzDC,EAyDS;AACzB,aAAOF,OAAO,CAACG,GAAf;;AAEmBD,MAAAA,CAAC,CAACkB,uBAFrB;;AAID,KA9DiB,EAAb,CAAP;;AAgED,CAjEM,C","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const getStyles = (emotion: Emotion) => {\n return memoizeStyle({\n cell(t: Theme) {\n return emotion.css`\n flex: 1 1 ${t.calendarCellWidth};\n height: ${t.calendarCellHeight};\n `;\n },\n\n day(t: Theme) {\n return emotion.css`\n width: 100%;\n height: 100%;\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n font-size: ${t.calendarCellFontSize};\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ${t.calendarCellLineHeight};\n border-radius: ${t.calendarCellBorderRadius};\n\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return emotion.css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n weekend(t: Theme) {\n return emotion.css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n today(t: Theme) {\n return emotion.css`\n border: ${t.calendarCellTodayBorder};\n `;\n },\n\n todayCaption2022(t: Theme) {\n return emotion.css`\n padding-bottom: 2px;\n border-bottom: ${t.calendarCellTodayBorder};\n `;\n },\n });\n};\n"]}
@@ -1,19 +1,9 @@
1
1
  import React from 'react';
2
- import { Nullable } from '../../typings/utility-types';
3
- import * as CDS from './CalendarDateShape';
4
2
  import { MonthViewModel } from './MonthViewModel';
5
3
  interface MonthProps {
6
4
  top: number;
7
5
  month: MonthViewModel;
8
- maxDate?: CDS.CalendarDateShape;
9
- minDate?: CDS.CalendarDateShape;
10
- today?: CDS.CalendarDateShape;
11
- value?: Nullable<CDS.CalendarDateShape>;
12
- onDateClick?: (date: CDS.CalendarDateShape) => void;
13
6
  onMonthYearChange: (month: number, year: number) => void;
14
- isHoliday?: (day: CDS.CalendarDateShape & {
15
- isWeekend: boolean;
16
- }) => boolean;
17
7
  }
18
8
  export declare class Month extends React.Component<MonthProps> {
19
9
  private theme;
@@ -3,27 +3,16 @@
3
3
 
4
4
 
5
5
 
6
-
7
- var _createPropsGetter = require("../../lib/createPropsGetter");
8
6
  var _Emotion = require("../../lib/theming/Emotion");
9
7
  var _ThemeContext = require("../../lib/theming/ThemeContext");
10
8
 
11
- var _config = require("./config");
12
- var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
13
9
 
14
10
 
15
11
  var _MonthView = require("./MonthView");
16
12
  var _DayCellView = require("./DayCellView");
17
13
  var CalendarScrollEvents = _interopRequireWildcard(require("./CalendarScrollEvents"));
18
- var _MonthView2 = require("./MonthView.styles");var
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
14
+ var _MonthView2 = require("./MonthView.styles");
15
+ var _DayCellView2 = require("./DayCellView.styles");var
27
16
 
28
17
 
29
18
 
@@ -63,30 +52,6 @@ Month = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(M
63
52
 
64
53
 
65
54
 
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
55
 
91
56
 
92
57
 
@@ -131,56 +96,34 @@ Month = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(M
131
96
 
132
97
  handleYearSelect = function (year) {
133
98
  _this.props.onMonthYearChange(_this.props.month.month, year);
134
- };return _this;}var _proto = Month.prototype;_proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {if (this.props.top !== nextProps.top) {return true;}if (!CDS.isEqual(nextProps.value, this.props.value)) {return true;}if (!CDS.isEqual(nextProps.today, this.props.today)) {return true;}if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {return true;}if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {return true;}return this.props.month !== nextProps.month;};_proto.componentDidMount = function componentDidMount() {CalendarScrollEvents.addListener(this.closeSelects);};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeConsumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$props = this.props,month = _this$props.month,maxDate = _this$props.maxDate,minDate = _this$props.minDate,top = _this$props.top;return /*#__PURE__*/_react.default.createElement(_MonthView.MonthView, { firstDayOffset: month.offset, height: month.getHeight(this.theme), isFirstInYear: month.isFirstInYear, isLastInYear: month.isLastInYear, maxDate: maxDate, minDate: minDate, month: month.month, top: top, year: month.year, onMonthSelect: this.handleMonthSelect, onYearSelect: this.handleYearSelect, monthSelectRef: this.monthRef, yearSelectRef: this.yearRef }, this.renderCells());};_proto.renderCells = function renderCells() {return /*#__PURE__*/_react.default.createElement(MonthDayGrid, { days: this.props.month.days, offset: this.props.month.offset, minDate: this.props.minDate, maxDate: this.props.maxDate, today: this.props.today, value: this.props.value, onDateClick: this.props.onDateClick, isHoliday: this.props.isHoliday });};return Month;}(_react.default.Component);exports.Month = Month;var
135
-
99
+ };return _this;}var _proto = Month.prototype;_proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {if (this.props.top !== nextProps.top) {return true;}return this.props.month !== nextProps.month;};_proto.componentDidMount = function componentDidMount() {CalendarScrollEvents.addListener(this.closeSelects);};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$props = this.props,month = _this$props.month,top = _this$props.top;return /*#__PURE__*/_react.default.createElement(_MonthView.MonthView, { firstDayOffset: month.offset, height: month.getHeight(this.theme), isFirstInYear: month.isFirstInYear, isLastInYear: month.isLastInYear, month: month.month, top: top, year: month.year, onMonthSelect: this.handleMonthSelect, onYearSelect: this.handleYearSelect, monthSelectRef: this.monthRef, yearSelectRef: this.yearRef }, this.renderCells());};_proto.renderCells = function renderCells() {return /*#__PURE__*/_react.default.createElement(MonthDayGrid, { days: this.props.month.days, offset: this.props.month.offset });};return Month;}(_react.default.Component);exports.Month = Month;
136
100
 
137
101
 
102
+ var DAYS_PER_WEEK = 7;var
138
103
 
139
104
 
140
105
 
141
106
 
142
107
 
143
108
 
109
+ MonthDayGrid = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoose2.default)(MonthDayGrid, _React$Component2);function MonthDayGrid() {return _React$Component2.apply(this, arguments) || this;}var _proto2 = MonthDayGrid.prototype;_proto2.
144
110
 
145
111
 
146
112
 
147
-
148
- MonthDayGrid = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoose2.default)(MonthDayGrid, _React$Component2);function MonthDayGrid() {var _this3;for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this3 = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this;_this3.
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
- getProps = (0, _createPropsGetter.createPropsGetter)(MonthDayGrid.defaultProps);return _this3;}var _proto2 = MonthDayGrid.prototype;_proto2.
157
-
158
113
  shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
159
- if (!CDS.isEqual(nextProps.value, this.props.value)) {
160
- return true;
161
- }
162
- if (!CDS.isEqual(nextProps.today, this.props.today)) {
163
- return true;
164
- }
165
- if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {
166
- return true;
167
- }
168
- if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {
169
- return true;
170
- }
171
114
  return this.props.days !== nextProps.days;
172
115
  };_proto2.
173
116
 
174
- render = function render() {var _this4 = this;
117
+ render = function render() {var _this3 = this;
175
118
  return /*#__PURE__*/(
176
119
  _react.default.createElement(_Emotion.EmotionConsumer, null,
177
120
  function (emotion) {
178
- _this4.emotion = emotion;
121
+ _this3.emotion = emotion;
179
122
  return /*#__PURE__*/(
180
- _react.default.createElement(_ThemeContext.ThemeConsumer, null,
123
+ _react.default.createElement(_ThemeContext.ThemeContext.Consumer, null,
181
124
  function (theme) {
182
- _this4.theme = theme;
183
- return _this4.renderMain();
125
+ _this3.theme = theme;
126
+ return _this3.renderMain();
184
127
  }));
185
128
 
186
129
 
@@ -189,32 +132,37 @@ MonthDayGrid = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoose2.de
189
132
 
190
133
  };_proto2.
191
134
 
192
- renderMain = function renderMain() {var _this5 = this;
135
+ renderMain = function renderMain() {var _this4 = this;
193
136
  var styles = (0, _MonthView2.getStyles)(this.emotion);
137
+ var cellStyles = (0, _DayCellView2.getStyles)(this.emotion);
138
+ var leadingDays = Array.from({ length: this.props.offset }, function (_, i) {return /*#__PURE__*/(
139
+ _react.default.createElement("div", { key: "leading_" + i, className: cellStyles.cell(_this4.theme) }));});
140
+
141
+ var trailingOffset = DAYS_PER_WEEK - (this.props.offset + this.props.days.length) % DAYS_PER_WEEK;
142
+ var trailingDays = Array.from({ length: trailingOffset }, function (_, i) {return /*#__PURE__*/(
143
+ _react.default.createElement("div", { key: "trailing_" + i, className: cellStyles.cell(_this4.theme) }));});
144
+
145
+ var days = this.props.days.map(function (day) {
146
+ return /*#__PURE__*/_react.default.createElement(_DayCellView.DayCellView, { date: day, key: day.date + "." + day.month + "." + day.year });
147
+ });
148
+ var weeks = divideToWeeks(leadingDays.concat(days, trailingDays));
194
149
  return /*#__PURE__*/(
195
- _react.default.createElement("div", { className: styles.monthDayGrid(this.theme) }, /*#__PURE__*/
196
- _react.default.createElement("div", {
197
- style: {
198
- width: this.props.offset * (0, _config.themeConfig)(this.theme).DAY_SIZE,
199
- display: 'inline-block' } }),
150
+ _react.default.createElement("div", { className: styles.monthDayGrid(this.theme) },
151
+ weeks.map(function (week, i) {return /*#__PURE__*/(
152
+ _react.default.createElement("div", { className: styles.monthDayRow(_this4.theme), key: "week_" + i },
153
+ week));})));
200
154
 
201
155
 
202
- this.props.days.map(function (day) {
203
- var isWeekend = _this5.getProps().isHoliday(day);
204
-
205
- return /*#__PURE__*/(
206
- _react.default.createElement(_DayCellView.DayCellView, {
207
- date: day,
208
- key: day.date + "." + day.month + "." + day.year,
209
- minDate: _this5.props.minDate,
210
- maxDate: _this5.props.maxDate,
211
- today: _this5.props.today,
212
- value: _this5.props.value,
213
- isWeekend: isWeekend,
214
- onDateClick: _this5.props.onDateClick }));
215
156
 
216
157
 
217
- })));
158
+ };return MonthDayGrid;}(_react.default.Component);
218
159
 
219
160
 
220
- };return MonthDayGrid;}(_react.default.Component);MonthDayGrid.defaultProps = { isHoliday: function isHoliday(day) {return day.isWeekend;} };
161
+ function divideToWeeks(days) {
162
+ var weeks = [];
163
+ for (var i = 0; i < days.length; i += DAYS_PER_WEEK) {
164
+ var week = days.slice(i, i + DAYS_PER_WEEK);
165
+ weeks.push(week);
166
+ }
167
+ return weeks;
168
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["Month.tsx"],"names":["Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","CDS","isEqual","value","today","minDate","maxDate","componentDidMount","CalendarScrollEvents","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","onDateClick","isHoliday","React","Component","MonthDayGrid","getProps","defaultProps","emotion","styles","monthDayGrid","width","DAY_SIZE","display","map","day","isWeekend","date"],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { DateSelect } from '../../internal/DateSelect';\nimport { Nullable } from '../../typings/utility-types';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeConsumer } from '../../lib/theming/ThemeContext';\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 { getStyles } 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 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 <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\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 private emotion!: Emotion;\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 <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeConsumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeConsumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n public renderMain() {\n const styles = getStyles(this.emotion);\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
+ {"version":3,"sources":["Month.tsx"],"names":["Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","componentDidMount","CalendarScrollEvents","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","React","Component","DAYS_PER_WEEK","MonthDayGrid","emotion","styles","cellStyles","leadingDays","Array","from","length","_","i","cell","trailingOffset","trailingDays","map","day","date","weeks","divideToWeeks","concat","monthDayGrid","week","monthDayRow","slice","push"],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { DateSelect } from '../../internal/DateSelect';\nimport { EmotionConsumer } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { MonthViewModel } from './MonthViewModel';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport { MonthView } from './MonthView';\nimport { DayCellView } from './DayCellView';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { getStyles } from './MonthView.styles';\nimport { getStyles as getCellStyles } from './DayCellView.styles';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n onMonthYearChange: (month: number, year: number) => void;\n}\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\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\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, 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 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 <MonthDayGrid days={this.props.month.days} offset={this.props.month.offset} />;\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\nconst DAYS_PER_WEEK = 7;\n\ninterface MonthDayGridProps {\n days: DayCellViewModel[];\n offset: number;\n}\n\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private theme!: Theme;\n private emotion!: Emotion;\n\n public shouldComponentUpdate(nextProps: MonthDayGridProps) {\n return this.props.days !== nextProps.days;\n }\n\n public render() {\n return (\n <EmotionConsumer>\n {(emotion) => {\n this.emotion = emotion;\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }}\n </EmotionConsumer>\n );\n }\n\n public renderMain() {\n const styles = getStyles(this.emotion);\n const cellStyles = getCellStyles(this.emotion);\n const leadingDays = Array.from({ length: this.props.offset }, (_, i) => (\n <div key={`leading_${i}`} className={cellStyles.cell(this.theme)} />\n ));\n const trailingOffset = DAYS_PER_WEEK - ((this.props.offset + this.props.days.length) % DAYS_PER_WEEK);\n const trailingDays = Array.from({ length: trailingOffset }, (_, i) => (\n <div key={`trailing_${i}`} className={cellStyles.cell(this.theme)} />\n ));\n const days = this.props.days.map((day) => {\n return <DayCellView date={day} key={`${day.date}.${day.month}.${day.year}`} />;\n });\n const weeks = divideToWeeks(leadingDays.concat(days, trailingDays));\n return (\n <div className={styles.monthDayGrid(this.theme)}>\n {weeks.map((week, i) => (\n <div className={styles.monthDayRow(this.theme)} key={`week_${i}`}>\n {week}\n </div>\n ))}\n </div>\n );\n }\n}\n\nfunction divideToWeeks<T>(days: T[]): T[][] {\n const weeks: T[][] = [];\n for (let i = 0; i < days.length; i += DAYS_PER_WEEK) {\n const week = days.slice(i, i + DAYS_PER_WEEK);\n weeks.push(week);\n }\n return weeks;\n}\n"]}
@@ -1,14 +1,15 @@
1
1
  import React from 'react';
2
2
  import { DateSelect } from '../../internal/DateSelect';
3
+ import { Nullable } from '../..//typings/utility-types';
3
4
  import * as CDS from './CalendarDateShape';
5
+ export declare const getMinMonth: (year: number, minDate: Nullable<CDS.CalendarDateShape>) => number;
6
+ export declare const getMaxMonth: (year: number, maxDate: Nullable<CDS.CalendarDateShape>) => number;
4
7
  interface MonthViewProps {
5
8
  children: React.ReactNode;
6
9
  firstDayOffset: number;
7
10
  height: number;
8
11
  isFirstInYear?: boolean;
9
12
  isLastInYear?: boolean;
10
- maxDate?: CDS.CalendarDateShape;
11
- minDate?: CDS.CalendarDateShape;
12
13
  month: number;
13
14
  top: number;
14
15
  year: number;