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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (863) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -1
  4. package/cjs/components/Autocomplete/Autocomplete.js +21 -15
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -5
  7. package/cjs/components/Button/Button.js +8 -12
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.js +1 -1
  10. package/cjs/components/Button/Button.styles.js.map +1 -1
  11. package/cjs/components/Center/Center.d.ts +3 -0
  12. package/cjs/components/Center/Center.js +8 -3
  13. package/cjs/components/Center/Center.js.map +1 -1
  14. package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
  15. package/cjs/components/Checkbox/Checkbox.js +8 -2
  16. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/Checkbox/Checkbox.styles.js +4 -7
  18. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  19. package/cjs/components/CurrencyInput/CurrencyHelper.js +18 -12
  20. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  21. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  22. package/cjs/components/CurrencyInput/CurrencyInput.js +23 -10
  23. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  25. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  27. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  28. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.styles.js +2 -2
  32. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  33. package/cjs/components/DateInput/helpers/InternalDateMediator.js +8 -2
  34. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  35. package/cjs/components/DatePicker/DatePicker.d.ts +6 -1
  36. package/cjs/components/DatePicker/DatePicker.js +14 -3
  37. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  38. package/cjs/components/DatePicker/Picker.js +7 -2
  39. package/cjs/components/DatePicker/Picker.js.map +1 -1
  40. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  41. package/cjs/components/Dropdown/Dropdown.js +7 -2
  42. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  43. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  44. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -16
  45. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  46. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  47. package/cjs/components/FileUploader/FileUploader.js +18 -9
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  50. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  51. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  52. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  53. package/cjs/components/FxInput/FxInput.js +7 -3
  54. package/cjs/components/FxInput/FxInput.js.map +1 -1
  55. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  56. package/cjs/components/Gapped/Gapped.js +11 -6
  57. package/cjs/components/Gapped/Gapped.js.map +1 -1
  58. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  59. package/cjs/components/GlobalLoader/GlobalLoader.js +9 -7
  60. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  61. package/cjs/components/Group/Group.d.ts +3 -0
  62. package/cjs/components/Group/Group.js +80 -33
  63. package/cjs/components/Group/Group.js.map +1 -1
  64. package/cjs/components/Hint/Hint.d.ts +4 -1
  65. package/cjs/components/Hint/Hint.js +5 -0
  66. package/cjs/components/Hint/Hint.js.map +1 -1
  67. package/cjs/components/Input/Input.d.ts +4 -5
  68. package/cjs/components/Input/Input.js +21 -24
  69. package/cjs/components/Input/Input.js.map +1 -1
  70. package/cjs/components/Kebab/Kebab.d.ts +2 -13
  71. package/cjs/components/Kebab/Kebab.js +5 -29
  72. package/cjs/components/Kebab/Kebab.js.map +1 -1
  73. package/cjs/components/Link/Link.d.ts +3 -0
  74. package/cjs/components/Link/Link.js +7 -3
  75. package/cjs/components/Link/Link.js.map +1 -1
  76. package/cjs/components/Loader/Loader.d.ts +4 -0
  77. package/cjs/components/Loader/Loader.js +15 -10
  78. package/cjs/components/Loader/Loader.js.map +1 -1
  79. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  80. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  81. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  82. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  83. package/cjs/components/MenuItem/MenuItem.js +10 -4
  84. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  85. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  86. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  87. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  88. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  89. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  90. package/cjs/components/Modal/Modal.d.ts +5 -0
  91. package/cjs/components/Modal/Modal.js +10 -3
  92. package/cjs/components/Modal/Modal.js.map +1 -1
  93. package/cjs/components/Modal/Modal.styles.js +10 -6
  94. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  95. package/cjs/components/Modal/ModalClose.js +3 -2
  96. package/cjs/components/Modal/ModalClose.js.map +1 -1
  97. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  98. package/cjs/components/Modal/ModalFooter.js +8 -4
  99. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  100. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  101. package/cjs/components/Modal/ModalHeader.js +9 -4
  102. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  103. package/cjs/components/Paging/Paging.d.ts +20 -3
  104. package/cjs/components/Paging/Paging.js +29 -10
  105. package/cjs/components/Paging/Paging.js.map +1 -1
  106. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  107. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  108. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  109. package/cjs/components/PasswordInput/PasswordInput.d.ts +7 -0
  110. package/cjs/components/PasswordInput/PasswordInput.js +37 -10
  111. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  112. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  113. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  114. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  115. package/cjs/components/Radio/Radio.d.ts +3 -0
  116. package/cjs/components/Radio/Radio.js +7 -3
  117. package/cjs/components/Radio/Radio.js.map +1 -1
  118. package/cjs/components/Radio/Radio.styles.js +4 -7
  119. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  120. package/cjs/components/RadioGroup/RadioGroup.d.ts +4 -1
  121. package/cjs/components/RadioGroup/RadioGroup.js +8 -4
  122. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  123. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  124. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  125. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  126. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +3 -4
  127. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  128. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  129. package/cjs/components/ScrollContainer/ScrollContainer.js +17 -6
  130. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  131. package/cjs/components/Select/Select.d.ts +10 -5
  132. package/cjs/components/Select/Select.js +51 -15
  133. package/cjs/components/Select/Select.js.map +1 -1
  134. package/cjs/components/SidePage/SidePage.d.ts +4 -1
  135. package/cjs/components/SidePage/SidePage.js +9 -17
  136. package/cjs/components/SidePage/SidePage.js.map +1 -1
  137. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  138. package/cjs/components/SidePage/SidePageBody.js +10 -3
  139. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  140. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  141. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  142. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  143. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  144. package/cjs/components/SidePage/SidePageFooter.js +15 -6
  145. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  146. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  147. package/cjs/components/SidePage/SidePageHeader.js +11 -5
  148. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  149. package/cjs/components/Spinner/Spinner.d.ts +3 -1
  150. package/cjs/components/Spinner/Spinner.js +8 -8
  151. package/cjs/components/Spinner/Spinner.js.map +1 -1
  152. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +16 -5
  153. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  154. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  155. package/cjs/components/Sticky/Sticky.js +11 -6
  156. package/cjs/components/Sticky/Sticky.js.map +1 -1
  157. package/cjs/components/Switcher/Switcher.d.ts +5 -1
  158. package/cjs/components/Switcher/Switcher.js +8 -3
  159. package/cjs/components/Switcher/Switcher.js.map +1 -1
  160. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  161. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  162. package/cjs/components/Tabs/Indicator.js +6 -3
  163. package/cjs/components/Tabs/Indicator.js.map +1 -1
  164. package/cjs/components/Tabs/Tab.d.ts +3 -0
  165. package/cjs/components/Tabs/Tab.js +7 -2
  166. package/cjs/components/Tabs/Tab.js.map +1 -1
  167. package/cjs/components/Tabs/Tabs.d.ts +7 -1
  168. package/cjs/components/Tabs/Tabs.js +20 -7
  169. package/cjs/components/Tabs/Tabs.js.map +1 -1
  170. package/cjs/components/Textarea/Textarea.d.ts +6 -2
  171. package/cjs/components/Textarea/Textarea.js +14 -9
  172. package/cjs/components/Textarea/Textarea.js.map +1 -1
  173. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  174. package/cjs/components/Textarea/TextareaCounter.js +21 -12
  175. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  176. package/cjs/components/Toast/Toast.d.ts +6 -0
  177. package/cjs/components/Toast/Toast.js +9 -2
  178. package/cjs/components/Toast/Toast.js.map +1 -1
  179. package/cjs/components/Toast/ToastStatic.js +1 -1
  180. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  181. package/cjs/components/Toast/ToastView.js +6 -5
  182. package/cjs/components/Toast/ToastView.js.map +1 -1
  183. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  184. package/cjs/components/Toast/ToastView.styles.js +3 -2
  185. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  186. package/cjs/components/Toggle/Toggle.d.ts +4 -1
  187. package/cjs/components/Toggle/Toggle.js +7 -3
  188. package/cjs/components/Toggle/Toggle.js.map +1 -1
  189. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  190. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  191. package/cjs/components/Token/Token.d.ts +3 -0
  192. package/cjs/components/Token/Token.js +20 -3
  193. package/cjs/components/Token/Token.js.map +1 -1
  194. package/cjs/components/Token/Token.styles.js +13 -6
  195. package/cjs/components/Token/Token.styles.js.map +1 -1
  196. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  197. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  198. package/cjs/components/TokenInput/TokenInput.d.ts +4 -0
  199. package/cjs/components/TokenInput/TokenInput.js +20 -12
  200. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  201. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  202. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  203. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  204. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  205. package/cjs/components/Tooltip/Tooltip.d.ts +6 -2
  206. package/cjs/components/Tooltip/Tooltip.js +17 -8
  207. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  208. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  209. package/cjs/components/TooltipMenu/TooltipMenu.js +9 -2
  210. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  211. package/cjs/hooks/useDrop.js +3 -1
  212. package/cjs/hooks/useDrop.js.map +1 -1
  213. package/cjs/index.d.ts +2 -0
  214. package/cjs/index.js +2 -0
  215. package/cjs/index.js.map +1 -1
  216. package/cjs/internal/BGRuler.js +3 -1
  217. package/cjs/internal/BGRuler.js.map +1 -1
  218. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  219. package/cjs/internal/Calendar/Calendar.js +12 -5
  220. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  221. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  222. package/cjs/internal/Calendar/MonthView.js +5 -4
  223. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  224. package/cjs/internal/Calendar/MonthViewModel.js +36 -17
  225. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  226. package/cjs/internal/CommonWrapper/CommonWrapper.js +13 -8
  227. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  228. package/cjs/internal/ComponentTable.d.ts +4 -2
  229. package/cjs/internal/ComponentTable.js +1 -0
  230. package/cjs/internal/ComponentTable.js.map +1 -1
  231. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  232. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +28 -5
  233. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  234. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  235. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  236. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  237. package/cjs/internal/CustomComboBox/CustomComboBox.js +9 -4
  238. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  239. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  240. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +35 -35
  241. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  242. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  243. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  244. package/cjs/internal/DataTids/DataTids.js +46 -0
  245. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  246. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  247. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  248. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  249. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  250. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  251. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  252. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  253. package/cjs/internal/DateSelect/DateSelect.js +30 -13
  254. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  255. package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
  256. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  257. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +3 -1
  258. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  259. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  260. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +17 -8
  261. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  262. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  263. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  264. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  265. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  266. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  267. package/cjs/internal/InputLikeText/InputLikeText.d.ts +5 -1
  268. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  269. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  270. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  271. package/cjs/internal/InternalMenu/InternalMenu.js +12 -9
  272. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  273. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  274. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  275. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  276. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  277. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  278. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  279. package/cjs/internal/MaskedInput/MaskedInput.js +13 -5
  280. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  281. package/cjs/internal/Menu/Menu.d.ts +3 -0
  282. package/cjs/internal/Menu/Menu.js +20 -16
  283. package/cjs/internal/Menu/Menu.js.map +1 -1
  284. package/cjs/internal/Menu/Menu.styles.js +5 -3
  285. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  286. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  287. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  288. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  289. package/cjs/internal/Popup/Popup.d.ts +6 -1
  290. package/cjs/internal/Popup/Popup.js +21 -14
  291. package/cjs/internal/Popup/Popup.js.map +1 -1
  292. package/cjs/internal/Popup/PopupHelper.js +4 -2
  293. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  294. package/cjs/internal/Popup/PopupPin.js +2 -1
  295. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  296. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -0
  297. package/cjs/internal/PopupMenu/PopupMenu.js +22 -4
  298. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  299. package/cjs/internal/PopupMenu/validatePositions.js +6 -6
  300. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  301. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  302. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  303. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -1
  304. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  305. package/cjs/internal/RenderLayer/RenderLayer.js +4 -1
  306. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  307. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  308. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  309. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  310. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  311. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  312. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  313. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  314. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  315. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  316. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  317. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  318. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  319. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  320. package/cjs/internal/ThemePlayground/ThemeEditor.js +8 -1
  321. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  322. package/cjs/internal/ThemePlayground/VariableValue.js +18 -6
  323. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  324. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  325. package/cjs/internal/ThemePlayground/constants.js +3 -1
  326. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  327. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +4 -7
  328. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  329. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  330. package/cjs/internal/ThemeShowcase/VariablesCollector.js +5 -6
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  332. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  333. package/cjs/internal/ZIndex/ZIndexStorage.js +13 -6
  334. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  335. package/cjs/internal/icons/16px/index.d.ts +19 -19
  336. package/cjs/internal/icons/16px/index.js +45 -38
  337. package/cjs/internal/icons/16px/index.js.map +1 -1
  338. package/cjs/internal/icons/20px/svg.js +6 -0
  339. package/cjs/internal/icons/20px/svg.js.map +1 -1
  340. package/cjs/internal/themes/DefaultTheme.d.ts +21 -1
  341. package/cjs/internal/themes/DefaultTheme.js +43 -5
  342. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  343. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  344. package/cjs/internal/themes/NotFlat.js +12 -2
  345. package/cjs/internal/themes/NotFlat.js.map +1 -1
  346. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  347. package/cjs/internal/themes/Theme2022.js +100 -0
  348. package/cjs/internal/themes/Theme2022.js.map +1 -0
  349. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  350. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  351. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  352. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  353. package/cjs/lib/ConditionalHandler.js +5 -3
  354. package/cjs/lib/ConditionalHandler.js.map +1 -1
  355. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  356. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  357. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  358. package/cjs/lib/ModalStack.d.ts +1 -1
  359. package/cjs/lib/ModalStack.js.map +1 -1
  360. package/cjs/lib/SSRSafe.d.ts +1 -0
  361. package/cjs/lib/SSRSafe.js +9 -1
  362. package/cjs/lib/SSRSafe.js.map +1 -1
  363. package/cjs/lib/animation/index.d.ts +1 -1
  364. package/cjs/lib/animation/index.js +3 -3
  365. package/cjs/lib/animation/index.js.map +1 -1
  366. package/cjs/lib/date/InternalDate.js +23 -9
  367. package/cjs/lib/date/InternalDate.js.map +1 -1
  368. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  369. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  370. package/cjs/lib/date/InternalDateGetter.js +23 -6
  371. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  372. package/cjs/lib/date/InternalDateTransformer.js +11 -2
  373. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  374. package/cjs/lib/date/InternalDateValidator.js +31 -6
  375. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  376. package/cjs/lib/dom/getDOMRect.d.ts +5 -2
  377. package/cjs/lib/dom/getDOMRect.js +30 -18
  378. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  379. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  380. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  381. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  382. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  383. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  384. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  385. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  386. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  387. package/cjs/lib/rootNode/getRootNode.js +16 -10
  388. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  389. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -6
  390. package/cjs/lib/rootNode/rootNodeDecorator.js +11 -13
  391. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  392. package/cjs/lib/stringUtils.js +3 -1
  393. package/cjs/lib/stringUtils.js.map +1 -1
  394. package/cjs/lib/styles/ColorFactory.js +9 -9
  395. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  396. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  397. package/cjs/lib/styles/ColorHelpers.js +33 -10
  398. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  399. package/cjs/lib/styles/ColorObject.js +3 -2
  400. package/cjs/lib/styles/ColorObject.js.map +1 -1
  401. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  402. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  403. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  404. package/cjs/lib/taskWithDelayAndMinimalDuration.js +3 -1
  405. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  406. package/cjs/lib/theming/Emotion.js +5 -2
  407. package/cjs/lib/theming/Emotion.js.map +1 -1
  408. package/cjs/lib/theming/ThemeFactory.js +5 -1
  409. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  410. package/cjs/lib/theming/ThemeHelpers.js +7 -2
  411. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  412. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  413. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  414. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  415. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  416. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  417. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  418. package/cjs/lib/utils.d.ts +15 -0
  419. package/cjs/lib/utils.js +45 -9
  420. package/cjs/lib/utils.js.map +1 -1
  421. package/components/Autocomplete/Autocomplete/Autocomplete.js +18 -20
  422. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  423. package/components/Autocomplete/Autocomplete.d.ts +3 -1
  424. package/components/Button/Button/Button.js +8 -10
  425. package/components/Button/Button/Button.js.map +1 -1
  426. package/components/Button/Button.d.ts +4 -5
  427. package/components/Button/Button.styles/Button.styles.js +1 -1
  428. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  429. package/components/Center/Center/Center.js +10 -5
  430. package/components/Center/Center/Center.js.map +1 -1
  431. package/components/Center/Center.d.ts +3 -0
  432. package/components/Checkbox/Checkbox/Checkbox.js +4 -0
  433. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  434. package/components/Checkbox/Checkbox.d.ts +3 -0
  435. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -1
  436. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  437. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +12 -11
  438. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  439. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +30 -17
  440. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  441. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  442. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  443. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  444. package/components/CurrencyInput/CursorHelper/CursorHelper.js +18 -11
  445. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  446. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  447. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  448. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  449. package/components/DateInput/DateInput.styles/DateInput.styles.js +2 -2
  450. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  451. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
  452. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  453. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  454. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  455. package/components/DatePicker/DatePicker.d.ts +6 -1
  456. package/components/DatePicker/Picker/Picker.js +3 -1
  457. package/components/DatePicker/Picker/Picker.js.map +1 -1
  458. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  459. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  460. package/components/Dropdown/Dropdown.d.ts +3 -0
  461. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +3 -16
  462. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  463. package/components/DropdownMenu/DropdownMenu.d.ts +1 -4
  464. package/components/FileUploader/FileUploader/FileUploader.js +18 -9
  465. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  466. package/components/FileUploader/FileUploader.d.ts +5 -0
  467. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  468. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  469. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  470. package/components/FxInput/FxInput/FxInput.js +6 -2
  471. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  472. package/components/FxInput/FxInput.d.ts +3 -0
  473. package/components/Gapped/Gapped/Gapped.js +14 -7
  474. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  475. package/components/Gapped/Gapped.d.ts +4 -0
  476. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +9 -8
  477. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  478. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  479. package/components/Group/Group/Group.js +66 -30
  480. package/components/Group/Group/Group.js.map +1 -1
  481. package/components/Group/Group.d.ts +3 -0
  482. package/components/Hint/Hint/Hint.js +6 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +4 -1
  485. package/components/Input/Input/Input.js +18 -31
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +4 -5
  488. package/components/Kebab/Kebab/Kebab.js +3 -13
  489. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  490. package/components/Kebab/Kebab.d.ts +2 -13
  491. package/components/Link/Link/Link.js +10 -5
  492. package/components/Link/Link/Link.js.map +1 -1
  493. package/components/Link/Link.d.ts +3 -0
  494. package/components/Loader/Loader/Loader.js +21 -18
  495. package/components/Loader/Loader/Loader.js.map +1 -1
  496. package/components/Loader/Loader.d.ts +4 -0
  497. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  498. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  499. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  500. package/components/MenuItem/MenuItem/MenuItem.js +15 -9
  501. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  502. package/components/MenuItem/MenuItem.d.ts +4 -0
  503. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  504. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  505. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  506. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  507. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  508. package/components/Modal/Modal/Modal.js +9 -3
  509. package/components/Modal/Modal/Modal.js.map +1 -1
  510. package/components/Modal/Modal.d.ts +5 -0
  511. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  512. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  513. package/components/Modal/ModalClose/ModalClose.js +2 -1
  514. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  515. package/components/Modal/ModalFooter/ModalFooter.js +6 -2
  516. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  517. package/components/Modal/ModalFooter.d.ts +3 -0
  518. package/components/Modal/ModalHeader/ModalHeader.js +6 -2
  519. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  520. package/components/Modal/ModalHeader.d.ts +3 -0
  521. package/components/Paging/Paging/Paging.js +24 -18
  522. package/components/Paging/Paging/Paging.js.map +1 -1
  523. package/components/Paging/Paging.d.ts +20 -3
  524. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  525. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  526. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  527. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  528. package/components/PasswordInput/PasswordInput/PasswordInput.js +38 -12
  529. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  530. package/components/PasswordInput/PasswordInput.d.ts +7 -0
  531. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  532. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  533. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  534. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  535. package/components/Radio/Radio/Radio.js +10 -5
  536. package/components/Radio/Radio/Radio.js.map +1 -1
  537. package/components/Radio/Radio.d.ts +3 -0
  538. package/components/Radio/Radio.styles/Radio.styles.js +2 -1
  539. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  540. package/components/RadioGroup/RadioGroup/RadioGroup.js +16 -12
  541. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  542. package/components/RadioGroup/RadioGroup.d.ts +4 -1
  543. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  544. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  545. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -3
  546. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  547. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  548. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +9 -3
  549. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  550. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  551. package/components/Select/Select/Select.js +41 -17
  552. package/components/Select/Select/Select.js.map +1 -1
  553. package/components/Select/Select.d.ts +10 -5
  554. package/components/SidePage/SidePage/SidePage.js +8 -22
  555. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  556. package/components/SidePage/SidePage.d.ts +4 -1
  557. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  558. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  559. package/components/SidePage/SidePageBody.d.ts +3 -0
  560. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  561. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  562. package/components/SidePage/SidePageContainer.d.ts +3 -0
  563. package/components/SidePage/SidePageFooter/SidePageFooter.js +14 -10
  564. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  565. package/components/SidePage/SidePageFooter.d.ts +3 -0
  566. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  567. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  568. package/components/SidePage/SidePageHeader.d.ts +4 -0
  569. package/components/Spinner/Spinner/Spinner.js +14 -6
  570. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  571. package/components/Spinner/Spinner.d.ts +3 -1
  572. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +18 -4
  573. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  574. package/components/Sticky/Sticky/Sticky.js +13 -8
  575. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  576. package/components/Sticky/Sticky.d.ts +3 -0
  577. package/components/Switcher/Switcher/Switcher.js +4 -0
  578. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  579. package/components/Switcher/Switcher.d.ts +5 -1
  580. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  581. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  582. package/components/Tabs/Indicator/Indicator.js +4 -1
  583. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  584. package/components/Tabs/Tab/Tab.js +4 -0
  585. package/components/Tabs/Tab/Tab.js.map +1 -1
  586. package/components/Tabs/Tab.d.ts +3 -0
  587. package/components/Tabs/Tabs/Tabs.js +11 -6
  588. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  589. package/components/Tabs/Tabs.d.ts +7 -1
  590. package/components/Textarea/Textarea/Textarea.js +21 -15
  591. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  592. package/components/Textarea/Textarea.d.ts +6 -2
  593. package/components/Textarea/TextareaCounter/TextareaCounter.js +13 -2
  594. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  595. package/components/Textarea/TextareaCounter.d.ts +1 -2
  596. package/components/Toast/Toast/Toast.js +16 -10
  597. package/components/Toast/Toast/Toast.js.map +1 -1
  598. package/components/Toast/Toast.d.ts +6 -0
  599. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  600. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  601. package/components/Toast/ToastView/ToastView.js +5 -4
  602. package/components/Toast/ToastView/ToastView.js.map +1 -1
  603. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  604. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  605. package/components/Toast/ToastView.styles.d.ts +1 -1
  606. package/components/Toggle/Toggle/Toggle.js +8 -4
  607. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  608. package/components/Toggle/Toggle.d.ts +4 -1
  609. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  610. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  611. package/components/Token/Token/Token.js +16 -1
  612. package/components/Token/Token/Token.js.map +1 -1
  613. package/components/Token/Token.d.ts +3 -0
  614. package/components/Token/Token.styles/Token.styles.js +11 -4
  615. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  616. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  617. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  618. package/components/TokenInput/TokenInput/TokenInput.js +24 -14
  619. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  620. package/components/TokenInput/TokenInput.d.ts +4 -0
  621. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  622. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  623. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  624. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  625. package/components/Tooltip/Tooltip/Tooltip.js +17 -9
  626. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  627. package/components/Tooltip/Tooltip.d.ts +6 -2
  628. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +18 -12
  629. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  630. package/components/TooltipMenu/TooltipMenu.d.ts +4 -1
  631. package/hooks/useDrop/useDrop.js +5 -1
  632. package/hooks/useDrop/useDrop.js.map +1 -1
  633. package/index.d.ts +2 -0
  634. package/index.js +2 -0
  635. package/index.js.map +1 -1
  636. package/internal/BGRuler/BGRuler.js +2 -1
  637. package/internal/BGRuler/BGRuler.js.map +1 -1
  638. package/internal/Calendar/Calendar/Calendar.js +13 -5
  639. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  640. package/internal/Calendar/Calendar.d.ts +6 -0
  641. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  642. package/internal/Calendar/MonthView/MonthView.js +4 -3
  643. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  644. package/internal/Calendar/MonthViewModel/MonthViewModel.js +35 -18
  645. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  646. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +12 -12
  647. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  648. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  649. package/internal/ComponentTable.d.ts +4 -2
  650. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +34 -19
  651. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  652. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  653. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  654. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  655. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +21 -17
  656. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  657. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  658. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +35 -35
  659. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  661. package/internal/DataTids/DATATIDS.md +12 -0
  662. package/internal/DataTids/DataTids/DataTids.js +69 -0
  663. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  664. package/internal/DataTids/DataTids/package.json +6 -0
  665. package/internal/DataTids/DataTids.d.ts +12 -0
  666. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  667. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  668. package/internal/DataTids/DataTids.styles/package.json +6 -0
  669. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  670. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  671. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  672. package/internal/DataTids/componentsDataTids/package.json +6 -0
  673. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  674. package/internal/DateSelect/DateSelect/DateSelect.js +29 -18
  675. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  676. package/internal/DateSelect/DateSelect.d.ts +4 -0
  677. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
  678. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  679. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +5 -1
  680. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  681. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +15 -7
  682. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  683. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  684. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  685. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  686. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  687. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  688. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  689. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  690. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  691. package/internal/InputLikeText/InputLikeText.d.ts +5 -1
  692. package/internal/InternalMenu/InternalMenu/InternalMenu.js +19 -17
  693. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  694. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  695. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  696. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  697. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  698. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  699. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  700. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  701. package/internal/MaskedInput/MaskedInput/MaskedInput.js +11 -3
  702. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  703. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  704. package/internal/Menu/Menu/Menu.js +13 -14
  705. package/internal/Menu/Menu/Menu.js.map +1 -1
  706. package/internal/Menu/Menu.d.ts +3 -0
  707. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  708. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  709. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  710. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  711. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  712. package/internal/Popup/Popup/Popup.js +19 -14
  713. package/internal/Popup/Popup/Popup.js.map +1 -1
  714. package/internal/Popup/Popup.d.ts +6 -1
  715. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  716. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  717. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  718. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  719. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -2
  720. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  721. package/internal/PopupMenu/PopupMenu.d.ts +8 -0
  722. package/internal/PopupMenu/validatePositions/validatePositions.js +6 -6
  723. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  724. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  725. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +8 -2
  726. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  727. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  728. package/internal/RenderLayer/RenderLayer/RenderLayer.js +5 -1
  729. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  730. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
  731. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  732. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  733. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  734. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  735. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  736. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  737. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  738. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  739. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  740. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  741. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  742. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  743. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +5 -1
  744. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  745. package/internal/ThemePlayground/VariableValue/VariableValue.js +16 -5
  746. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  747. package/internal/ThemePlayground/constants/constants.js +2 -0
  748. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  749. package/internal/ThemePlayground/constants.d.ts +3 -1
  750. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +3 -6
  751. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  752. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +4 -6
  753. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  754. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  755. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +12 -6
  756. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  757. package/internal/ZIndex/ZIndexStorage.d.ts +2 -1
  758. package/internal/icons/16px/index/index.js +28 -20
  759. package/internal/icons/16px/index/index.js.map +1 -1
  760. package/internal/icons/16px/index.d.ts +19 -19
  761. package/internal/icons/20px/svg/svg.js +5 -0
  762. package/internal/icons/20px/svg/svg.js.map +1 -1
  763. package/internal/themes/DefaultTheme/DefaultTheme.js +53 -4
  764. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  765. package/internal/themes/DefaultTheme.d.ts +21 -1
  766. package/internal/themes/NotFlat/NotFlat.js +15 -0
  767. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  768. package/internal/themes/NotFlat.d.ts +6 -0
  769. package/internal/themes/Theme2022/Theme2022.js +78 -0
  770. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  771. package/internal/themes/Theme2022/package.json +6 -0
  772. package/internal/themes/Theme2022.d.ts +66 -0
  773. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  774. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  775. package/internal/themes/Theme2022Dark/package.json +6 -0
  776. package/internal/themes/Theme2022Dark.d.ts +5 -0
  777. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  778. package/lib/ConditionalHandler.d.ts +3 -2
  779. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  780. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  781. package/lib/InstanceWithAnchorElement/package.json +6 -0
  782. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  783. package/lib/ModalStack/ModalStack.js.map +1 -1
  784. package/lib/ModalStack.d.ts +1 -1
  785. package/lib/SSRSafe/SSRSafe.js +7 -0
  786. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  787. package/lib/SSRSafe.d.ts +1 -0
  788. package/lib/animation/index/index.js +1 -1
  789. package/lib/animation/index/index.js.map +1 -1
  790. package/lib/animation/index.d.ts +1 -1
  791. package/lib/date/InternalDate/InternalDate.js +16 -1
  792. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  793. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  794. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  795. package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
  796. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  797. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  798. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  799. package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
  800. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  801. package/lib/dom/getDOMRect/getDOMRect.js +32 -15
  802. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  803. package/lib/dom/getDOMRect.d.ts +5 -2
  804. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  805. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  806. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  807. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  808. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  809. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  810. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  811. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  812. package/lib/rootNode/getRootNode/getRootNode.js +14 -10
  813. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  814. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +10 -4
  815. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  816. package/lib/rootNode/rootNodeDecorator.d.ts +3 -6
  817. package/lib/stringUtils/stringUtils.js +4 -1
  818. package/lib/stringUtils/stringUtils.js.map +1 -1
  819. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  820. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  821. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  822. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  823. package/lib/styles/ColorHelpers.d.ts +1 -0
  824. package/lib/styles/ColorObject/ColorObject.js +2 -2
  825. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  826. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  827. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  828. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  829. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  830. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +4 -1
  831. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  832. package/lib/theming/Emotion/Emotion.js +5 -2
  833. package/lib/theming/Emotion/Emotion.js.map +1 -1
  834. package/lib/theming/ThemeFactory/ThemeFactory.js +5 -2
  835. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  836. package/lib/theming/ThemeHelpers/ThemeHelpers.js +5 -1
  837. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  838. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  839. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  840. package/lib/theming/themes/Theme2022/package.json +6 -0
  841. package/lib/theming/themes/Theme2022.d.ts +1 -0
  842. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  843. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  844. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  845. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  846. package/lib/utils/utils.js +42 -6
  847. package/lib/utils/utils.js.map +1 -1
  848. package/lib/utils.d.ts +15 -0
  849. package/package.json +6 -3
  850. package/cjs/components/Button/Corners.d.ts +0 -6
  851. package/cjs/components/Button/Corners.js +0 -5
  852. package/cjs/components/Button/Corners.js.map +0 -1
  853. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  854. package/cjs/lib/polyfillPlaceholder.js +0 -17
  855. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  856. package/components/Button/Corners/Corners.js +0 -6
  857. package/components/Button/Corners/Corners.js.map +0 -1
  858. package/components/Button/Corners/package.json +0 -6
  859. package/components/Button/Corners.d.ts +0 -6
  860. package/lib/polyfillPlaceholder/package.json +0 -6
  861. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  862. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  863. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;;AAExB,IAAA,KAAI,CAACA,YAAL,GAAoB,KAApB;;AAEA,QAAI,CAAC,KAAI,CAACE,sBAAN,IAAgC,CAAC,KAAI,CAACO,qBAA1C,EAAiE;AAC/D,MAAA,KAAI,CAACL,UAAL,CAAgBM,gBAAhB;AACD;;AAED,QAAI,KAAI,CAACR,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;AACF,GA3DgE;;AA6D1DY,EAAAA,SA7D0D,GA6D9C,YAAM;AACvB,IAAA,KAAI,CAACZ,2BAAL;AACA,IAAA,KAAI,CAACK,0BAAL;AACD,GAhEgE,CAC/D,KAAKP,UAAL,GAAkBL,aAAlB,CACD,C","sourcesContent":["import { Nullable } from '../typings/utility-types';\n\nexport interface TaskWithDelayAndMinimalDurationProps {\n delayBeforeTaskStart: number;\n durationOfTask: number;\n taskStartCallback: () => void;\n taskStopCallback: () => void;\n}\n\nexport class TaskWithDelayAndMinimalDuration {\n private timeoutBeforeTaskStart: Nullable<NodeJS.Timeout>;\n private timeoutBeforeTaskStop: Nullable<NodeJS.Timeout>;\n private taskParams: TaskWithDelayAndMinimalDurationProps;\n private isTaskActive = false;\n\n constructor(initialValues: TaskWithDelayAndMinimalDurationProps) {\n this.taskParams = initialValues;\n }\n\n private setTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart = setTimeout(() => {\n this.isTaskActive && this.taskParams.taskStartCallback();\n this.clearTimeoutBeforeTaskStart();\n this.setTimeoutBeforeTaskStop();\n }, this.taskParams.delayBeforeTaskStart);\n };\n\n private setTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop = setTimeout(() => {\n !this.isTaskActive && this.taskParams.taskStopCallback();\n this.clearTimeoutBeforeTaskStop();\n }, this.taskParams.durationOfTask);\n };\n\n private clearTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart && clearTimeout(this.timeoutBeforeTaskStart);\n this.timeoutBeforeTaskStart = null;\n };\n\n private clearTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop && clearTimeout(this.timeoutBeforeTaskStop);\n this.timeoutBeforeTaskStop = null;\n };\n\n public start = () => {\n if (this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = true;\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n\n this.setTimeoutBeforeTaskStart();\n };\n\n public update = (updateData: Partial<TaskWithDelayAndMinimalDurationProps>) => {\n this.taskParams = { ...this.taskParams, ...updateData };\n };\n\n public stop = () => {\n if (!this.isTaskActive) return;\n\n this.isTaskActive = false;\n\n if (!this.timeoutBeforeTaskStart && !this.timeoutBeforeTaskStop) {\n this.taskParams.taskStopCallback();\n }\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n };\n\n public clearTask = () => {\n this.clearTimeoutBeforeTaskStart();\n this.clearTimeoutBeforeTaskStop();\n };\n}\n"]}
