@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,14 +1,12 @@
1
1
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import React from 'react';
3
- import { createPropsGetter } from "../../../lib/createPropsGetter";
4
3
  import { EmotionConsumer } from "../../../lib/theming/Emotion";
5
- import { ThemeConsumer } from "../../../lib/theming/ThemeContext";
6
- import { themeConfig } from "../config";
7
- import * as CDS from "../CalendarDateShape";
4
+ import { ThemeContext } from "../../../lib/theming/ThemeContext";
8
5
  import { MonthView } from "../MonthView";
9
6
  import { DayCellView } from "../DayCellView";
10
7
  import * as CalendarScrollEvents from "../CalendarScrollEvents";
11
8
  import { getStyles } from "../MonthView.styles";
9
+ import { getStyles as getCellStyles } from "../DayCellView.styles";
12
10
  export var Month = /*#__PURE__*/function (_React$Component) {
13
11
  _inheritsLoose(Month, _React$Component);
14
12
 
@@ -59,22 +57,6 @@ export var Month = /*#__PURE__*/function (_React$Component) {
59
57
  return true;
60
58
  }
61
59
 
62
- if (!CDS.isEqual(nextProps.value, this.props.value)) {
63
- return true;
64
- }
65
-
66
- if (!CDS.isEqual(nextProps.today, this.props.today)) {
67
- return true;
68
- }
69
-
70
- if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {
71
- return true;
72
- }
73
-
74
- if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {
75
- return true;
76
- }
77
-
78
60
  return this.props.month !== nextProps.month;
79
61
  };
80
62
 
