@skbkontur/react-ui 4.0.6 → 4.1.2-fix-zindex

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 (822) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js +20 -7
  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/Center/Center.d.ts +3 -0
  10. package/cjs/components/Center/Center.js +8 -3
  11. package/cjs/components/Center/Center.js.map +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +8 -0
  13. package/cjs/components/Checkbox/Checkbox.js +37 -3
  14. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  15. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  16. package/cjs/components/Checkbox/Checkbox.styles.js +27 -24
  17. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  18. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  19. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  20. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  21. package/cjs/components/CurrencyInput/CurrencyInput.js +23 -10
  22. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  23. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  24. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  25. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  26. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  27. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  28. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  30. package/cjs/components/DateInput/DateInput.js +5 -1
  31. package/cjs/components/DateInput/DateInput.js.map +1 -1
  32. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  33. package/cjs/components/DateInput/helpers/InternalDateMediator.js +12 -2
  34. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  35. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  36. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  37. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  38. package/cjs/components/DatePicker/DatePicker.d.ts +5 -0
  39. package/cjs/components/DatePicker/DatePicker.js +14 -3
  40. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  41. package/cjs/components/DatePicker/Picker.js +7 -2
  42. package/cjs/components/DatePicker/Picker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  44. package/cjs/components/Dropdown/Dropdown.js +7 -2
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  47. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  48. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  50. package/cjs/components/FileUploader/FileUploader.js +18 -9
  51. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  52. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  53. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  54. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  55. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  56. package/cjs/components/FxInput/FxInput.js +7 -3
  57. package/cjs/components/FxInput/FxInput.js.map +1 -1
  58. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  59. package/cjs/components/Gapped/Gapped.js +13 -7
  60. package/cjs/components/Gapped/Gapped.js.map +1 -1
  61. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  62. package/cjs/components/GlobalLoader/GlobalLoader.js +9 -7
  63. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  64. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  65. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  66. package/cjs/components/Group/Group.d.ts +3 -0
  67. package/cjs/components/Group/Group.js +80 -33
  68. package/cjs/components/Group/Group.js.map +1 -1
  69. package/cjs/components/Input/Input.d.ts +4 -5
  70. package/cjs/components/Input/Input.js +21 -24
  71. package/cjs/components/Input/Input.js.map +1 -1
  72. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  73. package/cjs/components/Kebab/Kebab.js +5 -29
  74. package/cjs/components/Kebab/Kebab.js.map +1 -1
  75. package/cjs/components/Link/Link.d.ts +3 -0
  76. package/cjs/components/Link/Link.js +7 -3
  77. package/cjs/components/Link/Link.js.map +1 -1
  78. package/cjs/components/Loader/Loader.d.ts +4 -0
  79. package/cjs/components/Loader/Loader.js +8 -3
  80. package/cjs/components/Loader/Loader.js.map +1 -1
  81. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  82. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  83. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  84. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  85. package/cjs/components/MenuItem/MenuItem.js +10 -4
  86. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  87. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  88. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  89. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  90. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  91. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  92. package/cjs/components/Modal/Modal.d.ts +5 -0
  93. package/cjs/components/Modal/Modal.js +10 -3
  94. package/cjs/components/Modal/Modal.js.map +1 -1
  95. package/cjs/components/Modal/Modal.styles.js +10 -6
  96. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  97. package/cjs/components/Modal/ModalClose.js +3 -2
  98. package/cjs/components/Modal/ModalClose.js.map +1 -1
  99. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  100. package/cjs/components/Modal/ModalFooter.js +8 -3
  101. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  102. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  103. package/cjs/components/Modal/ModalHeader.js +9 -3
  104. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  105. package/cjs/components/Paging/Paging.d.ts +20 -3
  106. package/cjs/components/Paging/Paging.js +29 -10
  107. package/cjs/components/Paging/Paging.js.map +1 -1
  108. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  109. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  110. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  111. package/cjs/components/PasswordInput/PasswordInput.d.ts +7 -0
  112. package/cjs/components/PasswordInput/PasswordInput.js +36 -11
  113. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  114. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  115. package/cjs/components/PasswordInput/PasswordInputIcon.js +15 -0
  116. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  117. package/cjs/components/Radio/Radio.d.ts +3 -0
  118. package/cjs/components/Radio/Radio.js +7 -3
  119. package/cjs/components/Radio/Radio.js.map +1 -1
  120. package/cjs/components/Radio/Radio.styles.js +4 -7
  121. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  122. package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
  123. package/cjs/components/RadioGroup/RadioGroup.js +22 -5
  124. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  125. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  126. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  127. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  128. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  129. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  130. package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
  131. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  132. package/cjs/components/Select/Select.d.ts +3 -0
  133. package/cjs/components/Select/Select.js +43 -17
  134. package/cjs/components/Select/Select.js.map +1 -1
  135. package/cjs/components/SidePage/SidePage.d.ts +4 -0
  136. package/cjs/components/SidePage/SidePage.js +9 -3
  137. package/cjs/components/SidePage/SidePage.js.map +1 -1
  138. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  139. package/cjs/components/SidePage/SidePageBody.js +10 -3
  140. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  141. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  142. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  143. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  144. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  145. package/cjs/components/SidePage/SidePageFooter.js +11 -3
  146. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  147. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  148. package/cjs/components/SidePage/SidePageHeader.js +9 -4
  149. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  150. package/cjs/components/Spinner/Spinner.d.ts +3 -1
  151. package/cjs/components/Spinner/Spinner.js +8 -8
  152. package/cjs/components/Spinner/Spinner.js.map +1 -1
  153. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  154. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  155. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  156. package/cjs/components/Sticky/Sticky.js +7 -3
  157. package/cjs/components/Sticky/Sticky.js.map +1 -1
  158. package/cjs/components/Switcher/Switcher.d.ts +3 -0
  159. package/cjs/components/Switcher/Switcher.js +7 -3
  160. package/cjs/components/Switcher/Switcher.js.map +1 -1
  161. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  162. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  163. package/cjs/components/Tabs/Indicator.js +4 -2
  164. package/cjs/components/Tabs/Indicator.js.map +1 -1
  165. package/cjs/components/Tabs/Tab.d.ts +3 -0
  166. package/cjs/components/Tabs/Tab.js +7 -2
  167. package/cjs/components/Tabs/Tab.js.map +1 -1
  168. package/cjs/components/Tabs/Tabs.d.ts +4 -0
  169. package/cjs/components/Tabs/Tabs.js +12 -3
  170. package/cjs/components/Tabs/Tabs.js.map +1 -1
  171. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  172. package/cjs/components/Textarea/Textarea.js +14 -9
  173. package/cjs/components/Textarea/Textarea.js.map +1 -1
  174. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  175. package/cjs/components/Textarea/TextareaCounter.js +21 -12
  176. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  177. package/cjs/components/Toast/Toast.d.ts +6 -0
  178. package/cjs/components/Toast/Toast.js +9 -2
  179. package/cjs/components/Toast/Toast.js.map +1 -1
  180. package/cjs/components/Toast/ToastStatic.js +1 -1
  181. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  182. package/cjs/components/Toast/ToastView.js +6 -5
  183. package/cjs/components/Toast/ToastView.js.map +1 -1
  184. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  185. package/cjs/components/Toast/ToastView.styles.js +3 -2
  186. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  187. package/cjs/components/Toggle/Toggle.d.ts +4 -1
  188. package/cjs/components/Toggle/Toggle.js +7 -3
  189. package/cjs/components/Toggle/Toggle.js.map +1 -1
  190. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  191. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  192. package/cjs/components/Token/Token.d.ts +3 -0
  193. package/cjs/components/Token/Token.js +20 -3
  194. package/cjs/components/Token/Token.js.map +1 -1
  195. package/cjs/components/Token/Token.styles.js +13 -6
  196. package/cjs/components/Token/Token.styles.js.map +1 -1
  197. package/cjs/components/TokenInput/TokenInput.d.ts +14 -0
  198. package/cjs/components/TokenInput/TokenInput.js +36 -13
  199. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  200. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  201. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  202. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  203. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  204. package/cjs/components/Tooltip/Tooltip.d.ts +3 -0
  205. package/cjs/components/Tooltip/Tooltip.js +12 -4
  206. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  207. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  208. package/cjs/components/TooltipMenu/TooltipMenu.js +9 -2
  209. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  210. package/cjs/hooks/useDrop.js +3 -1
  211. package/cjs/hooks/useDrop.js.map +1 -1
  212. package/cjs/index.d.ts +2 -0
  213. package/cjs/index.js +2 -0
  214. package/cjs/index.js.map +1 -1
  215. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  216. package/cjs/internal/Calendar/Calendar.js +12 -5
  217. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  218. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  219. package/cjs/internal/Calendar/MonthView.js +5 -4
  220. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  221. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  222. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  223. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  224. package/cjs/internal/CommonWrapper/CommonWrapper.js +7 -5
  225. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  226. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  227. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +28 -5
  228. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  229. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  230. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  231. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  232. package/cjs/internal/CustomComboBox/CustomComboBox.js +9 -4
  233. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  234. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  235. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  236. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  237. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  238. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  239. package/cjs/internal/DataTids/DataTids.js +46 -0
  240. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  241. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  242. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  243. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  244. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  245. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  246. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  247. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  248. package/cjs/internal/DateSelect/DateSelect.js +28 -12
  249. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  250. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  251. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  252. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  253. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +14 -6
  254. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  255. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  256. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  257. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  258. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  259. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  260. package/cjs/internal/InputLikeText/InputLikeText.d.ts +5 -1
  261. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  262. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  263. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  264. package/cjs/internal/InternalMenu/InternalMenu.js +10 -12
  265. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  266. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  267. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  268. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  269. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  270. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  271. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  272. package/cjs/internal/MaskedInput/MaskedInput.js +16 -5
  273. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  274. package/cjs/internal/Menu/Menu.d.ts +3 -0
  275. package/cjs/internal/Menu/Menu.js +22 -21
  276. package/cjs/internal/Menu/Menu.js.map +1 -1
  277. package/cjs/internal/Menu/Menu.styles.js +5 -3
  278. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  279. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  280. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  281. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  282. package/cjs/internal/Popup/Popup.d.ts +6 -0
  283. package/cjs/internal/Popup/Popup.js +18 -13
  284. package/cjs/internal/Popup/Popup.js.map +1 -1
  285. package/cjs/internal/Popup/PopupPin.js +2 -1
  286. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  287. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
  288. package/cjs/internal/PopupMenu/PopupMenu.js +22 -4
  289. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  290. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  291. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  292. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  293. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  294. package/cjs/internal/RenderContainer/RenderInnerContainer.js +9 -1
  295. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  296. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  297. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  298. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  299. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  300. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  301. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  302. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  303. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  304. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  305. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  306. package/cjs/internal/ThemePlayground/ThemeEditor.js +6 -1
  307. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  308. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  309. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  310. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  311. package/cjs/internal/ThemePlayground/constants.js +3 -1
  312. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  313. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  314. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  315. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  316. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  317. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  318. package/cjs/internal/ZIndex/ZIndex.d.ts +8 -0
  319. package/cjs/internal/ZIndex/ZIndex.js +25 -3
  320. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  321. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  322. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  323. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  324. package/cjs/internal/icons/16px/index.d.ts +19 -19
  325. package/cjs/internal/icons/16px/index.js +45 -38
  326. package/cjs/internal/icons/16px/index.js.map +1 -1
  327. package/cjs/internal/icons/20px/svg.js +6 -0
  328. package/cjs/internal/icons/20px/svg.js.map +1 -1
  329. package/cjs/internal/themes/DefaultTheme.d.ts +20 -1
  330. package/cjs/internal/themes/DefaultTheme.js +40 -5
  331. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  332. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  333. package/cjs/internal/themes/NotFlat.js +12 -2
  334. package/cjs/internal/themes/NotFlat.js.map +1 -1
  335. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  336. package/cjs/internal/themes/Theme2022.js +100 -0
  337. package/cjs/internal/themes/Theme2022.js.map +1 -0
  338. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  339. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  340. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  341. package/cjs/lib/animation/index.d.ts +1 -1
  342. package/cjs/lib/animation/index.js +3 -3
  343. package/cjs/lib/animation/index.js.map +1 -1
  344. package/cjs/lib/date/InternalDate.js +23 -9
  345. package/cjs/lib/date/InternalDate.js.map +1 -1
  346. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  347. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  348. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  349. package/cjs/lib/date/InternalDateGetter.js +27 -7
  350. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  351. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  352. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  353. package/cjs/lib/date/InternalDateValidator.js +52 -17
  354. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  355. package/cjs/lib/date/types.d.ts +4 -0
  356. package/cjs/lib/date/types.js.map +1 -1
  357. package/cjs/lib/events/MouseDrag.js +5 -1
  358. package/cjs/lib/events/MouseDrag.js.map +1 -1
  359. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  360. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  361. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  362. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  363. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  364. package/cjs/lib/rootNode/getRootNode.d.ts +9 -0
  365. package/cjs/lib/rootNode/getRootNode.js +37 -8
  366. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  367. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  368. package/cjs/lib/rootNode/rootNodeDecorator.js +11 -2
  369. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  370. package/cjs/lib/stringUtils.js +3 -1
  371. package/cjs/lib/stringUtils.js.map +1 -1
  372. package/cjs/lib/styles/ColorFactory.js +9 -9
  373. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  374. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  375. package/cjs/lib/styles/ColorHelpers.js +33 -10
  376. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  377. package/cjs/lib/styles/ColorObject.js +3 -2
  378. package/cjs/lib/styles/ColorObject.js.map +1 -1
  379. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  380. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  381. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  382. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  383. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  384. package/cjs/lib/theming/Emotion.js +5 -2
  385. package/cjs/lib/theming/Emotion.js.map +1 -1
  386. package/cjs/lib/theming/ThemeFactory.js +5 -1
  387. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  388. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  389. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  390. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  391. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  392. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  393. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  394. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  395. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  396. package/cjs/lib/utils.d.ts +15 -0
  397. package/cjs/lib/utils.js +45 -9
  398. package/cjs/lib/utils.js.map +1 -1
  399. package/components/Autocomplete/Autocomplete/Autocomplete.js +16 -11
  400. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  401. package/components/Autocomplete/Autocomplete.d.ts +3 -0
  402. package/components/Button/Button/Button.js +8 -10
  403. package/components/Button/Button/Button.js.map +1 -1
  404. package/components/Button/Button.d.ts +4 -5
  405. package/components/Center/Center/Center.js +10 -5
  406. package/components/Center/Center/Center.js.map +1 -1
  407. package/components/Center/Center.d.ts +3 -0
  408. package/components/Checkbox/Checkbox/Checkbox.js +33 -2
  409. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  410. package/components/Checkbox/Checkbox.d.ts +8 -0
  411. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +22 -18
  412. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  413. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  414. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  415. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  416. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +30 -17
  417. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  418. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  419. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  420. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  421. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  422. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  423. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  424. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  425. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  426. package/components/DateInput/DateInput/DateInput.js +9 -1
  427. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  428. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +16 -10
  429. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  430. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  431. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  432. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  433. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  434. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  435. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  436. package/components/DatePicker/DatePicker.d.ts +5 -0
  437. package/components/DatePicker/Picker/Picker.js +3 -1
  438. package/components/DatePicker/Picker/Picker.js.map +1 -1
  439. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  440. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  441. package/components/Dropdown/Dropdown.d.ts +3 -0
  442. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  443. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  444. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  445. package/components/FileUploader/FileUploader/FileUploader.js +18 -9
  446. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  447. package/components/FileUploader/FileUploader.d.ts +5 -0
  448. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  449. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  450. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  451. package/components/FxInput/FxInput/FxInput.js +6 -2
  452. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  453. package/components/FxInput/FxInput.d.ts +3 -0
  454. package/components/Gapped/Gapped/Gapped.js +16 -8
  455. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  456. package/components/Gapped/Gapped.d.ts +4 -0
  457. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +9 -8
  458. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  459. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  460. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  461. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  462. package/components/Group/Group/Group.js +66 -30
  463. package/components/Group/Group/Group.js.map +1 -1
  464. package/components/Group/Group.d.ts +3 -0
  465. package/components/Input/Input/Input.js +18 -31
  466. package/components/Input/Input/Input.js.map +1 -1
  467. package/components/Input/Input.d.ts +4 -5
  468. package/components/Kebab/Kebab/Kebab.js +3 -13
  469. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  470. package/components/Kebab/Kebab.d.ts +2 -13
  471. package/components/Link/Link/Link.js +10 -5
  472. package/components/Link/Link/Link.js.map +1 -1
  473. package/components/Link/Link.d.ts +3 -0
  474. package/components/Loader/Loader/Loader.js +10 -6
  475. package/components/Loader/Loader/Loader.js.map +1 -1
  476. package/components/Loader/Loader.d.ts +4 -0
  477. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  478. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  479. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  480. package/components/MenuItem/MenuItem/MenuItem.js +15 -9
  481. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  482. package/components/MenuItem/MenuItem.d.ts +4 -0
  483. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  484. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  485. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  486. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  487. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  488. package/components/Modal/Modal/Modal.js +9 -3
  489. package/components/Modal/Modal/Modal.js.map +1 -1
  490. package/components/Modal/Modal.d.ts +5 -0
  491. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  492. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  493. package/components/Modal/ModalClose/ModalClose.js +2 -1
  494. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  495. package/components/Modal/ModalFooter/ModalFooter.js +5 -1
  496. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  497. package/components/Modal/ModalFooter.d.ts +3 -0
  498. package/components/Modal/ModalHeader/ModalHeader.js +5 -1
  499. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  500. package/components/Modal/ModalHeader.d.ts +3 -0
  501. package/components/Paging/Paging/Paging.js +24 -18
  502. package/components/Paging/Paging/Paging.js.map +1 -1
  503. package/components/Paging/Paging.d.ts +20 -3
  504. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  505. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  506. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  507. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  508. package/components/PasswordInput/PasswordInput/PasswordInput.js +39 -14
  509. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  510. package/components/PasswordInput/PasswordInput.d.ts +7 -0
  511. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +15 -0
  512. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  513. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  514. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  515. package/components/Radio/Radio/Radio.js +10 -5
  516. package/components/Radio/Radio/Radio.js.map +1 -1
  517. package/components/Radio/Radio.d.ts +3 -0
  518. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  519. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  520. package/components/RadioGroup/RadioGroup/RadioGroup.js +25 -13
  521. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  522. package/components/RadioGroup/RadioGroup.d.ts +9 -0
  523. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  524. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  525. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  526. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  527. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
  528. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  529. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  530. package/components/Select/Select/Select.js +35 -15
  531. package/components/Select/Select/Select.js.map +1 -1
  532. package/components/Select/Select.d.ts +3 -0
  533. package/components/SidePage/SidePage/SidePage.js +8 -3
  534. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  535. package/components/SidePage/SidePage.d.ts +4 -0
  536. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  537. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  538. package/components/SidePage/SidePageBody.d.ts +3 -0
  539. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  540. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  541. package/components/SidePage/SidePageContainer.d.ts +3 -0
  542. package/components/SidePage/SidePageFooter/SidePageFooter.js +10 -6
  543. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  544. package/components/SidePage/SidePageFooter.d.ts +3 -0
  545. package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
  546. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  547. package/components/SidePage/SidePageHeader.d.ts +4 -0
  548. package/components/Spinner/Spinner/Spinner.js +14 -6
  549. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  550. package/components/Spinner/Spinner.d.ts +3 -1
  551. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  552. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  553. package/components/Sticky/Sticky/Sticky.js +4 -0
  554. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  555. package/components/Sticky/Sticky.d.ts +3 -0
  556. package/components/Switcher/Switcher/Switcher.js +4 -0
  557. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  558. package/components/Switcher/Switcher.d.ts +3 -0
  559. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  560. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  561. package/components/Tabs/Indicator/Indicator.js +2 -0
  562. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  563. package/components/Tabs/Tab/Tab.js +4 -0
  564. package/components/Tabs/Tab/Tab.js.map +1 -1
  565. package/components/Tabs/Tab.d.ts +3 -0
  566. package/components/Tabs/Tabs/Tabs.js +11 -6
  567. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  568. package/components/Tabs/Tabs.d.ts +4 -0
  569. package/components/Textarea/Textarea/Textarea.js +21 -15
  570. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  571. package/components/Textarea/Textarea.d.ts +6 -2
  572. package/components/Textarea/TextareaCounter/TextareaCounter.js +13 -2
  573. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  574. package/components/Textarea/TextareaCounter.d.ts +1 -2
  575. package/components/Toast/Toast/Toast.js +16 -10
  576. package/components/Toast/Toast/Toast.js.map +1 -1
  577. package/components/Toast/Toast.d.ts +6 -0
  578. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  579. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  580. package/components/Toast/ToastView/ToastView.js +5 -4
  581. package/components/Toast/ToastView/ToastView.js.map +1 -1
  582. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  583. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  584. package/components/Toast/ToastView.styles.d.ts +1 -1
  585. package/components/Toggle/Toggle/Toggle.js +8 -4
  586. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  587. package/components/Toggle/Toggle.d.ts +4 -1
  588. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  589. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  590. package/components/Token/Token/Token.js +16 -1
  591. package/components/Token/Token/Token.js.map +1 -1
  592. package/components/Token/Token.d.ts +3 -0
  593. package/components/Token/Token.styles/Token.styles.js +11 -4
  594. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  595. package/components/TokenInput/TokenInput/TokenInput.js +30 -16
  596. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  597. package/components/TokenInput/TokenInput.d.ts +14 -0
  598. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  599. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  600. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  601. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  602. package/components/Tooltip/Tooltip/Tooltip.js +9 -2
  603. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  604. package/components/Tooltip/Tooltip.d.ts +3 -0
  605. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +18 -12
  606. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  607. package/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  608. package/hooks/useDrop/useDrop.js +5 -1
  609. package/hooks/useDrop/useDrop.js.map +1 -1
  610. package/index.d.ts +2 -0
  611. package/index.js +2 -0
  612. package/index.js.map +1 -1
  613. package/internal/Calendar/Calendar/Calendar.js +13 -5
  614. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  615. package/internal/Calendar/Calendar.d.ts +6 -0
  616. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  617. package/internal/Calendar/MonthView/MonthView.js +4 -3
  618. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  619. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  620. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  621. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +7 -8
  622. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  623. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  624. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +34 -19
  625. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  626. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  627. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  628. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  629. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +21 -17
  630. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  631. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  632. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  633. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  634. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  635. package/internal/DataTids/DATATIDS.md +12 -0
  636. package/internal/DataTids/DataTids/DataTids.js +69 -0
  637. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  638. package/internal/DataTids/DataTids/package.json +6 -0
  639. package/internal/DataTids/DataTids.d.ts +12 -0
  640. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  641. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  642. package/internal/DataTids/DataTids.styles/package.json +6 -0
  643. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  644. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  645. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  646. package/internal/DataTids/componentsDataTids/package.json +6 -0
  647. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  648. package/internal/DateSelect/DateSelect/DateSelect.js +27 -17
  649. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  650. package/internal/DateSelect/DateSelect.d.ts +4 -0
  651. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  652. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  653. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +12 -5
  654. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  655. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  656. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  657. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  658. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  659. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  660. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  661. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  662. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  663. package/internal/InputLikeText/InputLikeText.d.ts +5 -1
  664. package/internal/InternalMenu/InternalMenu/InternalMenu.js +18 -21
  665. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  666. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  667. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  668. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  669. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  670. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  671. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  672. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  673. package/internal/MaskedInput/MaskedInput/MaskedInput.js +14 -3
  674. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  675. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  676. package/internal/Menu/Menu/Menu.js +15 -19
  677. package/internal/Menu/Menu/Menu.js.map +1 -1
  678. package/internal/Menu/Menu.d.ts +3 -0
  679. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  680. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  681. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  682. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  683. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  684. package/internal/Popup/Popup/Popup.js +15 -9
  685. package/internal/Popup/Popup/Popup.js.map +1 -1
  686. package/internal/Popup/Popup.d.ts +6 -0
  687. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  688. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  689. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -2
  690. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  691. package/internal/PopupMenu/PopupMenu.d.ts +8 -0
  692. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  693. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  694. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  695. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -2
  696. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  697. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  698. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  699. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  700. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  701. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  702. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  703. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  704. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  705. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  706. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  707. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  708. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  709. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  710. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  711. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  712. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  713. package/internal/ThemePlayground/constants/constants.js +2 -0
  714. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  715. package/internal/ThemePlayground/constants.d.ts +3 -1
  716. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  717. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  718. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  719. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  720. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  721. package/internal/ZIndex/ZIndex/ZIndex.js +23 -8
  722. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  723. package/internal/ZIndex/ZIndex.d.ts +8 -0
  724. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  725. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  726. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  727. package/internal/icons/16px/index/index.js +28 -20
  728. package/internal/icons/16px/index/index.js.map +1 -1
  729. package/internal/icons/16px/index.d.ts +19 -19
  730. package/internal/icons/20px/svg/svg.js +5 -0
  731. package/internal/icons/20px/svg/svg.js.map +1 -1
  732. package/internal/themes/DefaultTheme/DefaultTheme.js +48 -4
  733. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  734. package/internal/themes/DefaultTheme.d.ts +20 -1
  735. package/internal/themes/NotFlat/NotFlat.js +15 -0
  736. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  737. package/internal/themes/NotFlat.d.ts +6 -0
  738. package/internal/themes/Theme2022/Theme2022.js +78 -0
  739. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  740. package/internal/themes/Theme2022/package.json +6 -0
  741. package/internal/themes/Theme2022.d.ts +66 -0
  742. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  743. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  744. package/internal/themes/Theme2022Dark/package.json +6 -0
  745. package/internal/themes/Theme2022Dark.d.ts +5 -0
  746. package/lib/animation/index/index.js +1 -1
  747. package/lib/animation/index/index.js.map +1 -1
  748. package/lib/animation/index.d.ts +1 -1
  749. package/lib/date/InternalDate/InternalDate.js +16 -1
  750. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  751. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  752. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  753. package/lib/date/InternalDateGetter/InternalDateGetter.js +23 -7
  754. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  755. package/lib/date/InternalDateGetter.d.ts +1 -1
  756. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  757. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  758. package/lib/date/InternalDateValidator/InternalDateValidator.js +75 -34
  759. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  760. package/lib/date/types/types.js.map +1 -1
  761. package/lib/date/types.d.ts +4 -0
  762. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  763. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  764. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  765. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  766. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  767. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  768. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  769. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  770. package/lib/rootNode/getRootNode/getRootNode.js +36 -8
  771. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  772. package/lib/rootNode/getRootNode.d.ts +9 -0
  773. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +3 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +9 -1
  776. package/lib/stringUtils/stringUtils.js +4 -1
  777. package/lib/stringUtils/stringUtils.js.map +1 -1
  778. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  779. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  780. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  781. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  782. package/lib/styles/ColorHelpers.d.ts +1 -0
  783. package/lib/styles/ColorObject/ColorObject.js +2 -2
  784. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  785. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  786. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  787. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  788. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  789. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  790. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  791. package/lib/theming/Emotion/Emotion.js +5 -2
  792. package/lib/theming/Emotion/Emotion.js.map +1 -1
  793. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  794. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  795. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  796. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  797. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  798. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  799. package/lib/theming/themes/Theme2022/package.json +6 -0
  800. package/lib/theming/themes/Theme2022.d.ts +1 -0
  801. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  802. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  803. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  804. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  805. package/lib/utils/utils.js +42 -6
  806. package/lib/utils/utils.js.map +1 -1
  807. package/lib/utils.d.ts +15 -0
  808. package/package.json +5 -6
  809. package/cjs/components/Button/Corners.d.ts +0 -6
  810. package/cjs/components/Button/Corners.js +0 -5
  811. package/cjs/components/Button/Corners.js.map +0 -1
  812. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  813. package/cjs/lib/polyfillPlaceholder.js +0 -17
  814. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  815. package/components/Button/Corners/Corners.js +0 -6
  816. package/components/Button/Corners/Corners.js.map +0 -1
  817. package/components/Button/Corners/package.json +0 -6
  818. package/components/Button/Corners.d.ts +0 -6
  819. package/lib/polyfillPlaceholder/package.json +0 -6
  820. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  821. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  822. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthView.tsx"],"names":["React","useContext","DateSelect","ThemeContext","ColorFunctions","cx","styles","themeConfig","CDS","MonthView","props","theme","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../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":["React","useContext","DateSelect","ThemeContext","ColorFunctions","cx","styles","themeConfig","CDS","CalendarDataTids","MonthView","props","theme","children","height","isFirstInYear","isLastInYear","maxDate","minDate","month","top","year","onMonthSelect","onYearSelect","monthSelectRef","yearSelectRef","isTopNegative","isHeaderSticky","headerTop","Math","min","MONTH_TITLE_HEIGHT","alpha","borderBottomColor","fade","calendarMonthTitleBorderBottomColor","isYearVisible","yearTop","monthSelectDisabled","yearSelectDisabled","getMinMonth","value","i","isGreaterOrEqual","date","getMaxMonth","max","isLessOrEqual","header","headerSticky","monthTitle","headerMonth","undefined","headerYear"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport { DateSelect } from '../DateSelect';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './MonthView.styles';\nimport { themeConfig } from './config';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDataTids } from './Calendar';\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n maxDate?: CDS.CalendarDateShape;\n minDate?: CDS.CalendarDateShape;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps) {\n const theme = useContext(ThemeContext);\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n maxDate,\n minDate,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = ColorFunctions.fade(theme.calendarMonthTitleBorderBottomColor, alpha);\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 40 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 40 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n const getMinMonth = (value: number) => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year: value }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n };\n\n const getMaxMonth = (value: number) => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year: value }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n };\n\n return (\n <div data-tid={CalendarDataTids.month} className={styles.month(theme)} style={{ top }} key={month + '-' + year}>\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year)}\n maxValue={getMaxMonth(year)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -1,6 +1,31 @@
