@skbkontur/react-ui 6.4.2 → 6.4.3-6344a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/components/Autocomplete/{Autocomplete.styles.d.ts → Autocomplete.css.d.ts} +1 -1
  2. package/components/Autocomplete/Autocomplete.css.js +3 -0
  3. package/components/Autocomplete/Autocomplete.css.js.map +1 -0
  4. package/components/Autocomplete/Autocomplete.js +1 -1
  5. package/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/components/Button/{Button.styles.d.ts → Button.css.d.ts} +2 -2
  7. package/components/Button/Button.css.js +5 -0
  8. package/components/Button/Button.css.js.map +1 -0
  9. package/components/Button/Button.js +3 -2
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Button.mixins.js +11 -6
  12. package/components/Button/Button.mixins.js.map +1 -1
  13. package/components/Button/ButtonArrow.d.ts +1 -1
  14. package/components/Button/ButtonArrow.js +1 -1
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/{ButtonIcon.styles.d.ts → ButtonIcon.css.d.ts} +1 -1
  17. package/components/Button/ButtonIcon.css.js +3 -0
  18. package/components/Button/ButtonIcon.css.js.map +1 -0
  19. package/components/Button/ButtonIcon.js +1 -1
  20. package/components/Button/ButtonIcon.js.map +1 -1
  21. package/components/Button/LoadingButtonIcon.js +1 -1
  22. package/components/Button/LoadingButtonIcon.js.map +1 -1
  23. package/components/Calendar/{Calendar.styles.d.ts → Calendar.css.d.ts} +1 -1
  24. package/components/Calendar/Calendar.css.js +3 -0
  25. package/components/Calendar/Calendar.css.js.map +1 -0
  26. package/components/Calendar/Calendar.js +1 -1
  27. package/components/Calendar/Calendar.js.map +1 -1
  28. package/components/Calendar/CalendarDay.js +1 -1
  29. package/components/Calendar/CalendarDay.js.map +1 -1
  30. package/components/Calendar/{DayCellView.styles.d.ts → DayCellView.css.d.ts} +1 -1
  31. package/components/Calendar/DayCellView.css.js +3 -0
  32. package/components/Calendar/DayCellView.css.js.map +1 -0
  33. package/components/Calendar/DayCellView.js +1 -1
  34. package/components/Calendar/DayCellView.js.map +1 -1
  35. package/components/Calendar/Month.js +2 -2
  36. package/components/Calendar/Month.js.map +1 -1
  37. package/components/Calendar/{MonthView.styles.d.ts → MonthView.css.d.ts} +1 -1
  38. package/components/Calendar/MonthView.css.js +3 -0
  39. package/components/Calendar/MonthView.css.js.map +1 -0
  40. package/components/Calendar/MonthView.js +1 -1
  41. package/components/Calendar/MonthView.js.map +1 -1
  42. package/components/Center/{Center.styles.d.ts → Center.css.d.ts} +1 -1
  43. package/components/Center/Center.css.js +3 -0
  44. package/components/Center/Center.css.js.map +1 -0
  45. package/components/Center/Center.js +1 -1
  46. package/components/Center/Center.js.map +1 -1
  47. package/components/Checkbox/{Checkbox.styles.d.ts → Checkbox.css.d.ts} +2 -1
  48. package/components/Checkbox/Checkbox.css.js +5 -0
  49. package/components/Checkbox/Checkbox.css.js.map +1 -0
  50. package/components/Checkbox/Checkbox.js +1 -1
  51. package/components/Checkbox/Checkbox.js.map +1 -1
  52. package/components/Checkbox/Checkbox.mixins.js +3 -6
  53. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  54. package/components/DateInput/{DateFragmentsView.styles.d.ts → DateFragmentsView.css.d.ts} +1 -1
  55. package/components/DateInput/DateFragmentsView.css.js +3 -0
  56. package/components/DateInput/DateFragmentsView.css.js.map +1 -0
  57. package/components/DateInput/DateFragmentsView.js +1 -1
  58. package/components/DateInput/DateFragmentsView.js.map +1 -1
  59. package/components/DateInput/{DateInput.styles.d.ts → DateInput.css.d.ts} +2 -3
  60. package/components/DateInput/DateInput.css.js +3 -0
  61. package/components/DateInput/DateInput.css.js.map +1 -0
  62. package/components/DateInput/DateInput.js +1 -1
  63. package/components/DateInput/DateInput.js.map +1 -1
  64. package/components/DatePicker/{DatePicker.styles.d.ts → DatePicker.css.d.ts} +1 -1
  65. package/components/DatePicker/DatePicker.css.js +3 -0
  66. package/components/DatePicker/DatePicker.css.js.map +1 -0
  67. package/components/DatePicker/DatePicker.js +1 -1
  68. package/components/DatePicker/DatePicker.js.map +1 -1
  69. package/components/DatePicker/MobilePicker.css.d.ts +3 -0
  70. package/components/DatePicker/MobilePicker.css.js +3 -0
  71. package/components/DatePicker/MobilePicker.css.js.map +1 -0
  72. package/components/DatePicker/MobilePicker.js +1 -1
  73. package/components/DatePicker/MobilePicker.js.map +1 -1
  74. package/components/DateRangePicker/{DateRangePicker.styles.d.ts → DateRangePicker.css.d.ts} +7 -3
  75. package/components/DateRangePicker/DateRangePicker.css.js +3 -0
  76. package/components/DateRangePicker/DateRangePicker.css.js.map +1 -0
  77. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  78. package/components/DateRangePicker/DateRangePicker.js +32 -27
  79. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  80. package/components/FileUploader/{FileUploader.styles.d.ts → FileUploader.css.d.ts} +3 -3
  81. package/components/FileUploader/FileUploader.css.js +6 -0
  82. package/components/FileUploader/FileUploader.css.js.map +1 -0
  83. package/components/FileUploader/FileUploader.js +1 -1
  84. package/components/FileUploader/FileUploader.js.map +1 -1
  85. package/components/FileUploader/{FileUploaderFile.styles.d.ts → FileUploaderFile.css.d.ts} +3 -3
  86. package/components/FileUploader/FileUploaderFile.css.js +5 -0
  87. package/components/FileUploader/FileUploaderFile.css.js.map +1 -0
  88. package/components/FileUploader/FileUploaderFile.js +1 -1
  89. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  90. package/components/FileUploader/FileUploaderFileList/{FileUploaderFileList.styles.d.ts → FileUploaderFileList.css.d.ts} +3 -3
  91. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +5 -0
  92. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +1 -0
  93. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +1 -1
  94. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  95. package/components/FileUploader/FileUploaderFileStatusIcon.js +1 -1
  96. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  97. package/components/FxInput/FxInput.js +1 -1
  98. package/components/FxInput/FxInput.js.map +1 -1
  99. package/components/GlobalLoader/GlobalLoaderView.css.d.ts +21 -0
  100. package/components/GlobalLoader/GlobalLoaderView.css.js +4 -0
  101. package/components/GlobalLoader/GlobalLoaderView.css.js.map +1 -0
  102. package/components/GlobalLoader/GlobalLoaderView.js +13 -7
  103. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  104. package/components/Group/{Group.styles.d.ts → Group.css.d.ts} +1 -1
  105. package/components/Group/Group.css.js +3 -0
  106. package/components/Group/Group.css.js.map +1 -0
  107. package/components/Group/Group.js +1 -1
  108. package/components/Group/Group.js.map +1 -1
  109. package/components/Hint/{Hint.styles.d.ts → Hint.css.d.ts} +1 -1
  110. package/components/Hint/Hint.css.js +3 -0
  111. package/components/Hint/Hint.css.js.map +1 -0
  112. package/components/Hint/Hint.js +1 -1
  113. package/components/Hint/Hint.js.map +1 -1
  114. package/components/Input/{Input.styles.d.ts → Input.css.d.ts} +1 -1
  115. package/components/Input/Input.css.js +3 -0
  116. package/components/Input/Input.css.js.map +1 -0
  117. package/components/Input/Input.js +1 -1
  118. package/components/Input/Input.js.map +1 -1
  119. package/components/Input/InputLayout/{InputLayout.styles.d.ts → InputLayout.css.d.ts} +1 -1
  120. package/components/Input/InputLayout/InputLayout.css.js +4 -0
  121. package/components/Input/InputLayout/InputLayout.css.js.map +1 -0
  122. package/components/Input/InputLayout/InputLayout.js +1 -1
  123. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  124. package/components/Input/InputLayout/InputLayoutAside.js +1 -1
  125. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  126. package/components/Input/InputLayout/InputLayoutAsideCounter.js +1 -1
  127. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  128. package/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  129. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  130. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  131. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  132. package/components/Kebab/{Kebab.styles.d.ts → Kebab.css.d.ts} +1 -1
  133. package/components/Kebab/Kebab.css.js +3 -0
  134. package/components/Kebab/Kebab.css.js.map +1 -0
  135. package/components/Kebab/Kebab.js +1 -1
  136. package/components/Kebab/Kebab.js.map +1 -1
  137. package/components/Link/{Link.styles.d.ts → Link.css.d.ts} +1 -1
  138. package/components/Link/Link.css.js +3 -0
  139. package/components/Link/Link.css.js.map +1 -0
  140. package/components/Link/Link.js +3 -2
  141. package/components/Link/Link.js.map +1 -1
  142. package/components/Link/LinkIcon.js +1 -1
  143. package/components/Link/LinkIcon.js.map +1 -1
  144. package/components/Loader/{Loader.styles.d.ts → Loader.css.d.ts} +1 -1
  145. package/components/Loader/Loader.css.js +3 -0
  146. package/components/Loader/Loader.css.js.map +1 -0
  147. package/components/Loader/Loader.js +1 -1
  148. package/components/Loader/Loader.js.map +1 -1
  149. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +6 -0
  150. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +4 -0
  151. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +1 -0
  152. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  153. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  154. package/components/MaskedInput/{MaskedInput.styles.d.ts → MaskedInput.css.d.ts} +1 -1
  155. package/components/MaskedInput/MaskedInput.css.js +4 -0
  156. package/components/MaskedInput/MaskedInput.css.js.map +1 -0
  157. package/components/MaskedInput/MaskedInputLegacy.js +1 -1
  158. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  159. package/components/MaskedInputV2/{MaskedInputV2.styles.d.ts → MaskedInputV2.css.d.ts} +1 -1
  160. package/components/MaskedInputV2/MaskedInputV2.css.js +4 -0
  161. package/components/MaskedInputV2/MaskedInputV2.css.js.map +1 -0
  162. package/components/MaskedInputV2/MaskedInputV2.js +1 -1
  163. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  164. package/components/MaskedInputV2/internal/MaskOverlay.js +1 -1
  165. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  166. package/components/MaskedInputV2/internal/MaskedCore.js +1 -1
  167. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  168. package/components/MaskedInputV2/internal/{MaskedInternal.styles.d.ts → MaskedInternal.css.d.ts} +1 -1
  169. package/components/MaskedInputV2/internal/MaskedInternal.css.js +4 -0
  170. package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +1 -0
  171. package/components/{MenuHeader/MenuHeader.styles.d.ts → MenuFooter/MenuFooter.css.d.ts} +1 -1
  172. package/components/MenuFooter/MenuFooter.css.js +3 -0
  173. package/components/MenuFooter/MenuFooter.css.js.map +1 -0
  174. package/components/MenuFooter/MenuFooter.js +1 -1
  175. package/components/MenuFooter/MenuFooter.js.map +1 -1
  176. package/components/{MenuFooter/MenuFooter.styles.d.ts → MenuHeader/MenuHeader.css.d.ts} +1 -1
  177. package/components/MenuHeader/MenuHeader.css.js +3 -0
  178. package/components/MenuHeader/MenuHeader.css.js.map +1 -0
  179. package/components/MenuHeader/MenuHeader.js +1 -1
  180. package/components/MenuHeader/MenuHeader.js.map +1 -1
  181. package/components/MenuItem/{MenuItem.styles.d.ts → MenuItem.css.d.ts} +1 -3
  182. package/components/MenuItem/MenuItem.css.js +3 -0
  183. package/components/MenuItem/MenuItem.css.js.map +1 -0
  184. package/components/MenuItem/MenuItem.js +1 -1
  185. package/components/MenuItem/MenuItem.js.map +1 -1
  186. package/components/MenuItem/MenuItem.mixins.js +1 -1
  187. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  188. package/components/MenuSeparator/{MenuSeparator.styles.d.ts → MenuSeparator.css.d.ts} +1 -1
  189. package/components/MenuSeparator/MenuSeparator.css.js +3 -0
  190. package/components/MenuSeparator/MenuSeparator.css.js.map +1 -0
  191. package/components/MenuSeparator/MenuSeparator.js +1 -1
  192. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  193. package/components/MiniModal/{MiniModal.styles.d.ts → MiniModal.css.d.ts} +1 -1
  194. package/components/MiniModal/MiniModal.css.js +4 -0
  195. package/components/MiniModal/MiniModal.css.js.map +1 -0
  196. package/components/MiniModal/MiniModalBody.js +1 -1
  197. package/components/MiniModal/MiniModalBody.js.map +1 -1
  198. package/components/MiniModal/MiniModalFooter.js +1 -1
  199. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  200. package/components/MiniModal/MiniModalHeader.js +1 -1
  201. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  202. package/components/MiniModal/MiniModalIndent.js +1 -1
  203. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  204. package/components/Modal/{Modal.styles.d.ts → Modal.css.d.ts} +1 -1
  205. package/components/Modal/Modal.css.js +4 -0
  206. package/components/Modal/Modal.css.js.map +1 -0
  207. package/components/Modal/Modal.js +1 -1
  208. package/components/Modal/Modal.js.map +1 -1
  209. package/components/Modal/ModalBody.js +1 -1
  210. package/components/Modal/ModalBody.js.map +1 -1
  211. package/components/Modal/ModalClose.js +1 -1
  212. package/components/Modal/ModalClose.js.map +1 -1
  213. package/components/Modal/ModalFooter.js +1 -1
  214. package/components/Modal/ModalFooter.js.map +1 -1
  215. package/components/Modal/ModalHeader.js +1 -1
  216. package/components/Modal/ModalHeader.js.map +1 -1
  217. package/components/Modal/ModalSeparator.js +1 -1
  218. package/components/Modal/ModalSeparator.js.map +1 -1
  219. package/components/Paging/{Paging.styles.d.ts → Paging.css.d.ts} +1 -1
  220. package/components/Paging/Paging.css.js +3 -0
  221. package/components/Paging/Paging.css.js.map +1 -0
  222. package/components/Paging/Paging.js +1 -1
  223. package/components/Paging/Paging.js.map +1 -1
  224. package/components/PasswordInput/{PasswordInput.styles.d.ts → PasswordInput.css.d.ts} +1 -1
  225. package/components/PasswordInput/PasswordInput.css.js +3 -0
  226. package/components/PasswordInput/PasswordInput.css.js.map +1 -0
  227. package/components/PasswordInput/PasswordInput.js +1 -1
  228. package/components/PasswordInput/PasswordInput.js.map +1 -1
  229. package/components/Radio/{Radio.styles.d.ts → Radio.css.d.ts} +2 -1
  230. package/components/Radio/Radio.css.js +5 -0
  231. package/components/Radio/Radio.css.js.map +1 -0
  232. package/components/Radio/Radio.js +1 -1
  233. package/components/Radio/Radio.js.map +1 -1
  234. package/components/Radio/Radio.mixins.js +4 -7
  235. package/components/Radio/Radio.mixins.js.map +1 -1
  236. package/components/RadioGroup/{RadioGroup.styles.d.ts → RadioGroup.css.d.ts} +1 -1
  237. package/components/RadioGroup/RadioGroup.css.js +3 -0
  238. package/components/RadioGroup/RadioGroup.css.js.map +1 -0
  239. package/components/RadioGroup/RadioGroup.js +1 -1
  240. package/components/RadioGroup/RadioGroup.js.map +1 -1
  241. package/components/ScrollContainer/ScrollBar.js +1 -1
  242. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  243. package/components/ScrollContainer/{ScrollContainer.styles.d.ts → ScrollContainer.css.d.ts} +1 -1
  244. package/components/ScrollContainer/ScrollContainer.css.js +4 -0
  245. package/components/ScrollContainer/ScrollContainer.css.js.map +1 -0
  246. package/components/ScrollContainer/ScrollContainer.js +1 -1
  247. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  248. package/components/Select/{Select.styles.d.ts → Select.css.d.ts} +1 -1
  249. package/components/Select/Select.css.js +3 -0
  250. package/components/Select/Select.css.js.map +1 -0
  251. package/components/Select/Select.js +2 -2
  252. package/components/Select/Select.js.map +1 -1
  253. package/components/SidePage/{SidePage.styles.d.ts → SidePage.css.d.ts} +1 -1
  254. package/components/SidePage/SidePage.css.js +3 -0
  255. package/components/SidePage/SidePage.css.js.map +1 -0
  256. package/components/SidePage/SidePage.d.ts +4 -0
  257. package/components/SidePage/SidePage.js +18 -2
  258. package/components/SidePage/SidePage.js.map +1 -1
  259. package/components/SidePage/SidePageBody.js +1 -1
  260. package/components/SidePage/SidePageBody.js.map +1 -1
  261. package/components/SidePage/SidePageCloseButton.js +1 -1
  262. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  263. package/components/SidePage/SidePageContainer.js +1 -1
  264. package/components/SidePage/SidePageContainer.js.map +1 -1
  265. package/components/SidePage/SidePageContext.d.ts +2 -0
  266. package/components/SidePage/SidePageContext.js.map +1 -1
  267. package/components/SidePage/SidePageFooter.js +5 -2
  268. package/components/SidePage/SidePageFooter.js.map +1 -1
  269. package/components/SidePage/SidePageHeader.d.ts +1 -0
  270. package/components/SidePage/SidePageHeader.js +11 -2
  271. package/components/SidePage/SidePageHeader.js.map +1 -1
  272. package/components/Spinner/{Spinner.styles.d.ts → Spinner.css.d.ts} +1 -1
  273. package/components/Spinner/Spinner.css.js +3 -0
  274. package/components/Spinner/Spinner.css.js.map +1 -0
  275. package/components/Spinner/Spinner.js +1 -1
  276. package/components/Spinner/Spinner.js.map +1 -1
  277. package/components/Sticky/{Sticky.styles.d.ts → Sticky.css.d.ts} +1 -1
  278. package/components/Sticky/Sticky.css.js +3 -0
  279. package/components/Sticky/Sticky.css.js.map +1 -0
  280. package/components/Sticky/Sticky.js +1 -1
  281. package/components/Sticky/Sticky.js.map +1 -1
  282. package/components/Switcher/{Switcher.styles.d.ts → Switcher.css.d.ts} +1 -1
  283. package/components/Switcher/Switcher.css.js +3 -0
  284. package/components/Switcher/Switcher.css.js.map +1 -0
  285. package/components/Switcher/Switcher.js +1 -1
  286. package/components/Switcher/Switcher.js.map +1 -1
  287. package/components/Tabs/{Indicator.styles.d.ts → Indicator.css.d.ts} +1 -1
  288. package/components/Tabs/Indicator.css.js +3 -0
  289. package/components/Tabs/Indicator.css.js.map +1 -0
  290. package/components/Tabs/Indicator.js +1 -1
  291. package/components/Tabs/Indicator.js.map +1 -1
  292. package/components/Tabs/{Tab.styles.d.ts → Tab.css.d.ts} +3 -3
  293. package/components/Tabs/Tab.css.js +6 -0
  294. package/components/Tabs/Tab.css.js.map +1 -0
  295. package/components/Tabs/Tab.js +1 -1
  296. package/components/Tabs/Tab.js.map +1 -1
  297. package/components/Tabs/{Tabs.styles.d.ts → Tabs.css.d.ts} +1 -1
  298. package/components/Tabs/Tabs.css.js +3 -0
  299. package/components/Tabs/Tabs.css.js.map +1 -0
  300. package/components/Tabs/Tabs.js +1 -1
  301. package/components/Tabs/Tabs.js.map +1 -1
  302. package/components/Textarea/{Textarea.styles.d.ts → Textarea.css.d.ts} +1 -1
  303. package/components/Textarea/Textarea.css.js +3 -0
  304. package/components/Textarea/Textarea.css.js.map +1 -0
  305. package/components/Textarea/Textarea.js +1 -1
  306. package/components/Textarea/Textarea.js.map +1 -1
  307. package/components/Textarea/TextareaCounter.js +1 -1
  308. package/components/Textarea/TextareaCounter.js.map +1 -1
  309. package/components/TimePicker/{TimePicker.styles.d.ts → TimePicker.css.d.ts} +1 -1
  310. package/components/TimePicker/TimePicker.css.js +3 -0
  311. package/components/TimePicker/TimePicker.css.js.map +1 -0
  312. package/components/TimePicker/TimePicker.js +1 -1
  313. package/components/TimePicker/TimePicker.js.map +1 -1
  314. package/components/TimePicker/TimePickerItems.js +1 -1
  315. package/components/TimePicker/TimePickerItems.js.map +1 -1
  316. package/components/TimePicker/TimePickerPopup.js +1 -1
  317. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  318. package/components/Toast/{Toast.styles.d.ts → Toast.css.d.ts} +1 -1
  319. package/components/Toast/Toast.css.js +3 -0
  320. package/components/Toast/Toast.css.js.map +1 -0
  321. package/components/Toast/Toast.js +1 -1
  322. package/components/Toast/Toast.js.map +1 -1
  323. package/components/Toast/{ToastView.styles.d.ts → ToastView.css.d.ts} +1 -1
  324. package/components/Toast/ToastView.css.js +3 -0
  325. package/components/Toast/ToastView.css.js.map +1 -0
  326. package/components/Toast/ToastView.js +1 -1
  327. package/components/Toast/ToastView.js.map +1 -1
  328. package/components/Toggle/{Toggle.styles.d.ts → Toggle.css.d.ts} +2 -1
  329. package/components/Toggle/Toggle.css.js +5 -0
  330. package/components/Toggle/Toggle.css.js.map +1 -0
  331. package/components/Toggle/Toggle.js +1 -1
  332. package/components/Toggle/Toggle.js.map +1 -1
  333. package/components/Toggle/Toggle.mixins.js +4 -7
  334. package/components/Toggle/Toggle.mixins.js.map +1 -1
  335. package/components/Token/{Token.styles.d.ts → Token.css.d.ts} +1 -1
  336. package/components/Token/Token.css.js +4 -0
  337. package/components/Token/Token.css.js.map +1 -0
  338. package/components/Token/Token.js +1 -1
  339. package/components/Token/Token.js.map +1 -1
  340. package/components/Token/TokenView.js +1 -1
  341. package/components/Token/TokenView.js.map +1 -1
  342. package/components/TokenInput/TextWidthHelper.js +1 -1
  343. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  344. package/components/TokenInput/{TokenInput.styles.d.ts → TokenInput.css.d.ts} +1 -1
  345. package/components/TokenInput/TokenInput.css.js +4 -0
  346. package/components/TokenInput/TokenInput.css.js.map +1 -0
  347. package/components/TokenInput/TokenInput.js +1 -1
  348. package/components/TokenInput/TokenInput.js.map +1 -1
  349. package/components/Tooltip/{Tooltip.styles.d.ts → Tooltip.css.d.ts} +1 -1
  350. package/components/Tooltip/Tooltip.css.js +3 -0
  351. package/components/Tooltip/Tooltip.css.js.map +1 -0
  352. package/components/Tooltip/Tooltip.js +1 -1
  353. package/components/Tooltip/Tooltip.js.map +1 -1
  354. package/internal/ClearCrossIcon/{ClearCrossIcon.styles.d.ts → ClearCrossIcon.css.d.ts} +2 -3
  355. package/internal/ClearCrossIcon/ClearCrossIcon.css.js +3 -0
  356. package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +1 -0
  357. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  358. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  359. package/internal/CloseButtonIcon/{CloseButtonIcon.styles.d.ts → CloseButtonIcon.css.d.ts} +4 -3
  360. package/internal/CloseButtonIcon/CloseButtonIcon.css.js +3 -0
  361. package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +1 -0
  362. package/internal/CloseButtonIcon/CloseButtonIcon.js +13 -8
  363. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  364. package/internal/CommonWrapper/CommonWrapper.d.ts +6 -1
  365. package/internal/CommonWrapper/CommonWrapper.js +18 -4
  366. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  367. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  368. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  369. package/internal/CustomComboBox/CustomComboBox.css.d.ts +4 -0
  370. package/internal/CustomComboBox/CustomComboBox.css.js +3 -0
  371. package/internal/CustomComboBox/CustomComboBox.css.js.map +1 -0
  372. package/internal/DateSelect/{DateSelect.styles.d.ts → DateSelect.css.d.ts} +1 -1
  373. package/internal/DateSelect/DateSelect.css.js +4 -0
  374. package/internal/DateSelect/DateSelect.css.js.map +1 -0
  375. package/internal/DateSelect/DateSelect.js +1 -1
  376. package/internal/DateSelect/DateSelect.js.map +1 -1
  377. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +3 -0
  378. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +3 -0
  379. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +1 -0
  380. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -1
  381. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +7 -11
  382. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  383. package/internal/InputLikeText/{InputLikeText.styles.d.ts → InputLikeText.css.d.ts} +1 -1
  384. package/internal/InputLikeText/InputLikeText.css.js +3 -0
  385. package/internal/InputLikeText/InputLikeText.css.js.map +1 -0
  386. package/internal/InputLikeText/InputLikeText.js +2 -2
  387. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  388. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +5 -0
  389. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +4 -0
  390. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +1 -0
  391. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +4 -4
  392. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  393. package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +3 -0
  394. package/internal/MaskCharLowLine/MaskCharLowLine.css.js +3 -0
  395. package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +1 -0
  396. package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  397. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  398. package/internal/Menu/{Menu.styles.d.ts → Menu.css.d.ts} +1 -1
  399. package/internal/Menu/Menu.css.js +3 -0
  400. package/internal/Menu/Menu.css.js.map +1 -0
  401. package/internal/Menu/Menu.js +1 -1
  402. package/internal/Menu/Menu.js.map +1 -1
  403. package/internal/MenuMessage/{MenuMessage.styles.d.ts → MenuMessage.css.d.ts} +1 -1
  404. package/internal/MenuMessage/MenuMessage.css.js +3 -0
  405. package/internal/MenuMessage/MenuMessage.css.js.map +1 -0
  406. package/internal/MenuMessage/MenuMessage.js +1 -1
  407. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  408. package/internal/MobilePopup/{MobilePopup.styles.d.ts → MobilePopup.css.d.ts} +1 -1
  409. package/internal/MobilePopup/MobilePopup.css.js +3 -0
  410. package/internal/MobilePopup/MobilePopup.css.js.map +1 -0
  411. package/internal/MobilePopup/MobilePopup.js +1 -1
  412. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  413. package/internal/MobilePopup/MobilePopupFooter/{MobilePopupFooter.styles.d.ts → MobilePopupFooter.css.d.ts} +1 -1
  414. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +3 -0
  415. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +1 -0
  416. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  417. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  418. package/internal/MobilePopup/MobilePopupHeader/{MobilePopupHeader.styles.d.ts → MobilePopupHeader.css.d.ts} +1 -1
  419. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +3 -0
  420. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +1 -0
  421. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  422. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  423. package/internal/NativeDateInput/NativeDateInput.css.d.ts +3 -0
  424. package/internal/NativeDateInput/NativeDateInput.css.js +3 -0
  425. package/internal/NativeDateInput/NativeDateInput.css.js.map +1 -0
  426. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  427. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  428. package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +3 -0
  429. package/internal/NativeTimeInput/NativeTimeInput.css.js +3 -0
  430. package/internal/NativeTimeInput/NativeTimeInput.css.js.map +1 -0
  431. package/internal/NativeTimeInput/NativeTimeInput.js +1 -1
  432. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  433. package/internal/Popup/{Popup.styles.d.ts → Popup.css.d.ts} +1 -1
  434. package/internal/Popup/Popup.css.js +3 -0
  435. package/internal/Popup/Popup.css.js.map +1 -0
  436. package/internal/Popup/Popup.js +1 -1
  437. package/internal/Popup/Popup.js.map +1 -1
  438. package/internal/Popup/{PopupPin.styles.d.ts → PopupPin.css.d.ts} +1 -1
  439. package/internal/Popup/PopupPin.css.js +3 -0
  440. package/internal/Popup/PopupPin.css.js.map +1 -0
  441. package/internal/Popup/PopupPin.js +1 -1
  442. package/internal/Popup/PopupPin.js.map +1 -1
  443. package/internal/PopupMenu/PopupMenu.css.d.ts +4 -0
  444. package/internal/PopupMenu/PopupMenu.css.js +3 -0
  445. package/internal/PopupMenu/PopupMenu.css.js.map +1 -0
  446. package/internal/PopupMenu/PopupMenu.js +1 -1
  447. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  448. package/internal/RenderContainer/RenderContainer.d.ts +1 -0
  449. package/internal/RenderContainer/RenderContainer.js +26 -1
  450. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  451. package/internal/ResizeDetector/{ResizeDetector.styles.d.ts → ResizeDetector.css.d.ts} +1 -1
  452. package/internal/ResizeDetector/ResizeDetector.css.js +3 -0
  453. package/internal/ResizeDetector/ResizeDetector.css.js.map +1 -0
  454. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  455. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  456. package/internal/SpinnerIcon/{SpinnerIcon.styles.d.ts → SpinnerIcon.css.d.ts} +1 -1
  457. package/internal/SpinnerIcon/SpinnerIcon.css.js +3 -0
  458. package/internal/SpinnerIcon/SpinnerIcon.css.js.map +1 -0
  459. package/internal/SpinnerIcon/SpinnerIcon.js +1 -1
  460. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  461. package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +4 -0
  462. package/internal/TextWidthHelper/TextWidthHelper.css.js +3 -0
  463. package/internal/TextWidthHelper/TextWidthHelper.css.js.map +1 -0
  464. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  465. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  466. package/internal/TimeInput/{TimeFragments.styles.d.ts → TimeFragments.css.d.ts} +1 -1
  467. package/internal/TimeInput/TimeFragments.css.js +3 -0
  468. package/internal/TimeInput/TimeFragments.css.js.map +1 -0
  469. package/internal/TimeInput/TimeFragments.js +1 -1
  470. package/internal/TimeInput/TimeFragments.js.map +1 -1
  471. package/internal/TimeInput/{TimeInput.styles.d.ts → TimeInput.css.d.ts} +1 -1
  472. package/internal/TimeInput/TimeInput.css.js +3 -0
  473. package/internal/TimeInput/TimeInput.css.js.map +1 -0
  474. package/internal/TimeInput/TimeInput.js +1 -1
  475. package/internal/TimeInput/TimeInput.js.map +1 -1
  476. package/internal/icons2022/BaseIcon.css.d.ts +3 -0
  477. package/internal/icons2022/BaseIcon.css.js +3 -0
  478. package/internal/icons2022/BaseIcon.css.js.map +1 -0
  479. package/internal/icons2022/BaseIcon.js +1 -1
  480. package/internal/icons2022/BaseIcon.js.map +1 -1
  481. package/internal/icons2022/LoadingIcon.js +1 -1
  482. package/internal/icons2022/LoadingIcon.js.map +1 -1
  483. package/lib/styles/LabGrotesqueBaseline.css.d.ts +1 -0
  484. package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
  485. package/lib/styles/LabGrotesqueBaseline.css.js.map +1 -0
  486. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +6 -0
  487. package/lib/styles/getLabGrotesqueBaselineCompensation.js +26 -0
  488. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  489. package/lib/theming/AnimationKeyframes.d.ts +1 -1
  490. package/lib/theming/AnimationKeyframes.js +1 -1
  491. package/lib/theming/AnimationKeyframes.js.map +1 -1
  492. package/lib/theming/Emotion.d.ts +6 -2
  493. package/lib/theming/Emotion.js +34 -11
  494. package/lib/theming/Emotion.js.map +1 -1
  495. package/lib/theming/StaticStyles.d.ts +30 -0
  496. package/lib/theming/StaticStyles.js +410 -0
  497. package/lib/theming/StaticStyles.js.map +1 -0
  498. package/lib/theming/bindStaticStyles.d.ts +4 -0
  499. package/lib/theming/bindStaticStyles.js +18 -0
  500. package/lib/theming/bindStaticStyles.js.map +1 -0
  501. package/lib/theming/themeVars.d.ts +26 -0
  502. package/lib/theming/themeVars.js +72 -0
  503. package/lib/theming/themeVars.js.map +1 -0
  504. package/package.json +14 -4
  505. package/react-ui.css +6926 -0
  506. package/components/Autocomplete/Autocomplete.styles.js +0 -18
  507. package/components/Autocomplete/Autocomplete.styles.js.map +0 -1
  508. package/components/Button/Button.styles.js +0 -260
  509. package/components/Button/Button.styles.js.map +0 -1
  510. package/components/Button/ButtonIcon.styles.js +0 -53
  511. package/components/Button/ButtonIcon.styles.js.map +0 -1
  512. package/components/Calendar/Calendar.styles.js +0 -22
  513. package/components/Calendar/Calendar.styles.js.map +0 -1
  514. package/components/Calendar/DayCellView.styles.js +0 -31
  515. package/components/Calendar/DayCellView.styles.js.map +0 -1
  516. package/components/Calendar/MonthView.styles.js +0 -47
  517. package/components/Calendar/MonthView.styles.js.map +0 -1
  518. package/components/Center/Center.styles.js +0 -27
  519. package/components/Center/Center.styles.js.map +0 -1
  520. package/components/Checkbox/Checkbox.styles.js +0 -100
  521. package/components/Checkbox/Checkbox.styles.js.map +0 -1
  522. package/components/DateInput/DateFragmentsView.styles.js +0 -28
  523. package/components/DateInput/DateFragmentsView.styles.js.map +0 -1
  524. package/components/DateInput/DateInput.styles.js +0 -29
  525. package/components/DateInput/DateInput.styles.js.map +0 -1
  526. package/components/DatePicker/DatePicker.styles.js +0 -18
  527. package/components/DatePicker/DatePicker.styles.js.map +0 -1
  528. package/components/DatePicker/MobilePicker.styles.d.ts +0 -3
  529. package/components/DatePicker/MobilePicker.styles.js +0 -15
  530. package/components/DatePicker/MobilePicker.styles.js.map +0 -1
  531. package/components/DateRangePicker/DateRangePicker.styles.js +0 -57
  532. package/components/DateRangePicker/DateRangePicker.styles.js.map +0 -1
  533. package/components/FileUploader/FileUploader.styles.js +0 -221
  534. package/components/FileUploader/FileUploader.styles.js.map +0 -1
  535. package/components/FileUploader/FileUploaderFile.styles.js +0 -184
  536. package/components/FileUploader/FileUploaderFile.styles.js.map +0 -1
  537. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +0 -103
  538. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  539. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +0 -17
  540. package/components/GlobalLoader/GlobalLoaderView.styles.js +0 -70
  541. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +0 -1
  542. package/components/Group/Group.styles.js +0 -30
  543. package/components/Group/Group.styles.js.map +0 -1
  544. package/components/Hint/Hint.styles.js +0 -18
  545. package/components/Hint/Hint.styles.js.map +0 -1
  546. package/components/Input/Input.styles.js +0 -68
  547. package/components/Input/Input.styles.js.map +0 -1
  548. package/components/Input/InputLayout/InputLayout.styles.js +0 -59
  549. package/components/Input/InputLayout/InputLayout.styles.js.map +0 -1
  550. package/components/Kebab/Kebab.styles.js +0 -36
  551. package/components/Kebab/Kebab.styles.js.map +0 -1
  552. package/components/Link/Link.styles.js +0 -82
  553. package/components/Link/Link.styles.js.map +0 -1
  554. package/components/Loader/Loader.styles.js +0 -27
  555. package/components/Loader/Loader.styles.js.map +0 -1
  556. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +0 -6
  557. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +0 -18
  558. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +0 -1
  559. package/components/MaskedInput/MaskedInput.styles.js +0 -19
  560. package/components/MaskedInput/MaskedInput.styles.js.map +0 -1
  561. package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
  562. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
  563. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
  564. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
  565. package/components/MenuFooter/MenuFooter.styles.js +0 -34
  566. package/components/MenuFooter/MenuFooter.styles.js.map +0 -1
  567. package/components/MenuHeader/MenuHeader.styles.js +0 -34
  568. package/components/MenuHeader/MenuHeader.styles.js.map +0 -1
  569. package/components/MenuItem/MenuItem.styles.js +0 -88
  570. package/components/MenuItem/MenuItem.styles.js.map +0 -1
  571. package/components/MenuSeparator/MenuSeparator.styles.js +0 -18
  572. package/components/MenuSeparator/MenuSeparator.styles.js.map +0 -1
  573. package/components/MiniModal/MiniModal.styles.js +0 -37
  574. package/components/MiniModal/MiniModal.styles.js.map +0 -1
  575. package/components/Modal/Modal.styles.js +0 -167
  576. package/components/Modal/Modal.styles.js.map +0 -1
  577. package/components/Paging/Paging.styles.js +0 -99
  578. package/components/Paging/Paging.styles.js.map +0 -1
  579. package/components/PasswordInput/PasswordInput.styles.js +0 -36
  580. package/components/PasswordInput/PasswordInput.styles.js.map +0 -1
  581. package/components/Radio/Radio.styles.js +0 -100
  582. package/components/Radio/Radio.styles.js.map +0 -1
  583. package/components/RadioGroup/RadioGroup.styles.js +0 -24
  584. package/components/RadioGroup/RadioGroup.styles.js.map +0 -1
  585. package/components/ScrollContainer/ScrollContainer.styles.js +0 -52
  586. package/components/ScrollContainer/ScrollContainer.styles.js.map +0 -1
  587. package/components/Select/Select.styles.js +0 -57
  588. package/components/Select/Select.styles.js.map +0 -1
  589. package/components/SidePage/SidePage.styles.js +0 -158
  590. package/components/SidePage/SidePage.styles.js.map +0 -1
  591. package/components/Spinner/Spinner.styles.js +0 -43
  592. package/components/Spinner/Spinner.styles.js.map +0 -1
  593. package/components/Sticky/Sticky.styles.js +0 -27
  594. package/components/Sticky/Sticky.styles.js.map +0 -1
  595. package/components/Switcher/Switcher.styles.js +0 -39
  596. package/components/Switcher/Switcher.styles.js.map +0 -1
  597. package/components/Tabs/Indicator.styles.js +0 -27
  598. package/components/Tabs/Indicator.styles.js.map +0 -1
  599. package/components/Tabs/Tab.styles.js +0 -105
  600. package/components/Tabs/Tab.styles.js.map +0 -1
  601. package/components/Tabs/Tabs.styles.js +0 -26
  602. package/components/Tabs/Tabs.styles.js.map +0 -1
  603. package/components/Textarea/Textarea.styles.js +0 -73
  604. package/components/Textarea/Textarea.styles.js.map +0 -1
  605. package/components/TimePicker/TimePicker.styles.js +0 -39
  606. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  607. package/components/Toast/Toast.styles.js +0 -24
  608. package/components/Toast/Toast.styles.js.map +0 -1
  609. package/components/Toast/ToastView.styles.js +0 -67
  610. package/components/Toast/ToastView.styles.js.map +0 -1
  611. package/components/Toggle/Toggle.styles.js +0 -147
  612. package/components/Toggle/Toggle.styles.js.map +0 -1
  613. package/components/Token/Token.styles.js +0 -67
  614. package/components/Token/Token.styles.js.map +0 -1
  615. package/components/TokenInput/TokenInput.styles.js +0 -68
  616. package/components/TokenInput/TokenInput.styles.js.map +0 -1
  617. package/components/Tooltip/Tooltip.styles.js +0 -36
  618. package/components/Tooltip/Tooltip.styles.js.map +0 -1
  619. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +0 -36
  620. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +0 -1
  621. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +0 -24
  622. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +0 -1
  623. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +0 -4
  624. package/internal/CustomComboBox/CustomComboBox.styles.js +0 -18
  625. package/internal/CustomComboBox/CustomComboBox.styles.js.map +0 -1
  626. package/internal/DateSelect/DateSelect.styles.js +0 -24
  627. package/internal/DateSelect/DateSelect.styles.js.map +0 -1
  628. package/internal/InputLikeText/InputLikeText.styles.js +0 -30
  629. package/internal/InputLikeText/InputLikeText.styles.js.map +0 -1
  630. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +0 -3
  631. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +0 -15
  632. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +0 -1
  633. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +0 -3
  634. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +0 -15
  635. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +0 -1
  636. package/internal/Menu/Menu.styles.js +0 -51
  637. package/internal/Menu/Menu.styles.js.map +0 -1
  638. package/internal/MenuMessage/MenuMessage.styles.js +0 -41
  639. package/internal/MenuMessage/MenuMessage.styles.js.map +0 -1
  640. package/internal/MobilePopup/MobilePopup.styles.js +0 -57
  641. package/internal/MobilePopup/MobilePopup.styles.js.map +0 -1
  642. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +0 -25
  643. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +0 -1
  644. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +0 -47
  645. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +0 -1
  646. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +0 -3
  647. package/internal/NativeDateInput/NativeDateInput.styles.js +0 -15
  648. package/internal/NativeDateInput/NativeDateInput.styles.js.map +0 -1
  649. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
  650. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
  651. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  652. package/internal/Popup/Popup.styles.js +0 -69
  653. package/internal/Popup/Popup.styles.js.map +0 -1
  654. package/internal/Popup/PopupPin.styles.js +0 -33
  655. package/internal/Popup/PopupPin.styles.js.map +0 -1
  656. package/internal/PopupMenu/PopupMenu.styles.d.ts +0 -4
  657. package/internal/PopupMenu/PopupMenu.styles.js +0 -18
  658. package/internal/PopupMenu/PopupMenu.styles.js.map +0 -1
  659. package/internal/ResizeDetector/ResizeDetector.styles.js +0 -27
  660. package/internal/ResizeDetector/ResizeDetector.styles.js.map +0 -1
  661. package/internal/SpinnerIcon/SpinnerIcon.styles.js +0 -24
  662. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +0 -1
  663. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  664. package/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -18
  665. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  666. package/internal/TimeInput/TimeFragments.styles.js +0 -78
  667. package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
  668. package/internal/TimeInput/TimeInput.styles.js +0 -24
  669. package/internal/TimeInput/TimeInput.styles.js.map +0 -1
  670. package/internal/icons2022/BaseIcon.styles.d.ts +0 -3
  671. package/internal/icons2022/BaseIcon.styles.js +0 -16
  672. package/internal/icons2022/BaseIcon.styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonArrow.js","sourceRoot":"","sources":["ButtonArrow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { useContext } from 'react';\n\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ArrowLeftIcon } from './ArrowLeftIcon.js';\nimport { ArrowRightIcon } from './ArrowRightIcon.js';\nimport type { ButtonInnerProps } from './Button.js';\nimport { getStyles, globalClasses } from './Button.styles.js';\n\ntype ButtonArrowProps = Pick<\n ButtonInnerProps,\n 'size' | 'arrow' | 'checked' | 'disabled' | 'error' | 'use' | 'warning'\n> & {\n isFocused: boolean;\n};\n\nconst ButtonArrow: React.FunctionComponent<ButtonArrowProps> = ({ arrow, size }) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n const getArrowIconRootClassName = () => {\n return cx(styles.arrowIconRoot(), globalClasses.arrow, {\n [styles.arrowIconRootSmall(theme)]: size === 'small',\n [styles.arrowIconRootMedium(theme)]: size === 'medium',\n [styles.arrowIconRootLarge(theme)]: size === 'large',\n [styles.arrowIconLeft()]: arrow === 'left',\n });\n };\n\n const arrowIcons = {\n right: ArrowRightIcon,\n left: ArrowLeftIcon,\n };\n const side = arrow === 'left' ? 'left' : 'right';\n const ArrowIcon = arrowIcons[side];\n const arrowNode = (\n <div className={getArrowIconRootClassName()}>\n <ArrowIcon size={size} />\n </div>\n );\n\n return arrowNode;\n};\n\nexport function useButtonArrow(\n props: ButtonArrowProps,\n theme: Theme,\n styles: ReturnType<typeof getStyles>,\n cx: Emotion['cx'],\n): [string, React.ReactNode] {\n const { arrow, size, use } = props;\n\n const canRender = use !== 'link' && (arrow === true || arrow === 'left');\n\n const rootClassName = canRender\n ? cx(\n arrow === true && size === 'small' && styles.withArrowIconRightSmall(theme),\n arrow === true && size === 'medium' && styles.withArrowIconRightMedium(theme),\n arrow === true && size === 'large' && styles.withArrowIconRightLarge(theme),\n arrow === 'left' && size === 'small' && styles.withArrowIconLeftSmall(theme),\n arrow === 'left' && size === 'medium' && styles.withArrowIconLeftMedium(theme),\n arrow === 'left' && size === 'large' && styles.withArrowIconLeftLarge(theme),\n )\n : '';\n\n const arrowNode = canRender ? <ButtonArrow {...props} /> : null;\n\n return [rootClassName, arrowNode];\n}\n"]}
