@skbkontur/react-ui 0.0.0-627b6e869c → 0.0.0-69a6fa606f

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 (863) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js +21 -15
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -5
  7. package/cjs/components/Button/Button.js +8 -12
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.js +1 -1
  10. package/cjs/components/Button/Button.styles.js.map +1 -1
  11. package/cjs/components/Center/Center.d.ts +3 -0
  12. package/cjs/components/Center/Center.js +8 -3
  13. package/cjs/components/Center/Center.js.map +1 -1
  14. package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
  15. package/cjs/components/Checkbox/Checkbox.js +8 -2
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.styles.js +4 -7
  18. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  19. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  20. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  21. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  22. package/cjs/components/CurrencyInput/CurrencyInput.js +23 -10
  23. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  25. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  27. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  28. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.styles.js +2 -2
  32. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  33. package/cjs/components/DateInput/helpers/InternalDateMediator.js +8 -2
  34. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  35. package/cjs/components/DatePicker/DatePicker.d.ts +6 -1
  36. package/cjs/components/DatePicker/DatePicker.js +14 -3
  37. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  38. package/cjs/components/DatePicker/Picker.js +7 -2
  39. package/cjs/components/DatePicker/Picker.js.map +1 -1
  40. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  41. package/cjs/components/Dropdown/Dropdown.js +7 -2
  42. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  43. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  44. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  45. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  46. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  47. package/cjs/components/FileUploader/FileUploader.js +18 -9
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  50. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  51. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  52. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  53. package/cjs/components/FxInput/FxInput.js +7 -3
  54. package/cjs/components/FxInput/FxInput.js.map +1 -1
  55. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  56. package/cjs/components/Gapped/Gapped.js +11 -6
  57. package/cjs/components/Gapped/Gapped.js.map +1 -1
  58. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  59. package/cjs/components/GlobalLoader/GlobalLoader.js +9 -7
  60. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  61. package/cjs/components/Group/Group.d.ts +3 -0
  62. package/cjs/components/Group/Group.js +80 -33
  63. package/cjs/components/Group/Group.js.map +1 -1
  64. package/cjs/components/Hint/Hint.d.ts +4 -1
  65. package/cjs/components/Hint/Hint.js +5 -0
  66. package/cjs/components/Hint/Hint.js.map +1 -1
  67. package/cjs/components/Input/Input.d.ts +4 -5
  68. package/cjs/components/Input/Input.js +21 -24
  69. package/cjs/components/Input/Input.js.map +1 -1
  70. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  71. package/cjs/components/Kebab/Kebab.js +5 -29
  72. package/cjs/components/Kebab/Kebab.js.map +1 -1
  73. package/cjs/components/Link/Link.d.ts +3 -0
  74. package/cjs/components/Link/Link.js +7 -3
  75. package/cjs/components/Link/Link.js.map +1 -1
  76. package/cjs/components/Loader/Loader.d.ts +4 -0
  77. package/cjs/components/Loader/Loader.js +15 -10
  78. package/cjs/components/Loader/Loader.js.map +1 -1
  79. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  80. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  81. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  82. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  83. package/cjs/components/MenuItem/MenuItem.js +10 -4
  84. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  85. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  86. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  87. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  88. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  89. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  90. package/cjs/components/Modal/Modal.d.ts +5 -0
  91. package/cjs/components/Modal/Modal.js +10 -3
  92. package/cjs/components/Modal/Modal.js.map +1 -1
  93. package/cjs/components/Modal/Modal.styles.js +10 -6
  94. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  95. package/cjs/components/Modal/ModalClose.js +3 -2
  96. package/cjs/components/Modal/ModalClose.js.map +1 -1
  97. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  98. package/cjs/components/Modal/ModalFooter.js +8 -4
  99. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  100. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  101. package/cjs/components/Modal/ModalHeader.js +9 -4
  102. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  103. package/cjs/components/Paging/Paging.d.ts +20 -3
  104. package/cjs/components/Paging/Paging.js +29 -10
  105. package/cjs/components/Paging/Paging.js.map +1 -1
  106. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  107. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  108. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  109. package/cjs/components/PasswordInput/PasswordInput.d.ts +7 -0
  110. package/cjs/components/PasswordInput/PasswordInput.js +37 -10
  111. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  112. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  113. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  114. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  115. package/cjs/components/Radio/Radio.d.ts +3 -0
  116. package/cjs/components/Radio/Radio.js +7 -3
  117. package/cjs/components/Radio/Radio.js.map +1 -1
  118. package/cjs/components/Radio/Radio.styles.js +4 -7
  119. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  120. package/cjs/components/RadioGroup/RadioGroup.d.ts +4 -1
  121. package/cjs/components/RadioGroup/RadioGroup.js +8 -4
  122. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  123. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  124. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  125. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  126. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  127. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  128. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  129. package/cjs/components/ScrollContainer/ScrollContainer.js +17 -6
  130. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  131. package/cjs/components/Select/Select.d.ts +10 -5
  132. package/cjs/components/Select/Select.js +51 -15
  133. package/cjs/components/Select/Select.js.map +1 -1
  134. package/cjs/components/SidePage/SidePage.d.ts +4 -1
  135. package/cjs/components/SidePage/SidePage.js +9 -17
  136. package/cjs/components/SidePage/SidePage.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  138. package/cjs/components/SidePage/SidePageBody.js +10 -3
  139. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  140. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  141. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  142. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  143. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  144. package/cjs/components/SidePage/SidePageFooter.js +15 -6
  145. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  146. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  147. package/cjs/components/SidePage/SidePageHeader.js +11 -5
  148. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  149. package/cjs/components/Spinner/Spinner.d.ts +3 -1
  150. package/cjs/components/Spinner/Spinner.js +8 -8
  151. package/cjs/components/Spinner/Spinner.js.map +1 -1
  152. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  153. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  154. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  155. package/cjs/components/Sticky/Sticky.js +11 -6
  156. package/cjs/components/Sticky/Sticky.js.map +1 -1
  157. package/cjs/components/Switcher/Switcher.d.ts +5 -1
  158. package/cjs/components/Switcher/Switcher.js +8 -3
  159. package/cjs/components/Switcher/Switcher.js.map +1 -1
  160. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  161. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  162. package/cjs/components/Tabs/Indicator.js +6 -3
  163. package/cjs/components/Tabs/Indicator.js.map +1 -1
  164. package/cjs/components/Tabs/Tab.d.ts +3 -0
  165. package/cjs/components/Tabs/Tab.js +7 -2
  166. package/cjs/components/Tabs/Tab.js.map +1 -1
  167. package/cjs/components/Tabs/Tabs.d.ts +7 -1
  168. package/cjs/components/Tabs/Tabs.js +20 -7
  169. package/cjs/components/Tabs/Tabs.js.map +1 -1
  170. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  171. package/cjs/components/Textarea/Textarea.js +14 -9
  172. package/cjs/components/Textarea/Textarea.js.map +1 -1
  173. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  174. package/cjs/components/Textarea/TextareaCounter.js +21 -12
  175. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  176. package/cjs/components/Toast/Toast.d.ts +6 -0
  177. package/cjs/components/Toast/Toast.js +9 -2
  178. package/cjs/components/Toast/Toast.js.map +1 -1
  179. package/cjs/components/Toast/ToastStatic.js +1 -1
  180. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  181. package/cjs/components/Toast/ToastView.js +6 -5
  182. package/cjs/components/Toast/ToastView.js.map +1 -1
  183. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  184. package/cjs/components/Toast/ToastView.styles.js +3 -2
  185. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  186. package/cjs/components/Toggle/Toggle.d.ts +4 -1
  187. package/cjs/components/Toggle/Toggle.js +7 -3
  188. package/cjs/components/Toggle/Toggle.js.map +1 -1
  189. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  190. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  191. package/cjs/components/Token/Token.d.ts +3 -0
  192. package/cjs/components/Token/Token.js +20 -3
  193. package/cjs/components/Token/Token.js.map +1 -1
  194. package/cjs/components/Token/Token.styles.js +13 -6
  195. package/cjs/components/Token/Token.styles.js.map +1 -1
  196. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  197. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  198. package/cjs/components/TokenInput/TokenInput.d.ts +4 -0
  199. package/cjs/components/TokenInput/TokenInput.js +20 -12
  200. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  201. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  202. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  203. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  204. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  205. package/cjs/components/Tooltip/Tooltip.d.ts +6 -2
  206. package/cjs/components/Tooltip/Tooltip.js +17 -8
  207. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  208. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  209. package/cjs/components/TooltipMenu/TooltipMenu.js +9 -2
  210. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  211. package/cjs/hooks/useDrop.js +3 -1
  212. package/cjs/hooks/useDrop.js.map +1 -1
  213. package/cjs/index.d.ts +2 -0
  214. package/cjs/index.js +2 -0
  215. package/cjs/index.js.map +1 -1
  216. package/cjs/internal/BGRuler.js +3 -1
  217. package/cjs/internal/BGRuler.js.map +1 -1
  218. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  219. package/cjs/internal/Calendar/Calendar.js +12 -5
  220. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  221. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  222. package/cjs/internal/Calendar/MonthView.js +5 -4
  223. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  224. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  225. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  226. package/cjs/internal/CommonWrapper/CommonWrapper.js +13 -8
  227. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  228. package/cjs/internal/ComponentTable.d.ts +4 -2
  229. package/cjs/internal/ComponentTable.js +1 -0
  230. package/cjs/internal/ComponentTable.js.map +1 -1
  231. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  232. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +28 -5
  233. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  234. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  235. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  236. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  237. package/cjs/internal/CustomComboBox/CustomComboBox.js +9 -4
  238. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  239. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  240. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  241. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  242. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  243. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  244. package/cjs/internal/DataTids/DataTids.js +46 -0
  245. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  246. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  247. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  248. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  249. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  250. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  251. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  252. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  253. package/cjs/internal/DateSelect/DateSelect.js +30 -13
  254. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  255. package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
  256. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  257. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  258. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  259. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  260. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +17 -8
  261. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  262. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  263. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  264. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  265. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  266. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  267. package/cjs/internal/InputLikeText/InputLikeText.d.ts +5 -1
  268. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  269. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  270. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  271. package/cjs/internal/InternalMenu/InternalMenu.js +12 -9
  272. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  273. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  274. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  275. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  276. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  277. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  278. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  279. package/cjs/internal/MaskedInput/MaskedInput.js +13 -5
  280. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  281. package/cjs/internal/Menu/Menu.d.ts +3 -0
  282. package/cjs/internal/Menu/Menu.js +20 -16
  283. package/cjs/internal/Menu/Menu.js.map +1 -1
  284. package/cjs/internal/Menu/Menu.styles.js +5 -3
  285. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  286. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  287. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  288. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  289. package/cjs/internal/Popup/Popup.d.ts +6 -1
  290. package/cjs/internal/Popup/Popup.js +21 -14
  291. package/cjs/internal/Popup/Popup.js.map +1 -1
  292. package/cjs/internal/Popup/PopupHelper.js +4 -2
  293. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  294. package/cjs/internal/Popup/PopupPin.js +2 -1
  295. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  296. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
  297. package/cjs/internal/PopupMenu/PopupMenu.js +22 -4
  298. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  299. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  300. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  301. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  302. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  303. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -1
  304. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  305. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  306. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  307. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  308. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  309. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  310. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  311. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  312. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  313. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  314. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  315. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  316. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  317. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  318. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  319. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  320. package/cjs/internal/ThemePlayground/ThemeEditor.js +8 -1
  321. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  322. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  323. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  324. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  325. package/cjs/internal/ThemePlayground/constants.js +3 -1
  326. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  327. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  328. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  329. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  330. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  332. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  333. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  334. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  335. package/cjs/internal/icons/16px/index.d.ts +19 -19
  336. package/cjs/internal/icons/16px/index.js +45 -38
  337. package/cjs/internal/icons/16px/index.js.map +1 -1
  338. package/cjs/internal/icons/20px/svg.js +6 -0
  339. package/cjs/internal/icons/20px/svg.js.map +1 -1
  340. package/cjs/internal/themes/DefaultTheme.d.ts +21 -1
  341. package/cjs/internal/themes/DefaultTheme.js +43 -5
  342. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  343. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  344. package/cjs/internal/themes/NotFlat.js +12 -2
  345. package/cjs/internal/themes/NotFlat.js.map +1 -1
  346. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  347. package/cjs/internal/themes/Theme2022.js +100 -0
  348. package/cjs/internal/themes/Theme2022.js.map +1 -0
  349. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  350. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  351. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  352. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  353. package/cjs/lib/ConditionalHandler.js +5 -3
  354. package/cjs/lib/ConditionalHandler.js.map +1 -1
  355. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  356. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  357. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  358. package/cjs/lib/ModalStack.d.ts +1 -1
  359. package/cjs/lib/ModalStack.js.map +1 -1
  360. package/cjs/lib/SSRSafe.d.ts +1 -0
  361. package/cjs/lib/SSRSafe.js +9 -1
  362. package/cjs/lib/SSRSafe.js.map +1 -1
  363. package/cjs/lib/animation/index.d.ts +1 -1
  364. package/cjs/lib/animation/index.js +3 -3
  365. package/cjs/lib/animation/index.js.map +1 -1
  366. package/cjs/lib/date/InternalDate.js +23 -9
  367. package/cjs/lib/date/InternalDate.js.map +1 -1
  368. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  369. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  370. package/cjs/lib/date/InternalDateGetter.js +23 -6
  371. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  372. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  373. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  374. package/cjs/lib/date/InternalDateValidator.js +31 -6
  375. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  376. package/cjs/lib/dom/getDOMRect.d.ts +5 -2
  377. package/cjs/lib/dom/getDOMRect.js +30 -18
  378. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  379. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  380. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  381. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  382. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  383. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  384. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  385. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  386. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  387. package/cjs/lib/rootNode/getRootNode.js +16 -10
  388. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  389. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -6
  390. package/cjs/lib/rootNode/rootNodeDecorator.js +11 -13
  391. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  392. package/cjs/lib/stringUtils.js +3 -1
  393. package/cjs/lib/stringUtils.js.map +1 -1
  394. package/cjs/lib/styles/ColorFactory.js +9 -9
  395. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  396. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  397. package/cjs/lib/styles/ColorHelpers.js +33 -10
  398. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  399. package/cjs/lib/styles/ColorObject.js +3 -2
  400. package/cjs/lib/styles/ColorObject.js.map +1 -1
  401. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  402. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  403. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  404. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  405. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  406. package/cjs/lib/theming/Emotion.js +5 -2
  407. package/cjs/lib/theming/Emotion.js.map +1 -1
  408. package/cjs/lib/theming/ThemeFactory.js +5 -1
  409. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  410. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  411. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  412. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  413. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  414. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  415. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  416. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  417. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  418. package/cjs/lib/utils.d.ts +15 -0
  419. package/cjs/lib/utils.js +45 -9
  420. package/cjs/lib/utils.js.map +1 -1
  421. package/components/Autocomplete/Autocomplete/Autocomplete.js +18 -20
  422. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  423. package/components/Autocomplete/Autocomplete.d.ts +3 -1
  424. package/components/Button/Button/Button.js +8 -10
  425. package/components/Button/Button/Button.js.map +1 -1
  426. package/components/Button/Button.d.ts +4 -5
  427. package/components/Button/Button.styles/Button.styles.js +1 -1
  428. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  429. package/components/Center/Center/Center.js +10 -5
  430. package/components/Center/Center/Center.js.map +1 -1
  431. package/components/Center/Center.d.ts +3 -0
  432. package/components/Checkbox/Checkbox/Checkbox.js +4 -0
  433. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  434. package/components/Checkbox/Checkbox.d.ts +3 -0
  435. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -1
  436. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  437. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  438. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  439. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +30 -17
  440. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  441. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  442. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  443. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  444. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  445. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  446. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  447. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  448. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  449. package/components/DateInput/DateInput.styles/DateInput.styles.js +2 -2
  450. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  451. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
  452. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  453. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  454. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  455. package/components/DatePicker/DatePicker.d.ts +6 -1
  456. package/components/DatePicker/Picker/Picker.js +3 -1
  457. package/components/DatePicker/Picker/Picker.js.map +1 -1
  458. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  459. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  460. package/components/Dropdown/Dropdown.d.ts +3 -0
  461. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  462. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  463. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  464. package/components/FileUploader/FileUploader/FileUploader.js +18 -9
  465. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  466. package/components/FileUploader/FileUploader.d.ts +5 -0
  467. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  468. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  469. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  470. package/components/FxInput/FxInput/FxInput.js +6 -2
  471. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  472. package/components/FxInput/FxInput.d.ts +3 -0
  473. package/components/Gapped/Gapped/Gapped.js +14 -7
  474. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  475. package/components/Gapped/Gapped.d.ts +4 -0
  476. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +9 -8
  477. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  478. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  479. package/components/Group/Group/Group.js +66 -30
  480. package/components/Group/Group/Group.js.map +1 -1
  481. package/components/Group/Group.d.ts +3 -0
  482. package/components/Hint/Hint/Hint.js +6 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +4 -1
  485. package/components/Input/Input/Input.js +18 -31
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +4 -5
  488. package/components/Kebab/Kebab/Kebab.js +3 -13
  489. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  490. package/components/Kebab/Kebab.d.ts +2 -13
  491. package/components/Link/Link/Link.js +10 -5
  492. package/components/Link/Link/Link.js.map +1 -1
  493. package/components/Link/Link.d.ts +3 -0
  494. package/components/Loader/Loader/Loader.js +21 -18
  495. package/components/Loader/Loader/Loader.js.map +1 -1
  496. package/components/Loader/Loader.d.ts +4 -0
  497. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  498. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  499. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  500. package/components/MenuItem/MenuItem/MenuItem.js +15 -9
  501. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  502. package/components/MenuItem/MenuItem.d.ts +4 -0
  503. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  504. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  505. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  506. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  507. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  508. package/components/Modal/Modal/Modal.js +9 -3
  509. package/components/Modal/Modal/Modal.js.map +1 -1
  510. package/components/Modal/Modal.d.ts +5 -0
  511. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  512. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  513. package/components/Modal/ModalClose/ModalClose.js +2 -1
  514. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  515. package/components/Modal/ModalFooter/ModalFooter.js +6 -2
  516. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  517. package/components/Modal/ModalFooter.d.ts +3 -0
  518. package/components/Modal/ModalHeader/ModalHeader.js +6 -2
  519. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  520. package/components/Modal/ModalHeader.d.ts +3 -0
  521. package/components/Paging/Paging/Paging.js +24 -18
  522. package/components/Paging/Paging/Paging.js.map +1 -1
  523. package/components/Paging/Paging.d.ts +20 -3
  524. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  525. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  526. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  527. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  528. package/components/PasswordInput/PasswordInput/PasswordInput.js +38 -12
  529. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  530. package/components/PasswordInput/PasswordInput.d.ts +7 -0
  531. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  532. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  533. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  534. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  535. package/components/Radio/Radio/Radio.js +10 -5
  536. package/components/Radio/Radio/Radio.js.map +1 -1
  537. package/components/Radio/Radio.d.ts +3 -0
  538. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  539. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  540. package/components/RadioGroup/RadioGroup/RadioGroup.js +16 -12
  541. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  542. package/components/RadioGroup/RadioGroup.d.ts +4 -1
  543. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  544. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  545. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  546. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  547. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  548. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +9 -3
  549. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  550. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  551. package/components/Select/Select/Select.js +41 -17
  552. package/components/Select/Select/Select.js.map +1 -1
  553. package/components/Select/Select.d.ts +10 -5
  554. package/components/SidePage/SidePage/SidePage.js +8 -22
  555. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  556. package/components/SidePage/SidePage.d.ts +4 -1
  557. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  558. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  559. package/components/SidePage/SidePageBody.d.ts +3 -0
  560. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  561. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  562. package/components/SidePage/SidePageContainer.d.ts +3 -0
  563. package/components/SidePage/SidePageFooter/SidePageFooter.js +14 -10
  564. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  565. package/components/SidePage/SidePageFooter.d.ts +3 -0
  566. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  567. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  568. package/components/SidePage/SidePageHeader.d.ts +4 -0
  569. package/components/Spinner/Spinner/Spinner.js +14 -6
  570. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  571. package/components/Spinner/Spinner.d.ts +3 -1
  572. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  573. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  574. package/components/Sticky/Sticky/Sticky.js +13 -8
  575. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  576. package/components/Sticky/Sticky.d.ts +3 -0
  577. package/components/Switcher/Switcher/Switcher.js +4 -0
  578. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  579. package/components/Switcher/Switcher.d.ts +5 -1
  580. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  581. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  582. package/components/Tabs/Indicator/Indicator.js +4 -1
  583. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  584. package/components/Tabs/Tab/Tab.js +4 -0
  585. package/components/Tabs/Tab/Tab.js.map +1 -1
  586. package/components/Tabs/Tab.d.ts +3 -0
  587. package/components/Tabs/Tabs/Tabs.js +11 -6
  588. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  589. package/components/Tabs/Tabs.d.ts +7 -1
  590. package/components/Textarea/Textarea/Textarea.js +21 -15
  591. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  592. package/components/Textarea/Textarea.d.ts +6 -2
  593. package/components/Textarea/TextareaCounter/TextareaCounter.js +13 -2
  594. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  595. package/components/Textarea/TextareaCounter.d.ts +1 -2
  596. package/components/Toast/Toast/Toast.js +16 -10
  597. package/components/Toast/Toast/Toast.js.map +1 -1
  598. package/components/Toast/Toast.d.ts +6 -0
  599. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  600. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  601. package/components/Toast/ToastView/ToastView.js +5 -4
  602. package/components/Toast/ToastView/ToastView.js.map +1 -1
  603. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  604. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  605. package/components/Toast/ToastView.styles.d.ts +1 -1
  606. package/components/Toggle/Toggle/Toggle.js +8 -4
  607. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  608. package/components/Toggle/Toggle.d.ts +4 -1
  609. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  610. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  611. package/components/Token/Token/Token.js +16 -1
  612. package/components/Token/Token/Token.js.map +1 -1
  613. package/components/Token/Token.d.ts +3 -0
  614. package/components/Token/Token.styles/Token.styles.js +11 -4
  615. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  616. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  617. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  618. package/components/TokenInput/TokenInput/TokenInput.js +24 -14
  619. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  620. package/components/TokenInput/TokenInput.d.ts +4 -0
  621. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  622. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  623. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  624. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  625. package/components/Tooltip/Tooltip/Tooltip.js +17 -9
  626. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  627. package/components/Tooltip/Tooltip.d.ts +6 -2
  628. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +18 -12
  629. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  630. package/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  631. package/hooks/useDrop/useDrop.js +5 -1
  632. package/hooks/useDrop/useDrop.js.map +1 -1
  633. package/index.d.ts +2 -0
  634. package/index.js +2 -0
  635. package/index.js.map +1 -1
  636. package/internal/BGRuler/BGRuler.js +2 -1
  637. package/internal/BGRuler/BGRuler.js.map +1 -1
  638. package/internal/Calendar/Calendar/Calendar.js +13 -5
  639. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  640. package/internal/Calendar/Calendar.d.ts +6 -0
  641. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  642. package/internal/Calendar/MonthView/MonthView.js +4 -3
  643. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  644. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  645. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  646. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +12 -12
  647. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  648. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  649. package/internal/ComponentTable.d.ts +4 -2
  650. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +34 -19
  651. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  652. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  653. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  654. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  655. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +21 -17
  656. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  657. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  658. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  659. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  661. package/internal/DataTids/DATATIDS.md +12 -0
  662. package/internal/DataTids/DataTids/DataTids.js +69 -0
  663. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  664. package/internal/DataTids/DataTids/package.json +6 -0
  665. package/internal/DataTids/DataTids.d.ts +12 -0
  666. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  667. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  668. package/internal/DataTids/DataTids.styles/package.json +6 -0
  669. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  670. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  671. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  672. package/internal/DataTids/componentsDataTids/package.json +6 -0
  673. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  674. package/internal/DateSelect/DateSelect/DateSelect.js +29 -18
  675. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  676. package/internal/DateSelect/DateSelect.d.ts +4 -0
  677. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
  678. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  679. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  680. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  681. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +15 -7
  682. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  683. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  684. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  685. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  686. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  687. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  688. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  689. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  690. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  691. package/internal/InputLikeText/InputLikeText.d.ts +5 -1
  692. package/internal/InternalMenu/InternalMenu/InternalMenu.js +19 -17
  693. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  694. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  695. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  696. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  697. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  698. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  699. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  700. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  701. package/internal/MaskedInput/MaskedInput/MaskedInput.js +11 -3
  702. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  703. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  704. package/internal/Menu/Menu/Menu.js +13 -14
  705. package/internal/Menu/Menu/Menu.js.map +1 -1
  706. package/internal/Menu/Menu.d.ts +3 -0
  707. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  708. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  709. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  710. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  711. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  712. package/internal/Popup/Popup/Popup.js +19 -14
  713. package/internal/Popup/Popup/Popup.js.map +1 -1
  714. package/internal/Popup/Popup.d.ts +6 -1
  715. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  716. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  717. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  718. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  719. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -2
  720. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  721. package/internal/PopupMenu/PopupMenu.d.ts +8 -0
  722. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  723. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  724. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  725. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +8 -2
  726. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  727. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  728. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  729. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  730. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
  731. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  732. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  733. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  734. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  735. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  736. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  737. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  738. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  739. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  740. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  741. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  742. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  743. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  744. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  745. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  746. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  747. package/internal/ThemePlayground/constants/constants.js +2 -0
  748. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  749. package/internal/ThemePlayground/constants.d.ts +3 -1
  750. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  751. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  752. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  753. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  754. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  755. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  756. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  757. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  758. package/internal/icons/16px/index/index.js +28 -20
  759. package/internal/icons/16px/index/index.js.map +1 -1
  760. package/internal/icons/16px/index.d.ts +19 -19
  761. package/internal/icons/20px/svg/svg.js +5 -0
  762. package/internal/icons/20px/svg/svg.js.map +1 -1
  763. package/internal/themes/DefaultTheme/DefaultTheme.js +53 -4
  764. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  765. package/internal/themes/DefaultTheme.d.ts +21 -1
  766. package/internal/themes/NotFlat/NotFlat.js +15 -0
  767. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  768. package/internal/themes/NotFlat.d.ts +6 -0
  769. package/internal/themes/Theme2022/Theme2022.js +78 -0
  770. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  771. package/internal/themes/Theme2022/package.json +6 -0
  772. package/internal/themes/Theme2022.d.ts +66 -0
  773. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  774. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  775. package/internal/themes/Theme2022Dark/package.json +6 -0
  776. package/internal/themes/Theme2022Dark.d.ts +5 -0
  777. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  778. package/lib/ConditionalHandler.d.ts +3 -2
  779. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  780. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  781. package/lib/InstanceWithAnchorElement/package.json +6 -0
  782. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  783. package/lib/ModalStack/ModalStack.js.map +1 -1
  784. package/lib/ModalStack.d.ts +1 -1
  785. package/lib/SSRSafe/SSRSafe.js +7 -0
  786. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  787. package/lib/SSRSafe.d.ts +1 -0
  788. package/lib/animation/index/index.js +1 -1
  789. package/lib/animation/index/index.js.map +1 -1
  790. package/lib/animation/index.d.ts +1 -1
  791. package/lib/date/InternalDate/InternalDate.js +16 -1
  792. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  793. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  794. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  795. package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
  796. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  797. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  798. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  799. package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
  800. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  801. package/lib/dom/getDOMRect/getDOMRect.js +32 -15
  802. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  803. package/lib/dom/getDOMRect.d.ts +5 -2
  804. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  805. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  806. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  807. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  808. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  809. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  810. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  811. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  812. package/lib/rootNode/getRootNode/getRootNode.js +14 -10
  813. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  814. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +10 -4
  815. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  816. package/lib/rootNode/rootNodeDecorator.d.ts +3 -6
  817. package/lib/stringUtils/stringUtils.js +4 -1
  818. package/lib/stringUtils/stringUtils.js.map +1 -1
  819. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  820. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  821. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  822. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  823. package/lib/styles/ColorHelpers.d.ts +1 -0
  824. package/lib/styles/ColorObject/ColorObject.js +2 -2
  825. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  826. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  827. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  828. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  829. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  830. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  831. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  832. package/lib/theming/Emotion/Emotion.js +5 -2
  833. package/lib/theming/Emotion/Emotion.js.map +1 -1
  834. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  835. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  836. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  837. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  838. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  839. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  840. package/lib/theming/themes/Theme2022/package.json +6 -0
  841. package/lib/theming/themes/Theme2022.d.ts +1 -0
  842. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  843. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  844. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  845. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  846. package/lib/utils/utils.js +42 -6
  847. package/lib/utils/utils.js.map +1 -1
  848. package/lib/utils.d.ts +15 -0
  849. package/package.json +6 -3
  850. package/cjs/components/Button/Corners.d.ts +0 -6
  851. package/cjs/components/Button/Corners.js +0 -5
  852. package/cjs/components/Button/Corners.js.map +0 -1
  853. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  854. package/cjs/lib/polyfillPlaceholder.js +0 -17
  855. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  856. package/components/Button/Corners/Corners.js +0 -6
  857. package/components/Button/Corners/Corners.js.map +0 -1
  858. package/components/Button/Corners/package.json +0 -6
  859. package/components/Button/Corners.d.ts +0 -6
  860. package/lib/polyfillPlaceholder/package.json +0 -6
  861. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  862. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  863. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["Calendar.tsx"],"names":["getTodayDate","date","Date","getDate","month","getMonth","year","getFullYear","Calendar","props","animation","touchStartY","scrollToMonth","inProgress","finish","Promise","r","setTimeout","minDate","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","CalendarUtils","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","MonthViewModel","create","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","refRoot","styles","root","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","element","isMobile","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","CalendarScrollEvents","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","window","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","today","initialMonth","initialYear","touchStart","componentWillUnmount","cancel","render","value","onSelect","isHoliday","position","push","React","Component","__KONTUR_REACT_UI__","defaultProps","holidays","MIN_YEAR","MIN_MONTH","MIN_DATE","MAX_YEAR","MAX_MONTH","MAX_DATE"],"mappings":"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","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\n\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\n\nimport { themeConfig } from './config';\nimport * as CalendarUtils from './CalendarUtils';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\n\nexport interface CalendarProps {\n initialMonth?: number;\n initialYear?: number;\n onSelect?: (date: CalendarDateShape) => void;\n value?: Nullable<CalendarDateShape>;\n maxDate?: CalendarDateShape;\n minDate?: CalendarDateShape;\n isHoliday?: (day: CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n touchStart: number;\n}\n\nconst getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n public static defaultProps = {\n holidays: [],\n minDate: {\n year: MIN_YEAR,\n month: MIN_MONTH,\n date: MIN_DATE,\n },\n maxDate: {\n year: MAX_YEAR,\n month: MAX_MONTH,\n date: MAX_DATE,\n },\n };\n\n private theme!: Theme;\n private wheelEndTimeout: Nullable<number>;\n private root: Nullable<HTMLElement>;\n private animation = Animation();\n private touchStartY: Nullable<number> = null;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const today = getTodayDate();\n\n const initialMonth = props.initialMonth == null ? today.month : props.initialMonth;\n const initialYear = props.initialYear == null ? today.year : props.initialYear;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n touchStart: 0,\n };\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Scrolls calendar to given date\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r));\n }\n\n const { minDate, maxDate } = this.props;\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () =>\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n\n const isYearChanges = (state: CalendarState) =>\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2;\n\n // 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 MonthViewModel.create(month + index, year),\n );\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) =>\n MonthViewModel.create(month + index - monthsToAppendCount + 2, year),\n );\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n return (\n <div ref={this.refRoot} className={styles.root(this.theme)} data-tid=\"Calendar\">\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n </div>\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 maxDate={this.props.maxDate}\n minDate={this.props.minDate}\n today={this.state.today}\n value={this.props.value}\n onDateClick={this.props.onSelect}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.props.isHoliday}\n />\n );\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) =>\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any),\n );\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = window.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) =>\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any),\n );\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) =>\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n })),\n onEnd,\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Calendar.tsx"],"names":["CalendarDataTids","root","month","headerMonth","headerYear","getTodayDate","date","Date","getDate","getMonth","year","getFullYear","Calendar","props","animation","touchStartY","scrollToMonth","inProgress","finish","Promise","r","setTimeout","minDate","maxDate","currentMonth","state","months","diffInMonths","scrollTo","maxMonthsToAdd","theme","MAX_MONTHS_TO_APPEND_ON_SCROLL","onEnd","setState","CalendarUtils","getMonths","scrollPosition","isYearChanges","Math","abs","monthsToPrependCount","min","monthsToPrepend","Array","from","length","_","index","MonthViewModel","create","yearChanges","isFirstInYear","isLastInYear","concat","getMonthsHeight","targetPosition","getHeight","monthsToAppendCount","monthsToAppend","slice","renderMain","positions","getMonthPositions","wrapperStyle","height","WRAPPER_HEIGHT","refRoot","styles","wrapper","map","x","i","filter","top","isMonthVisible","renderMonth","element","isMobile","addEventListener","handleTouchStart","throttledHandleTouchMove","handleWheel","passive","removeEventListener","handleMonthYearChange","executeAnimations","pixelY","calculateScrollPosition","scrollTarget","handleWheelEnd","animate","deltaY","applyDelta","CalendarScrollEvents","emit","event","TouchEvent","clientY","targetTouches","handleTouchMove","changedTouches","WheelEvent","preventDefault","wheelEndTimeout","clearTimeout","window","scrollToNearestWeek","scrollDirection","trasholdHeight","MONTH_TITLE_OFFSET_HEIGHT","DAY_SIZE","amount","pos","scrollAmmount","scrollAmount","today","initialMonth","initialYear","touchStart","componentWillUnmount","cancel","render","value","onSelect","isHoliday","position","push","React","Component","__KONTUR_REACT_UI__","defaultProps","holidays","MIN_YEAR","MIN_MONTH","MIN_DATE","MAX_YEAR","MAX_MONTH","MAX_DATE"],"mappings":"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","sourcesContent":["import React from 'react';\nimport normalizeWheel from 'normalize-wheel';\nimport throttle from 'lodash.throttle';\n\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { animation } from '../../lib/animation';\nimport { isMobile } from '../../lib/client';\n\nimport { themeConfig } from './config';\nimport * as CalendarUtils from './CalendarUtils';\nimport { MonthViewModel } from './MonthViewModel';\nimport * as CalendarScrollEvents from './CalendarScrollEvents';\nimport { Month } from './Month';\nimport { styles } from './Calendar.styles';\nimport { CalendarDateShape, create, isGreater, isLess } from './CalendarDateShape';\n\nexport interface CalendarProps {\n initialMonth?: number;\n initialYear?: number;\n onSelect?: (date: CalendarDateShape) => void;\n value?: Nullable<CalendarDateShape>;\n maxDate?: CalendarDateShape;\n minDate?: CalendarDateShape;\n isHoliday?: (day: CalendarDateShape & { isWeekend: boolean }) => boolean;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n today: CalendarDateShape;\n scrollDirection: number;\n scrollTarget: number;\n touchStart: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar',\n month: 'MonthView__month',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\nconst getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n\n public static defaultProps = {\n holidays: [],\n minDate: {\n year: MIN_YEAR,\n month: MIN_MONTH,\n date: MIN_DATE,\n },\n maxDate: {\n year: MAX_YEAR,\n month: MAX_MONTH,\n date: MAX_DATE,\n },\n };\n\n private theme!: Theme;\n private wheelEndTimeout: Nullable<number>;\n private root: Nullable<HTMLElement>;\n private animation = animation();\n private touchStartY: Nullable<number> = null;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const today = getTodayDate();\n\n const initialMonth = props.initialMonth ?? today.month;\n const initialYear = props.initialYear ?? today.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n today,\n scrollDirection: 1,\n scrollTarget: 0,\n touchStart: 0,\n };\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Scrolls calendar to given date\n * @public\n */\n public scrollToMonth = async (month: number, year: number) => {\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r));\n }\n\n const { minDate, maxDate } = this.props;\n\n if (minDate && isGreater(minDate, create(32, month, year))) {\n this.scrollToMonth(minDate.month, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, month, year))) {\n this.scrollToMonth(maxDate.month, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - month - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () =>\n this.setState({\n months: CalendarUtils.getMonths(month, year),\n scrollPosition: 0,\n });\n\n const isYearChanges = (state: CalendarState) =>\n state.months[1].year !== year &&\n // if diff in months is 2 or less,\n // either year is not changing either months already\n // have right isFirstInYear/isLastInYear flags\n Math.abs(diffInMonths) > 2;\n\n // 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 MonthViewModel.create(month + index, year),\n );\n this.setState(\n (state) => {\n const yearChanges = isYearChanges(state);\n if (yearChanges) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[0].isFirstInYear = true;\n if (monthsToPrepend.length) {\n // Mutating item here is safe as it was just created\n monthsToPrepend[monthsToPrepend.length - 1].isLastInYear = true;\n }\n }\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) =>\n MonthViewModel.create(month + index - monthsToAppendCount + 2, year),\n );\n this.setState(\n (state) => {\n if (isYearChanges(state)) {\n // Mutating here can lead to some unexpected bugs\n // but we couldn't find any yet\n state.months[state.months.length - 1].isLastInYear = true;\n // Mutating item here is safe as it was just created\n if (monthsToAppend[0]) {\n monthsToAppend[0].isFirstInYear = true;\n }\n }\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private renderMain = () => {\n const positions = this.getMonthPositions();\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n return (\n <div ref={this.refRoot} className={styles.root(this.theme)} data-tid={CalendarDataTids.root}>\n <div style={wrapperStyle} className={styles.wrapper()}>\n {this.state.months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme))\n .map(this.renderMonth, this)}\n </div>\n </div>\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 maxDate={this.props.maxDate}\n minDate={this.props.minDate}\n today={this.state.today}\n value={this.props.value}\n onDateClick={this.props.onSelect}\n onMonthYearChange={this.handleMonthYearChange}\n isHoliday={this.props.isHoliday}\n />\n );\n }\n\n private getMonthPositions() {\n const { scrollPosition, months } = this.state;\n\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private handleMonthYearChange = (month: number, year: number) => {\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) =>\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any),\n );\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = window.setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const trasholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_SIZE;\n\n if (scrollTarget < trasholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = trasholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) =>\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any),\n );\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) =>\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n })),\n onEnd,\n );\n };\n}\n"]}