1
+ {"version":3,"sources":["taskWithDelayAndMinimalDuration.ts"],"names":["TaskWithDelayAndMinimalDuration","initialValues","isTaskActive","setTimeoutBeforeTaskStart","timeoutBeforeTaskStart","setTimeout","taskParams","taskStartCallback","clearTimeoutBeforeTaskStart","setTimeoutBeforeTaskStop","delayBeforeTaskStart","timeoutBeforeTaskStop","taskStopCallback","clearTimeoutBeforeTaskStop","durationOfTask","clearTimeout","start","update","updateData","stop","clearTask"],"mappings":";;;;;;;;;AASaA,+B;;;;;;AAMX,yCAAYC,aAAZ,EAAiE,uBAFzDC,YAEyD,GAF1C,KAE0C;;;;AAIzDC,EAAAA,yBAJyD,GAI7B,YAAM;AACxC,IAAA,KAAI,CAACC,sBAAL,GAA8BC,UAAU,CAAC,YAAM;AAC7C,MAAA,KAAI,CAACH,YAAL,IAAqB,KAAI,CAACI,UAAL,CAAgBC,iBAAhB,EAArB;AACA,MAAA,KAAI,CAACC,2BAAL;AACA,MAAA,KAAI,CAACC,wBAAL;AACD,KAJuC,EAIrC,KAAI,CAACH,UAAL,CAAgBI,oBAJqB,CAAxC;AAKD,GAVgE;;AAYzDD,EAAAA,wBAZyD,GAY9B,YAAM;AACvC,IAAA,KAAI,CAACE,qBAAL,GAA6BN,UAAU,CAAC,YAAM;AAC5C,OAAC,KAAI,CAACH,YAAN,IAAsB,KAAI,CAACI,UAAL,CAAgBM,gBAAhB,EAAtB;AACA,MAAA,KAAI,CAACC,0BAAL;AACD,KAHsC,EAGpC,KAAI,CAACP,UAAL,CAAgBQ,cAHoB,CAAvC;AAID,GAjBgE;;AAmBzDN,EAAAA,2BAnByD,GAmB3B,YAAM;AAC1C,IAAA,KAAI,CAACJ,sBAAL,IAA+BW,YAAY,CAAC,KAAI,CAACX,sBAAN,CAA3C;AACA,IAAA,KAAI,CAACA,sBAAL,GAA8B,IAA9B;AACD,GAtBgE;;AAwBzDS,EAAAA,0BAxByD,GAwB5B,YAAM;AACzC,IAAA,KAAI,CAACF,qBAAL,IAA8BI,YAAY,CAAC,KAAI,CAACJ,qBAAN,CAA1C;AACA,IAAA,KAAI,CAACA,qBAAL,GAA6B,IAA7B;AACD,GA3BgE;;AA6B1DK,EAAAA,KA7B0D,GA6BlD,YAAM;AACnB,QAAI,KAAI,CAACd,YAAT,EAAuB;AACrB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,IAApB;;AAEA,QAAI,KAAI,CAACE,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;;AAED,IAAA,KAAI,CAACL,yBAAL;AACD,GAzCgE;;AA2C1Dc,EAAAA,MA3C0D,GA2CjD,UAACC,UAAD,EAA+D;AAC7E,IAAA,KAAI,CAACZ,UAAL,8BAAuB,KAAI,CAACA,UAA5B,EAA2CY,UAA3C;AACD,GA7CgE;;AA+C1DC,EAAAA,IA/C0D,GA+CnD,YAAM;AAClB,QAAI,CAAC,KAAI,CAACjB,YAAV,EAAwB;AACtB;AACD;;AAED,IAAA,KAAI,CAACA,YAAL,GAAoB,KAApB;;AAEA,QAAI,CAAC,KAAI,CAACE,sBAAN,IAAgC,CAAC,KAAI,CAACO,qBAA1C,EAAiE;AAC/D,MAAA,KAAI,CAACL,UAAL,CAAgBM,gBAAhB;AACD;;AAED,QAAI,KAAI,CAACR,sBAAT,EAAiC;AAC/B,MAAA,KAAI,CAACI,2BAAL;AACD;AACF,GA7DgE;;AA+D1DY,EAAAA,SA/D0D,GA+D9C,YAAM;AACvB,IAAA,KAAI,CAACZ,2BAAL;AACA,IAAA,KAAI,CAACK,0BAAL;AACD,GAlEgE,CAC/D,KAAKP,UAAL,GAAkBL,aAAlB,CACD,C","sourcesContent":["import { Nullable } from '../typings/utility-types';\n\nexport interface TaskWithDelayAndMinimalDurationProps {\n delayBeforeTaskStart: number;\n durationOfTask: number;\n taskStartCallback: () => void;\n taskStopCallback: () => void;\n}\n\nexport class TaskWithDelayAndMinimalDuration {\n private timeoutBeforeTaskStart: Nullable<NodeJS.Timeout>;\n private timeoutBeforeTaskStop: Nullable<NodeJS.Timeout>;\n private taskParams: TaskWithDelayAndMinimalDurationProps;\n private isTaskActive = false;\n\n constructor(initialValues: TaskWithDelayAndMinimalDurationProps) {\n this.taskParams = initialValues;\n }\n\n private setTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart = setTimeout(() => {\n this.isTaskActive && this.taskParams.taskStartCallback();\n this.clearTimeoutBeforeTaskStart();\n this.setTimeoutBeforeTaskStop();\n }, this.taskParams.delayBeforeTaskStart);\n };\n\n private setTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop = setTimeout(() => {\n !this.isTaskActive && this.taskParams.taskStopCallback();\n this.clearTimeoutBeforeTaskStop();\n }, this.taskParams.durationOfTask);\n };\n\n private clearTimeoutBeforeTaskStart = () => {\n this.timeoutBeforeTaskStart && clearTimeout(this.timeoutBeforeTaskStart);\n this.timeoutBeforeTaskStart = null;\n };\n\n private clearTimeoutBeforeTaskStop = () => {\n this.timeoutBeforeTaskStop && clearTimeout(this.timeoutBeforeTaskStop);\n this.timeoutBeforeTaskStop = null;\n };\n\n public start = () => {\n if (this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = true;\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n\n this.setTimeoutBeforeTaskStart();\n };\n\n public update = (updateData: Partial<TaskWithDelayAndMinimalDurationProps>) => {\n this.taskParams = { ...this.taskParams, ...updateData };\n };\n\n public stop = () => {\n if (!this.isTaskActive) {\n return;\n }\n\n this.isTaskActive = false;\n\n if (!this.timeoutBeforeTaskStart && !this.timeoutBeforeTaskStop) {\n this.taskParams.taskStopCallback();\n }\n\n if (this.timeoutBeforeTaskStart) {\n this.clearTimeoutBeforeTaskStart();\n }\n };\n\n public clearTask = () => {\n this.clearTimeoutBeforeTaskStart();\n this.clearTimeoutBeforeTaskStop();\n };\n}\n"]}
@@ -17,7 +17,7 @@ var _createEmotion =
17
17
 