@@ -85,7 +67,7 @@ export var Month = /*#__PURE__*/function (_React$Component) {
85
67
  _proto.render = function render() {
86
68
  var _this2 = this;
87
69
 
88
- return /*#__PURE__*/React.createElement(ThemeConsumer, null, function (theme) {
70
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
89
71
  _this2.theme = theme;
90
72
  return _this2.renderMain();
91
73
  });
@@ -94,16 +76,12 @@ export var Month = /*#__PURE__*/function (_React$Component) {
94
76
  _proto.renderMain = function renderMain() {
95
77
  var _this$props = this.props,
96
78
  month = _this$props.month,
97
- maxDate = _this$props.maxDate,
98
- minDate = _this$props.minDate,
99
79
  top = _this$props.top;
100
80
  return /*#__PURE__*/React.createElement(MonthView, {
101
81
  firstDayOffset: month.offset,
102
82
  height: month.getHeight(this.theme),
103
83
  isFirstInYear: month.isFirstInYear,
104
84
  isLastInYear: month.isLastInYear,
105
- maxDate: maxDate,
106
- minDate: minDate,
107
85
  month: month.month,
108
86
  top: top,
109
87
  year: month.year,
@@ -117,100 +95,88 @@ export var Month = /*#__PURE__*/function (_React$Component) {
117
95
  _proto.renderCells = function renderCells() {
118
96
  return /*#__PURE__*/React.createElement(MonthDayGrid, {
119
97
  days: this.props.month.days,
120
- offset: this.props.month.offset,
121
- minDate: this.props.minDate,
122
- maxDate: this.props.maxDate,
123
- today: this.props.today,
124
- value: this.props.value,
125
- onDateClick: this.props.onDateClick,
126
- isHoliday: this.props.isHoliday
98
+ offset: this.props.month.offset
127
99
  });
128
100
  };
129
101
 
130
102
  return Month;
131
103
  }(React.Component);
104
+ var DAYS_PER_WEEK = 7;
132
105
 
133
106
  var MonthDayGrid = /*#__PURE__*/function (_React$Component2) {
134
107
  _inheritsLoose(MonthDayGrid, _React$Component2);
135
108
 
136
109
  function MonthDayGrid() {
137
- var _this3;
138
-
139
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
140
- args[_key2] = arguments[_key2];
141
- }
142
-
143
- _this3 = _React$Component2.call.apply(_React$Component2, [this].concat(args)) || this;
144
- _this3.getProps = createPropsGetter(MonthDayGrid.defaultProps);
145
- return _this3;
110
+ return _React$Component2.apply(this, arguments) || this;
146
111
  }
147
112
 
148
113
  var _proto2 = MonthDayGrid.prototype;
149
114
 
150
115
  _proto2.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
151
- if (!CDS.isEqual(nextProps.value, this.props.value)) {
152
- return true;
153
- }
154
-
155
- if (!CDS.isEqual(nextProps.today, this.props.today)) {
156
- return true;
157
- }
158
-
159
- if (!CDS.isEqual(nextProps.minDate, this.props.minDate)) {
160
- return true;
161
- }
162
-
163
- if (!CDS.isEqual(nextProps.maxDate, this.props.maxDate)) {
164
- return true;
165
- }
166
-
167
116
  return this.props.days !== nextProps.days;
168
117
  };
169
118
 
170
119
  _proto2.render = function render() {
171
- var _this4 = this;
120
+ var _this3 = this;
172
121
 
173
122
  return /*#__PURE__*/React.createElement(EmotionConsumer, null, function (emotion) {
174
- _this4.emotion = emotion;
175
- return /*#__PURE__*/React.createElement(ThemeConsumer, null, function (theme) {
176
- _this4.theme = theme;
177
- return _this4.renderMain();
123
+ _this3.emotion = emotion;
124
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
125
+ _this3.theme = theme;
126
+ return _this3.renderMain();
178
127
  });
179
128
  });
180
129
  };
181
130
 
182
131
  _proto2.renderMain = function renderMain() {
183
- var _this5 = this;
132
+ var _this4 = this;
184
133
 
185
134
  var styles = getStyles(this.emotion);
186
- return /*#__PURE__*/React.createElement("div", {
187
- className: styles.monthDayGrid(this.theme)
188
- }, /*#__PURE__*/React.createElement("div", {
189
- style: {
190
- width: this.props.offset * themeConfig(this.theme).DAY_SIZE,
191
- display: 'inline-block'
192
- }
193
- }), this.props.days.map(function (day) {
194
- var isWeekend = _this5.getProps().isHoliday(day);
195
-
135
+ var cellStyles = getCellStyles(this.emotion);
136
+ var leadingDays = Array.from({
137
+ length: this.props.offset
138
+ }, function (_, i) {
139
+ return /*#__PURE__*/React.createElement("div", {
140
+ key: "leading_" + i,
141
+ className: cellStyles.cell(_this4.theme)
142
+ });
143
+ });
144
+ var trailingOffset = DAYS_PER_WEEK - (this.props.offset + this.props.days.length) % DAYS_PER_WEEK;
145
+ var trailingDays = Array.from({
146
+ length: trailingOffset
147
+ }, function (_, i) {
148
+ return /*#__PURE__*/React.createElement("div", {
149
+ key: "trailing_" + i,
150
+ className: cellStyles.cell(_this4.theme)
151
+ });
152
+ });
153
+ var days = this.props.days.map(function (day) {
196
154
  return /*#__PURE__*/React.createElement(DayCellView, {
197
155
  date: day,
198
- key: day.date + "." + day.month + "." + day.year,
199
- minDate: _this5.props.minDate,
200
- maxDate: _this5.props.maxDate,
201
- today: _this5.props.today,
202
- value: _this5.props.value,
203
- isWeekend: isWeekend,
204
- onDateClick: _this5.props.onDateClick
156
+ key: day.date + "." + day.month + "." + day.year
205
157
  });
158
+ });
159
+ var weeks = divideToWeeks(leadingDays.concat(days, trailingDays));
160
+ return /*#__PURE__*/React.createElement("div", {
161
+ className: styles.monthDayGrid(this.theme)
162
+ }, weeks.map(function (week, i) {
163
+ return /*#__PURE__*/React.createElement("div", {
164
+ className: styles.monthDayRow(_this4.theme),
165
+ key: "week_" + i
166
+ }, week);
206
167
  }));
207
168
  };
208
169
 
209
170
  return MonthDayGrid;
210
171
  }(React.Component);
211
172
 
212
- MonthDayGrid.defaultProps = {
213
- isHoliday: function isHoliday(day) {
214
- return day.isWeekend;
173
+ function divideToWeeks(days) {
174
+ var weeks = [];
175
+
176
+ for (var i = 0; i < days.length; i += DAYS_PER_WEEK) {
177
+ var week = days.slice(i, i + DAYS_PER_WEEK);
178
+ weeks.push(week);
215
179
  }
216
- };
180
+
181
+ return weeks;
182
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["Month.tsx"],"names":["React","createPropsGetter","EmotionConsumer","ThemeConsumer","themeConfig","CDS","MonthView","DayCellView","CalendarScrollEvents","getStyles","Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","isEqual","value","today","minDate","maxDate","componentDidMount","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","onDateClick","isHoliday","Component","MonthDayGrid","getProps","defaultProps","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":["React","EmotionConsumer","ThemeContext","MonthView","DayCellView","CalendarScrollEvents","getStyles","getCellStyles","Month","monthSelect","yearSelect","closeSelects","close","monthRef","yearRef","handleMonthSelect","month","props","onMonthYearChange","year","handleYearSelect","shouldComponentUpdate","nextProps","top","componentDidMount","addListener","render","theme","renderMain","offset","getHeight","isFirstInYear","isLastInYear","renderCells","days","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,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;
@@ -1,23 +1,63 @@
1
- import React from 'react';
1
+ import React, { useContext } from 'react';
2
2
  import { DateSelect } from "../../../internal/DateSelect";
3
3
  import * as ColorFunctions from "../../../lib/styles/ColorFunctions";
4
4
  import { useEmotion } from "../../../lib/theming/Emotion";
5
+ import { useResponsiveLayout } from "../../../components/ResponsiveLayout";
5
6
  import { useTheme } from "../../../lib/theming/useTheme";
6
7
  import { getStyles } from "../MonthView.styles";
7
8
  import { themeConfig } from "../config";
8
9
  import * as CDS from "../CalendarDateShape";
9
10
  import { CalendarDataTids } from "../Calendar";
11
+ import { CalendarContext } from "../CalendarContext";
12
+ export var getMinMonth = function getMinMonth(year, minDate) {
13
+ var min = 0;
14
+
15
+ for (var i = 0; i < 12; ++i) {
16
+ if (minDate && CDS.isGreaterOrEqual({
17
+ date: 31,
18
+ month: i,
19
+ year: year
20
+ }, minDate)) {
21
+ min = i;
22
+ break;
23
+ }
24
+ }
25
+
26
+ return min;
27
+ };
28
+ export var getMaxMonth = function getMaxMonth(year, maxDate) {
29
+ var max = 11;
30
+
31
+ for (var i = 11; i >= 0; --i) {
32
+ if (maxDate && CDS.isLessOrEqual({
33
+ date: 1,
34
+ month: i,
35
+ year: year
36
+ }, maxDate)) {
37
+ max = i;
38
+ break;
39
+ }
40
+ }
41
+
42
+ return max;
43
+ };
10
44
  export function MonthView(props) {
11
- var _emotion$cx;
45
+ var _emotion$cx, _emotion$cx2;
12
46
 
13
47
  var theme = useTheme();
14
48
  var emotion = useEmotion();
49
+
50
+ var _useContext = useContext(CalendarContext),
51
+ minDate = _useContext.minDate,
52
+ maxDate = _useContext.maxDate;
53
+
54
+ var _useResponsiveLayout = useResponsiveLayout(),
55
+ isMobile = _useResponsiveLayout.isMobile;
56
+
15
57
  var children = props.children,
16
58
  height = props.height,
17
59
  isFirstInYear = props.isFirstInYear,
18
60
  isLastInYear = props.isLastInYear,
19
- maxDate = props.maxDate,
20
- minDate = props.minDate,
21
61
  month = props.month,
22
62
  top = props.top,
23
63
  year = props.year,
@@ -34,45 +74,10 @@ export function MonthView(props) {
34
74
  var yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;
35
75
  var monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;
36
76
  var yearSelectDisabled = top > 40 || isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT;
37
-
38
- var getMinMonth = function getMinMonth(value) {
39
- var min = 0;
40
-
41
- for (var i = 0; i < 12; ++i) {
42
- if (minDate && CDS.isGreaterOrEqual({
43
- date: 31,
44
- month: i,
45
- year: value
46
- }, minDate)) {
47
- min = i;
48
- break;
49
- }
50
- }
51
-
52
- return min;
53
- };
54
-
55
- var getMaxMonth = function getMaxMonth(value) {
56
- var max = 11;
57
-
58
- for (var i = 11; i >= 0; --i) {
59
- if (maxDate && CDS.isLessOrEqual({
60
- date: 1,
61
- month: i,
62
- year: value
63
- }, maxDate)) {
64
- max = i;
65
- break;
66
- }
67
- }
68
-
69
- return max;
70
- };
71
-
72
77
  var styles = getStyles(emotion);
73
78
  return /*#__PURE__*/React.createElement("div", {
74
79
  "data-tid": CalendarDataTids.month,
75
- className: styles.month(theme),
80
+ className: emotion.cx((_emotion$cx = {}, _emotion$cx[styles.month(theme)] = true, _emotion$cx[styles.monthMobile()] = isMobile, _emotion$cx)),
76
81
  style: {
77
82
  top: top
78
83
  },
@@ -81,7 +86,7 @@ export function MonthView(props) {
81
86
  style: {
82
87
  top: headerTop
83
88
  },
84
- className: emotion.cx((_emotion$cx = {}, _emotion$cx[styles.header()] = true, _emotion$cx[styles.headerSticky(theme)] = isHeaderSticky, _emotion$cx))
89
+ className: emotion.cx((_emotion$cx2 = {}, _emotion$cx2[styles.header()] = true, _emotion$cx2[styles.headerSticky(theme)] = isHeaderSticky, _emotion$cx2))
85
90
  }, /*#__PURE__*/React.createElement("div", {
86
91
  style: {
87
92
  borderBottomColor: borderBottomColor
@@ -92,13 +97,13 @@ export function MonthView(props) {
92
97
  className: styles.headerMonth(theme)
93
98
  }, /*#__PURE__*/React.createElement(DateSelect, {
94
99
  disabled: monthSelectDisabled,
95
- width: 85,
100
+ width: isMobile ? '6em' : 85,
96
101
  type: "month",
97
102
  value: month,
98
103
  onValueChange: onMonthSelect,
99
104
  ref: !monthSelectDisabled ? monthSelectRef : undefined,
100
- minValue: getMinMonth(year),
101
- maxValue: getMaxMonth(year)
105
+ minValue: getMinMonth(year, minDate),
106
+ maxValue: getMaxMonth(year, maxDate)
102
107
  })), isYearVisible && /*#__PURE__*/React.createElement("div", {
103
108
  "data-tid": CalendarDataTids.headerYear,
104
109
  className: styles.headerYear(theme),
@@ -107,7 +112,7 @@ export function MonthView(props) {
107
112
  }
108
113
  }, /*#__PURE__*/React.createElement(DateSelect, {
109
114
  disabled: yearSelectDisabled,
110
- width: 50,
115
+ width: isMobile ? '3.5em' : 50,
111
116
  type: "year",
112
117
  value: year,
113
118
  minValue: minDate ? minDate.year : undefined,
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthView.tsx"],"names":["React","DateSelect","ColorFunctions","useEmotion","useTheme","getStyles","themeConfig","CDS","CalendarDataTids","MonthView","props","theme","emotion","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","styles","cx","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DateSelect } from '../../internal/DateSelect';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { useEmotion } from '../../lib/theming/Emotion';\nimport { useTheme } from '../../lib/theming/useTheme';\n\nimport { getStyles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n const styles = getStyles(emotion);\n\n return (\n <div data-tid={CalendarDataTids.month} className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={emotion.cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["MonthView.tsx"],"names":["React","useContext","DateSelect","ColorFunctions","useEmotion","useResponsiveLayout","useTheme","getStyles","themeConfig","CDS","CalendarDataTids","CalendarContext","getMinMonth","year","minDate","min","i","isGreaterOrEqual","date","month","getMaxMonth","maxDate","max","isLessOrEqual","MonthView","props","theme","emotion","isMobile","children","height","isFirstInYear","isLastInYear","top","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","styles","cx","monthMobile","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../../internal/DateSelect';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { useEmotion } from '../../lib/theming/Emotion';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout';\nimport { useTheme } from '../../lib/theming/useTheme';\nimport { Nullable } from '../..//typings/utility-types';\n\nimport { getStyles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\nimport { CalendarContext } from './CalendarContext';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useTheme();\n const emotion = useEmotion();\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const styles = getStyles(emotion);\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={emotion.cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={emotion.cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n {\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n }\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n {\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n }\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\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;
@@ -1,6 +1,6 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
4
4
 
5
5
  import { memoizeStyle } from "../../../lib/theming/Emotion";
6
6
  export var getStyles = function getStyles(emotion) {
@@ -12,20 +12,34 @@ export var getStyles = function getStyles(emotion) {
12
12
  return emotion.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n right: 0;\n padding: ", " 0 ", ";\n "])), t.calendarMonthTitlePaddingTop, t.calendarMonthTitlePaddingBottom);
13
13
  },
14
14
  month: function month(t) {
15
- var width = parseInt(t.calendarCellSize) * 7;
15
+ var width = parseInt(t.calendarCellWidth) * 7;
16
16
  return emotion.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: ", "px;\n "])), width);
17
17
  },
18
+ monthMobile: function monthMobile() {
19
+ return emotion.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n width: 100%;\n "])));
20
+ },
18
21
  header: function header() {
19
- return emotion.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n position: relative;\n "])));
22
+ return emotion.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n position: relative;\n "])));
20
23
  },
21
24
  headerSticky: function headerSticky(t) {
22
- return emotion.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n z-index: 2;\n "])), t.calendarMonthHeaderStickedBgColor);
25
+ return emotion.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n z-index: 2;\n "])), t.calendarMonthHeaderStickedBgColor);
23
26
  },
24
27
  monthTitle: function monthTitle(t) {
25
- return emotion.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n border-bottom: 1px solid ", ";\n font-weight: ", ";\n margin: 0 ", " ", ";\n line-height: ", ";\n "])), t.calendarMonthTitleBorderBottomColor, t.dateSelectFontWeight, t.calendarMonthTitleMarginX, t.calendarMonthTitleMarginBottom, t.calendarMonthTitleLineHeight);
28
+ return emotion.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n border-bottom: 1px solid ", ";\n font-weight: ", ";\n margin: 0 ", " ", ";\n line-height: ", ";\n "])), t.calendarMonthTitleBorderBottomColor, t.dateSelectFontWeight, t.calendarMonthTitleMarginX, t.calendarMonthTitleMarginBottom, t.calendarMonthTitleLineHeight);
26
29
  },
30
+
31
+ /* Note: this could've been
32
+ * display: grid;
33
+ * grid-template-columns: repeat(7, minmax(0, 1fr));
34
+ */
27
35
  monthDayGrid: function monthDayGrid(t) {
28
- return emotion.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n "])), t.calendarCellLineHeight);
36
+ return emotion.css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n display: flex;\n flex-direction: column;\n padding: ", " 0px;\n "])), t.calendarCellLineHeight, t.calendarGridRowSpacing);
37
+ },
38
+ monthDayRow: function monthDayRow(t) {
39
+ return emotion.css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n\n & + & {\n margin-top: ", ";\n }\n "])), t.calendarGridRowSpacing);
40
+ },
41
+ nativeSelect: function nativeSelect() {
42
+ return emotion.css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n "])));
29
43
  }
30
44
  });
31
45
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthView.styles.ts"],"names":["memoizeStyle","getStyles","emotion","headerMonth","t","css","calendarMonthTitlePaddingTop","calendarMonthTitlePaddingBottom","headerYear","month","width","parseInt","calendarCellSize","header","headerSticky","calendarMonthHeaderStickedBgColor","monthTitle","calendarMonthTitleBorderBottomColor","dateSelectFontWeight","calendarMonthTitleMarginX","calendarMonthTitleMarginBottom","calendarMonthTitleLineHeight","monthDayGrid","calendarCellLineHeight"],"mappings":";;AAEA,SAASA,YAAT,QAA6B,2BAA7B;;;AAGA,OAAO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AACvBF,IAAAA,YAAY,CAAC;AACXG,MAAAA,WADW,uBACCC,CADD,EACW;AACpB,eAAOF,OAAO,CAACG,GAAf;;AAEaD,QAAAA,CAAC,CAACE,4BAFf,EAEiDF,CAAC,CAACG,+BAFnD;;AAID,OANU;;AAQXC,MAAAA,UARW,sBAQAJ,CARA,EAQU;AACnB,eAAOF,OAAO,CAACG,GAAf;;;;AAIaD,QAAAA,CAAC,CAACE,4BAJf,EAIiDF,CAAC,CAACG,+BAJnD;;AAMD,OAfU;;AAiBXE,MAAAA,KAjBW,iBAiBLL,CAjBK,EAiBK;AACd,YAAMM,KAAK,GAAGC,QAAQ,CAACP,CAAC,CAACQ,gBAAH,CAAR,GAA+B,CAA7C;AACA,eAAOV,OAAO,CAACG,GAAf;;AAEWK,QAAAA,KAFX;;AAID,OAvBU;;AAyBXG,MAAAA,MAzBW,oBAyBF;AACP,eAAOX,OAAO,CAACG,GAAf;;;AAGD,OA7BU;;AA+BXS,MAAAA,YA/BW,wBA+BEV,CA/BF,EA+BY;AACrB,eAAOF,OAAO,CAACG,GAAf;AACsBD,QAAAA,CAAC,CAACW,iCADxB;;;AAID,OApCU;;AAsCXC,MAAAA,UAtCW,sBAsCAZ,CAtCA,EAsCU;AACnB,eAAOF,OAAO,CAACG,GAAf;AAC6BD,QAAAA,CAAC,CAACa,mCAD/B;AAEiBb,QAAAA,CAAC,CAACc,oBAFnB;AAGcd,QAAAA,CAAC,CAACe,yBAHhB,EAG6Cf,CAAC,CAACgB,8BAH/C;AAIiBhB,QAAAA,CAAC,CAACiB,4BAJnB;;AAMD,OA7CU;;AA+CXC,MAAAA,YA/CW,wBA+CElB,CA/CF,EA+CY;AACrB,eAAOF,OAAO,CAACG,GAAf;AACiBD,QAAAA,CAAC,CAACmB,sBADnB;;AAGD,OAnDU,EAAD,CADW,GAAlB","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 memoizeStyle({\n headerMonth(t: Theme) {\n return emotion.css`\n display: inline-block;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n headerYear(t: Theme) {\n return emotion.css`\n display: inline-block;\n position: absolute;\n right: 0;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n month(t: Theme) {\n const width = parseInt(t.calendarCellSize) * 7;\n return emotion.css`\n position: absolute;\n width: ${width}px;\n `;\n },\n\n header() {\n return emotion.css`\n position: relative;\n `;\n },\n\n headerSticky(t: Theme) {\n return emotion.css`\n background-color: ${t.calendarMonthHeaderStickedBgColor};\n z-index: 2;\n `;\n },\n\n monthTitle(t: Theme) {\n return emotion.css`\n border-bottom: 1px solid ${t.calendarMonthTitleBorderBottomColor};\n font-weight: ${t.dateSelectFontWeight};\n margin: 0 ${t.calendarMonthTitleMarginX} ${t.calendarMonthTitleMarginBottom};\n line-height: ${t.calendarMonthTitleLineHeight};\n `;\n },\n\n monthDayGrid(t: Theme) {\n return emotion.css`\n line-height: ${t.calendarCellLineHeight};\n `;\n },\n });\n"]}
1
+ {"version":3,"sources":["MonthView.styles.ts"],"names":["memoizeStyle","getStyles","emotion","headerMonth","t","css","calendarMonthTitlePaddingTop","calendarMonthTitlePaddingBottom","headerYear","month","width","parseInt","calendarCellWidth","monthMobile","header","headerSticky","calendarMonthHeaderStickedBgColor","monthTitle","calendarMonthTitleBorderBottomColor","dateSelectFontWeight","calendarMonthTitleMarginX","calendarMonthTitleMarginBottom","calendarMonthTitleLineHeight","monthDayGrid","calendarCellLineHeight","calendarGridRowSpacing","monthDayRow","nativeSelect"],"mappings":";;AAEA,SAASA,YAAT,QAA6B,2BAA7B;;;AAGA,OAAO,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD;AACvBF,IAAAA,YAAY,CAAC;AACXG,MAAAA,WADW,uBACCC,CADD,EACW;AACpB,eAAOF,OAAO,CAACG,GAAf;;AAEaD,QAAAA,CAAC,CAACE,4BAFf,EAEiDF,CAAC,CAACG,+BAFnD;;AAID,OANU;;AAQXC,MAAAA,UARW,sBAQAJ,CARA,EAQU;AACnB,eAAOF,OAAO,CAACG,GAAf;;;;AAIaD,QAAAA,CAAC,CAACE,4BAJf,EAIiDF,CAAC,CAACG,+BAJnD;;AAMD,OAfU;;AAiBXE,MAAAA,KAjBW,iBAiBLL,CAjBK,EAiBK;AACd,YAAMM,KAAK,GAAGC,QAAQ,CAACP,CAAC,CAACQ,iBAAH,CAAR,GAAgC,CAA9C;AACA,eAAOV,OAAO,CAACG,GAAf;;AAEWK,QAAAA,KAFX;;AAID,OAvBU;;AAyBXG,MAAAA,WAzBW,yBAyBG;AACZ,eAAOX,OAAO,CAACG,GAAf;;;AAGD,OA7BU;;AA+BXS,MAAAA,MA/BW,oBA+BF;AACP,eAAOZ,OAAO,CAACG,GAAf;;;AAGD,OAnCU;;AAqCXU,MAAAA,YArCW,wBAqCEX,CArCF,EAqCY;AACrB,eAAOF,OAAO,CAACG,GAAf;AACsBD,QAAAA,CAAC,CAACY,iCADxB;;;AAID,OA1CU;;AA4CXC,MAAAA,UA5CW,sBA4CAb,CA5CA,EA4CU;AACnB,eAAOF,OAAO,CAACG,GAAf;AAC6BD,QAAAA,CAAC,CAACc,mCAD/B;AAEiBd,QAAAA,CAAC,CAACe,oBAFnB;AAGcf,QAAAA,CAAC,CAACgB,yBAHhB,EAG6ChB,CAAC,CAACiB,8BAH/C;AAIiBjB,QAAAA,CAAC,CAACkB,4BAJnB;;AAMD,OAnDU;;AAqDX;AACJ;AACA;AACA;AACIC,MAAAA,YAzDW,wBAyDEnB,CAzDF,EAyDY;AACrB,eAAOF,OAAO,CAACG,GAAf;AACiBD,QAAAA,CAAC,CAACoB,sBADnB;;;AAIWpB,QAAAA,CAAC,CAACqB,sBAJb;;AAMD,OAhEU;;AAkEXC,MAAAA,WAlEW,uBAkECtB,CAlED,EAkEW;AACpB,eAAOF,OAAO,CAACG,GAAf;;;;;AAKgBD,QAAAA,CAAC,CAACqB,sBALlB;;;AAQD,OA3EU;;AA6EXE,MAAAA,YA7EW,0BA6EI;AACb,eAAOzB,OAAO,CAACG,GAAf;;;;;;;;;;;AAWD,OAzFU,EAAD,CADW,GAAlB","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 memoizeStyle({\n headerMonth(t: Theme) {\n return emotion.css`\n display: inline-block;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n headerYear(t: Theme) {\n return emotion.css`\n display: inline-block;\n position: absolute;\n right: 0;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n month(t: Theme) {\n const width = parseInt(t.calendarCellWidth) * 7;\n return emotion.css`\n position: absolute;\n width: ${width}px;\n `;\n },\n\n monthMobile() {\n return emotion.css`\n width: 100%;\n `;\n },\n\n header() {\n return emotion.css`\n position: relative;\n `;\n },\n\n headerSticky(t: Theme) {\n return emotion.css`\n background-color: ${t.calendarMonthHeaderStickedBgColor};\n z-index: 2;\n `;\n },\n\n monthTitle(t: Theme) {\n return emotion.css`\n border-bottom: 1px solid ${t.calendarMonthTitleBorderBottomColor};\n font-weight: ${t.dateSelectFontWeight};\n margin: 0 ${t.calendarMonthTitleMarginX} ${t.calendarMonthTitleMarginBottom};\n line-height: ${t.calendarMonthTitleLineHeight};\n `;\n },\n\n /* Note: this could've been\n * display: grid;\n * grid-template-columns: repeat(7, minmax(0, 1fr));\n */\n monthDayGrid(t: Theme) {\n return emotion.css`\n line-height: ${t.calendarCellLineHeight};\n display: flex;\n flex-direction: column;\n padding: ${t.calendarGridRowSpacing} 0px;\n `;\n },\n\n monthDayRow(t: Theme) {\n return emotion.css`\n display: flex;\n justify-content: space-between;\n\n & + & {\n margin-top: ${t.calendarGridRowSpacing};\n }\n `;\n },\n\n nativeSelect() {\n return emotion.css`\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n `;\n },\n });\n"]}
@@ -4,8 +4,11 @@ export declare const getStyles: (emotion: Emotion) => {
4
4
  headerMonth(t: Theme): string;
5
5
  headerYear(t: Theme): string;
6
6
  month(t: Theme): string;
7
+ monthMobile(): string;
7
8
  header(): string;
8
9
  headerSticky(t: Theme): string;
9
10
  monthTitle(t: Theme): string;
10
11
  monthDayGrid(t: Theme): string;
12
+ monthDayRow(t: Theme): string;
13
+ nativeSelect(): string;
11
14
  };
@@ -1,4 +1,5 @@
1
1
  import { memo } from "../../../lib/memo";
2
+ import { getMonthInHumanFormat } from "../CalendarUtils";
2
3
  import { themeConfig } from "../config";
3
4
  import { DayCellViewModel } from "../DayCellViewModel";
4
5
 
@@ -31,11 +32,12 @@ export var MonthViewModel = /*#__PURE__*/function () {
31
32
 
32
33
  _proto.getHeight = function getHeight(theme) {
33
34
  var _themeConfig = themeConfig(theme),
34
- DAY_SIZE = _themeConfig.DAY_SIZE,
35
+ DAY_HEIGHT = _themeConfig.DAY_HEIGHT,
35
36
  MONTH_TITLE_OFFSET_HEIGHT = _themeConfig.MONTH_TITLE_OFFSET_HEIGHT,
36
- MONTH_BOTTOM_MARGIN = _themeConfig.MONTH_BOTTOM_MARGIN;
37
+ MONTH_BOTTOM_MARGIN = _themeConfig.MONTH_BOTTOM_MARGIN,
38
+ CALENDAR_GRID_ROW_SPACING = _themeConfig.CALENDAR_GRID_ROW_SPACING;
37
39
 
38
- return getMonthHeight(this.daysCount, this.offset, DAY_SIZE, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN);
40
+ return getMonthHeight(this.daysCount, this.offset, DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING);
39
41
  };
40
42
 
41
43
  function MonthViewModel(month, year) {
@@ -62,11 +64,12 @@ export var MonthViewModel = /*#__PURE__*/function () {
62
64
  MonthViewModel.create = memo(function (month, year) {
63
65
  return new MonthViewModel(month, year);
64
66
  });
65
- var getMonthHeight = memo(function (daysCount, offset, dayHeight, titleHeight, marginBottom) {
66
- return Math.ceil((daysCount + offset) / 7) * dayHeight + titleHeight + marginBottom;
67
+ var getMonthHeight = memo(function (daysCount, offset, dayHeight, titleHeight, marginBottom, rowSpacing) {
68
+ var weeks = Math.ceil((daysCount + offset) / 7);
69
+ return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);
67
70
  });
68
71
  var getMonthsDays = memo(function (month, year) {
69
- return new Date(year, month + 1, 0).getDate();
72
+ return new Date(year, getMonthInHumanFormat(month), 0).getDate();
70
73
  });
71
74
  var getMonthOffset = memo(function (month, year) {
72
75
  var day = new Date(year, month, 1).getDay() - 1;