1
1
  import { memo } from "../../../lib/memo";
2
2
  import { themeConfig } from "../config";
3
3
  import { DayCellViewModel } from "../DayCellViewModel";
4
+
5
+ var getCurrentYear = function getCurrentYear(month, year) {
6
+ if (month < 0) {
7
+ return year - Math.ceil(-month / 12);
8
+ }
9
+
10
+ if (month > 11) {
11
+ return year + Math.floor(month / 12);
12
+ }
13
+
14
+ return year;
15
+ };
16
+
17
+ var getCurrentMonth = function getCurrentMonth(month) {
18
+ if (month < 0) {
19
+ return 12 + month % 12;
20
+ }
21
+
22
+ if (month > 11) {
23
+ return month % 12;
24
+ }
25
+
26
+ return month;
27
+ };
28
+
4
29
  export var MonthViewModel = /*#__PURE__*/function () {
5
30
  var _proto = MonthViewModel.prototype;
6
31
 
@@ -14,29 +39,21 @@ export var MonthViewModel = /*#__PURE__*/function () {
14
39
  };
15
40
 
16
41
  function MonthViewModel(month, year) {
17
- if (month < 0) {
18
- year -= Math.ceil(-month / 12);
19
- month = 12 + month % 12;
20
- }
21
-
22
- if (month > 11) {
23
- year += Math.floor(month / 12);
24
- month %= 12;
25
- }
26
-
27
- var daysCount = getMonthsDays(month, year);
28
- var offset = getMonthOffset(month, year);
42
+ var currentYear = getCurrentYear(month, year);
43
+ var currentMonth = getCurrentMonth(month);
44
+ var daysCount = getMonthsDays(currentMonth, currentYear);
45
+ var offset = getMonthOffset(currentMonth, currentYear);
29
46
  this.daysCount = daysCount;
30
47
  this.offset = offset;
31
- this.month = month;
32
- this.year = year;
33
- this.isLastInYear = month === 11;
34
- this.isFirstInYear = month === 0;
48
+ this.month = currentMonth;
49
+ this.year = currentYear;
50
+ this.isLastInYear = currentMonth === 11;
51
+ this.isFirstInYear = currentMonth === 0;
35
52
  this.days = Array.from({
36
53
  length: daysCount
37
54
  }, function (_, i) {
38
- var isWeekend = (i + getMonthOffset(month, year)) % 7 >= 5;
39
- return DayCellViewModel.create(i + 1, month, year, isWeekend);
55
+ var isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;
56
+ return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);
40
57
  });
41
58
  }