1
+ {"version":3,"file":"ButtonArrow.js","sourceRoot":"","sources":["ButtonArrow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { useContext } from 'react';\n\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ArrowLeftIcon } from './ArrowLeftIcon.js';\nimport { ArrowRightIcon } from './ArrowRightIcon.js';\nimport { getStyles, globalClasses } from './Button.css.js';\nimport type { ButtonInnerProps } from './Button.js';\n\ntype ButtonArrowProps = Pick<\n ButtonInnerProps,\n 'size' | 'arrow' | 'checked' | 'disabled' | 'error' | 'use' | 'warning'\n> & {\n isFocused: boolean;\n};\n\nconst ButtonArrow: React.FunctionComponent<ButtonArrowProps> = ({ arrow, size }) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n\n const getArrowIconRootClassName = () => {\n return cx(styles.arrowIconRoot(), globalClasses.arrow, {\n [styles.arrowIconRootSmall(theme)]: size === 'small',\n [styles.arrowIconRootMedium(theme)]: size === 'medium',\n [styles.arrowIconRootLarge(theme)]: size === 'large',\n [styles.arrowIconLeft()]: arrow === 'left',\n });\n };\n\n const arrowIcons = {\n right: ArrowRightIcon,\n left: ArrowLeftIcon,\n };\n const side = arrow === 'left' ? 'left' : 'right';\n const ArrowIcon = arrowIcons[side];\n const arrowNode = (\n <div className={getArrowIconRootClassName()}>\n <ArrowIcon size={size} />\n </div>\n );\n\n return arrowNode;\n};\n\nexport function useButtonArrow(\n props: ButtonArrowProps,\n theme: Theme,\n styles: ReturnType<typeof getStyles>,\n cx: Emotion['cx'],\n): [string, React.ReactNode] {\n const { arrow, size, use } = props;\n\n const canRender = use !== 'link' && (arrow === true || arrow === 'left');\n\n const rootClassName = canRender\n ? cx(\n arrow === true && size === 'small' && styles.withArrowIconRightSmall(theme),\n arrow === true && size === 'medium' && styles.withArrowIconRightMedium(theme),\n arrow === true && size === 'large' && styles.withArrowIconRightLarge(theme),\n arrow === 'left' && size === 'small' && styles.withArrowIconLeftSmall(theme),\n arrow === 'left' && size === 'medium' && styles.withArrowIconLeftMedium(theme),\n arrow === 'left' && size === 'large' && styles.withArrowIconLeftLarge(theme),\n )\n : '';\n\n const arrowNode = canRender ? <ButtonArrow {...props} /> : null;\n\n return [rootClassName, arrowNode];\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
3
3
  icon(): string;
4
4
  iconSmall(t: Theme): string;
5
5
  iconSmallLeft(t: Theme): string;
@@ -0,0 +1,3 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({icon:'react-ui-ButtonIcon__icon',iconSmall:'react-ui-ButtonIcon__iconSmall',iconSmallLeft:'react-ui-ButtonIcon__iconSmallLeft',iconSmallRight:'react-ui-ButtonIcon__iconSmallRight',iconMedium:'react-ui-ButtonIcon__iconMedium',iconMediumLeft:'react-ui-ButtonIcon__iconMediumLeft',iconMediumRight:'react-ui-ButtonIcon__iconMediumRight',iconLarge:'react-ui-ButtonIcon__iconLarge',iconLargeLeft:'react-ui-ButtonIcon__iconLargeLeft',iconLargeRight:'react-ui-ButtonIcon__iconLargeRight',iconNoMargin:'react-ui-ButtonIcon__iconNoMargin',iconLeftLink:'react-ui-ButtonIcon__iconLeftLink',iconRightLink:'react-ui-ButtonIcon__iconRightLink'});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonIcon.css.js","sourceRoot":"","sources":["ButtonIcon.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,IAAM,KAAK,GAAG,WAAI,oBAAoB,MAAG,CAAC;YAC1C,OAAO,GAAG,+JAAA,wEAIK,EAAK,kBAEnB,KAFc,KAAK,EAElB;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,+FAAA,iBACC,EAAkB,SAC5B,KADU,CAAC,CAAC,gBAAgB,EAC3B;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,sGAAA,wBACQ,EAAqB,SACtC,KADiB,CAAC,CAAC,mBAAmB,EACrC;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,qGAAA,uBACO,EAAsB,SACtC,KADgB,CAAC,CAAC,oBAAoB,EACrC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,+FAAA,iBACC,EAAmB,SAC7B,KADU,CAAC,CAAC,iBAAiB,EAC5B;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,sGAAA,wBACQ,EAAuB,SACxC,KADiB,CAAC,CAAC,qBAAqB,EACvC;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,qGAAA,uBACO,EAAuB,SACvC,KADgB,CAAC,CAAC,qBAAqB,EACtC;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,+FAAA,iBACC,EAAkB,SAC5B,KADU,CAAC,CAAC,gBAAgB,EAC3B;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,sGAAA,wBACQ,EAAqB,SACtC,KADiB,CAAC,CAAC,mBAAmB,EACrC;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,uGAAA,uBACO,EAAsB,SACtC,KADgB,CAAC,CAAC,oBAAoB,EACrC;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,wGAAA,wBACQ,EAAwB,SACzC,KADiB,CAAC,CAAC,sBAAsB,EACxC;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,uGAAA,uBACO,EAAuB,SACvC,KADgB,CAAC,CAAC,qBAAqB,EACtC;QACJ,CAAC;QAED,YAAY;YACV,OAAO,GAAG,4HAAA,uDAGT,KAAC;QACJ,CAAC;KACF,CAAC;AApF8D,CAoF9D,CAAC,CAAC;AAEJ,oBAAoB,CAAC,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../lib/chars.js';\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n icon() {\n const space = `'${ZERO_WIDTH_SPACE_CSS}'`;\n return css`\n display: inline-block;\n\n &::before {\n content: ${space};\n }\n `;\n },\n\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n `;\n },\n\n iconSmallLeft(t: Theme) {\n return css`\n margin-right: ${t.btnIconGapSmallLeft};\n `;\n },\n\n iconSmallRight(t: Theme) {\n return css`\n margin-left: ${t.btnIconGapSmallRight};\n `;\n },\n\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n `;\n },\n\n iconMediumLeft(t: Theme) {\n return css`\n margin-right: ${t.btnIconGapMediumRight};\n `;\n },\n\n iconMediumRight(t: Theme) {\n return css`\n margin-left: ${t.btnIconGapMediumRight};\n `;\n },\n\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n `;\n },\n\n iconLargeLeft(t: Theme) {\n return css`\n margin-right: ${t.btnIconGapLargeLeft};\n `;\n },\n\n iconLargeRight(t: Theme) {\n return css`\n margin-left: ${t.btnIconGapLargeRight};\n `;\n },\n\n iconLeftLink(t: Theme) {\n return css`\n margin-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n iconRightLink(t: Theme) {\n return css`\n margin-left: ${t.btnLinkIconMarginLeft};\n `;\n },\n\n iconNoMargin() {\n return css`\n margin-right: 0;\n margin-left: 0;\n `;\n },\n}));\n\nfinalizeStaticStyles(['iconLeftLink', 'iconRightLink']);\n"]}
@@ -2,7 +2,7 @@ import React, { useContext } from 'react';
2
2
  import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
3
3
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
4
4
  import { isKonturIcon } from '../../lib/utils.js';
5
- import { getStyles } from './ButtonIcon.styles.js';
5
+ import { getStyles } from './ButtonIcon.css.js';
6
6
  import { LoadingButtonIcon } from './LoadingButtonIcon.js';
7
7
  export var getButtonIconSizes = function (theme) {
8
8
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.js","sourceRoot":"","sources":["ButtonIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isKonturIcon } from '../../lib/utils.js';\nimport type { ButtonInnerProps } from './Button.js';\nimport { getStyles } from './ButtonIcon.styles.js';\nimport { LoadingButtonIcon } from './LoadingButtonIcon.js';\n\nexport interface ButtonIconProps extends Pick<ButtonInnerProps, 'size' | 'icon' | 'loading' | 'use'> {\n position: 'right' | 'left';\n hasChildren: boolean;\n hasBothIcons?: boolean;\n}\n\nexport const getButtonIconSizes = (theme: Theme): Record<SizeProp, number> => {\n return {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n};\n\nconst useIcon = (icon: any, size: SizeProp) => {\n const theme = useContext(ThemeContext);\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n return icon;\n};\n\nexport const ButtonIcon: React.FunctionComponent<ButtonIconProps> = ({\n icon,\n use,\n position,\n hasChildren,\n loading = false,\n hasBothIcons = false,\n size = 'small',\n}) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const isLink = use === 'link';\n\n const getSizeIconClassName = () => {\n switch (size) {\n case 'large':\n return [\n styles.iconLarge(theme),\n position === 'left' ? styles.iconLargeLeft(theme) : styles.iconLargeRight(theme),\n ];\n case 'medium':\n return [\n styles.iconMedium(theme),\n position === 'left' ? styles.iconMediumLeft(theme) : styles.iconMediumRight(theme),\n ];\n case 'small':\n default:\n return [\n styles.iconSmall(theme),\n position === 'left' ? styles.iconSmallLeft(theme) : styles.iconSmallRight(theme),\n ];\n }\n };\n\n const style: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n };\n\n const _icon = useIcon(icon, size);\n\n return (\n <span\n style={style}\n className={cx(styles.icon(), getSizeIconClassName(), {\n [styles.iconNoMargin()]: !hasChildren,\n [styles.iconLeftLink(theme)]: isLink && position === 'left',\n [styles.iconRightLink(theme)]: isLink && position === 'right',\n })}\n >\n {loading && !hasBothIcons ? <LoadingButtonIcon isCentered={false} size={size} /> : _icon}\n </span>\n );\n};\n"]}
1
+ {"version":3,"file":"ButtonIcon.js","sourceRoot":"","sources":["ButtonIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isKonturIcon } from '../../lib/utils.js';\nimport type { ButtonInnerProps } from './Button.js';\nimport { getStyles } from './ButtonIcon.css.js';\nimport { LoadingButtonIcon } from './LoadingButtonIcon.js';\n\nexport interface ButtonIconProps extends Pick<ButtonInnerProps, 'size' | 'icon' | 'loading' | 'use'> {\n position: 'right' | 'left';\n hasChildren: boolean;\n hasBothIcons?: boolean;\n}\n\nexport const getButtonIconSizes = (theme: Theme): Record<SizeProp, number> => {\n return {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n};\n\nconst useIcon = (icon: any, size: SizeProp) => {\n const theme = useContext(ThemeContext);\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[size] });\n }\n\n return icon;\n};\n\nexport const ButtonIcon: React.FunctionComponent<ButtonIconProps> = ({\n icon,\n use,\n position,\n hasChildren,\n loading = false,\n hasBothIcons = false,\n size = 'small',\n}) => {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const isLink = use === 'link';\n\n const getSizeIconClassName = () => {\n switch (size) {\n case 'large':\n return [\n styles.iconLarge(theme),\n position === 'left' ? styles.iconLargeLeft(theme) : styles.iconLargeRight(theme),\n ];\n case 'medium':\n return [\n styles.iconMedium(theme),\n position === 'left' ? styles.iconMediumLeft(theme) : styles.iconMediumRight(theme),\n ];\n case 'small':\n default:\n return [\n styles.iconSmall(theme),\n position === 'left' ? styles.iconSmallLeft(theme) : styles.iconSmallRight(theme),\n ];\n }\n };\n\n const style: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n };\n\n const _icon = useIcon(icon, size);\n\n return (\n <span\n style={style}\n className={cx(styles.icon(), getSizeIconClassName(), {\n [styles.iconNoMargin()]: !hasChildren,\n [styles.iconLeftLink(theme)]: isLink && position === 'left',\n [styles.iconRightLink(theme)]: isLink && position === 'right',\n })}\n >\n {loading && !hasBothIcons ? <LoadingButtonIcon isCentered={false} size={size} /> : _icon}\n </span>\n );\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { LoadingIcon } from '../../internal/icons2022/LoadingIcon.js';
3
3
  import { useStyles } from '../../lib/renderEnvironment/index.js';
4
+ import { getStyles } from './Button.css.js';
4
5
  import { ButtonDataTids } from './Button.js';
5
- import { getStyles } from './Button.styles.js';
6
6
  export var LoadingButtonIcon = function (_a) {
7
7
  var size = _a.size, _b = _a.isCentered, isCentered = _b === void 0 ? true : _b;
8
8
  var styles = useStyles(getStyles);
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingButtonIcon.js","sourceRoot":"","sources":["LoadingButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAO/C,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,EAAmD;QAAjD,IAAI,UAAA,EAAE,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA;IACzD,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,CACL,yCAAe,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,IACxF,oBAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,CACxB,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { type JSX } from 'react';\n\nimport type { IconSizeAliases } from '../../internal/icons2022/iconConstants.js';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ButtonDataTids } from './Button.js';\nimport { getStyles } from './Button.styles.js';\n\ninterface LoadingButtonIconProps {\n size: IconSizeAliases;\n isCentered?: boolean;\n}\n\nexport const LoadingButtonIcon = ({ size, isCentered = true }: LoadingButtonIconProps): JSX.Element => {\n const styles = useStyles(getStyles);\n return (\n <div data-tid={ButtonDataTids.spinner} className={isCentered ? styles.loading() : undefined}>\n {<LoadingIcon size={size} />}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"LoadingButtonIcon.js","sourceRoot":"","sources":["LoadingButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO7C,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,EAAmD;QAAjD,IAAI,UAAA,EAAE,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA;IACzD,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,CACL,yCAAe,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,IACxF,oBAAC,WAAW,IAAC,IAAI,EAAE,IAAI,GAAI,CACxB,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { type JSX } from 'react';\n\nimport type { IconSizeAliases } from '../../internal/icons2022/iconConstants.js';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { getStyles } from './Button.css.js';\nimport { ButtonDataTids } from './Button.js';\n\ninterface LoadingButtonIconProps {\n size: IconSizeAliases;\n isCentered?: boolean;\n}\n\nexport const LoadingButtonIcon = ({ size, isCentered = true }: LoadingButtonIconProps): JSX.Element => {\n const styles = useStyles(getStyles);\n return (\n <div data-tid={ButtonDataTids.spinner} className={isCentered ? styles.loading() : undefined}>\n {<LoadingIcon size={size} />}\n </div>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
3
3
  root(t: Theme): string;
4
4
  wrapper(): string;
5
5
  separator(t: Theme): string;
@@ -0,0 +1,3 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({root:'react-ui-Calendar__root',wrapper:'react-ui-Calendar__wrapper',separator:'react-ui-Calendar__separator'});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.css.js","sourceRoot":"","sources":["Calendar.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,IAAM,KAAK,GAAG,eAAQ,CAAC,CAAC,iBAAiB,UAAO,CAAC;YACjD,OAAO,GAAG,kRAAA,sBACM,EAAY,0DAET,EAAsB,kBAC9B,EAAkB,6CAEd,EAAkB,kBACtB,EAAK,oCAEf,KARe,CAAC,CAAC,UAAU,EAET,CAAC,CAAC,oBAAoB,EAC9B,CAAC,CAAC,gBAAgB,EAEd,CAAC,CAAC,gBAAgB,EACtB,KAAK,EAEd;QACJ,CAAC;QAED,OAAO;YACL,OAAO,GAAG,uJAAA,oFAIT,KAAC;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,8HAAA,yBACS,EAA+B,qBACpC,EAA2B,SACxC,KAFkB,CAAC,CAAC,6BAA6B,EACpC,CAAC,CAAC,yBAAyB,EACvC;QACJ,CAAC;KACF,CAAC;AA7B8D,CA6B9D,CAAC,CAAC;AAEJ,oBAAoB,EAAE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n const width = `calc(${t.calendarCellWidth} * 7)`;\n return css`\n background: ${t.calendarBg};\n box-sizing: content-box;\n border-radius: ${t.calendarBorderRadius};\n color: ${t.textColorDefault};\n display: block;\n padding: 0 ${t.calendarPaddingX};\n width: ${width};\n touch-action: none;\n `;\n },\n\n wrapper() {\n return css`\n font-size: 14px;\n position: relative;\n overflow: hidden;\n `;\n },\n\n separator(t: Theme) {\n return css`\n border-bottom: ${t.calendarBottomSeparatorBorder};\n margin: 0 ${t.calendarMonthTitleMarginX};\n `;\n },\n}));\n\nfinalizeStaticStyles();\n"]}
@@ -81,7 +81,7 @@ import { isInstanceOf } from '../../lib/isInstanceOf.js';
81
81
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
82
82
  import { rootNode } from '../../lib/rootNode/index.js';
83
83
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
84
- import { getStyles } from './Calendar.styles.js';
84
+ import { getStyles } from './Calendar.css.js';
85
85
  import { CalendarContext } from './CalendarContext.js';
86
86
  import { create, isGreater, isLess } from './CalendarDateShape.js';
87
87
  import { CalendarDay } from './CalendarDay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport normalizeWheel from 'normalize-wheel';\nimport React from 'react';\nimport shallowEqual from 'shallowequal';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { animation } from '../../lib/animation/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Nullable, Range } from '../../typings/utility-types.js';\nimport { getStyles } from './Calendar.styles.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport type { CalendarContextProps } from './CalendarContext.js';\nimport { create, isGreater, isLess } from './CalendarDateShape.js';\nimport type { CalendarDateShape } from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport * as CalendarUtils from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { Month } from './Month.js';\nimport { MonthViewModel } from './MonthViewModel.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport { CalendarDataTids };\n\nexport interface CalendarProps extends CommonProps {\n /** Событие изменения value.\n * @param {string} date - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (date: string) => void;\n\n /** Текущая дата в формате `dd.mm.yyyy`. */\n value: Nullable<string>;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Начальная дата периода в формате `dd.mm.yyyy`. */\n periodStartDate?: string;\n\n /** Конечная дата периода в формате `dd.mm.yyyy`. */\n periodEndDate?: string;\n\n /** Определение праздничных дней.\n * @default (_day, isWeekend) => isWeekend.\n * @param {string} day - строка в формате `dd.mm.yyyy`.\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье).\n * @returns {boolean} `true` для выходного или `false` для рабочего дня. */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n\n /** Начальный месяц. */\n initialMonth?: Range<1, 13>;\n\n /** Начальный год. */\n initialYear?: number;\n\n /** Отрисовка дат в календаре.\n * @default (props: CalendarDayProps) => <CalendarDay {...props} />\n * @param {CalendarDayProps} props - параметры дня.\n * @returns {ReactElement} элемент, который отрисовывает контент числа месяца. */\n renderDay?: (props: CalendarDayProps) => React.ReactElement<unknown>;\n\n /** Событие изменения месяца.\n * @param {CalendarMonthChangeInfo} changeInfo - информация об изменении отображаемого месяца, где\n * `month: number` - номер текущего отображаемого месяца от 1 до 12,\n * `year: number` - отображаемый год. */\n onMonthChange?: (changeInfo: CalendarMonthChangeInfo) => void;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport interface CalendarMonthChangeInfo {\n month: number;\n year: number;\n}\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n public static displayName = 'Calendar';\n\n public static Day = CalendarDay;\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private wheelEndTimeout: SafeTimer;\n private root: Nullable<HTMLElement>;\n private animation!: ReturnType<typeof animation>;\n private touchStartY: Nullable<number> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = this.props.initialMonth\n ? CalendarUtils.getMonthInNativeFormat(this.props.initialMonth)\n : initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>, prevState: Readonly<CalendarState>): void {\n const { value, onMonthChange } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month, date.year);\n }\n\n if (onMonthChange) {\n const visibleMonthsModels = this.getVisibleMonths(this.state).map(this.getViewModel);\n const prevFirstVisibleMonthModels = this.getVisibleMonths(prevState).map(this.getViewModel);\n\n if (visibleMonthsModels.length > 0 && prevFirstVisibleMonthModels.length > 0) {\n const currentMonth = visibleMonthsModels[0].month;\n const prevCurrentMonth = prevFirstVisibleMonthModels[0].month;\n\n if (currentMonth !== prevCurrentMonth) {\n this.handleMonthChange(visibleMonthsModels);\n }\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n this.animation = animation(this.globalObject);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Прокручивает календарь до переданной даты.\n * @public\n */\n public scrollToMonth = async (month: number, year: number): Promise<void> => {\n const monthNative = CalendarUtils.getMonthInNativeFormat(month);\n\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r, 0));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, monthNative, year))) {\n const minMonth = CalendarUtils.getMonthInHumanFormat(minDate.month);\n this.scrollToMonth(minMonth, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, monthNative, year))) {\n const maxMonth = CalendarUtils.getMonthInHumanFormat(maxDate.month);\n this.scrollToMonth(maxMonth, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - monthNative - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(monthNative, year),\n scrollPosition: 0,\n });\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index, year);\n });\n this.setState(\n (state) => {\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private handleMonthChange = (visibleMonths: MonthViewModel[]): void => {\n const currentMonth = visibleMonths[0];\n const changeInfo = {\n month: CalendarUtils.getMonthInHumanFormat(currentMonth.month),\n year: currentMonth.year,\n };\n\n this.props.onMonthChange?.(changeInfo);\n };\n\n private getViewModel = (item: [number, MonthViewModel]): MonthViewModel => item[1];\n\n private renderMain = () => {\n const monthsForRender = this.getVisibleMonths(this.state);\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n const context: CalendarContextProps = {\n value: this.getDateInNativeFormat(props.value),\n minDate: this.getDateInNativeFormat(props.minDate),\n maxDate: this.getDateInNativeFormat(props.maxDate),\n isHoliday: props.isHoliday,\n renderDay: props.renderDay,\n today: CalendarUtils.getTodayDate(),\n onDateClick: this.handleDateClick,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={this.cx(this.styles.root(this.theme))}>\n <div style={wrapperStyle} className={this.styles.wrapper()}>\n <CalendarContext.Provider value={context}>\n {monthsForRender.map(this.renderMonth, this)}\n </CalendarContext.Provider>\n </div>\n <div className={this.styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n onMonthYearChange={this.handleMonthYearChange}\n />\n );\n }\n\n private handleDateClick = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToHumanString(dateShape);\n\n this.props.onValueChange?.(value);\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions(months: MonthViewModel[], scrollPosition: number) {\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private getVisibleMonths(state: Readonly<CalendarState>): Array<[number, MonthViewModel]> {\n const { months, scrollPosition } = state;\n const positions = this.getMonthPositions(months, scrollPosition);\n\n return months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme));\n }\n\n private handleMonthYearChange = (monthNative: number, year: number) => {\n const month = CalendarUtils.getMonthInHumanFormat(monthNative);\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const thresholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_HEIGHT;\n\n if (scrollTarget < thresholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = thresholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport normalizeWheel from 'normalize-wheel';\nimport React from 'react';\nimport shallowEqual from 'shallowequal';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { animation } from '../../lib/animation/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Nullable, Range } from '../../typings/utility-types.js';\nimport { getStyles } from './Calendar.css.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport type { CalendarContextProps } from './CalendarContext.js';\nimport { create, isGreater, isLess } from './CalendarDateShape.js';\nimport type { CalendarDateShape } from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport * as CalendarUtils from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { Month } from './Month.js';\nimport { MonthViewModel } from './MonthViewModel.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport { CalendarDataTids };\n\nexport interface CalendarProps extends CommonProps {\n /** Событие изменения value.\n * @param {string} date - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (date: string) => void;\n\n /** Текущая дата в формате `dd.mm.yyyy`. */\n value: Nullable<string>;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Начальная дата периода в формате `dd.mm.yyyy`. */\n periodStartDate?: string;\n\n /** Конечная дата периода в формате `dd.mm.yyyy`. */\n periodEndDate?: string;\n\n /** Определение праздничных дней.\n * @default (_day, isWeekend) => isWeekend.\n * @param {string} day - строка в формате `dd.mm.yyyy`.\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье).\n * @returns {boolean} `true` для выходного или `false` для рабочего дня. */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n\n /** Начальный месяц. */\n initialMonth?: Range<1, 13>;\n\n /** Начальный год. */\n initialYear?: number;\n\n /** Отрисовка дат в календаре.\n * @default (props: CalendarDayProps) => <CalendarDay {...props} />\n * @param {CalendarDayProps} props - параметры дня.\n * @returns {ReactElement} элемент, который отрисовывает контент числа месяца. */\n renderDay?: (props: CalendarDayProps) => React.ReactElement<unknown>;\n\n /** Событие изменения месяца.\n * @param {CalendarMonthChangeInfo} changeInfo - информация об изменении отображаемого месяца, где\n * `month: number` - номер текущего отображаемого месяца от 1 до 12,\n * `year: number` - отображаемый год. */\n onMonthChange?: (changeInfo: CalendarMonthChangeInfo) => void;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport interface CalendarMonthChangeInfo {\n month: number;\n year: number;\n}\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n public static displayName = 'Calendar';\n\n public static Day = CalendarDay;\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private wheelEndTimeout: SafeTimer;\n private root: Nullable<HTMLElement>;\n private animation!: ReturnType<typeof animation>;\n private touchStartY: Nullable<number> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = this.props.initialMonth\n ? CalendarUtils.getMonthInNativeFormat(this.props.initialMonth)\n : initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>, prevState: Readonly<CalendarState>): void {\n const { value, onMonthChange } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month, date.year);\n }\n\n if (onMonthChange) {\n const visibleMonthsModels = this.getVisibleMonths(this.state).map(this.getViewModel);\n const prevFirstVisibleMonthModels = this.getVisibleMonths(prevState).map(this.getViewModel);\n\n if (visibleMonthsModels.length > 0 && prevFirstVisibleMonthModels.length > 0) {\n const currentMonth = visibleMonthsModels[0].month;\n const prevCurrentMonth = prevFirstVisibleMonthModels[0].month;\n\n if (currentMonth !== prevCurrentMonth) {\n this.handleMonthChange(visibleMonthsModels);\n }\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n this.animation = animation(this.globalObject);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Прокручивает календарь до переданной даты.\n * @public\n */\n public scrollToMonth = async (month: number, year: number): Promise<void> => {\n const monthNative = CalendarUtils.getMonthInNativeFormat(month);\n\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r, 0));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, monthNative, year))) {\n const minMonth = CalendarUtils.getMonthInHumanFormat(minDate.month);\n this.scrollToMonth(minMonth, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, monthNative, year))) {\n const maxMonth = CalendarUtils.getMonthInHumanFormat(maxDate.month);\n this.scrollToMonth(maxMonth, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - monthNative - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(monthNative, year),\n scrollPosition: 0,\n });\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index, year);\n });\n this.setState(\n (state) => {\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private handleMonthChange = (visibleMonths: MonthViewModel[]): void => {\n const currentMonth = visibleMonths[0];\n const changeInfo = {\n month: CalendarUtils.getMonthInHumanFormat(currentMonth.month),\n year: currentMonth.year,\n };\n\n this.props.onMonthChange?.(changeInfo);\n };\n\n private getViewModel = (item: [number, MonthViewModel]): MonthViewModel => item[1];\n\n private renderMain = () => {\n const monthsForRender = this.getVisibleMonths(this.state);\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n const context: CalendarContextProps = {\n value: this.getDateInNativeFormat(props.value),\n minDate: this.getDateInNativeFormat(props.minDate),\n maxDate: this.getDateInNativeFormat(props.maxDate),\n isHoliday: props.isHoliday,\n renderDay: props.renderDay,\n today: CalendarUtils.getTodayDate(),\n onDateClick: this.handleDateClick,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={this.cx(this.styles.root(this.theme))}>\n <div style={wrapperStyle} className={this.styles.wrapper()}>\n <CalendarContext.Provider value={context}>\n {monthsForRender.map(this.renderMonth, this)}\n </CalendarContext.Provider>\n </div>\n <div className={this.styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n onMonthYearChange={this.handleMonthYearChange}\n />\n );\n }\n\n private handleDateClick = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToHumanString(dateShape);\n\n this.props.onValueChange?.(value);\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions(months: MonthViewModel[], scrollPosition: number) {\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private getVisibleMonths(state: Readonly<CalendarState>): Array<[number, MonthViewModel]> {\n const { months, scrollPosition } = state;\n const positions = this.getMonthPositions(months, scrollPosition);\n\n return months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme));\n }\n\n private handleMonthYearChange = (monthNative: number, year: number) => {\n const month = CalendarUtils.getMonthInHumanFormat(monthNative);\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const thresholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_HEIGHT;\n\n if (scrollTarget < thresholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = thresholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
@@ -30,7 +30,7 @@ import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
30
30
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
31
31
  import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
32
32
  import { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';
33
- import { getStyles } from './DayCellView.styles.js';
33
+ import { getStyles } from './DayCellView.css.js';
34
34
  import { CalendarDataTids } from './tids.js';
35
35
  /**
36
36
  * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["CalendarDay.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { memo, useCallback, useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { getStyles } from './DayCellView.styles.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {\n /** Устанавливает, является ли день текущим. */\n isToday?: boolean;\n\n /** Устанавливает, является ли день выбранным. */\n isSelected?: boolean;\n\n /** Устанавливает, является ли день недоступным. */\n isDisabled?: boolean;\n\n /** Устанавливает, является ли день выходным. */\n isWeekend?: boolean;\n\n /** Задаёт день. */\n date: string;\n\n /** Событие нажатия на день. Необходима для внутренней работы [календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs). Не предназначена для переопределения. Вместо этого, следует использовать стандартный `onClick`.\n * @internal @ignore\n */\n onDayClick: () => void;\n}\n\n/**\n * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).\n *\n * @visibleName Calendar.Day\n */\nexport const CalendarDay = memo(\n forwardRefAndName(\n 'CalendarDay',\n function CalendarDay(\n {\n isToday,\n isSelected,\n isDisabled,\n isWeekend,\n date,\n onDayClick,\n onClick,\n children,\n className,\n ...rest\n }: PropsWithChildren<CalendarDayProps>,\n ref: React.Ref<HTMLButtonElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const themeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { langCode } = useContext(LocaleContext);\n const internalDate = new InternalDate({ langCode, value: date });\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n const ariaLabel = `${locale.dayCellChooseDateAriaLabel}: ${internalDate.toA11YFormat()}`;\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n onDayClick();\n onClick?.(e);\n },\n [onDayClick, onClick],\n );\n\n const { date: day } = internalDate.getComponentsLikeNumber();\n const caption = children ?? day;\n\n return (\n <button\n ref={ref}\n data-tid={CalendarDataTids.dayCell}\n aria-label={ariaLabel}\n tabIndex={-1}\n disabled={isDisabled}\n onClick={handleClick}\n className={cx(\n {\n [styles.day(theme)]: true,\n [styles.weekend(theme)]: isWeekend,\n [styles.selected(theme)]: isSelected,\n [styles.selected6_1(theme)]: isSelected && themeGTE6_1,\n },\n className,\n )}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n {...rest}\n >\n <span className={cx({ [styles.todayCaption(theme)]: isToday })}>{caption}</span>\n </button>\n );\n },\n ),\n);\n"]}
1
+ {"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["CalendarDay.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { memo, useCallback, useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { getStyles } from './DayCellView.css.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {\n /** Устанавливает, является ли день текущим. */\n isToday?: boolean;\n\n /** Устанавливает, является ли день выбранным. */\n isSelected?: boolean;\n\n /** Устанавливает, является ли день недоступным. */\n isDisabled?: boolean;\n\n /** Устанавливает, является ли день выходным. */\n isWeekend?: boolean;\n\n /** Задаёт день. */\n date: string;\n\n /** Событие нажатия на день. Необходима для внутренней работы [календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs). Не предназначена для переопределения. Вместо этого, следует использовать стандартный `onClick`.\n * @internal @ignore\n */\n onDayClick: () => void;\n}\n\n/**\n * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).\n *\n * @visibleName Calendar.Day\n */\nexport const CalendarDay = memo(\n forwardRefAndName(\n 'CalendarDay',\n function CalendarDay(\n {\n isToday,\n isSelected,\n isDisabled,\n isWeekend,\n date,\n onDayClick,\n onClick,\n children,\n className,\n ...rest\n }: PropsWithChildren<CalendarDayProps>,\n ref: React.Ref<HTMLButtonElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const themeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { langCode } = useContext(LocaleContext);\n const internalDate = new InternalDate({ langCode, value: date });\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n const ariaLabel = `${locale.dayCellChooseDateAriaLabel}: ${internalDate.toA11YFormat()}`;\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n onDayClick();\n onClick?.(e);\n },\n [onDayClick, onClick],\n );\n\n const { date: day } = internalDate.getComponentsLikeNumber();\n const caption = children ?? day;\n\n return (\n <button\n ref={ref}\n data-tid={CalendarDataTids.dayCell}\n aria-label={ariaLabel}\n tabIndex={-1}\n disabled={isDisabled}\n onClick={handleClick}\n className={cx(\n {\n [styles.day(theme)]: true,\n [styles.weekend(theme)]: isWeekend,\n [styles.selected(theme)]: isSelected,\n [styles.selected6_1(theme)]: isSelected && themeGTE6_1,\n },\n className,\n )}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n {...rest}\n >\n <span className={cx({ [styles.todayCaption(theme)]: isToday })}>{caption}</span>\n </button>\n );\n },\n ),\n);\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
3
3
  cell(t: Theme): string;
4
4
  day(t: Theme): string;
5
5
  selected(t: Theme): string;
@@ -0,0 +1,3 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({cell:'react-ui-DayCellView__cell',day:'react-ui-DayCellView__day',weekend:'react-ui-DayCellView__weekend',todayCaption:'react-ui-DayCellView__todayCaption',selected:'react-ui-DayCellView__selected',selected6_1:'react-ui-DayCellView__selected6_1'});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayCellView.css.js","sourceRoot":"","sources":["DayCellView.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,uHAAA,oBACI,EAAmB,mBACrB,EAAoB,SAC/B,KAFa,CAAC,CAAC,iBAAiB,EACrB,CAAC,CAAC,kBAAkB,EAC9B;QACJ,CAAC;QACD,GAAG,YAAC,CAAQ;YACV,OAAO,GAAG,89BAAA,UACN,EAAa,kEAID,EAAgB,4DAEjB,EAAsB,2HAKpB,EAAwB,0BACtB,EAA0B,6YAiBnB,EAA0B,sBACrC,EAAwB,yLAU1B,EAA8B,kBAE1C,KA1CG,WAAW,EAAE,EAID,CAAC,CAAC,cAAc,EAEjB,CAAC,CAAC,oBAAoB,EAKpB,CAAC,CAAC,sBAAsB,EACtB,CAAC,CAAC,wBAAwB,EAiBnB,CAAC,CAAC,wBAAwB,EACrC,CAAC,CAAC,sBAAsB,EAU1B,CAAC,CAAC,4BAA4B,EAEzC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,8HAAA,4BACY,EAA6B,kBACxC,EAA+B,SACzC,KAFqB,CAAC,CAAC,2BAA2B,EACxC,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,4MAAA,kFAGgB,EAA6B,sBACxC,EAA+B,6BAG7C,KAJyB,CAAC,CAAC,2BAA2B,EACxC,CAAC,CAAC,6BAA6B,EAG5C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,+FAAA,iBACC,EAA0B,SACpC,KADU,CAAC,CAAC,wBAAwB,EACnC;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,mIAAA,qDAES,EAAyB,SAC3C,KADkB,CAAC,CAAC,uBAAuB,EAC1C;QACJ,CAAC;KACF,CAAC;AApF8D,CAoF9D,CAAC,CAAC;AAEJ,uEAAuE;AACvE,oBAAoB,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton } from '../../lib/styles/Mixins.js';\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n cell(t: Theme) {\n return css`\n flex: 1 1 ${t.calendarCellWidth};\n height: ${t.calendarCellHeight};\n `;\n },\n day(t: Theme) {\n return css`\n ${resetButton()};\n width: 100%;\n height: 100%;\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n font-size: ${t.calendarCellFontSize};\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ${t.calendarCellLineHeight};\n border-radius: ${t.calendarCellBorderRadius};\n transition:\n 0.15s ease background-color,\n 0.15s ease opacity;\n\n // Expand the clickable area\n &:before {\n content: '';\n position: absolute;\n left: -1px;\n top: -1px;\n width: calc(100% + 2px);\n height: calc(100% + 2px);\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n }\n\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n selected6_1(t: Theme) {\n return css`\n @media (hover: hover) {\n &:hover {\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n }\n }\n `;\n },\n\n weekend(t: Theme) {\n return css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n todayCaption(t: Theme) {\n return css`\n padding-bottom: 2px;\n border-bottom: ${t.calendarCellTodayBorder};\n `;\n },\n}));\n\n// в CalendarDay selected зовётся после weekend и должен его перебивать\nfinalizeStaticStyles(['selected', 'selected6_1']);\n"]}
@@ -16,7 +16,7 @@ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
16
16
  import { CalendarContext } from './CalendarContext.js';
17
17
  import * as CDS from './CalendarDateShape.js';
18
18
  import { CalendarDay } from './CalendarDay.js';
19
- import { getStyles } from './DayCellView.styles.js';
19
+ import { getStyles } from './DayCellView.css.js';
20
20
  export var DayCellView = function (props) {
21
21
  var _a, _b;
22
22
  var date = props.date;
@@ -1 +1 @@
1
- {"version":3,"file":"DayCellView.js","sourceRoot":"","sources":["DayCellView.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOpD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAuB;;IACzC,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACjB,IAAA,KAAwE,UAAU,CAAC,eAAe,CAAC,EAAjG,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,WAAW,iBAAgC,CAAC;IAC1G,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAM,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1D,IAAM,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExE,IAAM,eAAe,GAAG,WAAW,CAAC;QAClC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,IAAM,QAAQ,GAAqB;QACjC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,UAAU,YAAA;QACV,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,SAAS;QACzE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,eAAe;KAC5B,CAAC;IAEF,IAAM,UAAU,GAAmC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,QAAQ,CAAC,mCAAI,oBAAC,WAAW,eAAK,QAAQ,EAAI,CAAC;IAE1G,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,UAAU,CAAO,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport type { ReactElement } from 'react';\n\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport { getStyles } from './DayCellView.styles.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps): React.JSX.Element => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const styles = useStyles(getStyles);\n const theme = useContext(ThemeContext);\n\n const isDisabled = !CDS.isBetween(date, minDate, maxDate);\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n\n const dayClickHandler = useCallback(() => {\n onDateClick?.(date);\n }, [onDateClick, date]);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled,\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n onDayClick: dayClickHandler,\n };\n\n const dayElement: ReactElement<CalendarDayProps> = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n\n return <div className={styles.cell(theme)}>{dayElement}</div>;\n};\n"]}
1
+ {"version":3,"file":"DayCellView.js","sourceRoot":"","sources":["DayCellView.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOjD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAuB;;IACzC,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACjB,IAAA,KAAwE,UAAU,CAAC,eAAe,CAAC,EAAjG,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,WAAW,iBAAgC,CAAC;IAC1G,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvC,IAAM,UAAU,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1D,IAAM,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExE,IAAM,eAAe,GAAG,WAAW,CAAC;QAClC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,IAAM,QAAQ,GAAqB;QACjC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,UAAU,YAAA;QACV,SAAS,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mCAAI,IAAI,CAAC,SAAS;QACzE,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE,eAAe;KAC5B,CAAC;IAEF,IAAM,UAAU,GAAmC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,QAAQ,CAAC,mCAAI,oBAAC,WAAW,eAAK,QAAQ,EAAI,CAAC;IAE1G,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,UAAU,CAAO,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport type { ReactElement } from 'react';\n\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport { useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport { getStyles } from './DayCellView.css.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps): React.JSX.Element => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const styles = useStyles(getStyles);\n const theme = useContext(ThemeContext);\n\n const isDisabled = !CDS.isBetween(date, minDate, maxDate);\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n\n const dayClickHandler = useCallback(() => {\n onDateClick?.(date);\n }, [onDateClick, date]);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled,\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n onDayClick: dayClickHandler,\n };\n\n const dayElement: ReactElement<CalendarDayProps> = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n\n return <div className={styles.cell(theme)}>{dayElement}</div>;\n};\n"]}
@@ -23,10 +23,10 @@ import React from 'react';
23
23
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
24
24
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
25
25
  import * as CalendarScrollEvents from './CalendarScrollEvents.js';
26
+ import { getStyles as getCellStyles } from './DayCellView.css.js';
26
27
  import { DayCellView } from './DayCellView.js';
27
- import { getStyles as getCellStyles } from './DayCellView.styles.js';
28
+ import { getStyles } from './MonthView.css.js';
28
29
  import { MonthView } from './MonthView.js';
29
- import { getStyles } from './MonthView.styles.js';
30
30
  var Month = /** @class */ (function (_super) {
31
31
  __extends(Month, _super);
32
32
  function Month() {
@@ -1 +1 @@
1
- {"version":3,"file":"Month.js","sourceRoot":"","sources":["Month.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport type { DateSelect } from '../../internal/DateSelect/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport { DayCellView } from './DayCellView.js';\nimport { getStyles as getCellStyles } from './DayCellView.styles.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\nimport { MonthView } from './MonthView.js';\nimport { getStyles } from './MonthView.styles.js';\nimport type { MonthViewModel } from './MonthViewModel.js';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n onMonthYearChange: (monthNative: number, year: number) => void;\n}\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\n\n private monthSelect: DateSelect | null = null;\n private yearSelect: DateSelect | null = null;\n\n public shouldComponentUpdate(nextProps: MonthProps) {\n if (this.props.top !== nextProps.top) {\n return true;\n }\n\n return this.props.month !== nextProps.month;\n }\n\n public componentDidMount() {\n CalendarScrollEvents.addListener(this.closeSelects);\n }\n\n public render(): React.JSX.Element {\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(): JSX.Element {\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(): JSX.Element {\n return <MonthDayGrid days={this.props.month.days} offset={this.props.month.offset} />;\n }\n\n private closeSelects = (): void => {\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): void => {\n this.monthSelect = monthSelect;\n };\n\n private yearRef = (yearSelect: DateSelect | null): void => {\n this.yearSelect = yearSelect;\n };\n\n private handleMonthSelect = (month: number): void => {\n this.props.onMonthYearChange(month, this.props.month.year);\n };\n\n private handleYearSelect = (year: number): void => {\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\n@withRenderEnvironment\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private styles!: ReturnType<typeof getStyles>;\n private cellStyles!: ReturnType<typeof getCellStyles>;\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(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.cellStyles = getCellStyles(this.emotion);\n\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(): JSX.Element {\n const leadingDays = Array.from({ length: this.props.offset }, (_, i) => (\n <div key={`leading_${i}`} className={this.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={this.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={this.styles.monthDayGrid(this.theme)}>\n {weeks.map((week, i) => (\n <div className={this.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
+ {"version":3,"file":"Month.js","sourceRoot":"","sources":["Month.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React, { type JSX } from 'react';\n\nimport type { DateSelect } from '../../internal/DateSelect/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport { getStyles as getCellStyles } from './DayCellView.css.js';\nimport { DayCellView } from './DayCellView.js';\nimport type { DayCellViewModel } from './DayCellViewModel.js';\nimport { getStyles } from './MonthView.css.js';\nimport { MonthView } from './MonthView.js';\nimport type { MonthViewModel } from './MonthViewModel.js';\n\ninterface MonthProps {\n top: number;\n month: MonthViewModel;\n onMonthYearChange: (monthNative: number, year: number) => void;\n}\n\nexport class Month extends React.Component<MonthProps> {\n private theme!: Theme;\n\n private monthSelect: DateSelect | null = null;\n private yearSelect: DateSelect | null = null;\n\n public shouldComponentUpdate(nextProps: MonthProps) {\n if (this.props.top !== nextProps.top) {\n return true;\n }\n\n return this.props.month !== nextProps.month;\n }\n\n public componentDidMount() {\n CalendarScrollEvents.addListener(this.closeSelects);\n }\n\n public render(): React.JSX.Element {\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(): JSX.Element {\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(): JSX.Element {\n return <MonthDayGrid days={this.props.month.days} offset={this.props.month.offset} />;\n }\n\n private closeSelects = (): void => {\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): void => {\n this.monthSelect = monthSelect;\n };\n\n private yearRef = (yearSelect: DateSelect | null): void => {\n this.yearSelect = yearSelect;\n };\n\n private handleMonthSelect = (month: number): void => {\n this.props.onMonthYearChange(month, this.props.month.year);\n };\n\n private handleYearSelect = (year: number): void => {\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\n@withRenderEnvironment\nclass MonthDayGrid extends React.Component<MonthDayGridProps> {\n private styles!: ReturnType<typeof getStyles>;\n private cellStyles!: ReturnType<typeof getCellStyles>;\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(): JSX.Element {\n this.styles = getStyles(this.emotion);\n this.cellStyles = getCellStyles(this.emotion);\n\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(): JSX.Element {\n const leadingDays = Array.from({ length: this.props.offset }, (_, i) => (\n <div key={`leading_${i}`} className={this.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={this.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={this.styles.monthDayGrid(this.theme)}>\n {weeks.map((week, i) => (\n <div className={this.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,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
3
3
  headerMonth(t: Theme): string;
4
4
  headerYear(t: Theme): string;
5
5
  month(t: Theme): string;
@@ -0,0 +1,3 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({headerMonth:'react-ui-MonthView__headerMonth',headerYear:'react-ui-MonthView__headerYear',month:'react-ui-MonthView__month',monthMobile:'react-ui-MonthView__monthMobile',header:'react-ui-MonthView__header',headerSticky:'react-ui-MonthView__headerSticky',monthTitle:'react-ui-MonthView__monthTitle',monthDayGrid:'react-ui-MonthView__monthDayGrid',monthDayRow:'react-ui-MonthView__monthDayRow',nativeSelect:'react-ui-MonthView__nativeSelect'});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonthView.css.js","sourceRoot":"","sources":["MonthView.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,sIAAA,iDAEG,EAA8B,KAAM,EAAiC,SACjF,KADY,CAAC,CAAC,4BAA4B,EAAM,CAAC,CAAC,+BAA+B,EAChF;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,kLAAA,6FAIG,EAA8B,KAAM,EAAiC,SACjF,KADY,CAAC,CAAC,4BAA4B,EAAM,CAAC,CAAC,+BAA+B,EAChF;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,IAAM,KAAK,GAAG,eAAQ,CAAC,CAAC,iBAAiB,UAAO,CAAC;YACjD,OAAO,GAAG,0HAAA,4CAEC,EAAK,SACf,KADU,KAAK,EACd;QACJ,CAAC;QAED,WAAW;YACT,OAAO,GAAG,+FAAA,4BAET,KAAC;QACJ,CAAC;QAED,MAAM;YACJ,OAAO,GAAG,sGAAA,mCAET,KAAC;QACJ,CAAC;QAED,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,6HAAA,4BACY,EAAmC,4BAExD,KAFqB,CAAC,CAAC,iCAAiC,EAEvD;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,iMAAA,mCACmB,EAAqC,wBACjD,EAAsB,qBACzB,EAA2B,GAAI,EAAgC,wBAC5D,EAA8B,SAC9C,KAJ4B,CAAC,CAAC,mCAAmC,EACjD,CAAC,CAAC,oBAAoB,EACzB,CAAC,CAAC,yBAAyB,EAAI,CAAC,CAAC,8BAA8B,EAC5D,CAAC,CAAC,4BAA4B,EAC7C;QACJ,CAAC;QAED;;;WAGG;QACH,YAAY,YAAC,CAAQ;YACnB,OAAO,GAAG,oLAAA,uBACO,EAAwB,yEAG5B,EAAwB,aACpC,KAJgB,CAAC,CAAC,sBAAsB,EAG5B,CAAC,CAAC,sBAAsB,EACnC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,6LAAA,sGAKQ,EAAwB,kBAEzC,KAFiB,CAAC,CAAC,sBAAsB,EAExC;QACJ,CAAC;QAED,YAAY;YACV,OAAO,GAAG,0QAAA,qMAUT,KAAC;QACJ,CAAC;KACF,CAAC;AA1F8D,CA0F9D,CAAC,CAAC;AAEJ,oBAAoB,EAAE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n headerMonth(t: Theme) {\n return css`\n display: inline-block;\n padding: ${t.calendarMonthTitlePaddingTop} 0 ${t.calendarMonthTitlePaddingBottom};\n `;\n },\n\n headerYear(t: Theme) {\n return 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 = `calc(${t.calendarCellWidth} * 7)`;\n return css`\n position: absolute;\n width: ${width};\n `;\n },\n\n monthMobile() {\n return css`\n width: 100%;\n `;\n },\n\n header() {\n return css`\n position: relative;\n `;\n },\n\n headerSticky(t: Theme) {\n return css`\n background-color: ${t.calendarMonthHeaderStickedBgColor};\n z-index: 2;\n `;\n },\n\n monthTitle(t: Theme) {\n return 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 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 css`\n display: flex;\n justify-content: space-between;\n\n & + & {\n margin-top: ${t.calendarGridRowSpacing};\n }\n `;\n },\n\n nativeSelect() {\n return css`\n position: absolute;\n top: -12px;\n right: 0;\n bottom: -8px;\n left: 0;\n cursor: pointer;\n appearance: none;\n opacity: 0;\n border: none;\n `;\n },\n}));\n\nfinalizeStaticStyles();\n"]}
@@ -6,7 +6,7 @@ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
6
6
  import { CalendarContext } from './CalendarContext.js';
7
7
  import * as CDS from './CalendarDateShape.js';
8
8
  import { themeConfig } from './config.js';
9
- import { getStyles } from './MonthView.styles.js';
9
+ import { getStyles } from './MonthView.css.js';
10
10
  import { CalendarDataTids } from './tids.js';
11
11
  export var getMinMonth = function (year, minDate) {
12
12
  var min = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\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>): number => {\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): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\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 = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={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 </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\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 </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.css.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\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>): number => {\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): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\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 = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={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 </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\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 </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
1
+ export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
2
2
  root(): string;
3
3
  rootAlignLeft(): string;
4
4
  rootAlignRight(): string;
@@ -0,0 +1,3 @@
1
+
2
+ import { bindStaticStyles as _b9cd9 } from '../../lib/theming/bindStaticStyles.js';
3
+ export var getStyles = _b9cd9({root:'react-ui-Center__root',rootAlignLeft:'react-ui-Center__rootAlignLeft',rootAlignRight:'react-ui-Center__rootAlignRight',spring:'react-ui-Center__spring',container:'react-ui-Center__container'});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Center.css.js","sourceRoot":"","sources":["Center.css.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE3F,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,2HAAA,wDAGT,KAAC;QACJ,CAAC;QAED,aAAa;YACX,OAAO,GAAG,oGAAA,iCAET,KAAC;QACJ,CAAC;QAED,cAAc;YACZ,OAAO,GAAG,qGAAA,kCAET,KAAC;QACJ,CAAC;QAED,MAAM;YACJ,OAAO,GAAG,6JAAA,0FAIT,KAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,GAAG,iKAAA,8FAIT,KAAC;QACJ,CAAC;KACF,CAAC;AAnC8D,CAmC9D,CAAC,CAAC;AAEJ,oBAAoB,EAAE,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { finalizeStaticStyles, memoizeGetStyles } from '../../lib/theming/StaticStyles.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n height: 100%;\n text-align: center;\n `;\n },\n\n rootAlignLeft() {\n return css`\n text-align: left;\n `;\n },\n\n rootAlignRight() {\n return css`\n text-align: right;\n `;\n },\n\n spring() {\n return css`\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n `;\n },\n\n container() {\n return css`\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n `;\n },\n}));\n\nfinalizeStaticStyles();\n"]}