@@ -5,7 +5,7 @@ export interface CalendarDateShape {
5
5
  date: number;
6
6
  }
7
7
  export declare const isEqual: (a: Nullable<CalendarDateShape>, b: Nullable<CalendarDateShape>) => boolean | null | undefined;
8
- export declare const comparator: (a: CalendarDateShape, b: CalendarDateShape) => 1 | 0 | -1;
8
+ export declare const comparator: (a: CalendarDateShape, b: CalendarDateShape) => 0 | 1 | -1;
9
9
  export declare const create: (date: number, month: number, year: number) => CalendarDateShape;
10
10
  export declare const isLess: (left: CalendarDateShape, right: CalendarDateShape) => boolean;
11
11
  export declare const isLessOrEqual: (left: CalendarDateShape, right: CalendarDateShape) => boolean | null | undefined;
@@ -7,7 +7,8 @@ var _Emotion = require("../../lib/theming/Emotion");
7
7
 
8
8
  var _MonthView = require("./MonthView.styles");
9
9
  var _config = require("./config");
10
- var CDS = _interopRequireWildcard(require("./CalendarDateShape"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
10
+ var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
11
+ var _Calendar = require("./Calendar");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
11
12
 
12
13
 
13
14
 
@@ -78,7 +79,7 @@ function MonthView(props) {var _cx;
78
79
  };
79
80
 
80
81
  return /*#__PURE__*/(
81
- _react.default.createElement("div", { "data-tid": "MonthView__month", className: _MonthView.styles.month(theme), style: { top: top }, key: month + '-' + year }, /*#__PURE__*/
82
+ _react.default.createElement("div", { "data-tid": _Calendar.CalendarDataTids.month, className: _MonthView.styles.month(theme), style: { top: top }, key: month + '-' + year }, /*#__PURE__*/
82
83
  _react.default.createElement("div", {
83
84
  style: { top: headerTop },
84
85
  className: (0, _Emotion.cx)((_cx = {}, _cx[
@@ -87,7 +88,7 @@ function MonthView(props) {var _cx;
87
88
 
88
89
 
89
90
  _react.default.createElement("div", { style: { borderBottomColor: borderBottomColor }, className: _MonthView.styles.monthTitle(theme) }, /*#__PURE__*/
90
- _react.default.createElement("div", { "data-tid": "MonthView__headerMonth", className: _MonthView.styles.headerMonth(theme) }, /*#__PURE__*/
91
+ _react.default.createElement("div", { "data-tid": _Calendar.CalendarDataTids.headerMonth, className: _MonthView.styles.headerMonth(theme) }, /*#__PURE__*/
91
92
  _react.default.createElement(_DateSelect.DateSelect, {
92
93
  disabled: monthSelectDisabled,
93
94
  width: 85,
@@ -100,7 +101,7 @@ function MonthView(props) {var _cx;
100
101
 
101
102
 
102
103
  isYearVisible && /*#__PURE__*/
103
- _react.default.createElement("div", { "data-tid": "MonthView__headerYear", className: _MonthView.styles.headerYear(theme), style: { top: yearTop } }, /*#__PURE__*/
104
+ _react.default.createElement("div", { "data-tid": _Calendar.CalendarDataTids.headerYear, className: _MonthView.styles.headerYear(theme), style: { top: yearTop } }, /*#__PURE__*/
104
105
  _react.default.createElement(_DateSelect.DateSelect, {
105
106
  disabled: yearSelectDisabled,
106
107
  width: 50,
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthView.tsx"],"names":["MonthView","props","theme","ThemeContext","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","ColorFunctions","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","CDS","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","styles","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../DateSelect';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useContext(ThemeContext);\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n\n return (\n <div data-tid=\"MonthView__month\" className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid=\"MonthView__headerMonth\" className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid=\"MonthView__headerYear\" className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["MonthView.tsx"],"names":["MonthView","props","theme","ThemeContext","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","ColorFunctions","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","CDS","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","CalendarDataTids","styles","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../DateSelect';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useContext(ThemeContext);\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n\n return (\n <div data-tid={CalendarDataTids.month} className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -2,7 +2,31 @@
2
2
 
3
3
 
4
4
  var _config = require("./config");
5
- var _DayCellViewModel = require("./DayCellViewModel");var
5
+ var _DayCellViewModel = require("./DayCellViewModel");
6
+
7
+ var getCurrentYear = function getCurrentYear(month, year) {
8
+ if (month < 0) {
9
+ return year - Math.ceil(-month / 12);
10
+ }
11
+
12
+ if (month > 11) {
13
+ return year + Math.floor(month / 12);
14
+ }
15
+
16
+ return year;
17
+ };
18
+
19
+ var getCurrentMonth = function getCurrentMonth(month) {
20
+ if (month < 0) {
21
+ return 12 + month % 12;
22
+ }
23
+
24
+ if (month > 11) {
25
+ return month % 12;
26
+ }
27
+
28
+ return month;
29
+ };var
6
30
 
7
31
  MonthViewModel = /*#__PURE__*/function () {var _proto = MonthViewModel.prototype;_proto.
8
32
 
@@ -29,25 +53,20 @@ MonthViewModel = /*#__PURE__*/function () {var _proto = MonthViewModel.prototype
29
53
  };
30
54
 
31
55
  function MonthViewModel(month, year) {
32
- if (month < 0) {
33
- year -= Math.ceil(-month / 12);
34
- month = 12 + month % 12;
35
- }
36
- if (month > 11) {
37
- year += Math.floor(month / 12);
38
- month %= 12;
39
- }
40
- var daysCount = getMonthsDays(month, year);
41
- var offset = getMonthOffset(month, year);
56
+ var currentYear = getCurrentYear(month, year);
57
+ var currentMonth = getCurrentMonth(month);
58
+
59
+ var daysCount = getMonthsDays(currentMonth, currentYear);
60
+ var offset = getMonthOffset(currentMonth, currentYear);
42
61
  this.daysCount = daysCount;
43
62
  this.offset = offset;
44
- this.month = month;
45
- this.year = year;
46
- this.isLastInYear = month === 11;
47
- this.isFirstInYear = month === 0;
63
+ this.month = currentMonth;
64
+ this.year = currentYear;
65
+ this.isLastInYear = currentMonth === 11;
66
+ this.isFirstInYear = currentMonth === 0;
48
67
  this.days = Array.from({ length: daysCount }, function (_, i) {
49
- var isWeekend = (i + getMonthOffset(month, year)) % 7 >= 5;
50
- return _DayCellViewModel.DayCellViewModel.create(i + 1, month, year, isWeekend);
68
+ var isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;
69
+ return _DayCellViewModel.DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);
51
70
  });
52
71
  }return MonthViewModel;}();exports.MonthViewModel = MonthViewModel;MonthViewModel.create = (0, _memo.memo)(function (month, year) {return new MonthViewModel(month, year);});
53
72
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthViewModel.ts"],"names":["MonthViewModel","getHeight","theme","DAY_SIZE","MONTH_TITLE_OFFSET_HEIGHT","MONTH_BOTTOM_MARGIN","getMonthHeight","daysCount","offset","month","year","Math","ceil","floor","getMonthsDays","getMonthOffset","isLastInYear","isFirstInYear","days","Array","from","length","_","i","isWeekend","DayCellViewModel","create","dayHeight","titleHeight","marginBottom","Date","getDate","day","getDay"],"mappings":"uEAAA;;;AAGA;AACA,sD;;AAEaA,c;;;;;;;;;;;;;;;;;;;AAmBJC,EAAAA,S,GAAP,mBAAiBC,KAAjB,EAAuC;AACrC,uBAAqE,yBAAYA,KAAZ,CAArE,CAAQC,QAAR,gBAAQA,QAAR,CAAkBC,yBAAlB,gBAAkBA,yBAAlB,CAA6CC,mBAA7C,gBAA6CA,mBAA7C;AACA,WAAOC,cAAc,CAAC,KAAKC,SAAN,EAAiB,KAAKC,MAAtB,EAA8BL,QAA9B,EAAwCC,yBAAxC,EAAmEC,mBAAnE,CAArB;AACD,G;;AAED,0BAAoBI,KAApB,EAAmCC,IAAnC,EAAiD;AAC/C,QAAID,KAAK,GAAG,CAAZ,EAAe;AACbC,MAAAA,IAAI,IAAIC,IAAI,CAACC,IAAL,CAAU,CAACH,KAAD,GAAS,EAAnB,CAAR;AACAA,MAAAA,KAAK,GAAG,KAAMA,KAAK,GAAG,EAAtB;AACD;AACD,QAAIA,KAAK,GAAG,EAAZ,EAAgB;AACdC,MAAAA,IAAI,IAAIC,IAAI,CAACE,KAAL,CAAWJ,KAAK,GAAG,EAAnB,CAAR;AACAA,MAAAA,KAAK,IAAI,EAAT;AACD;AACD,QAAMF,SAAS,GAAGO,aAAa,CAACL,KAAD,EAAQC,IAAR,CAA/B;AACA,QAAMF,MAAM,GAAGO,cAAc,CAACN,KAAD,EAAQC,IAAR,CAA7B;AACA,SAAKH,SAAL,GAAiBA,SAAjB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKM,YAAL,GAAoBP,KAAK,KAAK,EAA9B;AACA,SAAKQ,aAAL,GAAqBR,KAAK,KAAK,CAA/B;AACA,SAAKS,IAAL,GAAYC,KAAK,CAACC,IAAN,CAAW,EAAEC,MAAM,EAAEd,SAAV,EAAX,EAAkC,UAACe,CAAD,EAAIC,CAAJ,EAAU;AACtD,UAAMC,SAAS,GAAG,CAACD,CAAC,GAAGR,cAAc,CAACN,KAAD,EAAQC,IAAR,CAAnB,IAAoC,CAApC,IAAyC,CAA3D;AACA,aAAOe,mCAAiBC,MAAjB,CAAwBH,CAAC,GAAG,CAA5B,EAA+Bd,KAA/B,EAAsCC,IAAtC,EAA4Cc,SAA5C,CAAP;AACD,KAHW,CAAZ;AAID,G,kEA7CUxB,c,CACG0B,M,GAAS,gBAAK,UAACjB,KAAD,EAAgBC,IAAhB,UAAiD,IAAIV,cAAJ,CAAmBS,KAAnB,EAA0BC,IAA1B,CAAjD,EAAL,C;;;AA+CzB,IAAMJ,cAAc,GAAG;AACrB,UAACC,SAAD,EAAoBC,MAApB,EAAoCmB,SAApC,EAAuDC,WAAvD,EAA4EC,YAA5E;AACElB,IAAAA,IAAI,CAACC,IAAL,CAAU,CAACL,SAAS,GAAGC,MAAb,IAAuB,CAAjC,IAAsCmB,SAAtC,GAAkDC,WAAlD,GAAgEC,YADlE,GADqB,CAAvB;;AAIA,IAAMf,aAAa,GAAG,gBAAK,UAACL,KAAD,EAAgBC,IAAhB,UAAiC,IAAIoB,IAAJ,CAASpB,IAAT,EAAeD,KAAK,GAAG,CAAvB,EAA0B,CAA1B,EAA6BsB,OAA7B,EAAjC,EAAL,CAAtB;;AAEA,IAAMhB,cAAc,GAAG,gBAAK,UAACN,KAAD,EAAgBC,IAAhB,EAAiC;AAC3D,MAAMsB,GAAG,GAAG,IAAIF,IAAJ,CAASpB,IAAT,EAAeD,KAAf,EAAsB,CAAtB,EAAyBwB,MAAzB,KAAoC,CAAhD;AACA,MAAID,GAAG,KAAK,CAAC,CAAb,EAAgB;AACd,WAAO,CAAP;AACD;AACD,SAAOA,GAAP;AACD,CANsB,CAAvB","sourcesContent":["import { memo } from '../../lib/memo';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { DayCellViewModel } from './DayCellViewModel';\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_SIZE, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN } = themeConfig(theme);\n return getMonthHeight(this.daysCount, this.offset, DAY_SIZE, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN);\n }\n\n private constructor(month: number, year: number) {\n if (month < 0) {\n year -= Math.ceil(-month / 12);\n month = 12 + (month % 12);\n }\n if (month > 11) {\n year += Math.floor(month / 12);\n month %= 12;\n }\n const daysCount = getMonthsDays(month, year);\n const offset = getMonthOffset(month, year);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = month;\n this.year = year;\n this.isLastInYear = month === 11;\n this.isFirstInYear = month === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(month, year)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, month, year, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (daysCount: number, offset: number, dayHeight: number, titleHeight: number, marginBottom: number) =>\n Math.ceil((daysCount + offset) / 7) * dayHeight + titleHeight + marginBottom,\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, month + 1, 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
1
+ {"version":3,"sources":["MonthViewModel.ts"],"names":["getCurrentYear","month","year","Math","ceil","floor","getCurrentMonth","MonthViewModel","getHeight","theme","DAY_SIZE","MONTH_TITLE_OFFSET_HEIGHT","MONTH_BOTTOM_MARGIN","getMonthHeight","daysCount","offset","currentYear","currentMonth","getMonthsDays","getMonthOffset","isLastInYear","isFirstInYear","days","Array","from","length","_","i","isWeekend","DayCellViewModel","create","dayHeight","titleHeight","marginBottom","Date","getDate","day","getDay"],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { DayCellViewModel } from './DayCellViewModel';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_SIZE, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN } = themeConfig(theme);\n return getMonthHeight(this.daysCount, this.offset, DAY_SIZE, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN);\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (daysCount: number, offset: number, dayHeight: number, titleHeight: number, marginBottom: number) =>\n Math.ceil((daysCount + offset) / 7) * dayHeight + titleHeight + marginBottom,\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, month + 1, 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
@@ -56,17 +56,22 @@ CommonWrapper = (0, _rootNode.rootNode)(_class = /*#__PURE__*/function (_React$C
56
56
 
57
57
 
58
58
 
59
- ref = function (instance) {var _this$child;
59
+ ref = function (instance) {var _this$rootNodeSubscri, _this$child;
60
60
  _this.setRootNode(instance);
61
61
  _this.props.rootNodeRef == null ? void 0 : _this.props.rootNodeRef((0, _rootNode.getRootNode)(instance));
62
- if (instance && (0, _rootNode.isRootNodeInstance)(instance)) {
63
- _this.rootNodeSubscription = instance.addRootNodeChangeListener(function (node) {
62
+
63
+ // refs are called when instances change
64
+ // so we have to renew or remove old subscription
65
+ (_this$rootNodeSubscri = _this.rootNodeSubscription) == null ? void 0 : _this$rootNodeSubscri.remove();
66
+ _this.rootNodeSubscription = null;
67
+
68
+ if (instance && (0, _rootNode.isInstanceWithRootNode)(instance)) {
69
+ _this.rootNodeSubscription = instance.addRootNodeChangeListener == null ? void 0 : instance.addRootNodeChangeListener(function (node) {
64
70
  _this.setRootNode(node);
65
71
  _this.props.rootNodeRef == null ? void 0 : _this.props.rootNodeRef(node);
66
72
  });
67
- } else {var _this$rootNodeSubscri;
68
- (_this$rootNodeSubscri = _this.rootNodeSubscription) == null ? void 0 : _this$rootNodeSubscri.remove();
69
73
  }
74
+
70
75
  var originalRef = (_this$child = _this.child) == null ? void 0 : _this$child.ref;
71
76
  originalRef && (0, _callChildRef.callChildRef)(originalRef, instance);
72
77
  };return _this;}var _proto = CommonWrapper.prototype;_proto.render = function render() {var _extractCommonProps = extractCommonProps(this.props),_extractCommonProps$ = _extractCommonProps[0],className = _extractCommonProps$.className,style = _extractCommonProps$.style,rootNodeRef = _extractCommonProps$.rootNodeRef,dataProps = (0, _objectWithoutPropertiesLoose2.default)(_extractCommonProps$, _excluded),_extractCommonProps$2 = _extractCommonProps[1],children = _extractCommonProps$2.children,rest = (0, _objectWithoutPropertiesLoose2.default)(_extractCommonProps$2, _excluded2);this.child = (0, _utils.isFunction)(children) ? children(rest) : children;return /*#__PURE__*/_react.default.isValidElement(this.child) ? /*#__PURE__*/_react.default.cloneElement(this.child, (0, _extends2.default)({ ref: (0, _utils.isRefableElement)(this.child) ? this.ref : null, className: (0, _Emotion.cx)(this.child.props.className, className), style: (0, _extends2.default)({}, this.child.props.style, style) }, dataProps)) : this.child;};return CommonWrapper;}(_react.default.Component)) || _class;exports.CommonWrapper = CommonWrapper;
@@ -93,9 +98,9 @@ props)
93
98
 
94
99
  var isCommonProp = function isCommonProp(name) {
95
100
  switch (true) {
96
- case name == 'className':
97
- case name == 'style':
98
- case name == 'rootNodeRef':
101
+ case name === 'className':
102
+ case name === 'style':
103
+ case name === 'rootNodeRef':
99
104
  case name.indexOf('data-') === 0: // все data-атрибуты
100
105
  return true;
101
106
  default:
@@ -1 +1 @@
1
- {"version":3,"sources":["CommonWrapper.tsx"],"names":["CommonWrapper","rootNode","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","addRootNodeChangeListener","node","remove","originalRef","child","render","extractCommonProps","className","style","dataProps","children","rest","isValidElement","React","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"ucAAA;;AAEA;AACA;;AAEA;AACA,mE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BaA,a,OADZC,kB;;;;;AAMSC,IAAAA,oB,GAAqD,I;;;;;;;;;;;;;;;;;;AAkBrDC,IAAAA,G,GAAM,UAACC,QAAD,EAA6C;AACzD,YAAKC,WAAL,CAAiBD,QAAjB;AACA,YAAKE,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyB,2BAAYH,QAAZ,CAAzB;AACA,UAAIA,QAAQ,IAAI,kCAAmBA,QAAnB,CAAhB,EAA8C;AAC5C,cAAKF,oBAAL,GAA4BE,QAAQ,CAACI,yBAAT,CAAmC,UAACC,IAAD,EAAU;AACvE,gBAAKJ,WAAL,CAAiBI,IAAjB;AACA,gBAAKH,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyBE,IAAzB;AACD,SAH2B,CAA5B;AAID,OALD,MAKO;AACL,uCAAKP,oBAAL,2CAA2BQ,MAA3B;AACD;AACD,UAAMC,WAAW,kBAAI,MAAKC,KAAT,qBAAG,YAA0CT,GAA9D;AACAQ,MAAAA,WAAW,IAAI,gCAAaA,WAAb,EAA0BP,QAA1B,CAAf;AACD,K,2DA7BDS,M,GAAA,kBAAS,CACP,0BAAiFC,kBAAkB,CAAC,KAAKR,KAAN,CAAnG,+CAASS,SAAT,wBAASA,SAAT,CAAoBC,KAApB,wBAAoBA,KAApB,CAA2BT,WAA3B,wBAA2BA,WAA3B,CAA2CU,SAA3C,+HAA0DC,QAA1D,yBAA0DA,QAA1D,CAAuEC,IAAvE,kFACA,KAAKP,KAAL,GAAa,uBAAWM,QAAX,IAAuBA,QAAQ,CAACC,IAAD,CAA/B,GAAwCD,QAArD,CACA,OAAO,4BAAME,cAAN,CAA6D,KAAKR,KAAlE,iBACHS,eAAMC,YAAN,CAAmB,KAAKV,KAAxB,2BACET,GAAG,EAAE,6BAAiB,KAAKS,KAAtB,IAA+B,KAAKT,GAApC,GAA0C,IADjD,EAEEY,SAAS,EAAE,iBAAG,KAAKH,KAAL,CAAWN,KAAX,CAAiBS,SAApB,EAA+BA,SAA/B,CAFb,EAGEC,KAAK,6BACA,KAAKJ,KAAL,CAAWN,KAAX,CAAiBU,KADjB,EAEAA,KAFA,CAHP,IAOKC,SAPL,EADG,GAUH,KAAKL,KAVT,CAWD,C,wBArBgFS,eAAME,S;;;AAuCzF,IAAMT,kBAAkB,GAAG,SAArBA,kBAAqB;AACzBR,KADyB;AAEqC;AAC9D,MAAMkB,MAAM,GAAG,EAAf;AACA,MAAML,IAAI,GAAG,EAAb;;AAEA,OAAK,IAAMM,GAAX,IAAkBnB,KAAlB,EAAyB;AACvB,QAAIoB,YAAY,CAACD,GAAD,CAAhB,EAAuB;AACrB;AACAD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcnB,KAAK,CAACmB,GAAD,CAAnB;AACD,KAHD,MAGO;AACL;AACAN,MAAAA,IAAI,CAACM,GAAD,CAAJ,GAAYnB,KAAK,CAACmB,GAAD,CAAjB;AACD;AACF;;AAED,SAAO,CAACD,MAAD,EAASL,IAAT,CAAP;AACD,CAjBD;;AAmBA,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAkB;AACrC,UAAQ,IAAR;AACE,SAAKA,IAAI,IAAI,WAAb;AACA,SAAKA,IAAI,IAAI,OAAb;AACA,SAAKA,IAAI,IAAI,aAAb;AACA,SAAKA,IAAI,CAACC,OAAL,CAAa,OAAb,MAA0B,CAA/B,EAAkC;AAChC,aAAO,IAAP;AACF;AACE,aAAO,KAAP,CAPJ;;AASD,CAVD","sourcesContent":["import React from 'react';\n\nimport { isFunction, isRefableElement } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRootNode, rootNode, TSetRootNode, TRootNodeSubscription, isRootNodeInstance } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n}\n\ninterface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<HTMLElement>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\n@rootNode\nexport class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n private child: React.ReactNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: TRootNodeSubscription | null = null;\n\n render() {\n const [{ className, style, rootNodeRef, ...dataProps }, { children, ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, {\n ref: isRefableElement(this.child) ? this.ref : null,\n className: cx(this.child.props.className, className),\n style: {\n ...this.child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n if (instance && isRootNodeInstance(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n } else {\n this.rootNodeSubscription?.remove();\n }\n const originalRef = (this.child as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n };\n}\n\nconst extractCommonProps = <P extends CommonProps & CommonPropsRootNodeRef>(\n props: P,\n): [CommonProps & CommonPropsRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonProps & CommonPropsRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-ignore\n common[key] = props[key];\n } else {\n // @ts-ignore\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name == 'className':\n case name == 'style':\n case name == 'rootNodeRef':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
1
+ {"version":3,"sources":["CommonWrapper.tsx"],"names":["CommonWrapper","rootNode","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","remove","addRootNodeChangeListener","node","originalRef","child","render","extractCommonProps","className","style","dataProps","children","rest","isValidElement","React","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"ucAAA;;AAEA;AACA;;AAEA;AACA,mE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BaA,a,OADZC,kB;;;;;AAMSC,IAAAA,oB,GAAwD,I;;;;;;;;;;;;;;;;;;AAkBxDC,IAAAA,G,GAAM,UAACC,QAAD,EAA6C;AACzD,YAAKC,WAAL,CAAiBD,QAAjB;AACA,YAAKE,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyB,2BAAYH,QAAZ,CAAzB;;AAEA;AACA;AACA,qCAAKF,oBAAL,2CAA2BM,MAA3B;AACA,YAAKN,oBAAL,GAA4B,IAA5B;;AAEA,UAAIE,QAAQ,IAAI,sCAAuBA,QAAvB,CAAhB,EAAkD;AAChD,cAAKF,oBAAL,GAA4BE,QAAQ,CAACK,yBAArC,oBAA4BL,QAAQ,CAACK,yBAAT,CAAqC,UAACC,IAAD,EAAU;AACzE,gBAAKL,WAAL,CAAiBK,IAAjB;AACA,gBAAKJ,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyBG,IAAzB;AACD,SAH2B,CAA5B;AAID;;AAED,UAAMC,WAAW,kBAAI,MAAKC,KAAT,qBAAG,YAA0CT,GAA9D;AACAQ,MAAAA,WAAW,IAAI,gCAAaA,WAAb,EAA0BP,QAA1B,CAAf;AACD,K,2DAlCDS,M,GAAA,kBAAS,CACP,0BAAiFC,kBAAkB,CAAC,KAAKR,KAAN,CAAnG,+CAASS,SAAT,wBAASA,SAAT,CAAoBC,KAApB,wBAAoBA,KAApB,CAA2BT,WAA3B,wBAA2BA,WAA3B,CAA2CU,SAA3C,+HAA0DC,QAA1D,yBAA0DA,QAA1D,CAAuEC,IAAvE,kFACA,KAAKP,KAAL,GAAa,uBAAWM,QAAX,IAAuBA,QAAQ,CAACC,IAAD,CAA/B,GAAwCD,QAArD,CACA,OAAO,4BAAME,cAAN,CAA6D,KAAKR,KAAlE,iBACHS,eAAMC,YAAN,CAAmB,KAAKV,KAAxB,2BACET,GAAG,EAAE,6BAAiB,KAAKS,KAAtB,IAA+B,KAAKT,GAApC,GAA0C,IADjD,EAEEY,SAAS,EAAE,iBAAG,KAAKH,KAAL,CAAWN,KAAX,CAAiBS,SAApB,EAA+BA,SAA/B,CAFb,EAGEC,KAAK,6BACA,KAAKJ,KAAL,CAAWN,KAAX,CAAiBU,KADjB,EAEAA,KAFA,CAHP,IAOKC,SAPL,EADG,GAUH,KAAKL,KAVT,CAWD,C,wBArBgFS,eAAME,S;;;AA4CzF,IAAMT,kBAAkB,GAAG,SAArBA,kBAAqB;AACzBR,KADyB;AAEqC;AAC9D,MAAMkB,MAAM,GAAG,EAAf;AACA,MAAML,IAAI,GAAG,EAAb;;AAEA,OAAK,IAAMM,GAAX,IAAkBnB,KAAlB,EAAyB;AACvB,QAAIoB,YAAY,CAACD,GAAD,CAAhB,EAAuB;AACrB;AACAD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcnB,KAAK,CAACmB,GAAD,CAAnB;AACD,KAHD,MAGO;AACL;AACAN,MAAAA,IAAI,CAACM,GAAD,CAAJ,GAAYnB,KAAK,CAACmB,GAAD,CAAjB;AACD;AACF;;AAED,SAAO,CAACD,MAAD,EAASL,IAAT,CAAP;AACD,CAjBD;;AAmBA,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAkB;AACrC,UAAQ,IAAR;AACE,SAAKA,IAAI,KAAK,WAAd;AACA,SAAKA,IAAI,KAAK,OAAd;AACA,SAAKA,IAAI,KAAK,aAAd;AACA,SAAKA,IAAI,CAACC,OAAL,CAAa,OAAb,MAA0B,CAA/B,EAAkC;AAChC,aAAO,IAAP;AACF;AACE,aAAO,KAAP,CAPJ;;AASD,CAVD","sourcesContent":["import React from 'react';\n\nimport { isFunction, isRefableElement } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRootNode, rootNode, TSetRootNode, TRootNodeSubscription, isInstanceWithRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n}\n\ninterface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<HTMLElement>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\n@rootNode\nexport class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n private child: React.ReactNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n const [{ className, style, rootNodeRef, ...dataProps }, { children, ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, {\n ref: isRefableElement(this.child) ? this.ref : null,\n className: cx(this.child.props.className, className),\n style: {\n ...this.child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = (this.child as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n };\n}\n\nconst extractCommonProps = <P extends CommonProps & CommonPropsRootNodeRef>(\n props: P,\n): [CommonProps & CommonPropsRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonProps & CommonPropsRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-ignore\n common[key] = props[key];\n } else {\n // @ts-ignore\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name === 'className':\n case name === 'style':\n case name === 'rootNodeRef':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { DefaultizeProps } from '../lib/utils';
3
- export declare type StatePropsCombinations<P, S> = Array<{
3
+ declare type StatePropsObject<P, S> = {
4
4
  props?: Partial<P>;
5
5
  state?: Partial<S>;
6
- }>;
6
+ };
7
+ export declare type StatePropsCombinations<P, S> = Array<StatePropsObject<P, S>>;
7
8
  export declare type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;
8
9
  export interface ComponentTableProps<C, P, S> {
9
10
  rows?: StatePropsCombinations<P, S>;
@@ -19,3 +20,4 @@ export declare class ComponentTable<T extends React.Component<any, any, any>, C
19
20
  };
20
21
  render(): JSX.Element;
21
22
  }
23
+ export {};
@@ -40,6 +40,7 @@ var renderPropsDesc = function renderPropsDesc(props) {
40
40
 
41
41
 
42
42
 
43
+
43
44
  // Known limitation: Don't work when component have `propTypes` static field
44
45
  var ComponentTable = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ComponentTable, _React$Component);function ComponentTable() {return _React$Component.apply(this, arguments) || this;}var _proto = ComponentTable.prototype;_proto.
45
46
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ComponentTable.tsx"],"names":["renderPropsDesc","props","Object","keys","map","key","value","React","isValidElement","createElement","JSON","stringify","node","index","nodes","length","ComponentTable","render","rows","cols","presetProps","presetState","Component","borderSpacing","marginBottom","captionSide","i","colProps","whiteSpace","rowIndex","rowProps","state","rowState","colIndex","colState","undefined","el","setState","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunctionalComponent, DefaultizeProps } from '../lib/utils';\n\n// TODO We should output state too\nconst renderPropsDesc = <P extends Record<string, any>>(props: P): React.ReactNode => {\n return Object.keys(props)\n .map((key) => {\n const value = props[key];\n switch (typeof value) {\n case 'boolean':\n return value ? key : `${key}: false`;\n case 'string':\n return `${key}: \"${value}\"`;\n case 'object':\n if (React.isValidElement(value)) {\n return React.createElement('span', {}, [`${key}: `, value]);\n }\n return `${key}: ${JSON.stringify(value)}`;\n default:\n return `${key}: ${value}`;\n }\n })\n .map((node, index, nodes) => (\n <span key={index}>\n {node} {index + 1 < nodes.length ? ', ' : null}\n </span>\n ));\n};\n\nexport type StatePropsCombinations<P, S> = Array<{ props?: Partial<P>; state?: Partial<S> }>;\n\nexport type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;\n\nexport interface ComponentTableProps<C, P, S> {\n rows?: StatePropsCombinations<P, S>;\n cols?: StatePropsCombinations<P, S>;\n presetProps: DefaultizeProps<C, P>;\n presetState: Partial<S>;\n Component: C;\n}\n\n// Known limitation: Don't work when component have `propTypes` static field\nexport class ComponentTable<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentTableProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>\n> {\n public static defaultProps = { presetProps: {}, presetState: {} };\n\n public render() {\n const { rows = [], cols = [], presetProps, presetState, Component } = this.props;\n return (\n <table style={{ borderSpacing: 10, marginBottom: 20 }}>\n <caption style={{ captionSide: 'bottom' }}>{renderPropsDesc(presetProps)}</caption>\n <thead>\n <tr>\n <th />\n {cols.map(({ props: colProps = {} }, i) => (\n <th style={{ whiteSpace: 'nowrap' }} key={i}>\n {renderPropsDesc(colProps)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map(({ props: rowProps = {}, state: rowState = {} }, rowIndex) => (\n <tr key={rowIndex}>\n <td style={{ whiteSpace: 'nowrap' }}>{renderPropsDesc(rowProps)}</td>\n {cols.map(({ props: colProps = {}, state: colState = {} }, colIndex) => (\n <td key={colIndex}>\n {/* Defaultized props incompatible with JSX.LibraryManagedAttributes so just ignore it\n // @ts-ignore */}\n <Component\n {...presetProps}\n {...rowProps}\n {...colProps}\n ref={\n // NOTE Call setState from outside is bad practice, but here it needed for test state combinations\n isFunctionalComponent(Component)\n ? undefined\n : (el: React.Component<P, StateType<C>>) =>\n el &&\n el.setState((state: StateType<C>) => ({\n ...state,\n ...presetState,\n ...rowState,\n ...colState,\n }))\n }\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["ComponentTable.tsx"],"names":["renderPropsDesc","props","Object","keys","map","key","value","React","isValidElement","createElement","JSON","stringify","node","index","nodes","length","ComponentTable","render","rows","cols","presetProps","presetState","Component","borderSpacing","marginBottom","captionSide","i","colProps","whiteSpace","rowIndex","rowProps","state","rowState","colIndex","colState","undefined","el","setState","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunctionalComponent, DefaultizeProps } from '../lib/utils';\n\n// TODO We should output state too\nconst renderPropsDesc = <P extends Record<string, any>>(props: P): React.ReactNode => {\n return Object.keys(props)\n .map((key) => {\n const value = props[key];\n switch (typeof value) {\n case 'boolean':\n return value ? key : `${key}: false`;\n case 'string':\n return `${key}: \"${value}\"`;\n case 'object':\n if (React.isValidElement(value)) {\n return React.createElement('span', {}, [`${key}: `, value]);\n }\n return `${key}: ${JSON.stringify(value)}`;\n default:\n return `${key}: ${value}`;\n }\n })\n .map((node, index, nodes) => (\n <span key={index}>\n {node} {index + 1 < nodes.length ? ', ' : null}\n </span>\n ));\n};\n\ntype StatePropsObject<P, S> = { props?: Partial<P>; state?: Partial<S> };\nexport type StatePropsCombinations<P, S> = Array<StatePropsObject<P, S>>;\n\nexport type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;\n\nexport interface ComponentTableProps<C, P, S> {\n rows?: StatePropsCombinations<P, S>;\n cols?: StatePropsCombinations<P, S>;\n presetProps: DefaultizeProps<C, P>;\n presetState: Partial<S>;\n Component: C;\n}\n\n// Known limitation: Don't work when component have `propTypes` static field\nexport class ComponentTable<\n T extends React.Component<any, any, any>,\n C extends React.ComponentType<any>,\n P extends React.ComponentProps<C>,\n> extends React.Component<\n ComponentTableProps<C extends React.ComponentClass<P, any> ? React.ClassType<P, T, C> : C, P, StateType<C>>\n> {\n public static defaultProps = { presetProps: {}, presetState: {} };\n\n public render() {\n const { rows = [], cols = [], presetProps, presetState, Component } = this.props;\n return (\n <table style={{ borderSpacing: 10, marginBottom: 20 }}>\n <caption style={{ captionSide: 'bottom' }}>{renderPropsDesc(presetProps)}</caption>\n <thead>\n <tr>\n <th />\n {cols.map(({ props: colProps = {} }, i) => (\n <th style={{ whiteSpace: 'nowrap' }} key={i}>\n {renderPropsDesc(colProps)}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map(({ props: rowProps = {}, state: rowState = {} }, rowIndex) => (\n <tr key={rowIndex}>\n <td style={{ whiteSpace: 'nowrap' }}>{renderPropsDesc(rowProps)}</td>\n {cols.map(({ props: colProps = {}, state: colState = {} }, colIndex) => (\n <td key={colIndex}>\n {/* Defaultized props incompatible with JSX.LibraryManagedAttributes so just ignore it\n // @ts-ignore */}\n <Component\n {...presetProps}\n {...rowProps}\n {...colProps}\n ref={\n // NOTE Call setState from outside is bad practice, but here it needed for test state combinations\n isFunctionalComponent(Component)\n ? undefined\n : (el: React.Component<P, StateType<C>>) =>\n el &&\n el.setState((state: StateType<C>) => ({\n ...state,\n ...presetState,\n ...rowState,\n ...colState,\n }))\n }\n />\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"]}
@@ -20,6 +20,13 @@ export interface ComboBoxMenuProps<T> {
20
20
  requestStatus?: ComboBoxRequestStatus;
21
21
  isMobile?: boolean;
22
22
  }
23
+ export declare const ComboBoxMenuDataTids: {
24
+ readonly loading: "ComboBoxMenu__loading";
25
+ readonly failed: "ComboBoxMenu__failed";
26
+ readonly notFound: "ComboBoxMenu__notFound";
27
+ readonly items: "ComboBoxMenu__items";
28
+ readonly item: "ComboBoxMenu__item";
29
+ };
23
30
  export declare class ComboBoxMenu<T> extends Component<ComboBoxMenuProps<T>> {
24
31
  static __KONTUR_REACT_UI__: string;
25
32
  static defaultProps: {
@@ -1,5 +1,6 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ComboBoxMenu = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireWildcard(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ComboBoxMenuDataTids = exports.ComboBoxMenu = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireWildcard(require("react"));
2
2
 
3
+ var _utils = require("../../lib/utils");
3
4
  var _decorators = require("../../lib/locale/decorators");
4
5
  var _Menu = require("../Menu");
5
6
  var _MenuItem = require("../../components/MenuItem");
@@ -8,7 +9,7 @@ var _Spinner = require("../../components/Spinner");
8
9
  var _MenuSeparator = require("../../components/MenuSeparator");
9
10
 
10
11
  var _CustomComboBoxTypes = require("./CustomComboBoxTypes");
11
- var _locale = require("./locale");var _dec, _class, _class2, _temp;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var
12
+ var _locale = require("./locale");var _dec, _class, _class2, _temp;function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
12
13
 
13
14
 
14
15
 
@@ -28,6 +29,14 @@ var _locale = require("./locale");var _dec, _class, _class2, _temp;function _get
28
29
 
29
30
 
30
31
 
32
+ var ComboBoxMenuDataTids = {
33
+ loading: 'ComboBoxMenu__loading',
34
+ failed: 'ComboBoxMenu__failed',
35
+ notFound: 'ComboBoxMenu__notFound',
36
+ items: 'ComboBoxMenu__items',
37
+ item: 'ComboBoxMenu__item' };exports.ComboBoxMenuDataTids = ComboBoxMenuDataTids;var
38
+
39
+
31
40
 
32
41
  ComboBoxMenu = (_dec = (0, _decorators.locale)('ComboBox', _locale.CustomComboBoxLocaleHelper), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {(0, _inheritsLoose2.default)(ComboBoxMenu, _Component);function ComboBoxMenu() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _Component.call.apply(_Component, [this].concat(args)) || this;_this.
33
42
 
@@ -115,6 +124,20 @@ ComboBoxMenu = (_dec = (0, _decorators.locale)('ComboBox', _locale.CustomComboBo
115
124
 
116
125
 
117
126
 
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
118
141
 
119
142
 
120
143
 
@@ -149,7 +172,7 @@ ComboBoxMenu = (_dec = (0, _decorators.locale)('ComboBox', _locale.CustomComboBo
149
172
 
150
173
  return /*#__PURE__*/(
151
174
  _react.default.createElement(_MenuItem.MenuItem, {
152
- "data-tid": "ComboBoxMenu__item",
175
+ "data-tid": ComboBoxMenuDataTids.item,
153
176
  onClick: function onClick() {return onValueChange(item);},
154
177
  key: index,
155
178
  isMobile: _this.props.isMobile },
@@ -157,5 +180,5 @@ ComboBoxMenu = (_dec = (0, _decorators.locale)('ComboBox', _locale.CustomComboBo
157
180
  function (state) {return renderItem(item, state);}));
158
181
 
159
182
 
160
- };return _this;}var _proto = ComboBoxMenu.prototype;_proto.render = function render() {var _this$props2 = this.props,opened = _this$props2.opened,items = _this$props2.items,totalCount = _this$props2.totalCount,loading = _this$props2.loading,refMenu = _this$props2.refMenu,_this$props2$renderNo = _this$props2.renderNotFound,renderNotFound = _this$props2$renderNo === void 0 ? function () {return notFound;} : _this$props2$renderNo,renderTotalCount = _this$props2.renderTotalCount,maxMenuHeight = _this$props2.maxMenuHeight,requestStatus = _this$props2.requestStatus,isMobile = _this$props2.isMobile;var _this$locale = this.locale,notFound = _this$locale.notFound,errorNetworkButton = _this$locale.errorNetworkButton,errorNetworkMessage = _this$locale.errorNetworkMessage;if (!opened) {return null;}var renderAddButton = null;if (this.props.renderAddButton) {renderAddButton = this.props.renderAddButton();}var maxHeight = isMobile ? 'auto' : maxMenuHeight;if (loading && (!items || !items.length)) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile, "data-tid": "ComboBoxMenu__loading" }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, isMobile: isMobile }, /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { type: "mini", dimmed: true })));}if (items === null && requestStatus === _CustomComboBoxTypes.ComboBoxRequestStatus.Failed) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: refMenu, maxHeight: maxHeight, disableScrollContainer: isMobile, "data-tid": "ComboBoxMenu__failed" }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, key: "message", isMobile: isMobile }, /*#__PURE__*/_react.default.createElement("div", { style: { maxWidth: 300, whiteSpace: 'normal' } }, errorNetworkMessage)), /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { link: true, onClick: this.props.repeatRequest, key: "retry", isMobile: isMobile }, errorNetworkButton));}if ((items == null || items.length === 0) && renderNotFound) {var notFoundValue = renderNotFound();if (renderAddButton) return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile }, renderAddButton);if (notFoundValue) return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { "data-tid": "ComboBoxMenu__notFound", disabled: true, isMobile: isMobile }, notFoundValue));return null;}var total = null;var renderedItems = items && items.map(this.renderItem); // @ts-ignore // todo fix checking
161
- var countItems = renderedItems == null ? void 0 : renderedItems.filter(function (item) {var _item$type;return (item == null ? void 0 : (_item$type = item.type) == null ? void 0 : _item$type.__KONTUR_REACT_UI__) === 'MenuItem';}).length;if (countItems && renderTotalCount && totalCount && countItems < totalCount) {total = /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, key: "total", isMobile: isMobile }, /*#__PURE__*/_react.default.createElement("div", { style: { fontSize: 12 } }, renderTotalCount(countItems, totalCount)));}return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { "data-tid": "ComboBoxMenu__items", ref: refMenu, maxHeight: maxHeight, disableScrollContainer: isMobile }, renderedItems, total, renderAddButton && [/*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, { key: "separator" }), renderAddButton]);};return ComboBoxMenu;}(_react.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxMenu', _class2.defaultProps = { repeatRequest: function repeatRequest() {return undefined;}, requestStatus: _CustomComboBoxTypes.ComboBoxRequestStatus.Unknown }, _temp)) || _class);exports.ComboBoxMenu = ComboBoxMenu;
183
+ };return _this;}var _proto = ComboBoxMenu.prototype;_proto.render = function render() {var _this$props2 = this.props,opened = _this$props2.opened,items = _this$props2.items,totalCount = _this$props2.totalCount,loading = _this$props2.loading,refMenu = _this$props2.refMenu,_this$props2$renderNo = _this$props2.renderNotFound,renderNotFound = _this$props2$renderNo === void 0 ? function () {return notFound;} : _this$props2$renderNo,renderTotalCount = _this$props2.renderTotalCount,maxMenuHeight = _this$props2.maxMenuHeight,requestStatus = _this$props2.requestStatus,isMobile = _this$props2.isMobile;var _this$locale = this.locale,notFound = _this$locale.notFound,errorNetworkButton = _this$locale.errorNetworkButton,errorNetworkMessage = _this$locale.errorNetworkMessage;if (!opened) {return null;}var renderAddButton = null;if (this.props.renderAddButton) {renderAddButton = this.props.renderAddButton();}var maxHeight = isMobile ? 'auto' : maxMenuHeight;if (loading && (!items || !items.length)) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile, "data-tid": ComboBoxMenuDataTids.loading }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, isMobile: isMobile }, /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { type: "mini", dimmed: true })));}if (items === null && requestStatus === _CustomComboBoxTypes.ComboBoxRequestStatus.Failed) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: refMenu, maxHeight: maxHeight, disableScrollContainer: isMobile, "data-tid": ComboBoxMenuDataTids.failed }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, key: "message", isMobile: isMobile }, /*#__PURE__*/_react.default.createElement("div", { style: { maxWidth: 300, whiteSpace: 'normal' } }, errorNetworkMessage)), /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { link: true, onClick: this.props.repeatRequest, key: "retry", isMobile: isMobile }, errorNetworkButton));}if (((0, _utils.isNullable)(items) || items.length === 0) && renderNotFound) {var notFoundValue = renderNotFound();if (renderAddButton) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile }, renderAddButton);}if (notFoundValue) {return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { maxHeight: maxHeight, ref: refMenu, disableScrollContainer: isMobile }, /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { "data-tid": ComboBoxMenuDataTids.notFound, disabled: true, isMobile: isMobile }, notFoundValue));}return null;}var total = null;var renderedItems = items && items.map(this.renderItem); // @ts-ignore // todo fix checking
184
+ var countItems = renderedItems == null ? void 0 : renderedItems.filter(function (item) {var _item$type;return (item == null ? void 0 : (_item$type = item.type) == null ? void 0 : _item$type.__KONTUR_REACT_UI__) === 'MenuItem';}).length;if (countItems && renderTotalCount && totalCount && countItems < totalCount) {total = /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { disabled: true, key: "total", isMobile: isMobile }, /*#__PURE__*/_react.default.createElement("div", { style: { fontSize: 12 } }, renderTotalCount(countItems, totalCount)));}return /*#__PURE__*/_react.default.createElement(_Menu.Menu, { "data-tid": ComboBoxMenuDataTids.items, ref: refMenu, maxHeight: maxHeight, disableScrollContainer: isMobile }, renderedItems, total, renderAddButton && [/*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, { key: "separator" }), renderAddButton]);};return ComboBoxMenu;}(_react.Component), _class2.__KONTUR_REACT_UI__ = 'ComboBoxMenu', _class2.defaultProps = { repeatRequest: function repeatRequest() {return undefined;}, requestStatus: _CustomComboBoxTypes.ComboBoxRequestStatus.Unknown }, _temp)) || _class);exports.ComboBoxMenu = ComboBoxMenu;