42
59
 
@@ -1 +1 @@
1
- {"version":3,"sources":["MonthViewModel.ts"],"names":["memo","themeConfig","DayCellViewModel","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","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\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":["memo","themeConfig","DayCellViewModel","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","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"]}
@@ -1,8 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
- var _excluded = ["className", "style", "rootNodeRef"],
5
- _excluded2 = ["children"];
4
+ var _excluded = ["className", "style", "children", "rootNodeRef"];
6
5
 
7
6
  var _class;
8
7
 
@@ -57,11 +56,10 @@ export var CommonWrapper = rootNode(_class = /*#__PURE__*/function (_React$Compo
57
56
  _extractCommonProps$ = _extractCommonProps[0],
58
57
  className = _extractCommonProps$.className,
59
58
  style = _extractCommonProps$.style,
59
+ children = _extractCommonProps$.children,
60
60
  rootNodeRef = _extractCommonProps$.rootNodeRef,
61
61
  dataProps = _objectWithoutPropertiesLoose(_extractCommonProps$, _excluded),
62
- _extractCommonProps$2 = _extractCommonProps[1],
63
- children = _extractCommonProps$2.children,
64
- rest = _objectWithoutPropertiesLoose(_extractCommonProps$2, _excluded2);
62
+ rest = _extends({}, _extractCommonProps[1]);
65
63
 
66
64
  this.child = isFunction(children) ? children(rest) : children;
67
65
  return /*#__PURE__*/React.isValidElement(this.child) ? /*#__PURE__*/React.cloneElement(this.child, _extends({
@@ -93,9 +91,10 @@ var extractCommonProps = function extractCommonProps(props) {
93
91
 
94
92
  var isCommonProp = function isCommonProp(name) {
95
93
  switch (true) {
96
- case name == 'className':
97
- case name == 'style':
98
- case name == 'rootNodeRef':
94
+ case name === 'className':
95
+ case name === 'style':
96
+ case name === 'rootNodeRef':
97
+ case name === 'children':
99
98
  case name.indexOf('data-') === 0:
100
99
  // все data-атрибуты
101
100
  return true;
@@ -1 +1 @@
1
- {"version":3,"sources":["CommonWrapper.tsx"],"names":["React","isFunction","isRefableElement","cx","getRootNode","rootNode","isInstanceWithRootNode","callChildRef","CommonWrapper","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","remove","addRootNodeChangeListener","node","originalRef","child","render","extractCommonProps","className","style","dataProps","children","rest","isValidElement","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"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","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
+ {"version":3,"sources":["CommonWrapper.tsx"],"names":["React","isFunction","isRefableElement","cx","getRootNode","rootNode","isInstanceWithRootNode","callChildRef","CommonWrapper","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","remove","addRootNodeChangeListener","node","originalRef","child","render","extractCommonProps","className","style","children","dataProps","rest","isValidElement","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"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","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 children?: React.ReactNode;\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, children, rootNodeRef, ...dataProps }, { ...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 === 'children':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
@@ -13,6 +13,7 @@ export interface CommonProps {
13
13
  * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.
14
14
  */
15
15
  'data-tid'?: string;
16
+ children?: React.ReactNode;
16
17
  }
17
18
  interface CommonPropsRootNodeRef {
18
19
  rootNodeRef?: (instance: Nullable<HTMLElement>) => void;
@@ -3,6 +3,7 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  var _dec, _class, _class2, _temp;
4
4
 
5
5
  import React, { Component } from 'react';
6
+ import { isNullable } from "../../../lib/utils";
6
7
  import { locale } from "../../../lib/locale/decorators";
7
8
  import { Menu } from "../../Menu";
8
9
  import { MenuItem } from "../../../components/MenuItem";
@@ -10,6 +11,13 @@ import { Spinner } from "../../../components/Spinner";
10
11
  import { MenuSeparator } from "../../../components/MenuSeparator";
11
12
  import { ComboBoxRequestStatus } from "../CustomComboBoxTypes";
12
13
  import { CustomComboBoxLocaleHelper } from "../locale";
14
+ export var ComboBoxMenuDataTids = {
15
+ loading: 'ComboBoxMenu__loading',
16
+ failed: 'ComboBoxMenu__failed',
17
+ notFound: 'ComboBoxMenu__notFound',
18
+ items: 'ComboBoxMenu__items',
19
+ item: 'ComboBoxMenu__item'
20
+ };
13
21
  export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
14
22
  _inheritsLoose(ComboBoxMenu, _Component);
15
23
 
@@ -42,7 +50,7 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
42
50
  }
43
51
 
44
52
  return /*#__PURE__*/React.createElement(MenuItem, {
45
- "data-tid": "ComboBoxMenu__item",
53
+ "data-tid": ComboBoxMenuDataTids.item,
46
54
  onClick: function onClick() {
47
55
  return onValueChange(item);
48
56
  },
@@ -95,7 +103,7 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
95
103
  maxHeight: maxHeight,
96
104
  ref: refMenu,
97
105
  disableScrollContainer: isMobile,
98
- "data-tid": "ComboBoxMenu__loading"
106
+ "data-tid": ComboBoxMenuDataTids.loading
99
107
  }, /*#__PURE__*/React.createElement(MenuItem, {
100
108
  disabled: true,
101
109
  isMobile: isMobile
@@ -110,7 +118,7 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
110
118
  ref: refMenu,
111
119
  maxHeight: maxHeight,
112
120
  disableScrollContainer: isMobile,
113
- "data-tid": "ComboBoxMenu__failed"
121
+ "data-tid": ComboBoxMenuDataTids.failed
114
122
  }, /*#__PURE__*/React.createElement(MenuItem, {
115
123
  disabled: true,
116
124
  key: "message",
@@ -128,22 +136,29 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
128
136
  }, errorNetworkButton));
129
137
  }
130
138
 
131
- if ((items == null || items.length === 0) && renderNotFound) {
139
+ if ((isNullable(items) || items.length === 0) && renderNotFound) {
132
140
  var notFoundValue = renderNotFound();
133
- if (renderAddButton) return /*#__PURE__*/React.createElement(Menu, {
134
- maxHeight: maxHeight,
135
- ref: refMenu,
136
- disableScrollContainer: isMobile
137
- }, renderAddButton);
138
- if (notFoundValue) return /*#__PURE__*/React.createElement(Menu, {
139
- maxHeight: maxHeight,
140
- ref: refMenu,
141
- disableScrollContainer: isMobile
142
- }, /*#__PURE__*/React.createElement(MenuItem, {
143
- "data-tid": "ComboBoxMenu__notFound",
144
- disabled: true,
145
- isMobile: isMobile
146
- }, notFoundValue));
141
+
142
+ if (renderAddButton) {
143
+ return /*#__PURE__*/React.createElement(Menu, {
144
+ maxHeight: maxHeight,
145
+ ref: refMenu,
146
+ disableScrollContainer: isMobile
147
+ }, renderAddButton);
148
+ }
149
+
150
+ if (notFoundValue) {
151
+ return /*#__PURE__*/React.createElement(Menu, {
152
+ maxHeight: maxHeight,
153
+ ref: refMenu,
154
+ disableScrollContainer: isMobile
155
+ }, /*#__PURE__*/React.createElement(MenuItem, {
156
+ "data-tid": ComboBoxMenuDataTids.notFound,
157
+ disabled: true,
158
+ isMobile: isMobile
159
+ }, notFoundValue));
160
+ }
161
+
147
162
  return null;
148
163
  }
149
164
 
@@ -169,7 +184,7 @@ export var ComboBoxMenu = (_dec = locale('ComboBox', CustomComboBoxLocaleHelper)
169
184
  }
170
185
 
171
186
  return /*#__PURE__*/React.createElement(Menu, {
172
- "data-tid": "ComboBoxMenu__items",
187
+ "data-tid": ComboBoxMenuDataTids.items,
173
188
  ref: refMenu,
174
189
  maxHeight: maxHeight,
175
190
  disableScrollContainer: isMobile
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","Component","locale","Menu","MenuItem","Spinner","MenuSeparator","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenu","renderItem","item","index","props","onValueChange","isValidElement","element","Object","assign","key","onClick","cloneElement","isMobile","state","render","opened","items","totalCount","loading","refMenu","renderNotFound","notFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","countItems","filter","type","__KONTUR_REACT_UI__","fontSize","defaultProps","undefined","Unknown"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<T[]>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n}\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n\n public static defaultProps = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private readonly locale!: ComboBoxLocale;\n\n public render() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n requestStatus,\n isMobile,\n } = this.props;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile} data-tid=\"ComboBoxMenu__loading\">\n <MenuItem disabled isMobile={isMobile}>\n <Spinner type=\"mini\" dimmed />\n </MenuItem>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile} data-tid=\"ComboBoxMenu__failed\">\n <MenuItem disabled key=\"message\" isMobile={isMobile}>\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuItem>\n <MenuItem link onClick={this.props.repeatRequest} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((items == null || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton)\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n if (notFoundValue)\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuItem data-tid=\"ComboBoxMenu__notFound\" disabled isMobile={isMobile}>\n {notFoundValue}\n </MenuItem>\n </Menu>\n );\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n // @ts-ignore // todo fix checking\n const countItems = renderedItems?.filter((item) => item?.type?.__KONTUR_REACT_UI__ === 'MenuItem').length;\n\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuItem disabled key=\"total\" isMobile={isMobile}>\n <div style={{ fontSize: 12 }}>{renderTotalCount(countItems, totalCount)}</div>\n </MenuItem>\n );\n }\n\n return (\n <Menu data-tid=\"ComboBoxMenu__items\" ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile}>\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: T, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange } = this.props;\n if (typeof item === 'function' || React.isValidElement(item)) {\n // @ts-ignore\n const element = typeof item === 'function' ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n data-tid=\"ComboBoxMenu__item\"\n onClick={() => onValueChange(item)}\n key={index}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxMenu.tsx"],"names":["React","Component","isNullable","locale","Menu","MenuItem","Spinner","MenuSeparator","ComboBoxRequestStatus","CustomComboBoxLocaleHelper","ComboBoxMenuDataTids","loading","failed","notFound","items","item","ComboBoxMenu","renderItem","index","props","onValueChange","isValidElement","element","Object","assign","key","onClick","cloneElement","isMobile","state","render","opened","totalCount","refMenu","renderNotFound","renderTotalCount","maxMenuHeight","requestStatus","errorNetworkButton","errorNetworkMessage","renderAddButton","maxHeight","length","Failed","maxWidth","whiteSpace","repeatRequest","notFoundValue","total","renderedItems","map","countItems","filter","type","__KONTUR_REACT_UI__","fontSize","defaultProps","undefined","Unknown"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\n\nimport { isNullable } from '../../lib/utils';\nimport { locale } from '../../lib/locale/decorators';\nimport { Menu } from '../Menu';\nimport { MenuItem, MenuItemState } from '../../components/MenuItem';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { MenuSeparator } from '../../components/MenuSeparator';\n\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { ComboBoxLocale, CustomComboBoxLocaleHelper } from './locale';\n\nexport interface ComboBoxMenuProps<T> {\n opened?: boolean;\n items?: Nullable<T[]>;\n totalCount?: number;\n loading?: boolean;\n maxMenuHeight?: number | string;\n refMenu?: (menu: Nullable<Menu>) => void;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode;\n onValueChange: (value: T) => any;\n renderAddButton?: () => React.ReactNode;\n caption?: React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n isMobile?: boolean;\n}\n\nexport const ComboBoxMenuDataTids = {\n loading: 'ComboBoxMenu__loading',\n failed: 'ComboBoxMenu__failed',\n notFound: 'ComboBoxMenu__notFound',\n items: 'ComboBoxMenu__items',\n item: 'ComboBoxMenu__item',\n} as const;\n\n@locale('ComboBox', CustomComboBoxLocaleHelper)\nexport class ComboBoxMenu<T> extends Component<ComboBoxMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxMenu';\n\n public static defaultProps = {\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n };\n\n private readonly locale!: ComboBoxLocale;\n\n public render() {\n const {\n opened,\n items,\n totalCount,\n loading,\n refMenu,\n renderNotFound = () => notFound,\n renderTotalCount,\n maxMenuHeight,\n requestStatus,\n isMobile,\n } = this.props;\n\n const { notFound, errorNetworkButton, errorNetworkMessage } = this.locale;\n\n if (!opened) {\n return null;\n }\n\n let renderAddButton = null;\n if (this.props.renderAddButton) {\n renderAddButton = this.props.renderAddButton();\n }\n\n const maxHeight = isMobile ? 'auto' : maxMenuHeight;\n\n if (loading && (!items || !items.length)) {\n return (\n <Menu\n maxHeight={maxHeight}\n ref={refMenu}\n disableScrollContainer={isMobile}\n data-tid={ComboBoxMenuDataTids.loading}\n >\n <MenuItem disabled isMobile={isMobile}>\n <Spinner type=\"mini\" dimmed />\n </MenuItem>\n </Menu>\n );\n }\n\n if (items === null && requestStatus === ComboBoxRequestStatus.Failed) {\n return (\n <Menu\n ref={refMenu}\n maxHeight={maxHeight}\n disableScrollContainer={isMobile}\n data-tid={ComboBoxMenuDataTids.failed}\n >\n <MenuItem disabled key=\"message\" isMobile={isMobile}>\n <div style={{ maxWidth: 300, whiteSpace: 'normal' }}>{errorNetworkMessage}</div>\n </MenuItem>\n <MenuItem link onClick={this.props.repeatRequest} key=\"retry\" isMobile={isMobile}>\n {errorNetworkButton}\n </MenuItem>\n </Menu>\n );\n }\n\n if ((isNullable(items) || items.length === 0) && renderNotFound) {\n const notFoundValue = renderNotFound();\n if (renderAddButton) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n {renderAddButton}\n </Menu>\n );\n }\n\n if (notFoundValue) {\n return (\n <Menu maxHeight={maxHeight} ref={refMenu} disableScrollContainer={isMobile}>\n <MenuItem data-tid={ComboBoxMenuDataTids.notFound} disabled isMobile={isMobile}>\n {notFoundValue}\n </MenuItem>\n </Menu>\n );\n }\n\n return null;\n }\n\n let total = null;\n const renderedItems = items && items.map(this.renderItem);\n // @ts-ignore // todo fix checking\n const countItems = renderedItems?.filter((item) => item?.type?.__KONTUR_REACT_UI__ === 'MenuItem').length;\n\n if (countItems && renderTotalCount && totalCount && countItems < totalCount) {\n total = (\n <MenuItem disabled key=\"total\" isMobile={isMobile}>\n <div style={{ fontSize: 12 }}>{renderTotalCount(countItems, totalCount)}</div>\n </MenuItem>\n );\n }\n\n return (\n <Menu data-tid={ComboBoxMenuDataTids.items} ref={refMenu} maxHeight={maxHeight} disableScrollContainer={isMobile}>\n {renderedItems}\n {total}\n {renderAddButton && [<MenuSeparator key=\"separator\" />, renderAddButton]}\n </Menu>\n );\n }\n\n private renderItem = (item: T, index: number): React.ReactNode => {\n // NOTE this is undesireable feature, better\n // to remove it from further versions\n const { renderItem, onValueChange } = this.props;\n if (typeof item === 'function' || React.isValidElement(item)) {\n // @ts-ignore\n const element = typeof item === 'function' ? item() : item;\n const props = Object.assign(\n {\n key: index,\n onClick: () => onValueChange(element.props),\n },\n element.props,\n );\n return React.cloneElement(element, props);\n }\n\n return (\n <MenuItem\n data-tid={ComboBoxMenuDataTids.item}\n onClick={() => onValueChange(item)}\n key={index}\n isMobile={this.props.isMobile}\n >\n {(state) => renderItem(item, state)}\n </MenuItem>\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: {
@@ -19,6 +19,7 @@ import { rootNode, getRootNode } from "../../../lib/rootNode";
19
19
  import { ComboBoxMenu } from "../ComboBoxMenu";
20
20
  import { ComboBoxRequestStatus } from "../CustomComboBoxTypes";
21
21
  import { styles } from "../CustomComboBox.styles";
22
+ import { CustomComboBoxDataTids } from "../CustomComboBox";
22
23
  export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
23
24
  _inheritsLoose(ComboBoxView, _React$Component);
24
25
 
@@ -229,6 +230,7 @@ export var ComboBoxView = responsiveLayout(_class = rootNode(_class = (_temp = _
229
230
  onFocusOutside: onFocusOutside,
230
231
  active: opened
231
232
  }, /*#__PURE__*/React.createElement("span", {
233
+ "data-tid": CustomComboBoxDataTids.comboBoxView,
232
234
  style: {
233
235
  width: width
234
236
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["ComboBoxView.tsx"],"names":["React","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","ComboBoxMenu","ComboBoxRequestStatus","styles","ComboBoxView","mobileInput","dropdownContainerRef","createRef","state","isMobileOpened","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderItem","renderNotFound","repeatRequest","requestStatus","totalCount","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","getParent","disablePortal","renderMobileMenu","rightIcon","length","renderSpinner","inputProps","autoFocus","width","onFocus","onValueChange","onInputValueChange","value","textValue","placeholder","refMobileInput","handleCloseMobile","setState","onInputBlur","handleFocusMobile","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","onClickOutside","onFocusOutside","onMouseEnter","onMouseLeave","onMouseOver","isMobile","renderInput","root","setRootNode","align","borderless","disabled","error","onInputFocus","onInputClick","onInputKeyDown","renderValue","size","warning","refInputLikeText","leftIcon","inputMode","maxLength","undefined","Component","__KONTUR_REACT_UI__","defaultProps","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { DropdownContainer } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\n\ninterface ComboBoxViewProps<T> extends CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<T[]>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ninterface ComboBoxViewState {\n isMobileOpened: boolean;\n}\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n\n public static defaultProps = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public state: ComboBoxViewState = {\n isMobileOpened: false,\n };\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n const { onClickOutside, onFocusOutside, onMouseEnter, onMouseLeave, onMouseOver, opened, width } = this.props;\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const {\n items,\n loading,\n opened,\n refMenu,\n maxMenuHeight,\n renderTotalCount,\n renderItem,\n renderNotFound,\n repeatRequest,\n requestStatus,\n totalCount,\n } = this.props;\n\n return (\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem!}\n renderNotFound={renderNotFound}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n align={menuAlign}\n getParent={this.getParent}\n offsetY={1}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus: this.props.onFocus,\n onValueChange: this.props.onInputValueChange,\n value: this.props.textValue,\n placeholder: this.props.placeholder,\n rightIcon,\n };\n\n return (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n useFullHeight\n onCloseRequest={this.handleCloseMobile}\n opened={this.state.isMobileOpened}\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n );\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n if (this.props.onInputBlur) {\n this.props.onInputBlur();\n }\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.props.renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n renderValue,\n size,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n } = this.props;\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={isMobile ? this.handleFocusMobile : onInputFocus}\n onClick={isMobile ? this.handleFocusMobile : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleFocusMobile = () => {\n this.setState({\n isMobileOpened: true,\n });\n\n if (this.mobileInput) {\n this.mobileInput.focus();\n }\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.handleCloseMobile();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n\n if (loading && items && !!items.length) {\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}
1
+ {"version":3,"sources":["ComboBoxView.tsx"],"names":["React","isNonNullable","DropdownContainer","Input","InputLikeText","RenderLayer","Spinner","ArrowChevronDownIcon","CommonWrapper","MobilePopup","responsiveLayout","rootNode","getRootNode","ComboBoxMenu","ComboBoxRequestStatus","styles","CustomComboBoxDataTids","ComboBoxView","mobileInput","dropdownContainerRef","createRef","state","isMobileOpened","getComboBoxMenu","props","items","loading","opened","refMenu","maxMenuHeight","renderTotalCount","renderItem","renderNotFound","repeatRequest","requestStatus","totalCount","handleItemSelect","renderAddButton","isMobileLayout","renderMenu","menuAlign","getParent","disablePortal","renderMobileMenu","rightIcon","length","renderSpinner","inputProps","autoFocus","width","onFocus","onValueChange","onInputValueChange","value","textValue","placeholder","refMobileInput","handleCloseMobile","setState","onInputBlur","handleFocusMobile","focus","item","refInput","input","spinnerWrapper","getRightIcon","drawArrow","rightIconWrapper","componentDidMount","current","position","componentDidUpdate","prevProps","editing","render","onClickOutside","onFocusOutside","onMouseEnter","onMouseLeave","onMouseOver","isMobile","renderInput","comboBoxView","root","setRootNode","align","borderless","disabled","error","onInputFocus","onInputClick","onInputKeyDown","renderValue","size","warning","refInputLikeText","leftIcon","inputMode","maxLength","undefined","Component","__KONTUR_REACT_UI__","defaultProps","Unknown"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils';\nimport { DropdownContainer } from '../DropdownContainer';\nimport { Input, InputIconType, InputProps } from '../../components/Input';\nimport { InputLikeText } from '../InputLikeText';\nimport { Menu } from '../Menu';\nimport { MenuItemState } from '../../components/MenuItem';\nimport { RenderLayer } from '../RenderLayer';\nimport { Spinner } from '../../components/Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ArrowChevronDownIcon } from '../icons/16px';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../MobilePopup';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { rootNode, getRootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { ComboBoxMenu } from './ComboBoxMenu';\nimport { ComboBoxRequestStatus } from './CustomComboBoxTypes';\nimport { styles } from './CustomComboBox.styles';\nimport { CustomComboBoxDataTids } from './CustomComboBox';\n\ninterface ComboBoxViewProps<T> extends CommonProps {\n align?: 'left' | 'center' | 'right';\n autoFocus?: boolean;\n borderless?: boolean;\n disablePortal?: boolean;\n disabled?: boolean;\n editing?: boolean;\n /**\n * Cостояние валидации при ошибке.\n */\n error?: boolean;\n items?: Nullable<T[]>;\n loading?: boolean;\n menuAlign?: 'left' | 'right';\n opened?: boolean;\n drawArrow?: boolean;\n placeholder?: string;\n size?: 'small' | 'medium' | 'large';\n textValue?: string;\n totalCount?: number;\n value?: Nullable<T>;\n /**\n * Cостояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: string | number;\n maxLength?: number;\n maxMenuHeight?: number | string;\n leftIcon?: InputIconType;\n rightIcon?: InputIconType;\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n onValueChange?: (value: T) => void;\n onClickOutside?: (e: Event) => void;\n onFocus?: () => void;\n onFocusOutside?: () => void;\n onInputBlur?: () => void;\n onInputValueChange?: (value: string) => void;\n onInputFocus?: () => void;\n onInputClick?: () => void;\n onInputKeyDown?: (e: React.KeyboardEvent) => void;\n onMouseEnter?: (e: React.MouseEvent) => void;\n onMouseOver?: (e: React.MouseEvent) => void;\n onMouseLeave?: (e: React.MouseEvent) => void;\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode;\n renderNotFound?: () => React.ReactNode;\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n renderValue?: (item: T) => React.ReactNode;\n renderAddButton: (query?: string) => React.ReactNode;\n repeatRequest?: () => void;\n requestStatus?: ComboBoxRequestStatus;\n refInput?: (input: Nullable<Input>) => void;\n refMenu?: (menu: Nullable<Menu>) => void;\n refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;\n}\n\ninterface ComboBoxViewState {\n isMobileOpened: boolean;\n}\n\n@responsiveLayout\n@rootNode\nexport class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T>, ComboBoxViewState> {\n public static __KONTUR_REACT_UI__ = 'ComboBoxView';\n\n public static defaultProps = {\n renderItem: (item: any) => item,\n renderValue: (item: any) => item,\n renderAddButton: () => null,\n repeatRequest: () => undefined,\n requestStatus: ComboBoxRequestStatus.Unknown,\n onClickOutside: () => {\n /**/\n },\n onFocusOutside: () => {\n /**/\n },\n size: 'small',\n width: 250,\n };\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private mobileInput: Nullable<Input> = null;\n private isMobileLayout!: boolean;\n private dropdownContainerRef = React.createRef<DropdownContainer>();\n\n public componentDidMount() {\n if (this.props.autoFocus && this.props.onFocus) {\n this.props.onFocus();\n }\n this.props.opened && this.dropdownContainerRef.current?.position();\n }\n\n public state: ComboBoxViewState = {\n isMobileOpened: false,\n };\n\n public componentDidUpdate(prevProps: ComboBoxViewProps<T>) {\n const { input, props } = this;\n\n if (props.editing && !prevProps.editing && input) {\n input.focus();\n }\n }\n\n public render() {\n const { onClickOutside, onFocusOutside, onMouseEnter, onMouseLeave, onMouseOver, opened, width } = this.props;\n\n const isMobile = this.isMobileLayout;\n\n const input = this.renderInput();\n\n return (\n <CommonWrapper {...this.props}>\n <RenderLayer onClickOutside={onClickOutside} onFocusOutside={onFocusOutside} active={opened}>\n <span\n data-tid={CustomComboBoxDataTids.comboBoxView}\n style={{ width }}\n className={styles.root()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n ref={this.setRootNode}\n >\n {input}\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getComboBoxMenu = () => {\n const {\n items,\n loading,\n opened,\n refMenu,\n maxMenuHeight,\n renderTotalCount,\n renderItem,\n renderNotFound,\n repeatRequest,\n requestStatus,\n totalCount,\n } = this.props;\n\n return (\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={this.handleItemSelect}\n opened={opened}\n refMenu={refMenu}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem!}\n renderNotFound={renderNotFound}\n renderAddButton={this.renderAddButton}\n repeatRequest={repeatRequest}\n requestStatus={requestStatus}\n totalCount={totalCount}\n isMobile={this.isMobileLayout}\n />\n );\n };\n\n private renderMenu = () => {\n const { menuAlign, opened } = this.props;\n\n return (\n opened && (\n <DropdownContainer\n align={menuAlign}\n getParent={this.getParent}\n offsetY={1}\n disablePortal={this.props.disablePortal}\n ref={this.dropdownContainerRef}\n >\n {this.getComboBoxMenu()}\n </DropdownContainer>\n )\n );\n };\n\n private renderMobileMenu = () => {\n let rightIcon = null;\n\n const { loading, items } = this.props;\n if (loading && items && !!items.length) {\n rightIcon = this.renderSpinner();\n }\n\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onFocus: this.props.onFocus,\n onValueChange: this.props.onInputValueChange,\n value: this.props.textValue,\n placeholder: this.props.placeholder,\n rightIcon,\n };\n\n return (\n <MobilePopup\n headerChildComponent={<Input ref={this.refMobileInput} {...inputProps} />}\n useFullHeight\n onCloseRequest={this.handleCloseMobile}\n opened={this.state.isMobileOpened}\n >\n {this.getComboBoxMenu()}\n </MobilePopup>\n );\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n if (this.props.onInputBlur) {\n this.props.onInputBlur();\n }\n };\n\n private getParent = () => {\n return getRootNode(this);\n };\n\n private renderAddButton = (): React.ReactNode => {\n return this.props.renderAddButton(this.props.textValue);\n };\n\n private renderInput(): React.ReactNode {\n const isMobile = this.isMobileLayout;\n\n const {\n align,\n borderless,\n disabled,\n editing,\n error,\n onFocus,\n onInputBlur,\n onInputValueChange,\n onInputFocus,\n onInputClick,\n onInputKeyDown,\n placeholder,\n renderValue,\n size,\n textValue,\n value,\n warning,\n refInputLikeText,\n leftIcon,\n inputMode,\n } = this.props;\n\n const rightIcon = this.getRightIcon();\n\n if (editing) {\n return (\n <Input\n align={align}\n borderless={borderless}\n disabled={disabled}\n error={error}\n maxLength={this.props.maxLength}\n onBlur={isMobile ? undefined : onInputBlur}\n onValueChange={onInputValueChange}\n onFocus={isMobile ? this.handleFocusMobile : onInputFocus}\n onClick={isMobile ? this.handleFocusMobile : onInputClick}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n value={textValue || ''}\n onKeyDown={onInputKeyDown}\n placeholder={placeholder}\n width=\"100%\"\n size={size}\n ref={this.refInput}\n warning={warning}\n inputMode={inputMode}\n />\n );\n }\n\n return (\n <InputLikeText\n align={align}\n borderless={borderless}\n error={error}\n onFocus={onFocus}\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n disabled={disabled}\n warning={warning}\n placeholder={placeholder}\n size={size}\n width=\"100%\"\n ref={refInputLikeText}\n >\n {isNonNullable(value) && renderValue ? renderValue(value) : null}\n </InputLikeText>\n );\n }\n\n private handleFocusMobile = () => {\n this.setState({\n isMobileOpened: true,\n });\n\n if (this.mobileInput) {\n this.mobileInput.focus();\n }\n };\n\n private handleItemSelect = (item: T) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(item);\n }\n\n if (this.isMobileLayout) {\n this.handleCloseMobile();\n }\n };\n\n private refInput = (input: Nullable<Input>) => {\n if (this.props.refInput) {\n this.props.refInput(input);\n }\n this.input = input;\n };\n\n private renderSpinner = () => (\n <span className={styles.spinnerWrapper()}>\n <Spinner type=\"mini\" caption=\"\" dimmed />\n </span>\n );\n\n private getRightIcon = () => {\n const { loading, items, drawArrow, rightIcon } = this.props;\n\n if (loading && items && !!items.length) {\n return this.renderSpinner();\n }\n\n if (rightIcon || drawArrow) {\n return <span className={styles.rightIconWrapper()}>{rightIcon ?? <ArrowChevronDownIcon />}</span>;\n }\n\n return null;\n };\n\n private refMobileInput = (input: Nullable<Input>) => {\n this.mobileInput = input;\n };\n}\n"]}