18
18
 
19
19
  function isZeroArgs(fn) {
20
- return fn.length == 0;
20
+ return fn.length === 0;
21
21
  }
22
22
 
23
23
  var memoize = function memoize(fn) {
@@ -35,7 +35,10 @@ var memoize = function memoize(fn) {
35
35
 
36
36
  var cache = new WeakMap();
37
37
  return function (arg) {
38
- if (!cache.has(arg)) cache.set(arg, fn(arg));
38
+ if (!cache.has(arg)) {
39
+ cache.set(arg, fn(arg));
40
+ }
41
+
39
42
  return cache.get(arg);
40
43
  };
41
44
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,IAAa,CAApB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqBR,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACrB,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAHD;AAID,CAlBD;;AAoBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BzC,eAA1B;AACA,cAAmC0C,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,4CAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n prepend: true,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length == 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) cache.set(arg, fn(arg));\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
1
+ {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","prepend","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd;;AAEO;AACL,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,OAAO,EAAE,IAFG;AAGZC,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAHvC,EAAd,CADK,CAAQC,KAAR,kBAAQA,KAAR,CAAeC,OAAf,kBAAeA,OAAf,CAAwBC,EAAxB,kBAAwBA,EAAxB,CAA4BC,KAA5B,kBAA4BA,KAA5B,CAAmCC,mBAAnC,kBAAmCA,mBAAnC,CAAwDC,YAAxD,kBAAwDA,YAAxD,CAAsEC,SAAtE,kBAAsEA,SAAtE,CAAiFC,GAAjF,kBAAiFA,GAAjF,CAAsFC,KAAtF,kBAAsFA,KAAtF,CAA6FC,KAA7F,kBAA6FA,KAA7F,C;;;AAOP,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,KAAc,CAArB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqB;AACnBR,MAAAA,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACD;;AAED,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAND;AAOD,CArBD;;AAuBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BzC,eAA1B;AACA,cAAmC0C,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMpC,GAAN,EAAc;AACxC,4CAAYoC,GAAZ,6BAAkBpC,GAAlB,IAA2BiC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAAClC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n prepend: true,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length === 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) {\n cache.set(arg, fn(arg));\n }\n\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
@@ -1,4 +1,5 @@
1
1
  "use strict";exports.__esModule = true;exports.ThemeFactory = void 0;var _DefaultTheme = require("../../internal/themes/DefaultTheme");
2
+ var _utils = require("../utils");
2
3
 
3
4
 
4
5
  var _ThemeHelpers = require("./ThemeHelpers");var
@@ -18,14 +19,17 @@ ThemeFactory = /*#__PURE__*/function () {function ThemeFactory() {}ThemeFactory.
18
19
 
19
20
  getKeys = function getKeys(theme) {
20
21
  var keys = [];
21
- while (theme != null) {
22
+ while ((0, _utils.isNonNullable)(theme)) {
22
23
  Object.keys(theme).forEach(function (key) {
23
24
  if (!keys.includes(key)) {
24
25
  keys.push(key);
25
26
  }
26
27
  });
28
+ // TODO: Enable `no-param-reassign` rule.
29
+ // eslint-disable-next-line no-param-reassign
27
30
  theme = Object.getPrototypeOf(theme);
28
31
  }
32
+
29
33
  return keys.sort();
30
34
  };ThemeFactory.
31
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAOZ,KAAK,IAAI,IAAhB,EAAsB;AACnBU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAuCO,OAAvC,CAA+C,UAACM,GAAD,EAAS;AACtD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;AACD,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (theme != null) {\n (Object.keys(theme) as Array<keyof T>).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n theme = Object.getPrototypeOf(theme);\n }\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}
1
+ {"version":3,"sources":["ThemeFactory.ts"],"names":["ThemeFactory","create","theme","baseTheme","base","DefaultThemeInternal","constructTheme","overrideDefaultTheme","getKeys","forEach","variableName","descriptor","Object","defineProperty","keys","key","includes","push","getPrototypeOf","sort","newTheme","propName","getOwnPropertyDescriptor","freeze"],"mappings":"qEAAA;AACA;;;AAGA,8C;;AAEaA,Y;AACGC,EAAAA,M,GAAd,gBAAmCC,KAAnC,EAAuDC,SAAvD,EAA+F;AAC7F,QAAMC,IAAI,GAAGD,SAAS,IAAIE,kCAA1B;AACA,WAAO,KAAKC,cAAL,CAAoBF,IAApB,EAA0BF,KAA1B,CAAP;AACD,G;;AAEaK,EAAAA,oB,GAAd,8BAAmCL,KAAnC,EAAiD;AAC/CF,IAAAA,YAAY,CAACQ,OAAb,CAAqBH,kCAArB,EAA2CI,OAA3C,CAAmD,UAACC,YAAD,EAAkB;AACnE,UAAMC,UAAU,GAAG,0CAAuBT,KAAvB,EAA8BQ,YAA9B,CAAnB;AACAE,MAAAA,MAAM,CAACC,cAAP,CAAsBR,kCAAtB,EAA4CK,YAA5C,EAA0DC,UAA1D;AACD,KAHD;AAID,G;;AAEaH,EAAAA,O,GAAd,iBAAuCN,KAAvC,EAAiD;AAC/C,QAAMY,IAAoB,GAAG,EAA7B;AACA,WAAO,0BAAcZ,KAAd,CAAP,EAA6B;AAC1BU,MAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,CAAD,CAAoCO,OAApC,CAA4C,UAACM,GAAD,EAAS;AACnD,YAAI,CAACD,IAAI,CAACE,QAAL,CAAcD,GAAd,CAAL,EAAyB;AACvBD,UAAAA,IAAI,CAACG,IAAL,CAAUF,GAAV;AACD;AACF,OAJD;AAKA;AACA;AACAb,MAAAA,KAAK,GAAGU,MAAM,CAACM,cAAP,CAAsBhB,KAAtB,CAAR;AACD;;AAED,WAAOY,IAAI,CAACK,IAAL,EAAP;AACD,G;;AAEcb,EAAAA,c,GAAf,wBAA8BF,IAA9B,EAA2CF,KAA3C,EAA2D;AACzD,QAAMkB,QAAQ,GAAGR,MAAM,CAACX,MAAP,CAAcG,IAAd,CAAjB;AACAQ,IAAAA,MAAM,CAACE,IAAP,CAAYZ,KAAZ,EAAmBO,OAAnB,CAA2B,UAACY,QAAD,EAAc;AACvC,UAAMV,UAAU,GAAGC,MAAM,CAACU,wBAAP,CAAgCpB,KAAhC,EAAuCmB,QAAvC,CAAnB;AACAT,MAAAA,MAAM,CAACC,cAAP,CAAsBO,QAAtB,EAAgCC,QAAhC,EAA0CV,UAA1C;AACD,KAHD;;AAKA,WAAOC,MAAM,CAACW,MAAP,CAAcH,QAAd,CAAP;AACD,G","sourcesContent":["import { DefaultThemeInternal } from '../../internal/themes/DefaultTheme';\nimport { isNonNullable } from '../utils';\n\nimport { Theme, ThemeIn } from './Theme';\nimport { findPropertyDescriptor } from './ThemeHelpers';\n\nexport class ThemeFactory {\n public static create<T extends {}>(theme: ThemeIn & T, baseTheme?: Theme): Readonly<Theme & T> {\n const base = baseTheme || DefaultThemeInternal;\n return this.constructTheme(base, theme);\n }\n\n public static overrideDefaultTheme(theme: Theme) {\n ThemeFactory.getKeys(DefaultThemeInternal).forEach((variableName) => {\n const descriptor = findPropertyDescriptor(theme, variableName);\n Object.defineProperty(DefaultThemeInternal, variableName, descriptor);\n });\n }\n\n public static getKeys<T extends Theme>(theme: T) {\n const keys: Array<keyof T> = [];\n while (isNonNullable(theme)) {\n (Object.keys(theme) as typeof keys).forEach((key) => {\n if (!keys.includes(key)) {\n keys.push(key);\n }\n });\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n theme = Object.getPrototypeOf(theme);\n }\n\n return keys.sort();\n }\n\n private static constructTheme(base: Theme, theme: ThemeIn) {\n const newTheme = Object.create(base);\n Object.keys(theme).forEach((propName) => {\n const descriptor = Object.getOwnPropertyDescriptor(theme, propName)!;\n Object.defineProperty(newTheme, propName, descriptor);\n });\n\n return Object.freeze(newTheme);\n }\n}\n"]}
@@ -1,4 +1,6 @@
1
- "use strict";exports.__esModule = true;exports.exposeGetters = exports.REACT_UI_DARK_THEME_KEY = void 0;exports.findPropertyDescriptor = findPropertyDescriptor;exports.markAsDarkTheme = exports.isDarkTheme = void 0;
1
+ "use strict";exports.__esModule = true;exports.exposeGetters = exports.REACT_UI_DARK_THEME_KEY = void 0;exports.findPropertyDescriptor = findPropertyDescriptor;exports.markAsDarkTheme = exports.isDarkTheme = void 0;var _utils = require("../utils");
2
+
3
+
2
4
 
3
5
  var exposeGetters = function exposeGetters(theme) {
4
6
  var descriptors = Object.getOwnPropertyDescriptors(theme);
@@ -31,7 +33,10 @@ var markAsDarkTheme = function markAsDarkTheme(theme) {var _Object$create;
31
33
  };exports.markAsDarkTheme = markAsDarkTheme;
32
34
 
33
35
  function findPropertyDescriptor(theme, propName) {
34
- for (; theme != null; theme = Object.getPrototypeOf(theme)) {
36
+ // TODO: Rewrite for loop.
37
+ // TODO: Enable `no-param-reassign` rule.
38
+ // eslint-disable-next-line no-param-reassign
39
+ for (; (0, _utils.isNonNullable)(theme); theme = Object.getPrototypeOf(theme)) {
35
40
  if (Object.prototype.hasOwnProperty.call(theme, propName)) {
36
41
  return Object.getOwnPropertyDescriptor(theme, propName) || {};
37
42
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeHelpers.ts"],"names":["exposeGetters","theme","descriptors","Object","getOwnPropertyDescriptors","keys","forEach","key","descriptor","get","configurable","enumerable","defineProperty","REACT_UI_DARK_THEME_KEY","isDarkTheme","markAsDarkTheme","create","value","writable","findPropertyDescriptor","propName","getPrototypeOf","prototype","hasOwnProperty","call","getOwnPropertyDescriptor"],"mappings":";;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAmBC,KAAnB,EAAmC;AAC9D,MAAMC,WAAW,GAAGC,MAAM,CAACC,yBAAP,CAAiCH,KAAjC,CAApB;AACAE,EAAAA,MAAM,CAACE,IAAP,CAAYH,WAAZ,EAAyBI,OAAzB,CAAiC,UAACC,GAAD,EAAS;AACxC,QAAMC,UAAU,GAAGN,WAAW,CAACK,GAAD,CAA9B;AACA,QAAI,OAAOC,UAAU,CAACC,GAAlB,KAA0B,UAA1B,IAAwCD,UAAU,CAACE,YAAvD,EAAqE;AACnEF,MAAAA,UAAU,CAACG,UAAX,GAAwB,IAAxB;AACAR,MAAAA,MAAM,CAACS,cAAP,CAAsBX,KAAtB,EAA6BM,GAA7B,EAAkCC,UAAlC;AACD;AACF,GAND;AAOA,SAAOP,KAAP;AACD,CAVM,C;;AAYA,IAAMY,uBAAuB,GAAG,4BAAhC,C;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACb,KAAD,EAAqC;AAC9D;AACA,SAAOA,KAAK,CAACY,uBAAD,CAAL,KAAmC,IAA1C;AACD,CAHM,C;;AAKA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAmBd,KAAnB,EAAmC;AAChE,SAAOE,MAAM,CAACa,MAAP,CAAcf,KAAd;AACJY,EAAAA,uBADI,IACsB;AACzBI,IAAAA,KAAK,EAAE,IADkB;AAEzBC,IAAAA,QAAQ,EAAE,KAFe;AAGzBP,IAAAA,UAAU,EAAE,KAHa;AAIzBD,IAAAA,YAAY,EAAE,KAJW,EADtB,kBAAP;;;AAQD,CATM,C;;AAWA,SAASS,sBAAT,CAAgClB,KAAhC,EAA8CmB,QAA9C,EAAqE;AAC1E,SAAOnB,KAAK,IAAI,IAAhB,EAAsBA,KAAK,GAAGE,MAAM,CAACkB,cAAP,CAAsBpB,KAAtB,CAA9B,EAA4D;AAC1D,QAAIE,MAAM,CAACmB,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCvB,KAArC,EAA4CmB,QAA5C,CAAJ,EAA2D;AACzD,aAAOjB,MAAM,CAACsB,wBAAP,CAAgCxB,KAAhC,EAAuCmB,QAAvC,KAAoD,EAA3D;AACD;AACF;AACD,SAAO,EAAP;AACD","sourcesContent":["import { Theme, ThemeIn } from './Theme';\n\nexport const exposeGetters = <T extends object>(theme: T): T => {\n const descriptors = Object.getOwnPropertyDescriptors(theme);\n Object.keys(descriptors).forEach((key) => {\n const descriptor = descriptors[key];\n if (typeof descriptor.get === 'function' && descriptor.configurable) {\n descriptor.enumerable = true;\n Object.defineProperty(theme, key, descriptor);\n }\n });\n return theme;\n};\n\nexport const REACT_UI_DARK_THEME_KEY = '__IS_REACT_UI_DARK_THEME__';\n\nexport const isDarkTheme = (theme: Theme | ThemeIn): boolean => {\n //@ts-ignore\n return theme[REACT_UI_DARK_THEME_KEY] === true;\n};\n\nexport const markAsDarkTheme = <T extends object>(theme: T): T => {\n return Object.create(theme, {\n [REACT_UI_DARK_THEME_KEY]: {\n value: true,\n writable: false,\n enumerable: false,\n configurable: false,\n },\n });\n};\n\nexport function findPropertyDescriptor(theme: Theme, propName: keyof Theme) {\n for (; theme != null; theme = Object.getPrototypeOf(theme)) {\n if (Object.prototype.hasOwnProperty.call(theme, propName)) {\n return Object.getOwnPropertyDescriptor(theme, propName) || {};\n }\n }\n return {};\n}\n"]}
1
+ {"version":3,"sources":["ThemeHelpers.ts"],"names":["exposeGetters","theme","descriptors","Object","getOwnPropertyDescriptors","keys","forEach","key","descriptor","get","configurable","enumerable","defineProperty","REACT_UI_DARK_THEME_KEY","isDarkTheme","markAsDarkTheme","create","value","writable","findPropertyDescriptor","propName","getPrototypeOf","prototype","hasOwnProperty","call","getOwnPropertyDescriptor"],"mappings":"uNAAA;;;;AAIO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAmBC,KAAnB,EAAmC;AAC9D,MAAMC,WAAW,GAAGC,MAAM,CAACC,yBAAP,CAAiCH,KAAjC,CAApB;AACAE,EAAAA,MAAM,CAACE,IAAP,CAAYH,WAAZ,EAAyBI,OAAzB,CAAiC,UAACC,GAAD,EAAS;AACxC,QAAMC,UAAU,GAAGN,WAAW,CAACK,GAAD,CAA9B;AACA,QAAI,OAAOC,UAAU,CAACC,GAAlB,KAA0B,UAA1B,IAAwCD,UAAU,CAACE,YAAvD,EAAqE;AACnEF,MAAAA,UAAU,CAACG,UAAX,GAAwB,IAAxB;AACAR,MAAAA,MAAM,CAACS,cAAP,CAAsBX,KAAtB,EAA6BM,GAA7B,EAAkCC,UAAlC;AACD;AACF,GAND;AAOA,SAAOP,KAAP;AACD,CAVM,C;;AAYA,IAAMY,uBAAuB,GAAG,4BAAhC,C;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACb,KAAD,EAAqC;AAC9D;AACA,SAAOA,KAAK,CAACY,uBAAD,CAAL,KAAmC,IAA1C;AACD,CAHM,C;;AAKA,IAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAmBd,KAAnB,EAAmC;AAChE,SAAOE,MAAM,CAACa,MAAP,CAAcf,KAAd;AACJY,EAAAA,uBADI,IACsB;AACzBI,IAAAA,KAAK,EAAE,IADkB;AAEzBC,IAAAA,QAAQ,EAAE,KAFe;AAGzBP,IAAAA,UAAU,EAAE,KAHa;AAIzBD,IAAAA,YAAY,EAAE,KAJW,EADtB,kBAAP;;;AAQD,CATM,C;;AAWA,SAASS,sBAAT,CAAgClB,KAAhC,EAA8CmB,QAA9C,EAAqE;AAC1E;AACA;AACA;AACA,SAAO,0BAAcnB,KAAd,CAAP,EAA6BA,KAAK,GAAGE,MAAM,CAACkB,cAAP,CAAsBpB,KAAtB,CAArC,EAAmE;AACjE,QAAIE,MAAM,CAACmB,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCvB,KAArC,EAA4CmB,QAA5C,CAAJ,EAA2D;AACzD,aAAOjB,MAAM,CAACsB,wBAAP,CAAgCxB,KAAhC,EAAuCmB,QAAvC,KAAoD,EAA3D;AACD;AACF;AACD,SAAO,EAAP;AACD","sourcesContent":["import { isNonNullable } from '../utils';\n\nimport { Theme, ThemeIn } from './Theme';\n\nexport const exposeGetters = <T extends object>(theme: T): T => {\n const descriptors = Object.getOwnPropertyDescriptors(theme);\n Object.keys(descriptors).forEach((key) => {\n const descriptor = descriptors[key];\n if (typeof descriptor.get === 'function' && descriptor.configurable) {\n descriptor.enumerable = true;\n Object.defineProperty(theme, key, descriptor);\n }\n });\n return theme;\n};\n\nexport const REACT_UI_DARK_THEME_KEY = '__IS_REACT_UI_DARK_THEME__';\n\nexport const isDarkTheme = (theme: Theme | ThemeIn): boolean => {\n //@ts-ignore\n return theme[REACT_UI_DARK_THEME_KEY] === true;\n};\n\nexport const markAsDarkTheme = <T extends object>(theme: T): T => {\n return Object.create(theme, {\n [REACT_UI_DARK_THEME_KEY]: {\n value: true,\n writable: false,\n enumerable: false,\n configurable: false,\n },\n });\n};\n\nexport function findPropertyDescriptor(theme: Theme, propName: keyof Theme) {\n // TODO: Rewrite for loop.\n // TODO: Enable `no-param-reassign` rule.\n // eslint-disable-next-line no-param-reassign\n for (; isNonNullable(theme); theme = Object.getPrototypeOf(theme)) {\n if (Object.prototype.hasOwnProperty.call(theme, propName)) {\n return Object.getOwnPropertyDescriptor(theme, propName) || {};\n }\n }\n return {};\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const THEME_2022: Readonly<Readonly<typeof import("../../../internal/themes/DefaultTheme").DefaultTheme> & typeof import("../../../internal/themes/Theme2022").Theme2022>;
@@ -0,0 +1,6 @@
1
+ "use strict";exports.__esModule = true;exports.THEME_2022 = void 0;var _ThemeFactory = require("../ThemeFactory");
2
+ var _Theme = require("../../../internal/themes/Theme2022");
3
+
4
+ var _DefaultTheme = require("./DefaultTheme");
5
+
6
+ var THEME_2022 = _ThemeFactory.ThemeFactory.create(_Theme.Theme2022Internal, _DefaultTheme.DEFAULT_THEME);exports.THEME_2022 = THEME_2022;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Theme2022.ts"],"names":["THEME_2022","ThemeFactory","create","Theme2022Internal","DEFAULT_THEME"],"mappings":"mEAAA;AACA;;AAEA;;AAEO,IAAMA,UAAU,GAAGC,2BAAaC,MAAb,CAAoBC,wBAApB,EAAuCC,2BAAvC,CAAnB,C","sourcesContent":["import { ThemeFactory } from '../ThemeFactory';\nimport { Theme2022Internal } from '../../../internal/themes/Theme2022';\n\nimport { DEFAULT_THEME } from './DefaultTheme';\n\nexport const THEME_2022 = ThemeFactory.create(Theme2022Internal, DEFAULT_THEME);\n"]}
@@ -0,0 +1 @@
1
+ export declare const THEME_2022_DARK: Readonly<Readonly<typeof import("../../../internal/themes/DefaultTheme").DefaultTheme> & typeof import("../../../internal/themes/Theme2022Dark").Theme2022Dark>;
@@ -0,0 +1,9 @@
1
+ "use strict";exports.__esModule = true;exports.THEME_2022_DARK = void 0;var _ThemeFactory = require("../ThemeFactory");
2
+ var _Theme2022Dark = require("../../../internal/themes/Theme2022Dark");
3
+ var _Theme = require("../../../internal/themes/Theme2022");
4
+
5
+ var _DarkTheme = require("./DarkTheme");
6
+
7
+ var THEME_2022_DARK = _ThemeFactory.ThemeFactory.create(
8
+ _Theme2022Dark.Theme2022DarkInternal,
9
+ _ThemeFactory.ThemeFactory.create(_Theme.Theme2022Internal, _DarkTheme.DARK_THEME));exports.THEME_2022_DARK = THEME_2022_DARK;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Theme2022Dark.ts"],"names":["THEME_2022_DARK","ThemeFactory","create","Theme2022DarkInternal","Theme2022Internal","DARK_THEME"],"mappings":"wEAAA;AACA;AACA;;AAEA;;AAEO,IAAMA,eAAe,GAAGC,2BAAaC,MAAb;AAC7BC,oCAD6B;AAE7BF,2BAAaC,MAAb,CAAoBE,wBAApB,EAAuCC,qBAAvC,CAF6B,CAAxB,C","sourcesContent":["import { ThemeFactory } from '../ThemeFactory';\nimport { Theme2022DarkInternal } from '../../../internal/themes/Theme2022Dark';\nimport { Theme2022Internal } from '../../../internal/themes/Theme2022';\n\nimport { DARK_THEME } from './DarkTheme';\n\nexport const THEME_2022_DARK = ThemeFactory.create(\n Theme2022DarkInternal,\n ThemeFactory.create(Theme2022Internal, DARK_THEME),\n);\n"]}
@@ -30,6 +30,13 @@ export declare const formatBytes: (bytes: number, decimals?: number) => string |
30
30
  * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
31
31
  */
32
32
  export declare const isNonNullable: <T>(value: T) => value is NonNullable<T>;
33
+ /**
34
+ * Checks if the value `null` or `undefined`.
35
+ *
36
+ * @param value Value to check for `null` and `undefined`.
37
+ * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.
38
+ */
39
+ export declare const isNullable: <T>(value: T) => value is null | undefined;
33
40
  /**
34
41
  * Creates a function that checks if the given `child`
35
42
  * is an instance of some component specified by `name`.
@@ -62,3 +69,11 @@ export declare const extractDataProps: <T>(props: T) => {
62
69
  dataProps: Record<string, any>;
63
70
  restWithoutDataProps: Record<string, any>;
64
71
  };
72
+ /**
73
+ * Basically `.startsWith` for arrays.
74
+ *
75
+ * @param searchKeys Array of strings to test against `inputString`.
76
+ * @param inputString String on which search will be performed.
77
+ * @returns `true` if `inputString` starts with one of keys, else `false`.
78
+ */
79
+ export declare const startsWithOneOf: (searchKeys: string[], inputString: string) => boolean;
package/cjs/lib/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.emptyHandler = exports.delay = exports.CancelationError = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isNonNullable = void 0;exports.isRefableElement = isRefableElement;exports.mergeRefs = mergeRefs;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.emptyHandler = exports.delay = exports.CancelationError = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isNullable = exports.isNonNullable = void 0;exports.isRefableElement = isRefableElement;exports.mergeRefs = mergeRefs;exports.startsWithOneOf = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
3
  var _reactIs = require("react-is");
4
4
 
@@ -86,17 +86,27 @@ var isReactUINode = function isReactUINode(componentName, node) {
86
86
  var KB = 1024;
87
87
  var UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
88
88
 
89
+ var calculateDecimals = function calculateDecimals(decimals) {
90
+ if (decimals < 0) {
91
+ return 0;
92
+ }
93
+
94
+ return 0;
95
+ };
96
+
89
97
  var formatBytes = function formatBytes(bytes, decimals) {if (decimals === void 0) {decimals = 2;}
90
- if (bytes === 0) return '0 Bytes';
98
+ if (bytes === 0) {
99
+ return '0 Bytes';
100
+ }
91
101
 
92
102
  if (!bytes) {
93
103
  return null;
94
104
  }
95
105
 
96
- decimals = decimals < 0 ? 0 : decimals;
106
+ var calculatedDecimals = calculateDecimals(decimals);
97
107
 
98
108
  var i = Math.floor(Math.log2(bytes) / Math.log2(KB));
99
- var formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(decimals));
109
+ var formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));
100
110
 
101
111
  return formattedBytes + " " + UNITS[i];
102
112
  };
@@ -111,13 +121,24 @@ var isNonNullable = function isNonNullable(value) {
111
121
  return value !== null && value !== undefined;
112
122
  };
113
123
 
124
+ /**
125
+ * Checks if the value `null` or `undefined`.
126
+ *
127
+ * @param value Value to check for `null` and `undefined`.
128
+ * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.
129
+ */
130
+ // @ts-expect-error: TypeScript doesn't consider the check inside of the function.
131
+ exports.isNonNullable = isNonNullable;var isNullable = function isNullable(value) {
132
+ return value === null || value === undefined;
133
+ };
134
+
114
135
  /**
115
136
  * Creates a function that checks if the given `child`
116
137
  * is an instance of some component specified by `name`.
117
138
  *
118
139
  * @param name Component name for which function will be created.
119
140
  * @returns A function that checks if the given `child` is an instance of the component specified by `name`.
120
- */exports.isNonNullable = isNonNullable;
141
+ */exports.isNullable = isNullable;
121
142
  var isReactUIComponent = function isReactUIComponent(name) {
122
143
  return function (child) {var _child$type;
123
144
  // @ts-ignore
@@ -162,11 +183,26 @@ var extractDataProps = function extractDataProps(props) {
162
183
 
163
184
  Object.entries(props).map(function (_ref) {var name = _ref[0],value = _ref[1];
164
185
  if (name.startsWith('data-')) {
165
- dataProps[name] = value;
166
- } else {
167
- restWithoutDataProps[name] = value;
186
+ return dataProps[name] = value;
168
187
  }
188
+
189
+ return restWithoutDataProps[name] = value;
169
190
  });
170
191
 
171
192
  return { dataProps: dataProps, restWithoutDataProps: restWithoutDataProps };
172
- };exports.extractDataProps = extractDataProps;
193
+ };
194
+
195
+ /**
196
+ * Basically `.startsWith` for arrays.
197
+ *
198
+ * @param searchKeys Array of strings to test against `inputString`.
199
+ * @param inputString String on which search will be performed.
200
+ * @returns `true` if `inputString` starts with one of keys, else `false`.
201
+ */exports.extractDataProps = extractDataProps;
202
+ var startsWithOneOf = function startsWithOneOf(searchKeys, inputString) {
203
+ var keyIndex = searchKeys.findIndex(function (key) {
204
+ return inputString.startsWith(key);
205
+ });
206
+
207
+ return keyIndex >= 0;
208
+ };exports.startsWithOneOf = startsWithOneOf;
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["delay","ms","Promise","resolve","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","isBrowser","window","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","formatBytes","bytes","decimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith"],"mappings":";AACA;AACA;;AAEA;;;;;;;;;;;;;AAaO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,EAAD,UAAgB,IAAIC,OAAJ,CAAY,UAACC,OAAD,UAAaC,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAvB,EAAZ,CAAhB,EAAd,C;;AAEA,IAAMI,YAAY,GAAG,SAAfA,YAAe,GAAM;AAChC;AACD,CAFM,C;;AAIMC,gB;AACJC,IAAAA,I,GAAO,kB,sFADsBC,K;;;AAI/B,SAASC,aAAT,CAAuBC,IAAvB,EAAyCT,EAAzC,EAAqD;AAC1D,MAAIU,gBAA4B,GAAG,oCAAM,IAAN,EAAnC;;AAEA,MAAIT,OAAJ,CAAY,UAACC,OAAD,EAAUS,MAAV,EAAqB;AAC/BD,IAAAA,gBAAgB,GAAGC,MAAnB;AACAR,IAAAA,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAV;AACD,GAHD;AAIGY,EAAAA,IAJH,CAIQH,IAJR;AAKGI,EAAAA,KALH,CAKS,oBAAM,IAAN,EALT;;AAOA,SAAOH,gBAAP;AACD;;AAEM,SAASI,UAAT,CAAuBC,CAAvB,EAAuD;AAC5D,SAAO,OAAOA,CAAP,KAAa,UAApB;AACD;;AAEM,SAASC,qBAAT,CAA+BC,SAA/B,EAAuE;AAC5E,SAAOC,OAAO,CAAC,OAAOD,SAAP,KAAqB,UAArB,IAAmC,EAAEA,SAAS,CAACE,SAAV,IAAuBF,SAAS,CAACE,SAAV,CAAoBC,gBAA7C,CAApC,CAAd;AACD;;AAEM,SAASC,gBAAT,CAA0BJ,SAA1B,EAAkE;AACvE,SAAOC,OAAO,CAAC,OAAOD,SAAP,KAAqB,UAArB,IAAmCA,SAAS,CAACE,SAA7C,IAA0DF,SAAS,CAACE,SAAV,CAAoBC,gBAA/E,CAAd;AACD;;AAEM,SAASE,kBAAT,CAA4BC,OAA5B,EAAkE;AACvE,SAAO,OAAOA,OAAO,CAACC,IAAf,KAAwB,QAA/B;AACD;;AAEM,SAASC,gBAAT,CAA0BF,OAA1B,EAAgE;AACrE,SAAOL,OAAO,CAACI,kBAAkB,CAACC,OAAD,CAAlB,IAA+BF,gBAAgB,CAACE,OAAO,CAACC,IAAT,CAA/C,IAAiE,2BAAaD,OAAb,CAAlE,CAAd;AACD;;AAEM,SAASG,qBAAT,CAA+BC,CAA/B,EAAkD;AACvD,SAAOA,CAAC,CAACC,OAAF,CAAU,qBAAV,EAAiC,MAAjC,CAAP;AACD;;AAEM,IAAMC,WAAW,GAAG,SAAdA,WAAc,WAAcC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,KAA3B,CAAiC,CAAjC,CAAd,EAApB,C;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAA2B;AACvD,SAAO,IAAIC,MAAJ,oBAA2BC,4BAAkBC,MAAM,CAACC,QAAP,CAAgBC,IAAlC,WAA3B,YAAiF,IAAjF,EAAuFC,IAAvF,CAA4FN,IAA5F,CAAP;AACD,CAFM;;AAIP;AACA;AACA,G;AACO,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAACC,aAAD,EAAwBC,IAAxB,EAA2D;AACtF,oBAAIC,eAAMC,cAAN,CAAqBF,IAArB,CAAJ,EAAgC;AAC9B;AACEG,MAAAA,MAAM,CAAC5B,SAAP,CAAiB6B,cAAjB,CAAgCC,IAAhC,CAAqCL,IAAI,CAACpB,IAA1C,EAAgD,qBAAhD;AACA;AACAoB,MAAAA,IAAI,CAACpB,IAAL,CAAU0B,mBAAV,KAAkCP,aAHpC;;AAKD;;AAED,SAAO,KAAP;AACD,CAVM,C;;AAYP,IAAMQ,EAAE,GAAG,IAAX;AACA,IAAMC,KAAK,GAAG,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwC,IAAxC,EAA8C,IAA9C,EAAoD,IAApD,CAAd;;AAEO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAgBC,QAAhB,EAAgD,KAAhCA,QAAgC,cAAhCA,QAAgC,GAArB,CAAqB;AACzE,MAAID,KAAK,KAAK,CAAd,EAAiB,OAAO,SAAP;;AAEjB,MAAI,CAACA,KAAL,EAAY;AACV,WAAO,IAAP;AACD;;AAEDC,EAAAA,QAAQ,GAAGA,QAAQ,GAAG,CAAX,GAAe,CAAf,GAAmBA,QAA9B;;AAEA,MAAMC,CAAC,GAAG1B,IAAI,CAAC2B,KAAL,CAAW3B,IAAI,CAAC4B,IAAL,CAAUJ,KAAV,IAAmBxB,IAAI,CAAC4B,IAAL,CAAUP,EAAV,CAA9B,CAAV;AACA,MAAMQ,cAAc,GAAGC,UAAU,CAAC,CAACN,KAAK,GAAGxB,IAAI,CAAC+B,GAAL,CAASV,EAAT,EAAaK,CAAb,CAAT,EAA0BM,OAA1B,CAAkCP,QAAlC,CAAD,CAAjC;;AAEA,SAAUI,cAAV,SAA4BP,KAAK,CAACI,CAAD,CAAjC;AACD,CAbM;;AAeP;AACA;AACA;AACA;AACA;AACA,G;AACO,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAAIC,KAAJ,EAA0C;AACrE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKC,SAAnC;AACD,CAFM;;AAIP;AACA;AACA;AACA;AACA;AACA;AACA,G;AACO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAUC,IAAV,EAA2B;AAC3D,SAAO,UAACC,KAAD,EAA4D;AACjE;AACA,WAAO,CAAAA,KAAK,QAAL,2BAAAA,KAAK,CAAE5C,IAAP,iCAAa0B,mBAAb,MAAqCiB,IAA5C;AACD,GAHD;AAID,CALM;;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;AACO,SAASE,SAAT,CAA4BC,IAA5B,EAA+G;AACpH,SAAO,UAACN,KAAD,EAAW;AAChBM,IAAAA,IAAI,CAACC,OAAL,CAAa,UAACC,GAAD,EAAS;AACpB,UAAI,OAAOA,GAAP,KAAe,UAAnB,EAA+B;AAC7B,eAAOA,GAAG,CAACR,KAAD,CAAV;AACD,OAFD,MAEO,IAAID,aAAa,CAACS,GAAD,CAAjB,EAAwB;AAC7B,eAASA,GAAD,CAA0CC,OAA1C,GAAoDT,KAA5D;AACD;AACF,KAND;AAOD,GARD;AASD;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMU,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAIC,KAAJ,EAAiB;AAC/C,MAAMC,SAA8B,GAAG,EAAvC;AACA,MAAMC,oBAAyC,GAAG,EAAlD;;AAEA9B,EAAAA,MAAM,CAAC+B,OAAP,CAAeH,KAAf,EAAsBI,GAAtB,CAA0B,gBAAmB,KAAjBZ,IAAiB,WAAXH,KAAW;AAC3C,QAAIG,IAAI,CAACa,UAAL,CAAgB,OAAhB,CAAJ,EAA8B;AAC5BJ,MAAAA,SAAS,CAACT,IAAD,CAAT,GAAkBH,KAAlB;AACD,KAFD,MAEO;AACLa,MAAAA,oBAAoB,CAACV,IAAD,CAApB,GAA6BH,KAA7B;AACD;AACF,GAND;;AAQA,SAAO,EAAEY,SAAS,EAATA,SAAF,EAAaC,oBAAoB,EAApBA,oBAAb,EAAP;AACD,CAbM,C","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport { isBrowser } from './client';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return new RegExp(`^(https?:)?//${isBrowser ? `(?!${window.location.host})` : ``}\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) return '0 Bytes';\n\n if (!bytes) {\n return null;\n }\n\n decimals = decimals < 0 ? 0 : decimals;\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(decimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-ignore\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n dataProps[name] = value;\n } else {\n restWithoutDataProps[name] = value;\n }\n });\n\n return { dataProps, restWithoutDataProps };\n};\n"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["delay","ms","Promise","resolve","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","isBrowser","window","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key"],"mappings":"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","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport { isBrowser } from './client';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: ReactComponentLike): boolean {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return new RegExp(`^(https?:)?//${isBrowser ? `(?!${window.location.host})` : ``}\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\n// @ts-expect-error: TypeScript doesn't consider the check inside of the function.\nexport const isNullable = <T>(value: T): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-ignore\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n"]}
@@ -21,6 +21,7 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
21
21
  import { MobilePopup } from "../../../internal/MobilePopup";
22
22
  import { responsiveLayout } from "../../ResponsiveLayout/decorator";
23
23
  import { getRootNode, rootNode } from "../../../lib/rootNode";
24
+ import { getDOMRect } from "../../../lib/dom/getDOMRect";
24
25
  import { styles } from "../Autocomplete.styles";
25
26
 
26
27
  function match(pattern, items) {
@@ -28,24 +29,27 @@ function match(pattern, items) {
28
29
  return Promise.resolve([]);
29
30
  }
30
31
 
31
- pattern = pattern.toLowerCase();
32
- var filteredItems = items.filter(function (item) {
33
- return item.toLowerCase().includes(pattern);
32
+ var lowerCasedPattern = pattern.toLowerCase();
33
+ var itemsMatchingPattern = items.filter(function (item) {
34
+ return item.toLowerCase().includes(lowerCasedPattern);
34
35
  });
35
- return Promise.resolve(filteredItems);
36
+ return Promise.resolve(itemsMatchingPattern);
36
37
  }
37
38
 
38
39
  function renderItem(item) {
39
40
  return item;
40
41
  }
41
42
 
42
- export
43
+ export var AutocompleteDataTids = {
44
+ root: 'Autocomplete__root'
45
+ };
43
46
  /**
44
- * Стандартный инпут с подсказками.
45
- *
46
- * Все свойства передаются во внутренний *Input*.
47
- */
48
- var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
47
+ * Стандартный инпут с подсказками.
48
+ *
49
+ * Все свойства передаются во внутренний *Input*.
50
+ */
51
+
52
+ export var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
49
53
  _inheritsLoose(Autocomplete, _React$Component);
50
54
 
51
55
  function Autocomplete() {
@@ -100,6 +104,7 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
100
104
  onClickOutside: _this.handleClickOutside,
101
105
  active: focused
102
106
  }, /*#__PURE__*/React.createElement("span", {
107
+ "data-tid": AutocompleteDataTids.root,
103
108
  className: styles.root(_this.theme),
104
109
  style: {
105
110
  width: width
@@ -147,14 +152,6 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
147
152
  }) : null;
148
153
  };
149
154
 
150
- _this.getInputWidth = function (target) {
151
- if (target instanceof Element) {
152
- return target.getBoundingClientRect().width;
153
- }
154
-
155
- return 0;
156
- };
157
-
158
155
  _this.handleValueChange = function (value) {
159
156
  _this.opened = true;
160
157
 
@@ -333,7 +330,7 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
333
330
  ref: this.refMenu,
334
331
  maxHeight: this.props.menuMaxHeight,
335
332
  hasShadow: this.props.hasShadow,
336
- width: this.props.menuWidth || this.props.width && this.getInputWidth(this.rootSpan),
333
+ width: this.props.menuWidth || this.props.width && getDOMRect(this.rootSpan).width,
337
334
  preventWindowScroll: this.props.preventWindowScroll
338
335
  };
339
336
 
@@ -396,7 +393,8 @@ var Autocomplete = responsiveLayout(_class = rootNode(_class = (_temp = _class2
396
393
  }
397
394
 
398
395
  var promise;
399
- var expectingId = this.requestId += 1;
396
+ this.requestId += 1;
397
+ var expectingId = this.requestId;
400
398
 
401
399
  if (typeof source === 'function') {
402
400
  promise = source(pattern);
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","styles","match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","getInputWidth","target","Element","getBoundingClientRect","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter((item) => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\n if (target instanceof Element) {\n return target.getBoundingClientRect().width;\n }\n\n return 0;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","Autocomplete","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuProps","maxHeight","menuWidth","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"qiBAAA,OAAOA,KAAP,MAAqC,OAArC;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,cAAT,EAAyBC,YAAzB,EAAuCC,UAAvC,EAAmDC,WAAnD,QAAsE,uCAAtE;AACA,SAASC,KAAT,QAAkC,UAAlC;AACA,SAASC,iBAAT,QAAkC,kCAAlC;AACA,SAASC,IAAT,QAAqB,qBAArB;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,eAAT,QAAgC,kCAAhC;AACA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,gBAAT,QAAiC,+BAAjC;AACA,SAASC,WAAT,EAAsBC,QAAtB,QAAoD,oBAApD;AACA,SAASC,UAAT,QAA2B,0BAA3B;;AAEA,SAASC,MAAT,QAAuB,uBAAvB;;AAEA,SAASC,KAAT,CAAeC,OAAf,EAAgCC,KAAhC,EAAiD;AAC/C,MAAI,CAACD,OAAD,IAAY,CAACC,KAAjB,EAAwB;AACtB,WAAOC,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAP;AACD;;AAED,MAAMC,iBAAiB,GAAGJ,OAAO,CAACK,WAAR,EAA1B;AACA,MAAMC,oBAAoB,GAAGL,KAAK,CAACM,MAAN,CAAa,UAACC,IAAD,EAAU;AAClD,WAAOA,IAAI,CAACH,WAAL,GAAmBI,QAAnB,CAA4BL,iBAA5B,CAAP;AACD,GAF4B,CAA7B;;AAIA,SAAOF,OAAO,CAACC,OAAR,CAAgBG,oBAAhB,CAAP;AACD;;AAED,SAASI,UAAT,CAAoBF,IAApB,EAA+B;AAC7B,SAAOA,IAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CD,OAAO,IAAMG,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,oBAD4B,EAA7B;;;AAIP;AACA;AACA;AACA;AACA;;;AAGA,WAAaC,YAAb,GAFCnB,gBAED,UADCE,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCSkB,IAAAA,KApCT,GAoCoC;AAChCb,MAAAA,KAAK,EAAE,IADyB;AAEhCc,MAAAA,QAAQ,EAAE,CAAC,CAFqB;AAGhCC,MAAAA,OAAO,EAAE,KAHuB;AAIhCC,MAAAA,cAAc,EAAE,KAJgB,EApCpC;;;;;AA6CUC,IAAAA,MA7CV,GA6CmB,KA7CnB;AA8CUC,IAAAA,KA9CV,GA8CmC,IA9CnC;;;;;AAmDUC,IAAAA,SAnDV,GAmDsB,CAnDtB;;AAqDUC,IAAAA,QArDV,GAqDqB/B,iBAAiB,CAACuB,YAAY,CAACS,YAAd,CArDtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FSC,IAAAA,UA5FT,GA4FsB,UAACC,KAAD,EAAsD;AACxE,UAAQR,OAAR,GAAoB,MAAKF,KAAzB,CAAQE,OAAR;;AAEA,UAAMS,QAAQ,GAAG,MAAKC,cAAtB;;AAEA;AACEC,MAAAA,aADF;;;;;;;;;;;;;;AAeIH,MAAAA,KAfJ,CACEG,aADF,CAEEC,SAFF,GAeIJ,KAfJ,CAEEI,SAFF,CAGEC,OAHF,GAeIL,KAfJ,CAGEK,OAHF,CAIEC,MAJF,GAeIN,KAfJ,CAIEM,MAJF,CAKcC,WALd,GAeIP,KAfJ,CAKEd,UALF,CAMEsB,aANF,GAeIR,KAfJ,CAMEQ,aANF,CAOEC,SAPF,GAeIT,KAfJ,CAOES,SAPF,CAQEC,SARF,GAeIV,KAfJ,CAQEU,SARF,CASEC,aATF,GAeIX,KAfJ,CASEW,aATF,CAUEC,mBAVF,GAeIZ,KAfJ,CAUEY,mBAVF,CAWEC,MAXF,GAeIb,KAfJ,CAWEa,MAXF,gBAeIb,KAfJ,CAYEc,KAZF,CAYEA,KAZF,6BAYU,MAAKC,KAAL,CAAWC,UAZrB,gBAaEC,oBAbF,GAeIjB,KAfJ,CAaEiB,oBAbF,CAcKC,IAdL,iCAeIlB,KAfJ;;AAiBA,UAAMmB,UAAU;AACXD,MAAAA,IADW;AAEdJ,QAAAA,KAAK,EAAE,MAFO;AAGdX,QAAAA,aAAa,EAAE,MAAKiB,iBAHN;AAIdhB,QAAAA,SAAS,EAAE,MAAKiB,aAJF;AAKdhB,QAAAA,OAAO,EAAE,MAAKiB,WALA;AAMdC,QAAAA,GAAG,EAAE,MAAKC,QANI,GAAhB;;;AASA;AACE,4BAAC,WAAD,IAAa,cAAc,EAAE,MAAKC,UAAlC,EAA8C,cAAc,EAAE,MAAKC,kBAAnE,EAAuF,MAAM,EAAElC,OAA/F;AACE;AACE,sBAAUL,oBAAoB,CAACC,IADjC;AAEE,UAAA,SAAS,EAAEd,MAAM,CAACc,IAAP,CAAY,MAAK2B,KAAjB,CAFb;AAGE,UAAA,KAAK,EAAE,EAAED,KAAK,EAALA,KAAF,EAHT;AAIE,UAAA,GAAG,EAAE,MAAKa,WAJZ;;AAME,4BAAC,KAAD,EAAWR,UAAX,CANF;AAOGlB,QAAAA,QAAQ,GAAG,MAAK2B,gBAAL,EAAH,GAA6B,MAAKC,UAAL,EAPxC,CADF,CADF;;;;AAaD,KAxIH;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmKUD,IAAAA,gBAnKV,GAmK6B,YAAM;AAC/B,UAAMT,UAAsB,GAAG;AAC7BW,QAAAA,SAAS,EAAE,IADkB;AAE7BhB,QAAAA,KAAK,EAAE,MAFsB;AAG7BX,QAAAA,aAAa,EAAE,MAAKiB,iBAHS;AAI7BW,QAAAA,UAAU,EAAE,MAAKC,oBAJY;AAK7BC,QAAAA,KAAK,EAAE,MAAKjC,KAAL,CAAWiC,KALW;AAM7BC,QAAAA,WAAW,EAAE,iBANgB,EAA/B;;;AASA,UAAMzD,KAAK,GAAG,MAAKa,KAAL,CAAWb,KAAzB;;AAEA;AACE,4BAAC,WAAD;AACE,UAAA,oBAAoB,eAAE,oBAAC,KAAD,EAAW0C,UAAX,CADxB;AAEE,UAAA,OAAO,EAAE,MAAKnB,KAAL,CAAWiB,oBAFtB;AAGE,UAAA,aAAa,MAHf;AAIE,UAAA,MAAM,EAAE,MAAK3B,KAAL,CAAWG,cAJrB;AAKE,UAAA,cAAc,EAAE,MAAK0C,iBALvB;AAME,UAAA,GAAG,EAAE,MAAKC,cANZ;;AAQE,4BAAC,IAAD,IAAM,GAAG,EAAE,MAAKC,OAAhB,EAAyB,WAAW,uBAAE,MAAKC,WAAP,qBAAE,kBAAkBC,KAAxD,EAA+D,sBAAsB,MAArF,EAAsF,SAAS,EAAE,MAAjG;AACG9D,QAAAA,KAAK,IAAIA,KAAK,CAAC+D,MAAN,GAAe,CAAxB,IAA6B,MAAKC,QAAL,EADhC,CARF,CADF;;;;AAcD,KA7LH;;AA+LUA,IAAAA,QA/LV,GA+LqB,YAAM;AACvB,UAAMhE,KAAK,GAAG,MAAKa,KAAL,CAAWb,KAAzB;AACA,UAAMwB,QAAQ,GAAG,MAAKC,cAAtB;;AAEA,aAAOzB,KAAK;AACRA,MAAAA,KAAK,CAACiE,GAAN,CAAU,UAAC1D,IAAD,EAAO2D,CAAP,EAAa;AACrB;AACE,8BAAC,QAAD,IAAU,OAAO,EAAE,MAAKC,mBAAL,CAAyBD,CAAzB,CAAnB,EAAgD,GAAG,EAAEA,CAArD,EAAwD,QAAQ,EAAE1C,QAAlE;AACG,gBAAKJ,QAAL,GAAgBX,UAAhB,CAA2BF,IAA3B,CADH,CADF;;;AAKD,OAND,CADQ;AAQR,UARJ;AASD,KA5MH;;AA8MUoC,IAAAA,iBA9MV,GA8M8B,UAACa,KAAD,EAAmB;AAC7C,YAAKvC,MAAL,GAAc,IAAd;;AAEA,YAAKmD,UAAL,CAAgBZ,KAAhB;AACD,KAlNH;;AAoNUE,IAAAA,iBApNV,GAoN8B,YAAM;AAChC,YAAKW,QAAL,CAAc;AACZrD,QAAAA,cAAc,EAAE,KADJ,EAAd;;;AAIA,YAAKgC,UAAL;AACD,KA1NH;;AA4NUO,IAAAA,oBA5NV,GA4NiC,UAACe,CAAD,EAAsB;AACnD,UAAIA,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrB,oCAAKV,WAAL,wCAAkBC,KAAlB;AACD;AACF,KAhOH;;AAkOUjB,IAAAA,WAlOV,GAkOwB,UAAC2B,KAAD,EAA+C;AACnE,UAAI,MAAK/C,cAAT,EAAyB;AACvB,cAAK4C,QAAL,CAAc,EAAErD,cAAc,EAAE,IAAlB,EAAd;AACD;;AAED,UAAI,MAAKH,KAAL,CAAWE,OAAf,EAAwB;AACtB;AACD;;AAED,YAAKsD,QAAL,CAAc,EAAEtD,OAAO,EAAE,IAAX,EAAd;;AAEA,UAAI,MAAKQ,KAAL,CAAWK,OAAf,EAAwB;AACtB,cAAKL,KAAL,CAAWK,OAAX,CAAmB4C,KAAnB;AACD;AACF,KAhPH;;AAkPUxB,IAAAA,UAlPV,GAkPuB,YAAM;AACzB,UAAI,CAAC,MAAKnC,KAAL,CAAWE,OAAhB,EAAyB;AACvB;AACD;;AAED,YAAKE,MAAL,GAAc,KAAd;AACA,YAAKoD,QAAL,CAAc,EAAErE,KAAK,EAAE,IAAT,EAAee,OAAO,EAAE,KAAxB,EAAd;;AAEA,UAAI,MAAKG,KAAT,EAAgB;AACd,cAAKA,KAAL,CAAWuD,IAAX;AACD;;AAED,UAAI,MAAKlD,KAAL,CAAWM,MAAf,EAAuB;AACrB,cAAKN,KAAL,CAAWM,MAAX;AACD;AACF,KAjQH;;AAmQUoB,IAAAA,kBAnQV,GAmQ+B,UAACqB,CAAD,EAAc;AACzChF,MAAAA,eAAe,CAACgF,CAAD,CAAf;AACA,YAAKtB,UAAL;AACD,KAtQH;;AAwQUJ,IAAAA,aAxQV,GAwQ0B,UAAC0B,CAAD,EAA8C;AACpE,UAAI,MAAK/C,KAAL,CAAWI,SAAf,EAA0B;AACxB,cAAKJ,KAAL,CAAWI,SAAX,CAAqB2C,CAArB;AACD;AACD,cAAQ,IAAR;AACE,aAAKvF,WAAW,CAACuF,CAAD,CAAhB;AACEA,UAAAA,CAAC,CAACI,cAAF;AACA,gBAAKL,QAAL,CAAc,EAAErE,KAAK,EAAE,IAAT,EAAd;AACA;AACF,aAAKnB,YAAY,CAACyF,CAAD,CAAjB;AACEA,UAAAA,CAAC,CAACI,cAAF;AACA,cAAI,MAAKC,IAAT,EAAe;AACb,kBAAKA,IAAL,CAAUC,EAAV;AACD;AACD;AACF,aAAKhG,cAAc,CAAC0F,CAAD,CAAnB;AACEA,UAAAA,CAAC,CAACI,cAAF;AACA,cAAI,MAAKC,IAAT,EAAe;AACb,kBAAKA,IAAL,CAAUE,IAAV;AACD;AACD;AACF,aAAK/F,UAAU,CAACwF,CAAD,CAAf;AACEA,UAAAA,CAAC,CAACI,cAAF,GADF,CACsB;AACpB,cAAI,MAAKC,IAAT,EAAe;AACb,kBAAKA,IAAL,CAAUG,KAAV,CAAgBR,CAAhB;AACD;AACD,iBAtBJ;;AAwBD,KApSH;;;;;;AA0SUS,IAAAA,SA1SV,GA0SsB,YAAM;AACxB,aAAOrF,WAAW,+BAAlB;AACD,KA5SH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0WUqD,IAAAA,QA1WV,GA0WqB,UAACiC,EAAD,EAAsB;AACvC,YAAK9D,KAAL,GAAa8D,EAAb;AACD,KA5WH;;AA8WUpB,IAAAA,OA9WV,GA8WoB,UAACe,IAAD,EAAuB;AACvC,YAAKA,IAAL,GAAYA,IAAZ;AACD,KAhXH;;AAkXUzB,IAAAA,WAlXV,GAkXwB,UAAC+B,IAAD,EAA2B;AAC/C,YAAKC,QAAL,GAAgBD,IAAhB;AACD,KApXH;;AAsXUtB,IAAAA,cAtXV,GAsX2B,UAACE,WAAD,EAAqC;AAC5D,YAAKA,WAAL,GAAmBA,WAAnB;AACD,KAxXH,oDAwDE;AACF;AACA,KA1DA,OA2DSsB,KA3DT,GA2DE,iBAAe,CACb,IAAI,KAAKjE,KAAT,EAAgB,CACd,KAAKA,KAAL,CAAWiE,KAAX,GACD,CACF,CA/DH,CAiEE;AACF;AACA,KAnEA,QAoESV,IApET,GAoEE,gBAAc,CACZ,KAAKzB,UAAL,GACD,CAtEH,QAwESoC,kBAxET,GAwEE,4BAA0BC,SAA1B,EAAwD,CACtD,IAAIA,SAAS,CAAC7B,KAAV,KAAoB,KAAKjC,KAAL,CAAWiC,KAAnC,EAA0C,CACxC,KAAK8B,WAAL,CAAiB,KAAK/D,KAAL,CAAWiC,KAAX,IAAoB,EAArC,EACD,CACF,CA5EH,QA8ES+B,MA9ET,GA8EE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACjD,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,MAAI,CAACkD,WAAjC,IAAkD,MAAI,CAACjE,KAAvD,GACG,MAAI,CAACD,UADR,CADF,CAKD,CARH,CADF,CAYD,CA3FH,QA0IU8B,UA1IV,GA0IE,sBAAsC,CACpC,IAAMpD,KAAK,GAAG,KAAKa,KAAL,CAAWb,KAAzB,CACA,IAAMyF,SAAS,GAAG,EAChB3C,GAAG,EAAE,KAAKc,OADM,EAEhB8B,SAAS,EAAE,KAAKnE,KAAL,CAAWW,aAFN,EAGhBF,SAAS,EAAE,KAAKT,KAAL,CAAWS,SAHN,EAIhBK,KAAK,EAAE,KAAKd,KAAL,CAAWoE,SAAX,IAAyB,KAAKpE,KAAL,CAAWc,KAAX,IAAoBzC,UAAU,CAAC,KAAKsF,QAAN,CAAV,CAA0B7C,KAJ9D,EAKhBF,mBAAmB,EAAE,KAAKZ,KAAL,CAAWY,mBALhB,EAAlB,CAOA,IAAI,CAACnC,KAAD,IAAUA,KAAK,CAAC+D,MAAN,KAAiB,CAA/B,EAAkC,CAChC,OAAO,IAAP,CACD,CAED,oBACE,oBAAC,iBAAD,IACE,OAAO,EAAE,CADX,EAEE,SAAS,EAAE,KAAKgB,SAFlB,EAGE,KAAK,EAAE,KAAKxD,KAAL,CAAWU,SAHpB,EAIE,aAAa,EAAE,KAAKV,KAAL,CAAWQ,aAJ5B,iBAME,oBAAC,IAAD,EAAU0D,SAAV,EAAsB,KAAKzB,QAAL,EAAtB,CANF,CADF,CAUD,CAjKH,QAsSUG,mBAtSV,GAsSE,6BAA4BD,CAA5B,EAAuC,mBACrC,OAAO,UAACM,KAAD,UAA8C,MAAI,CAACoB,eAAL,CAAqBpB,KAArB,EAA4BN,CAA5B,CAA9C,EAAP,CACD,CAxSH,QA8SU0B,eA9SV,GA8SE,yBAAwBpB,KAAxB,EAAkGqB,KAAlG,EAAiH,CAC/G,IAAKrB,KAAD,CAAyCsB,MAA7C,EAAqD,CACnD,OACD,CAEDtB,KAAK,CAACE,cAAN,GACA,KAAKqB,MAAL,CAAYF,KAAZ,EACD,CArTH,QAuTUE,MAvTV,GAuTE,gBAAeF,KAAf,EAA8B,CAC5B,IAAI,CAAC,KAAKhF,KAAL,CAAWb,KAAhB,EAAuB,CACrB,OACD,CAED,IAAMwD,KAAK,GAAG,KAAK3C,KAAL,CAAWb,KAAX,CAAiB6F,KAAjB,CAAd,CACA,KAAK5E,MAAL,GAAc,KAAd,CACA,KAAKoD,QAAL,CAAc,EACZvD,QAAQ,EAAE,CAAC,CADC,EAEZd,KAAK,EAAE,IAFK,EAAd,EAKA,KAAKoE,UAAL,CAAgBZ,KAAhB,EACA,KAAKiB,IAAL,GACD,CArUH,QAuUUa,WAvUV,GAuUE,qBAAoB9B,KAApB,EAAmC,mBACjC,IAAI,CAAC,KAAKvC,MAAV,EAAkB,CAChB,OACD,CACD,IAAMlB,OAAO,GAAGyD,KAAK,CAACwC,IAAN,EAAhB,CACA,IAAM5D,MAAM,GAAG,KAAKb,KAAL,CAAWa,MAA1B,CAEA,IAAI,CAACA,MAAL,EAAa,CACX,OACD,CAED,IAAI6D,OAAJ,CACA,KAAK9E,SAAL,IAAkB,CAAlB,CACA,IAAM+E,WAAW,GAAG,KAAK/E,SAAzB,CACA,IAAI,OAAOiB,MAAP,KAAkB,UAAtB,EAAkC,CAChC6D,OAAO,GAAG7D,MAAM,CAACrC,OAAD,CAAhB,CACD,CAFD,MAEO,CACLkG,OAAO,GAAGnG,KAAK,CAACC,OAAD,EAAUqC,MAAV,CAAf,CACD,CACD6D,OAAO,CAACE,IAAR,CAAa,UAACnG,KAAD,EAAW,CACtB,IAAI,MAAI,CAACiB,MAAL,IAAeiF,WAAW,KAAK,MAAI,CAAC/E,SAAxC,EAAmD,CACjD,MAAI,CAACkD,QAAL,CAAc,EACZrE,KAAK,EAALA,KADY,EAEZc,QAAQ,EAAE,CAAC,CAFC,EAAd,EAID,CACF,CAPD,EAQD,CAlWH,QAoWUsD,UApWV,GAoWE,oBAAmBZ,KAAnB,EAAkC,CAChC,IAAI,KAAKjC,KAAL,CAAWG,aAAf,EAA8B,CAC5B,KAAKH,KAAL,CAAWG,aAAX,CAAyB8B,KAAzB,EACD,CACF,CAxWH,uBAAkC/E,KAAK,CAAC2H,SAAxC,WACgBC,mBADhB,GACsC,cADtC,UAGgBC,SAHhB,GAG4B,EACxB;AACJ;AACA;AACA,KACI7F,UAAU,EAAE/B,SAAS,CAAC6H,IALE,EAOxB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACInE,MAAM,EAAE1D,SAAS,CAAC8H,SAAV,CAAoB,CAAC9H,SAAS,CAAC+H,KAAX,EAAkB/H,SAAS,CAAC6H,IAA5B,CAApB,CApBgB,EAH5B,UA0BgBlF,YA1BhB,GA0B+B,EAC3BZ,UAAU,EAAVA,UAD2B,EAE3BiG,IAAI,EAAE,OAFqB,EAG3B3E,aAAa,EAAE,KAHY,EAI3BC,SAAS,EAAE,IAJgB,EAK3BE,aAAa,EAAE,GALY,EAM3BD,SAAS,EAAE,MANgB,EAO3BE,mBAAmB,EAAE,IAPM,EA1B/B","sourcesContent":["import React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n} as const;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={styles.root(this.theme)}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && getDOMRect(this.rootSpan).width),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
@@ -41,6 +41,9 @@ export interface AutocompleteState {
41
41
  focused: boolean;
42
42
  isMobileOpened: boolean;
43
43
  }
44
+ export declare const AutocompleteDataTids: {
45
+ readonly root: "Autocomplete__root";
46
+ };
44
47
  /**
45
48
  * Стандартный инпут с подсказками.
46
49
  *
@@ -103,7 +106,6 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
103
106
  private renderMenu;
104
107
  private renderMobileMenu;
105
108
  private getItems;
106
- private getInputWidth;
107
109
  private handleValueChange;
108
110
  private handleCloseMobile;
109
111
  private handleKeyPressMobile;