@skbkontur/react-ui 0.0.0-0dca6f33be → 0.0.0-0ffbe8b468

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 (934) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -3
  3. package/cjs/components/Autocomplete/Autocomplete.js +24 -7
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +17 -0
  6. package/cjs/components/Button/Button.d.ts +9 -3
  7. package/cjs/components/Button/Button.js +27 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.mixins.js +1 -1
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.d.ts +1 -0
  12. package/cjs/components/Button/Button.styles.js +68 -62
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  15. package/cjs/components/Button/ButtonIcon.js +1 -0
  16. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  17. package/cjs/components/Button/getInnerLinkTheme.js +9 -4
  18. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  19. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  20. package/cjs/components/Calendar/Calendar.js +1 -0
  21. package/cjs/components/Calendar/Calendar.js.map +1 -1
  22. package/cjs/components/Calendar/Calendar.md +14 -3
  23. package/cjs/components/Calendar/Calendar.styles.js +1 -2
  24. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  25. package/cjs/components/Calendar/DayCellView.js +9 -2
  26. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  27. package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
  28. package/cjs/components/Calendar/DayCellView.styles.js +4 -4
  29. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  30. package/cjs/components/Calendar/locale/locales/en.js +3 -1
  31. package/cjs/components/Calendar/locale/locales/en.js.map +1 -1
  32. package/cjs/components/Calendar/locale/locales/ru.js +3 -1
  33. package/cjs/components/Calendar/locale/locales/ru.js.map +1 -1
  34. package/cjs/components/Calendar/locale/types.d.ts +4 -0
  35. package/cjs/components/Checkbox/Checkbox.d.ts +15 -5
  36. package/cjs/components/Checkbox/Checkbox.js +73 -16
  37. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  38. package/cjs/components/Checkbox/Checkbox.md +18 -0
  39. package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  40. package/cjs/components/Checkbox/Checkbox.mixins.js +37 -0
  41. package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
  42. package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
  43. package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
  44. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  45. package/cjs/components/ComboBox/ComboBox.d.ts +6 -8
  46. package/cjs/components/ComboBox/ComboBox.js +2 -1
  47. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  48. package/cjs/components/ComboBox/ComboBox.md +51 -5
  49. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  50. package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
  51. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  53. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -0
  54. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  55. package/cjs/components/DateInput/DateInput.d.ts +5 -1
  56. package/cjs/components/DateInput/DateInput.js +24 -8
  57. package/cjs/components/DateInput/DateInput.js.map +1 -1
  58. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  59. package/cjs/components/DatePicker/DatePicker.js +13 -2
  60. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  61. package/cjs/components/DatePicker/DatePicker.md +15 -0
  62. package/cjs/components/DatePicker/locale/locales/en.js +4 -1
  63. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  64. package/cjs/components/DatePicker/locale/locales/ru.js +4 -1
  65. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  66. package/cjs/components/DatePicker/locale/types.d.ts +3 -1
  67. package/cjs/components/Dropdown/Dropdown.d.ts +4 -7
  68. package/cjs/components/Dropdown/Dropdown.js +4 -3
  69. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  70. package/cjs/components/Dropdown/Dropdown.md +33 -0
  71. package/cjs/components/Dropdown/getDropdownTheme.js +32 -1
  72. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  73. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  74. package/cjs/components/DropdownMenu/DropdownMenu.js +6 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  76. package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
  77. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
  78. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  79. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  80. package/cjs/components/FileUploader/FileUploader.js +4 -0
  81. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  82. package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
  83. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  84. package/cjs/components/FxInput/FxInput.d.ts +4 -2
  85. package/cjs/components/FxInput/FxInput.js +6 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
  88. package/cjs/components/FxInput/FxInputRestoreBtn.js +7 -2
  89. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  90. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  91. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  93. package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
  94. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  95. package/cjs/components/Hint/Hint.js +2 -1
  96. package/cjs/components/Hint/Hint.js.map +1 -1
  97. package/cjs/components/Input/Input.d.ts +7 -7
  98. package/cjs/components/Input/Input.js +12 -7
  99. package/cjs/components/Input/Input.js.map +1 -1
  100. package/cjs/components/Input/Input.styles.js +3 -2
  101. package/cjs/components/Input/Input.styles.js.map +1 -1
  102. package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -2
  103. package/cjs/components/Input/InputLayout/InputLayout.js +4 -3
  104. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  105. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -1
  106. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  107. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +5 -4
  108. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  109. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  110. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  111. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  112. package/cjs/components/Kebab/Kebab.js +8 -1
  113. package/cjs/components/Kebab/Kebab.js.map +1 -1
  114. package/cjs/components/Kebab/Kebab.md +28 -0
  115. package/cjs/components/Link/Link.d.ts +2 -2
  116. package/cjs/components/Link/Link.js +20 -4
  117. package/cjs/components/Link/Link.js.map +1 -1
  118. package/cjs/components/Link/Link.mixins.d.ts +1 -2
  119. package/cjs/components/Link/Link.mixins.js +5 -16
  120. package/cjs/components/Link/Link.mixins.js.map +1 -1
  121. package/cjs/components/Link/Link.styles.d.ts +4 -0
  122. package/cjs/components/Link/Link.styles.js +96 -37
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/MenuFooter/MenuFooter.d.ts +30 -0
  125. package/cjs/components/MenuFooter/MenuFooter.js +83 -0
  126. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -0
  127. package/cjs/components/MenuFooter/MenuFooter.md +27 -0
  128. package/cjs/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  129. package/cjs/components/MenuFooter/MenuFooter.mixins.js +26 -0
  130. package/cjs/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
  131. package/cjs/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
  132. package/cjs/components/MenuFooter/MenuFooter.styles.js +65 -0
  133. package/cjs/components/MenuFooter/MenuFooter.styles.js.map +1 -0
  134. package/cjs/components/MenuFooter/index.d.ts +1 -0
  135. package/cjs/components/MenuFooter/index.js +1 -0
  136. package/cjs/components/MenuFooter/index.js.map +1 -0
  137. package/cjs/components/MenuHeader/MenuHeader.d.ts +8 -1
  138. package/cjs/components/MenuHeader/MenuHeader.js +35 -4
  139. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  140. package/cjs/components/MenuHeader/MenuHeader.md +12 -0
  141. package/cjs/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  142. package/cjs/components/MenuHeader/MenuHeader.mixins.js +26 -0
  143. package/cjs/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
  144. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
  145. package/cjs/components/MenuHeader/MenuHeader.styles.js +54 -12
  146. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  147. package/cjs/components/MenuItem/MenuItem.d.ts +14 -5
  148. package/cjs/components/MenuItem/MenuItem.js +61 -9
  149. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  150. package/cjs/components/MenuItem/MenuItem.md +12 -0
  151. package/cjs/components/MenuItem/MenuItem.mixins.d.ts +3 -0
  152. package/cjs/components/MenuItem/MenuItem.mixins.js +42 -0
  153. package/cjs/components/MenuItem/MenuItem.mixins.js.map +1 -0
  154. package/cjs/components/MenuItem/MenuItem.styles.d.ts +9 -1
  155. package/cjs/components/MenuItem/MenuItem.styles.js +80 -27
  156. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  157. package/cjs/components/Modal/Modal.md +16 -0
  158. package/cjs/components/Modal/ModalClose.js +5 -1
  159. package/cjs/components/Modal/ModalClose.js.map +1 -1
  160. package/cjs/components/Modal/locale/index.d.ts +4 -0
  161. package/cjs/components/Modal/locale/index.js +11 -0
  162. package/cjs/components/Modal/locale/index.js.map +1 -0
  163. package/cjs/components/Modal/locale/locales/en.d.ts +2 -0
  164. package/cjs/components/Modal/locale/locales/en.js +4 -0
  165. package/cjs/components/Modal/locale/locales/en.js.map +1 -0
  166. package/cjs/components/Modal/locale/locales/ru.d.ts +2 -0
  167. package/cjs/components/Modal/locale/locales/ru.js +4 -0
  168. package/cjs/components/Modal/locale/locales/ru.js.map +1 -0
  169. package/cjs/components/Modal/locale/types.d.ts +3 -0
  170. package/cjs/components/Modal/locale/types.js +1 -0
  171. package/cjs/components/Modal/locale/types.js.map +1 -0
  172. package/cjs/components/Paging/Paging.js +1 -1
  173. package/cjs/components/Paging/Paging.js.map +1 -1
  174. package/cjs/components/Paging/Paging.styles.js +2 -1
  175. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  176. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  177. package/cjs/components/PasswordInput/PasswordInput.js +13 -4
  178. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  179. package/cjs/components/PasswordInput/PasswordInput.md +19 -0
  180. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
  181. package/cjs/components/PasswordInput/PasswordInput.styles.js +11 -1
  182. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  183. package/cjs/components/PasswordInput/locale/index.d.ts +4 -0
  184. package/cjs/components/PasswordInput/locale/index.js +11 -0
  185. package/cjs/components/PasswordInput/locale/index.js.map +1 -0
  186. package/cjs/components/PasswordInput/locale/locales/en.d.ts +2 -0
  187. package/cjs/components/PasswordInput/locale/locales/en.js +5 -0
  188. package/cjs/components/PasswordInput/locale/locales/en.js.map +1 -0
  189. package/cjs/components/PasswordInput/locale/locales/ru.d.ts +2 -0
  190. package/cjs/components/PasswordInput/locale/locales/ru.js +5 -0
  191. package/cjs/components/PasswordInput/locale/locales/ru.js.map +1 -0
  192. package/cjs/components/PasswordInput/locale/types.d.ts +4 -0
  193. package/cjs/components/PasswordInput/locale/types.js +1 -0
  194. package/cjs/components/PasswordInput/locale/types.js.map +1 -0
  195. package/cjs/components/Radio/Radio.d.ts +15 -3
  196. package/cjs/components/Radio/Radio.js +58 -6
  197. package/cjs/components/Radio/Radio.js.map +1 -1
  198. package/cjs/components/Radio/Radio.md +18 -0
  199. package/cjs/components/Radio/Radio.mixins.d.ts +5 -0
  200. package/cjs/components/Radio/Radio.mixins.js +71 -0
  201. package/cjs/components/Radio/Radio.mixins.js.map +1 -0
  202. package/cjs/components/Radio/Radio.styles.d.ts +9 -0
  203. package/cjs/components/Radio/Radio.styles.js +93 -57
  204. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  205. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  206. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  207. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  208. package/cjs/components/Select/Select.d.ts +12 -10
  209. package/cjs/components/Select/Select.js +30 -9
  210. package/cjs/components/Select/Select.js.map +1 -1
  211. package/cjs/components/Select/Select.md +17 -0
  212. package/cjs/components/Select/Select.styles.js +3 -2
  213. package/cjs/components/Select/Select.styles.js.map +1 -1
  214. package/cjs/components/Select/selectTheme.js +4 -1
  215. package/cjs/components/Select/selectTheme.js.map +1 -1
  216. package/cjs/components/SidePage/SidePage.js +5 -1
  217. package/cjs/components/SidePage/SidePage.js.map +1 -1
  218. package/cjs/components/SidePage/SidePage.md +16 -0
  219. package/cjs/components/SidePage/SidePageCloseButton.d.ts +1 -0
  220. package/cjs/components/SidePage/SidePageCloseButton.js +47 -0
  221. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -0
  222. package/cjs/components/SidePage/SidePageHeader.d.ts +0 -4
  223. package/cjs/components/SidePage/SidePageHeader.js +7 -41
  224. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  225. package/cjs/components/SidePage/locale/index.d.ts +4 -0
  226. package/cjs/components/SidePage/locale/index.js +11 -0
  227. package/cjs/components/SidePage/locale/index.js.map +1 -0
  228. package/cjs/components/SidePage/locale/locales/en.d.ts +2 -0
  229. package/cjs/components/SidePage/locale/locales/en.js +4 -0
  230. package/cjs/components/SidePage/locale/locales/en.js.map +1 -0
  231. package/cjs/components/SidePage/locale/locales/ru.d.ts +2 -0
  232. package/cjs/components/SidePage/locale/locales/ru.js +4 -0
  233. package/cjs/components/SidePage/locale/locales/ru.js.map +1 -0
  234. package/cjs/components/SidePage/locale/types.d.ts +3 -0
  235. package/cjs/components/SidePage/locale/types.js +1 -0
  236. package/cjs/components/SidePage/locale/types.js.map +1 -0
  237. package/cjs/components/Sticky/Sticky.js +10 -3
  238. package/cjs/components/Sticky/Sticky.js.map +1 -1
  239. package/cjs/components/Switcher/Switcher.d.ts +12 -7
  240. package/cjs/components/Switcher/Switcher.js +16 -5
  241. package/cjs/components/Switcher/Switcher.js.map +1 -1
  242. package/cjs/components/Tabs/Tab.d.ts +17 -36
  243. package/cjs/components/Tabs/Tab.js +24 -21
  244. package/cjs/components/Tabs/Tab.js.map +1 -1
  245. package/cjs/components/Tabs/Tab.md +71 -0
  246. package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
  247. package/cjs/components/Tabs/Tab.styles.js +106 -68
  248. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  249. package/cjs/components/Tabs/Tabs.d.ts +16 -15
  250. package/cjs/components/Tabs/Tabs.js +12 -4
  251. package/cjs/components/Tabs/Tabs.js.map +1 -1
  252. package/cjs/components/Tabs/Tabs.md +39 -22
  253. package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
  254. package/cjs/components/Tabs/Tabs.styles.js +23 -7
  255. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  256. package/cjs/components/Tabs/TabsContext.d.ts +2 -0
  257. package/cjs/components/Tabs/TabsContext.js +3 -0
  258. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  259. package/cjs/components/Tabs/helpers.d.ts +6 -0
  260. package/cjs/components/Tabs/helpers.js +31 -0
  261. package/cjs/components/Tabs/helpers.js.map +1 -0
  262. package/cjs/components/Textarea/Textarea.d.ts +12 -3
  263. package/cjs/components/Textarea/Textarea.js +48 -7
  264. package/cjs/components/Textarea/Textarea.js.map +1 -1
  265. package/cjs/components/Textarea/Textarea.md +12 -0
  266. package/cjs/components/Textarea/Textarea.mixins.d.ts +3 -0
  267. package/cjs/components/Textarea/Textarea.mixins.js +22 -0
  268. package/cjs/components/Textarea/Textarea.mixins.js.map +1 -0
  269. package/cjs/components/Textarea/Textarea.styles.d.ts +10 -1
  270. package/cjs/components/Textarea/Textarea.styles.js +64 -23
  271. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  272. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -0
  273. package/cjs/components/Textarea/TextareaCounter.js +17 -3
  274. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  275. package/cjs/components/Toast/Toast.d.ts +3 -2
  276. package/cjs/components/Toast/Toast.js +3 -1
  277. package/cjs/components/Toast/Toast.js.map +1 -1
  278. package/cjs/components/Toast/ToastView.d.ts +6 -6
  279. package/cjs/components/Toast/ToastView.js +19 -6
  280. package/cjs/components/Toast/ToastView.js.map +1 -1
  281. package/cjs/components/Toast/ToastView.styles.js +5 -2
  282. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  283. package/cjs/components/Toast/locale/index.d.ts +4 -0
  284. package/cjs/components/Toast/locale/index.js +11 -0
  285. package/cjs/components/Toast/locale/index.js.map +1 -0
  286. package/cjs/components/Toast/locale/locales/en.d.ts +2 -0
  287. package/cjs/components/Toast/locale/locales/en.js +4 -0
  288. package/cjs/components/Toast/locale/locales/en.js.map +1 -0
  289. package/cjs/components/Toast/locale/locales/ru.d.ts +2 -0
  290. package/cjs/components/Toast/locale/locales/ru.js +4 -0
  291. package/cjs/components/Toast/locale/locales/ru.js.map +1 -0
  292. package/cjs/components/Toast/locale/types.d.ts +3 -0
  293. package/cjs/components/Toast/locale/types.js +1 -0
  294. package/cjs/components/Toast/locale/types.js.map +1 -0
  295. package/cjs/components/Toggle/Toggle.d.ts +16 -6
  296. package/cjs/components/Toggle/Toggle.js +112 -3
  297. package/cjs/components/Toggle/Toggle.js.map +1 -1
  298. package/cjs/components/Toggle/Toggle.md +18 -2
  299. package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
  300. package/cjs/components/Toggle/Toggle.mixins.js +90 -0
  301. package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
  302. package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
  303. package/cjs/components/Toggle/Toggle.styles.js +172 -56
  304. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  305. package/cjs/components/Token/Token.d.ts +2 -5
  306. package/cjs/components/Token/Token.js +15 -8
  307. package/cjs/components/Token/Token.js.map +1 -1
  308. package/cjs/components/Token/locale/index.d.ts +4 -0
  309. package/cjs/components/Token/locale/index.js +11 -0
  310. package/cjs/components/Token/locale/index.js.map +1 -0
  311. package/cjs/components/Token/locale/locales/en.d.ts +2 -0
  312. package/cjs/components/Token/locale/locales/en.js +4 -0
  313. package/cjs/components/Token/locale/locales/en.js.map +1 -0
  314. package/cjs/components/Token/locale/locales/ru.d.ts +2 -0
  315. package/cjs/components/Token/locale/locales/ru.js +4 -0
  316. package/cjs/components/Token/locale/locales/ru.js.map +1 -0
  317. package/cjs/components/Token/locale/types.d.ts +3 -0
  318. package/cjs/components/Token/locale/types.js +1 -0
  319. package/cjs/components/Token/locale/types.js.map +1 -0
  320. package/cjs/components/TokenInput/TokenInput.d.ts +3 -5
  321. package/cjs/components/TokenInput/TokenInput.js +11 -8
  322. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  323. package/cjs/components/TokenInput/TokenInput.md +26 -35
  324. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  325. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  326. package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
  327. package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
  328. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  329. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  330. package/cjs/components/TooltipMenu/TooltipMenu.js +10 -2
  331. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  332. package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
  333. package/cjs/index.d.ts +1 -0
  334. package/cjs/index.js +1 -0
  335. package/cjs/index.js.map +1 -1
  336. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
  337. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +3 -0
  338. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  339. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
  340. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  341. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
  342. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +37 -2
  343. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  344. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
  345. package/cjs/internal/CustomComboBox/ComboBoxView.js +32 -34
  346. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  347. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
  348. package/cjs/internal/CustomComboBox/CustomComboBox.js +21 -12
  349. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  350. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
  351. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -0
  352. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  353. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  354. package/cjs/internal/DateSelect/DateSelect.js +31 -2
  355. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  356. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  357. package/cjs/internal/DateSelect/DateSelect.styles.js +26 -4
  358. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  359. package/cjs/internal/DateSelect/locale/index.d.ts +4 -0
  360. package/cjs/internal/DateSelect/locale/index.js +11 -0
  361. package/cjs/internal/DateSelect/locale/index.js.map +1 -0
  362. package/cjs/internal/DateSelect/locale/locales/en.d.ts +2 -0
  363. package/cjs/internal/DateSelect/locale/locales/en.js +6 -0
  364. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -0
  365. package/cjs/internal/DateSelect/locale/locales/ru.d.ts +2 -0
  366. package/cjs/internal/DateSelect/locale/locales/ru.js +6 -0
  367. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -0
  368. package/cjs/internal/DateSelect/locale/types.d.ts +5 -0
  369. package/cjs/internal/DateSelect/locale/types.js +1 -0
  370. package/cjs/internal/DateSelect/locale/types.js.map +1 -0
  371. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  372. package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
  373. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +9 -7
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  384. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  385. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  386. package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
  387. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  388. package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
  389. package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
  390. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  391. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  392. package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
  393. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  394. package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  395. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
  396. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
  397. package/cjs/internal/Menu/Menu.d.ts +42 -8
  398. package/cjs/internal/Menu/Menu.js +272 -78
  399. package/cjs/internal/Menu/Menu.js.map +1 -1
  400. package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
  401. package/cjs/internal/Menu/Menu.styles.js +42 -8
  402. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  403. package/cjs/internal/MenuMessage/MenuMessage.d.ts +2 -0
  404. package/cjs/internal/MenuMessage/MenuMessage.js +18 -3
  405. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  406. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
  407. package/cjs/internal/MenuMessage/MenuMessage.styles.js +21 -6
  408. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  409. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
  410. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  411. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  412. package/cjs/internal/Popup/Popup.d.ts +7 -2
  413. package/cjs/internal/Popup/Popup.js +13 -3
  414. package/cjs/internal/Popup/Popup.js.map +1 -1
  415. package/cjs/internal/PopupMenu/PopupMenu.d.ts +5 -2
  416. package/cjs/internal/PopupMenu/PopupMenu.js +33 -4
  417. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  418. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  419. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  420. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  421. package/cjs/internal/ThemePlayground/darkTheme.d.ts +1 -1
  422. package/cjs/internal/ThemePlayground/darkTheme.js +1 -1
  423. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  424. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  425. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  426. package/cjs/internal/themes/DarkTheme.js +11 -3
  427. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  428. package/cjs/internal/themes/DefaultTheme.d.ts +280 -19
  429. package/cjs/internal/themes/DefaultTheme.js +604 -94
  430. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  431. package/cjs/internal/themes/Theme2022.d.ts +28 -4
  432. package/cjs/internal/themes/Theme2022.js +53 -19
  433. package/cjs/internal/themes/Theme2022.js.map +1 -1
  434. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -7
  435. package/cjs/internal/themes/Theme2022Dark.js +8 -18
  436. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  437. package/cjs/lib/locale/types.d.ts +6 -0
  438. package/cjs/lib/locale/types.js +6 -0
  439. package/cjs/lib/locale/types.js.map +1 -1
  440. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +5 -1
  441. package/cjs/lib/rootNode/rootNodeDecorator.js +7 -3
  442. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  443. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  444. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +7 -2
  445. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  446. package/cjs/lib/types/props.d.ts +1 -0
  447. package/cjs/lib/types/props.js +1 -0
  448. package/cjs/lib/types/props.js.map +1 -0
  449. package/components/Autocomplete/Autocomplete/Autocomplete.js +18 -5
  450. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  451. package/components/Autocomplete/Autocomplete.d.ts +9 -3
  452. package/components/Autocomplete/Autocomplete.md +17 -0
  453. package/components/Button/Button/Button.js +17 -2
  454. package/components/Button/Button/Button.js.map +1 -1
  455. package/components/Button/Button.d.ts +9 -3
  456. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  457. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  458. package/components/Button/Button.styles/Button.styles.js +61 -58
  459. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  460. package/components/Button/Button.styles.d.ts +1 -0
  461. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  462. package/components/Button/ButtonIcon.d.ts +3 -2
  463. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +9 -4
  464. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  465. package/components/Calendar/Calendar/Calendar.js +1 -0
  466. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  467. package/components/Calendar/Calendar.d.ts +1 -0
  468. package/components/Calendar/Calendar.md +14 -3
  469. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  470. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  471. package/components/Calendar/DayCellView/DayCellView.js +7 -1
  472. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  473. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
  474. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  475. package/components/Calendar/DayCellView.styles.d.ts +1 -1
  476. package/components/Calendar/locale/locales/en/en.js +2 -1
  477. package/components/Calendar/locale/locales/en/en.js.map +1 -1
  478. package/components/Calendar/locale/locales/ru/ru.js +2 -1
  479. package/components/Calendar/locale/locales/ru/ru.js.map +1 -1
  480. package/components/Calendar/locale/types.d.ts +4 -0
  481. package/components/Checkbox/Checkbox/Checkbox.js +62 -8
  482. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  483. package/components/Checkbox/Checkbox.d.ts +15 -5
  484. package/components/Checkbox/Checkbox.md +18 -0
  485. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +16 -0
  486. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
  487. package/components/Checkbox/Checkbox.mixins/package.json +6 -0
  488. package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  489. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
  490. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  491. package/components/Checkbox/Checkbox.styles.d.ts +6 -0
  492. package/components/ComboBox/ComboBox/ComboBox.js +1 -0
  493. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  494. package/components/ComboBox/ComboBox.d.ts +6 -8
  495. package/components/ComboBox/ComboBox.md +51 -5
  496. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
  497. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  498. package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  499. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -0
  500. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  501. package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  502. package/components/DateInput/DateInput/DateInput.js +26 -9
  503. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  504. package/components/DateInput/DateInput.d.ts +5 -1
  505. package/components/DatePicker/DatePicker/DatePicker.js +7 -1
  506. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  507. package/components/DatePicker/DatePicker.d.ts +2 -1
  508. package/components/DatePicker/DatePicker.md +15 -0
  509. package/components/DatePicker/locale/locales/en/en.js +4 -2
  510. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  511. package/components/DatePicker/locale/locales/ru/ru.js +4 -2
  512. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  513. package/components/DatePicker/locale/types.d.ts +3 -1
  514. package/components/Dropdown/Dropdown/Dropdown.js +3 -1
  515. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  516. package/components/Dropdown/Dropdown.d.ts +4 -7
  517. package/components/Dropdown/Dropdown.md +33 -0
  518. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +27 -1
  519. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  520. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -0
  521. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  522. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  523. package/components/DropdownMenu/DropdownMenu.md +28 -0
  524. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
  525. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
  526. package/components/FileUploader/FileUploader/FileUploader.js +4 -0
  527. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  528. package/components/FileUploader/FileUploader.d.ts +6 -2
  529. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +1 -1
  530. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  531. package/components/FxInput/FxInput/FxInput.js +2 -1
  532. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  533. package/components/FxInput/FxInput.d.ts +4 -2
  534. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +4 -2
  535. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  536. package/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
  537. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
  538. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  539. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
  540. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  541. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  542. package/components/Hint/Hint/Hint.js +2 -1
  543. package/components/Hint/Hint/Hint.js.map +1 -1
  544. package/components/Input/Input/Input.js +10 -2
  545. package/components/Input/Input/Input.js.map +1 -1
  546. package/components/Input/Input.d.ts +7 -7
  547. package/components/Input/Input.styles/Input.styles.js +2 -2
  548. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  549. package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
  550. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  551. package/components/Input/InputLayout/InputLayout.d.ts +3 -2
  552. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  553. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  554. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +7 -5
  555. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  556. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  557. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  558. package/components/Kebab/Kebab/Kebab.js +7 -3
  559. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  560. package/components/Kebab/Kebab.d.ts +3 -2
  561. package/components/Kebab/Kebab.md +28 -0
  562. package/components/Link/Link/Link.js +12 -6
  563. package/components/Link/Link/Link.js.map +1 -1
  564. package/components/Link/Link.d.ts +2 -2
  565. package/components/Link/Link.mixins/Link.mixins.js +2 -5
  566. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  567. package/components/Link/Link.mixins.d.ts +1 -2
  568. package/components/Link/Link.styles/Link.styles.js +45 -21
  569. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  570. package/components/Link/Link.styles.d.ts +4 -0
  571. package/components/MenuFooter/MenuFooter/MenuFooter.js +74 -0
  572. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -0
  573. package/components/MenuFooter/MenuFooter/package.json +6 -0
  574. package/components/MenuFooter/MenuFooter.d.ts +30 -0
  575. package/components/MenuFooter/MenuFooter.md +27 -0
  576. package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js +13 -0
  577. package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js.map +1 -0
  578. package/components/MenuFooter/MenuFooter.mixins/package.json +6 -0
  579. package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  580. package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js +29 -0
  581. package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js.map +1 -0
  582. package/components/MenuFooter/MenuFooter.styles/package.json +6 -0
  583. package/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
  584. package/components/MenuFooter/index/index.js +1 -0
  585. package/components/MenuFooter/index/index.js.map +1 -0
  586. package/components/MenuFooter/index/package.json +6 -0
  587. package/components/MenuFooter/index.d.ts +1 -0
  588. package/components/MenuFooter/package.json +6 -0
  589. package/components/MenuHeader/MenuHeader/MenuHeader.js +37 -2
  590. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  591. package/components/MenuHeader/MenuHeader.d.ts +8 -1
  592. package/components/MenuHeader/MenuHeader.md +12 -0
  593. package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js +13 -0
  594. package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js.map +1 -0
  595. package/components/MenuHeader/MenuHeader.mixins/package.json +6 -0
  596. package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  597. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +20 -6
  598. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  599. package/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
  600. package/components/MenuItem/MenuItem/MenuItem.js +54 -8
  601. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  602. package/components/MenuItem/MenuItem.d.ts +14 -5
  603. package/components/MenuItem/MenuItem.md +12 -0
  604. package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js +24 -0
  605. package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js.map +1 -0
  606. package/components/MenuItem/MenuItem.mixins/package.json +6 -0
  607. package/components/MenuItem/MenuItem.mixins.d.ts +3 -0
  608. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +39 -23
  609. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  610. package/components/MenuItem/MenuItem.styles.d.ts +9 -1
  611. package/components/Modal/Modal.md +16 -0
  612. package/components/Modal/ModalClose/ModalClose.js +4 -0
  613. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  614. package/components/Modal/locale/index/index.js +8 -0
  615. package/components/Modal/locale/index/index.js.map +1 -0
  616. package/components/Modal/locale/index/package.json +6 -0
  617. package/components/Modal/locale/index.d.ts +4 -0
  618. package/components/Modal/locale/locales/en/en.js +3 -0
  619. package/components/Modal/locale/locales/en/en.js.map +1 -0
  620. package/components/Modal/locale/locales/en/package.json +6 -0
  621. package/components/Modal/locale/locales/en.d.ts +2 -0
  622. package/components/Modal/locale/locales/ru/package.json +6 -0
  623. package/components/Modal/locale/locales/ru/ru.js +3 -0
  624. package/components/Modal/locale/locales/ru/ru.js.map +1 -0
  625. package/components/Modal/locale/locales/ru.d.ts +2 -0
  626. package/components/Modal/locale/package.json +6 -0
  627. package/components/Modal/locale/types/package.json +6 -0
  628. package/components/Modal/locale/types/types.js +1 -0
  629. package/components/Modal/locale/types/types.js.map +1 -0
  630. package/components/Modal/locale/types.d.ts +3 -0
  631. package/components/Paging/Paging/Paging.js +1 -1
  632. package/components/Paging/Paging/Paging.js.map +1 -1
  633. package/components/Paging/Paging.styles/Paging.styles.js +1 -1
  634. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  635. package/components/PasswordInput/PasswordInput/PasswordInput.js +8 -4
  636. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  637. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  638. package/components/PasswordInput/PasswordInput.md +19 -0
  639. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +4 -1
  640. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  641. package/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
  642. package/components/PasswordInput/locale/index/index.js +8 -0
  643. package/components/PasswordInput/locale/index/index.js.map +1 -0
  644. package/components/PasswordInput/locale/index/package.json +6 -0
  645. package/components/PasswordInput/locale/index.d.ts +4 -0
  646. package/components/PasswordInput/locale/locales/en/en.js +4 -0
  647. package/components/PasswordInput/locale/locales/en/en.js.map +1 -0
  648. package/components/PasswordInput/locale/locales/en/package.json +6 -0
  649. package/components/PasswordInput/locale/locales/en.d.ts +2 -0
  650. package/components/PasswordInput/locale/locales/ru/package.json +6 -0
  651. package/components/PasswordInput/locale/locales/ru/ru.js +4 -0
  652. package/components/PasswordInput/locale/locales/ru/ru.js.map +1 -0
  653. package/components/PasswordInput/locale/locales/ru.d.ts +2 -0
  654. package/components/PasswordInput/locale/package.json +6 -0
  655. package/components/PasswordInput/locale/types/package.json +6 -0
  656. package/components/PasswordInput/locale/types/types.js +1 -0
  657. package/components/PasswordInput/locale/types/types.js.map +1 -0
  658. package/components/PasswordInput/locale/types.d.ts +4 -0
  659. package/components/Radio/Radio/Radio.js +54 -6
  660. package/components/Radio/Radio/Radio.js.map +1 -1
  661. package/components/Radio/Radio.d.ts +15 -3
  662. package/components/Radio/Radio.md +18 -0
  663. package/components/Radio/Radio.mixins/Radio.mixins.js +28 -0
  664. package/components/Radio/Radio.mixins/Radio.mixins.js.map +1 -0
  665. package/components/Radio/Radio.mixins/package.json +6 -0
  666. package/components/Radio/Radio.mixins.d.ts +5 -0
  667. package/components/Radio/Radio.styles/Radio.styles.js +44 -29
  668. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  669. package/components/Radio/Radio.styles.d.ts +9 -0
  670. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  671. package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  672. package/components/Select/Select/Select.js +34 -9
  673. package/components/Select/Select/Select.js.map +1 -1
  674. package/components/Select/Select.d.ts +12 -10
  675. package/components/Select/Select.md +17 -0
  676. package/components/Select/Select.styles/Select.styles.js +1 -1
  677. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  678. package/components/Select/selectTheme/selectTheme.js +3 -1
  679. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  680. package/components/SidePage/SidePage/SidePage.js +4 -4
  681. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  682. package/components/SidePage/SidePage.md +16 -0
  683. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +42 -0
  684. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -0
  685. package/components/SidePage/SidePageCloseButton/package.json +6 -0
  686. package/components/SidePage/SidePageCloseButton.d.ts +1 -0
  687. package/components/SidePage/SidePageHeader/SidePageHeader.js +4 -38
  688. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  689. package/components/SidePage/SidePageHeader.d.ts +0 -4
  690. package/components/SidePage/locale/index/index.js +8 -0
  691. package/components/SidePage/locale/index/index.js.map +1 -0
  692. package/components/SidePage/locale/index/package.json +6 -0
  693. package/components/SidePage/locale/index.d.ts +4 -0
  694. package/components/SidePage/locale/locales/en/en.js +3 -0
  695. package/components/SidePage/locale/locales/en/en.js.map +1 -0
  696. package/components/SidePage/locale/locales/en/package.json +6 -0
  697. package/components/SidePage/locale/locales/en.d.ts +2 -0
  698. package/components/SidePage/locale/locales/ru/package.json +6 -0
  699. package/components/SidePage/locale/locales/ru/ru.js +3 -0
  700. package/components/SidePage/locale/locales/ru/ru.js.map +1 -0
  701. package/components/SidePage/locale/locales/ru.d.ts +2 -0
  702. package/components/SidePage/locale/package.json +6 -0
  703. package/components/SidePage/locale/types/package.json +6 -0
  704. package/components/SidePage/locale/types/types.js +1 -0
  705. package/components/SidePage/locale/types/types.js.map +1 -0
  706. package/components/SidePage/locale/types.d.ts +3 -0
  707. package/components/Sticky/Sticky/Sticky.js +12 -3
  708. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  709. package/components/Switcher/Switcher/Switcher.js +9 -3
  710. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  711. package/components/Switcher/Switcher.d.ts +12 -7
  712. package/components/Tabs/Tab/Tab.js +12 -18
  713. package/components/Tabs/Tab/Tab.js.map +1 -1
  714. package/components/Tabs/Tab.d.ts +17 -36
  715. package/components/Tabs/Tab.md +71 -0
  716. package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
  717. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  718. package/components/Tabs/Tab.styles.d.ts +9 -3
  719. package/components/Tabs/Tabs/Tabs.js +12 -6
  720. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  721. package/components/Tabs/Tabs.d.ts +16 -15
  722. package/components/Tabs/Tabs.md +39 -22
  723. package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
  724. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  725. package/components/Tabs/Tabs.styles.d.ts +3 -1
  726. package/components/Tabs/TabsContext/TabsContext.js +1 -0
  727. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  728. package/components/Tabs/TabsContext.d.ts +2 -0
  729. package/components/Tabs/helpers/helpers.js +28 -0
  730. package/components/Tabs/helpers/helpers.js.map +1 -0
  731. package/components/Tabs/helpers/package.json +6 -0
  732. package/components/Tabs/helpers.d.ts +6 -0
  733. package/components/Textarea/Textarea/Textarea.js +39 -4
  734. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  735. package/components/Textarea/Textarea.d.ts +12 -3
  736. package/components/Textarea/Textarea.md +12 -0
  737. package/components/Textarea/Textarea.mixins/Textarea.mixins.js +14 -0
  738. package/components/Textarea/Textarea.mixins/Textarea.mixins.js.map +1 -0
  739. package/components/Textarea/Textarea.mixins/package.json +6 -0
  740. package/components/Textarea/Textarea.mixins.d.ts +3 -0
  741. package/components/Textarea/Textarea.styles/Textarea.styles.js +43 -15
  742. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  743. package/components/Textarea/Textarea.styles.d.ts +10 -1
  744. package/components/Textarea/TextareaCounter/TextareaCounter.js +19 -3
  745. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  746. package/components/Textarea/TextareaCounter.d.ts +2 -0
  747. package/components/Toast/Toast/Toast.js +1 -0
  748. package/components/Toast/Toast/Toast.js.map +1 -1
  749. package/components/Toast/Toast.d.ts +3 -2
  750. package/components/Toast/ToastView/ToastView.js +9 -4
  751. package/components/Toast/ToastView/ToastView.js.map +1 -1
  752. package/components/Toast/ToastView.d.ts +6 -6
  753. package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
  754. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  755. package/components/Toast/locale/index/index.js +8 -0
  756. package/components/Toast/locale/index/index.js.map +1 -0
  757. package/components/Toast/locale/index/package.json +6 -0
  758. package/components/Toast/locale/index.d.ts +4 -0
  759. package/components/Toast/locale/locales/en/en.js +3 -0
  760. package/components/Toast/locale/locales/en/en.js.map +1 -0
  761. package/components/Toast/locale/locales/en/package.json +6 -0
  762. package/components/Toast/locale/locales/en.d.ts +2 -0
  763. package/components/Toast/locale/locales/ru/package.json +6 -0
  764. package/components/Toast/locale/locales/ru/ru.js +3 -0
  765. package/components/Toast/locale/locales/ru/ru.js.map +1 -0
  766. package/components/Toast/locale/locales/ru.d.ts +2 -0
  767. package/components/Toast/locale/package.json +6 -0
  768. package/components/Toast/locale/types/package.json +6 -0
  769. package/components/Toast/locale/types/types.js +1 -0
  770. package/components/Toast/locale/types/types.js.map +1 -0
  771. package/components/Toast/locale/types.d.ts +3 -0
  772. package/components/Toggle/Toggle/Toggle.js +119 -10
  773. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  774. package/components/Toggle/Toggle.d.ts +16 -6
  775. package/components/Toggle/Toggle.md +18 -2
  776. package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
  777. package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
  778. package/components/Toggle/Toggle.mixins/package.json +6 -0
  779. package/components/Toggle/Toggle.mixins.d.ts +7 -0
  780. package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
  781. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  782. package/components/Toggle/Toggle.styles.d.ts +21 -1
  783. package/components/Token/Token/Token.js +8 -3
  784. package/components/Token/Token/Token.js.map +1 -1
  785. package/components/Token/Token.d.ts +2 -5
  786. package/components/Token/locale/index/index.js +8 -0
  787. package/components/Token/locale/index/index.js.map +1 -0
  788. package/components/Token/locale/index/package.json +6 -0
  789. package/components/Token/locale/index.d.ts +4 -0
  790. package/components/Token/locale/locales/en/en.js +3 -0
  791. package/components/Token/locale/locales/en/en.js.map +1 -0
  792. package/components/Token/locale/locales/en/package.json +6 -0
  793. package/components/Token/locale/locales/en.d.ts +2 -0
  794. package/components/Token/locale/locales/ru/package.json +6 -0
  795. package/components/Token/locale/locales/ru/ru.js +3 -0
  796. package/components/Token/locale/locales/ru/ru.js.map +1 -0
  797. package/components/Token/locale/locales/ru.d.ts +2 -0
  798. package/components/Token/locale/package.json +6 -0
  799. package/components/Token/locale/types/package.json +6 -0
  800. package/components/Token/locale/types/types.js +1 -0
  801. package/components/Token/locale/types/types.js.map +1 -0
  802. package/components/Token/locale/types.d.ts +3 -0
  803. package/components/TokenInput/TokenInput/TokenInput.js +12 -4
  804. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  805. package/components/TokenInput/TokenInput.d.ts +3 -5
  806. package/components/TokenInput/TokenInput.md +26 -35
  807. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  808. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  809. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
  810. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  811. package/components/TokenInput/TokenInputMenu.d.ts +7 -0
  812. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +8 -2
  813. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  814. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  815. package/components/TooltipMenu/TooltipMenu.md +28 -0
  816. package/index.d.ts +1 -0
  817. package/index.js +1 -0
  818. package/index.js.map +1 -1
  819. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  820. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
  821. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
  822. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
  823. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +33 -10
  824. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  825. package/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
  826. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +40 -40
  827. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  828. package/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
  829. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +19 -10
  830. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  831. package/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
  832. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -0
  833. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  834. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
  835. package/internal/DateSelect/DateSelect/DateSelect.js +32 -16
  836. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  837. package/internal/DateSelect/DateSelect.d.ts +2 -0
  838. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +6 -3
  839. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  840. package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  841. package/internal/DateSelect/locale/index/index.js +8 -0
  842. package/internal/DateSelect/locale/index/index.js.map +1 -0
  843. package/internal/DateSelect/locale/index/package.json +6 -0
  844. package/internal/DateSelect/locale/index.d.ts +4 -0
  845. package/internal/DateSelect/locale/locales/en/en.js +5 -0
  846. package/internal/DateSelect/locale/locales/en/en.js.map +1 -0
  847. package/internal/DateSelect/locale/locales/en/package.json +6 -0
  848. package/internal/DateSelect/locale/locales/en.d.ts +2 -0
  849. package/internal/DateSelect/locale/locales/ru/package.json +6 -0
  850. package/internal/DateSelect/locale/locales/ru/ru.js +5 -0
  851. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -0
  852. package/internal/DateSelect/locale/locales/ru.d.ts +2 -0
  853. package/internal/DateSelect/locale/package.json +6 -0
  854. package/internal/DateSelect/locale/types/package.json +6 -0
  855. package/internal/DateSelect/locale/types/types.js +1 -0
  856. package/internal/DateSelect/locale/types/types.js.map +1 -0
  857. package/internal/DateSelect/locale/types.d.ts +5 -0
  858. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
  859. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  860. package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  861. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +6 -5
  862. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  863. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
  864. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  865. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  866. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  867. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  868. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  869. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  870. package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
  871. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  872. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  873. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
  874. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  875. package/internal/InternalMenu/InternalMenu.d.ts +13 -4
  876. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
  877. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  878. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  879. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
  880. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
  881. package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
  882. package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  883. package/internal/Menu/Menu/Menu.js +197 -42
  884. package/internal/Menu/Menu/Menu.js.map +1 -1
  885. package/internal/Menu/Menu.d.ts +42 -8
  886. package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
  887. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  888. package/internal/Menu/Menu.styles.d.ts +6 -1
  889. package/internal/MenuMessage/MenuMessage/MenuMessage.js +19 -2
  890. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  891. package/internal/MenuMessage/MenuMessage.d.ts +2 -0
  892. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +11 -2
  893. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -1
  894. package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
  895. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
  896. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  897. package/internal/MobilePopup/MobilePopup.d.ts +2 -2
  898. package/internal/Popup/Popup/Popup.js +9 -3
  899. package/internal/Popup/Popup/Popup.js.map +1 -1
  900. package/internal/Popup/Popup.d.ts +7 -2
  901. package/internal/PopupMenu/PopupMenu/PopupMenu.js +28 -5
  902. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  903. package/internal/PopupMenu/PopupMenu.d.ts +5 -2
  904. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  905. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  906. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -1
  907. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  908. package/internal/ThemePlayground/darkTheme.d.ts +1 -1
  909. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  910. package/internal/themes/DarkTheme/DarkTheme.js +13 -0
  911. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  912. package/internal/themes/DarkTheme.d.ts +2 -0
  913. package/internal/themes/DefaultTheme/DefaultTheme.js +750 -106
  914. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  915. package/internal/themes/DefaultTheme.d.ts +280 -19
  916. package/internal/themes/Theme2022/Theme2022.js +79 -56
  917. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  918. package/internal/themes/Theme2022.d.ts +28 -4
  919. package/internal/themes/Theme2022Dark/Theme2022Dark.js +11 -26
  920. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  921. package/internal/themes/Theme2022Dark.d.ts +5 -7
  922. package/lib/locale/types/types.js.map +1 -1
  923. package/lib/locale/types.d.ts +6 -0
  924. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +4 -3
  925. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  926. package/lib/rootNode/rootNodeDecorator.d.ts +5 -1
  927. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +2 -2
  928. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -1
  929. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  930. package/lib/types/props/package.json +6 -0
  931. package/lib/types/props/props.js +1 -0
  932. package/lib/types/props/props.js.map +1 -0
  933. package/lib/types/props.d.ts +1 -0
  934. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","MenuMessage","locale","isNullable","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","AutocompleteLocaleHelper","getAutocompleteTheme","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","enterValue","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","renderHints","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","notFound","updateValue","menuWidth","menuPos","menuProps","maxHeight","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { isNullable } from '../../lib/utils';\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, DropdownContainerProps } 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';\nimport { AutocompleteLocale, AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\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 Pick<DropdownContainerProps, 'menuPos'>,\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\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'\n >\n>;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\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: 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 readonly locale!: AutocompleteLocale;\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 = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\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 renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, menuAlign, disablePortal, menuPos } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer getParent={this.getAnchor} align={menuAlign} disablePortal={disablePortal} menuPos={menuPos}>\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: this.locale.enterValue,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\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 {this.renderHints()}\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"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["React","PropTypes","MenuMessage","locale","getRandomID","isNullable","ThemeContext","isKeyArrowDown","isKeyArrowUp","isKeyEnter","isKeyEscape","Input","DropdownContainer","Menu","MenuItem","RenderLayer","createPropsGetter","fixClickFocusIE","CommonWrapper","MobilePopup","responsiveLayout","getRootNode","rootNode","getDOMRect","styles","AutocompleteLocaleHelper","getAutocompleteTheme","match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","menu","AutocompleteIds","Autocomplete","state","selected","focused","isMobileOpened","opened","input","menuId","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","ariaLabel","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","enterValue","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","renderHints","map","i","handleMenuItemClick","size","fireChange","setState","e","key","event","blur","preventDefault","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","notFound","updateValue","menuWidth","menuPos","menuProps","maxHeight","handleItemClick","index","button","choose","trim","promise","expectingId","then","Component","__KONTUR_REACT_UI__","propTypes","func","oneOfType","array"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes, KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MenuMessage } from '../../internal/MenuMessage';\nimport { locale } from '../../lib/locale/decorators';\nimport { getRandomID, isNullable } from '../../lib/utils';\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, DropdownContainerProps } 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';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Autocomplete.styles';\nimport { AutocompleteLocale, AutocompleteLocaleHelper } from './locale';\nimport { getAutocompleteTheme } from './getAutocompleteTheme';\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 Pick<DropdownContainerProps, 'menuPos'>,\n Pick<AriaAttributes, 'aria-label'>,\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?: SizeProp;\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 menu: 'Autocomplete__menu',\n} as const;\n\nexport const AutocompleteIds = {\n menu: AutocompleteDataTids.menu,\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'\n >\n>;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\n@locale('Autocomplete', AutocompleteLocaleHelper)\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: 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 readonly locale!: AutocompleteLocale;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private menuId = AutocompleteIds.menu + getRandomID();\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 = getAutocompleteTheme(theme);\n return (\n <ThemeContext.Provider value={this.theme}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\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 'aria-label': ariaLabel,\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 aria-label={ariaLabel} aria-controls={this.menuId} {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderHints(): React.ReactNode {\n const items = this.state.items;\n\n if (!this.props.value) {\n return <MenuMessage>{this.locale.enterValue}</MenuMessage>;\n }\n\n if (items?.length === 0 && this.props.value) {\n return <MenuMessage>{this.locale.notFound}</MenuMessage>;\n }\n\n if (isNullable(items) && this.props.value) {\n return <MenuMessage>{this.locale.updateValue}</MenuMessage>;\n }\n\n return null;\n }\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, menuAlign, disablePortal, menuPos } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n id={this.menuId}\n data-tid={AutocompleteDataTids.menu}\n getParent={this.getAnchor}\n align={menuAlign}\n disablePortal={disablePortal}\n menuPos={menuPos}\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: this.locale.enterValue,\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n id={this.menuId}\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\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 {this.renderHints()}\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} size={this.props.size}>\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"]}
@@ -1,10 +1,11 @@
1
- import React from 'react';
1
+ import React, { AriaAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { InputProps } from '../Input';
4
4
  import { DropdownContainerProps } from '../../internal/DropdownContainer';
5
5
  import { Nullable, Override } from '../../typings/utility-types';
6
6
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
7
- export interface AutocompleteProps extends CommonProps, Pick<DropdownContainerProps, 'menuPos'>, Override<InputProps, {
7
+ import { SizeProp } from '../../lib/types/props';
8
+ export interface AutocompleteProps extends CommonProps, Pick<DropdownContainerProps, 'menuPos'>, Pick<AriaAttributes, 'aria-label'>, Override<InputProps, {
8
9
  /** Функция отрисовки элемента меню */
9
10
  renderItem?: (item: string) => React.ReactNode;
10
11
  /** Промис, резолвящий элементы меню */
@@ -26,7 +27,7 @@ export interface AutocompleteProps extends CommonProps, Pick<DropdownContainerPr
26
27
  /** onBlur */
27
28
  onBlur?: () => void;
28
29
  /** Размер инпута */
29
- size?: InputProps['size'];
30
+ size?: SizeProp;
30
31
  /** value */
31
32
  value: string;
32
33
  /**
@@ -43,6 +44,10 @@ export interface AutocompleteState {
43
44
  }
44
45
  export declare const AutocompleteDataTids: {
45
46
  readonly root: "Autocomplete__root";
47
+ readonly menu: "Autocomplete__menu";
48
+ };
49
+ export declare const AutocompleteIds: {
50
+ readonly menu: "Autocomplete__menu";
46
51
  };
47
52
  declare type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'>>;
48
53
  /**
@@ -81,6 +86,7 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
81
86
  private opened;
82
87
  private input;
83
88
  private menu;
89
+ private menuId;
84
90
  private rootSpan;
85
91
  private mobilePopup;
86
92
  private requestId;
@@ -19,3 +19,20 @@ const [value, setValue] = React.useState('Kappa');
19
19
  <Button onClick={() => setValue('')}>Очистить</Button>
20
20
  </Group>
21
21
  ```
22
+
23
+ У Autocomplete есть 3 стандартных размера.
24
+ ```jsx harmony
25
+ import { Gapped } from '@skbkontur/react-ui';
26
+
27
+ const items = ['Маленький', 'Средний', 'Большой'];
28
+
29
+ const [valueSmall, setValueSmall] = React.useState('Маленький');
30
+ const [valueMedium, setValueMedium] = React.useState('Средний');
31
+ const [valueLarge, setValueLarge] = React.useState('Большой');
32
+
33
+ <Gapped vertical>
34
+ <Autocomplete source={items} value={valueSmall} onValueChange={setValueSmall} size={'small'} />
35
+ <Autocomplete source={items} value={valueMedium} onValueChange={setValueMedium} size={'medium'} />
36
+ <Autocomplete source={items} value={valueLarge} onValueChange={setValueLarge} size={'large'} />
37
+ </Gapped>
38
+ ```
@@ -21,8 +21,13 @@ import { styles, activeStyles, globalClasses } from "../Button.styles";
21
21
  import { ButtonIcon, getButtonIconSizes } from "../ButtonIcon";
22
22
  import { useButtonArrow } from "../ButtonArrow";
23
23
  import { getInnerLinkTheme } from "../getInnerLinkTheme";
24
+ /**
25
+ * @deprecated use SizeProp
26
+ */
27
+
24
28
  export var ButtonDataTids = {
25
- root: 'Button__root'
29
+ root: 'Button__root',
30
+ spinner: 'Button__spinner'
26
31
  };
27
32
  export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
28
33
  _inheritsLoose(Button, _React$Component);
@@ -143,8 +148,11 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
143
148
  onMouseEnter = _this$props.onMouseEnter,
144
149
  onMouseLeave = _this$props.onMouseLeave,
145
150
  onMouseOver = _this$props.onMouseOver,
151
+ onMouseDown = _this$props.onMouseDown,
152
+ onMouseUp = _this$props.onMouseUp,
146
153
  onKeyDown = _this$props.onKeyDown,
147
154
  onClick = _this$props.onClick,
155
+ onClickCapture = _this$props.onClickCapture,
148
156
  width = _this$props.width,
149
157
  children = _this$props.children,
150
158
  ariaDescribedby = _this$props['aria-describedby'],
@@ -152,6 +160,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
152
160
  ariaControls = _this$props['aria-controls'],
153
161
  ariaLabel = _this$props['aria-label'],
154
162
  ariaChecked = _this$props['aria-checked'],
163
+ ariaExpanded = _this$props['aria-expanded'],
155
164
  role = _this$props.role;
156
165
 
157
166
  var _this$getProps = this.getProps(),
@@ -173,11 +182,12 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
173
182
  rootClassNameWithArrow = _useButtonArrow[1],
174
183
  arrowNode = _useButtonArrow[2];
175
184
 
185
+ var isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);
176
186
  var rootClassName = '';
177
187
 
178
188
  if (_isTheme2022) {
179
189
  var trueDisabled = disabled || loading;
180
- rootClassName = cx.apply(void 0, [styles.root(this.theme), styles[use](this.theme), sizeClass, narrow && styles.narrow(), _noPadding && styles.noPadding(), _noRightPadding && styles.noRightPadding(), rootClassNameWithArrow].concat(trueDisabled ? [styles.disabled(this.theme), checked && styles.checkedDisabled(this.theme), checked && styles.checkedDisabled2022(this.theme), borderless && styles.borderless2022()] : [active && !checked && activeStyles[use](this.theme), isFocused && styles.focus(this.theme), checked && styles.checked2022(this.theme), checked && isFocused && styles.checkedFocused(this.theme), borderless && !checked && !isFocused && styles.borderless2022()]));
190
+ rootClassName = cx.apply(void 0, [styles.root(this.theme), styles[use](this.theme), sizeClass, narrow && styles.narrow(), _noPadding && styles.noPadding(), _noRightPadding && styles.noRightPadding(), rootClassNameWithArrow].concat(trueDisabled ? [styles.disabled(this.theme), isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme), checked && styles.checkedDisabled(this.theme), checked && styles.checkedDisabled2022(this.theme), borderless && styles.borderless2022()] : [active && !checked && activeStyles[use](this.theme), isFocused && styles.focus(this.theme), checked && styles.checked2022(this.theme), checked && isFocused && styles.checkedFocused(this.theme), borderless && !checked && !isFocused && styles.borderless2022()]));
181
191
  } else {
182
192
  var _cx;
183
193
 
@@ -195,6 +205,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
195
205
  'aria-controls': ariaControls,
196
206
  'aria-label': ariaLabel,
197
207
  'aria-checked': ariaChecked,
208
+ 'aria-expanded': ariaExpanded,
198
209
  className: rootClassName,
199
210
  style: _extends({
200
211
  textAlign: align
@@ -207,6 +218,9 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
207
218
  onMouseEnter: onMouseEnter,
208
219
  onMouseLeave: onMouseLeave,
209
220
  onMouseOver: onMouseOver,
221
+ onMouseDown: onMouseDown,
222
+ onMouseUp: onMouseUp,
223
+ onClickCapture: onClickCapture,
210
224
  tabIndex: disableFocus ? -1 : 0,
211
225
  title: this.props.title
212
226
  };
@@ -252,6 +266,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
252
266
  type: "mini"
253
267
  });
254
268
  loadingNode = /*#__PURE__*/React.createElement("div", {
269
+ "data-tid": ButtonDataTids.spinner,
255
270
  className: styles.loading()
256
271
  }, loadingIcon);
257
272
  } // Force disable all props and features, that cannot be use with Link
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["React","isKonturIcon","isReactUIComponent","isIE11","isEdge","isSafari","keyListener","ThemeContext","CommonWrapper","cx","rootNode","ThemeFactory","createPropsGetter","isTheme2022","Link","Spinner","LoadingIcon","styles","activeStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","ButtonDataTids","root","Button","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","ariaDescribedby","ariaHasPopup","ariaControls","ariaLabel","ariaChecked","role","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","rootClassName","trueDisabled","noPadding","noRightPadding","checkedDisabled","checkedDisabled2022","borderless2022","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","renderIcon2022","setRootNode","sizes","cloneElement","sizeLarge","sizeLargeIE11","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\n\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Link } from '../Link';\nimport { Spinner } from '../Spinner';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked'>,\n Pick<HTMLAttributes<unknown>, 'role'> {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n role,\n } = this.props;\n const { use, type, size } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const _isTheme2022 = isTheme2022(this.theme);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [wrapClassNameWithArrow, rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n\n let rootClassName = '';\n if (_isTheme2022) {\n const trueDisabled = disabled || loading;\n rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked2022(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless2022(),\n ]),\n );\n } else {\n rootClassName = cx({\n [styles.root(this.theme)]: true,\n [styles.simulatedPress()]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n });\n }\n\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n role,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [wrapClassNameWithArrow]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = _isTheme2022 ? null : <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n const isDisabled2022 = _isTheme2022 && (disabled || loading);\n if ((!isFocused || isLink) && !isDisabled2022) {\n outlineNode = (\n <div\n style={{ zIndex: _isTheme2022 && isLink ? -1 : undefined }}\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconNode = icon && (\n <ButtonIcon\n icon={icon}\n size={size}\n hasChildren={Boolean(children)}\n disabled={disabled || false}\n loading={loading || false}\n use={use}\n />\n );\n let loadingNode = null;\n if (loading && !icon) {\n const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = <div className={styles.loading()}>{loadingIcon}</div>;\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n }\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: (active || checked) && !loading && !_isTheme2022,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {iconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: !!loadingNode,\n })}\n >\n {children}\n </span>\n </div>\n );\n if (_isTheme2022 && isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link focused={isFocused} disabled={disabled} icon={this.renderIcon2022(icon)} as=\"span\" tabIndex={-1}>\n {children}\n </Link>\n </ThemeContext.Provider>\n );\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const _isTheme2022 = isTheme2022(this.theme);\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["React","isKonturIcon","isReactUIComponent","isIE11","isEdge","isSafari","keyListener","ThemeContext","CommonWrapper","cx","rootNode","ThemeFactory","createPropsGetter","isTheme2022","Link","Spinner","LoadingIcon","styles","activeStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","ButtonDataTids","root","spinner","Button","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onMouseDown","onMouseUp","onKeyDown","onClick","onClickCapture","width","children","ariaDescribedby","ariaHasPopup","ariaControls","ariaLabel","ariaChecked","ariaExpanded","role","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","rootClassName","trueDisabled","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","checkedDisabled2022","borderless2022","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","renderIcon2022","setRootNode","sizes","cloneElement","sizeLarge","sizeLargeIE11","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\n\nimport { HTMLProps } from '../../typings/html';\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Link } from '../Link';\nimport { Spinner } from '../Spinner';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\n/**\n * @deprecated use SizeProp\n */\nexport type ButtonSize = SizeProp;\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps\n extends CommonProps,\n Pick<\n AriaAttributes,\n 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked' | 'aria-expanded'\n >,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<HTMLProps['button'], 'onClickCapture' | 'onMouseUp' | 'onMouseDown'> {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n spinner: 'Button__spinner',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onMouseDown,\n onMouseUp,\n onKeyDown,\n onClick,\n onClickCapture,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\n role,\n } = this.props;\n const { use, type, size } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const _isTheme2022 = isTheme2022(this.theme);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [wrapClassNameWithArrow, rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\n let rootClassName = '';\n if (_isTheme2022) {\n const trueDisabled = disabled || loading;\n rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked2022(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && styles.borderless2022(),\n ]),\n );\n } else {\n rootClassName = cx({\n [styles.root(this.theme)]: true,\n [styles.simulatedPress()]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n });\n }\n\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n role,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onMouseDown,\n onMouseUp,\n onClickCapture,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [wrapClassNameWithArrow]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = _isTheme2022 ? null : <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n const isDisabled2022 = _isTheme2022 && (disabled || loading);\n if ((!isFocused || isLink) && !isDisabled2022) {\n outlineNode = (\n <div\n style={{ zIndex: _isTheme2022 && isLink ? -1 : undefined }}\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconNode = icon && (\n <ButtonIcon\n icon={icon}\n size={size}\n hasChildren={Boolean(children)}\n disabled={disabled || false}\n loading={loading || false}\n use={use}\n />\n );\n let loadingNode = null;\n if (loading && !icon) {\n const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = (\n <div data-tid={ButtonDataTids.spinner} className={styles.loading()}>\n {loadingIcon}\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n }\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: (active || checked) && !loading && !_isTheme2022,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {iconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: !!loadingNode,\n })}\n >\n {children}\n </span>\n </div>\n );\n if (_isTheme2022 && isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link focused={isFocused} disabled={disabled} icon={this.renderIcon2022(icon)} as=\"span\" tabIndex={-1}>\n {children}\n </Link>\n </ThemeContext.Provider>\n );\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\n }\n\n private getSizeClassName() {\n const _isTheme2022 = isTheme2022(this.theme);\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
@@ -1,10 +1,15 @@
1
1
  import React, { AriaAttributes, HTMLAttributes } from 'react';
2
+ import { HTMLProps } from '../../typings/html';
2
3
  import { ThemeIn } from '../../lib/theming/Theme';
3
4
  import { CommonProps } from '../../internal/CommonWrapper';
4
- export declare type ButtonSize = 'small' | 'medium' | 'large';
5
+ import { SizeProp } from '../../lib/types/props';
6
+ /**
7
+ * @deprecated use SizeProp
8
+ */
9
+ export declare type ButtonSize = SizeProp;
5
10
  export declare type ButtonType = 'button' | 'submit' | 'reset';
6
11
  export declare type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';
7
- export interface ButtonProps extends CommonProps, Pick<AriaAttributes, 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked'>, Pick<HTMLAttributes<unknown>, 'role'> {
12
+ export interface ButtonProps extends CommonProps, Pick<AriaAttributes, 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked' | 'aria-expanded'>, Pick<HTMLAttributes<unknown>, 'role'>, Pick<HTMLProps['button'], 'onClickCapture' | 'onMouseUp' | 'onMouseDown'> {
8
13
  /** @ignore */
9
14
  _noPadding?: boolean;
10
15
  /** @ignore */
@@ -91,7 +96,7 @@ export interface ButtonProps extends CommonProps, Pick<AriaAttributes, 'aria-has
91
96
  *
92
97
  * **Допустимые значения**: `"small"`, `"medium"`, `"large"`.
93
98
  */
94
- size?: ButtonSize;
99
+ size?: SizeProp;
95
100
  /**
96
101
  * HTML-атрибут `type`.
97
102
  */
@@ -127,6 +132,7 @@ export interface ButtonState {
127
132
  }
128
133
  export declare const ButtonDataTids: {
129
134
  readonly root: "Button__root";
135
+ readonly spinner: "Button__spinner";
130
136
  };
131
137
  declare type DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;
132
138
  export declare class Button extends React.Component<ButtonProps, ButtonState> {
@@ -38,7 +38,7 @@ var getBtnPadding = function getBtnPadding(fontSize, paddingY, paddingX, fontFam
38
38
 
39
39
  export var buttonUseMixin = function buttonUseMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd, color, borderColor, borderBottomColor, borderWidth) {
40
40
  var hasGradient = btnBackgroundStart !== btnBackgroundEnd;
41
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n background-image: ", ";\n color: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 0 ", ";\n }\n\n :hover,\n :enabled {\n .", " svg,\n .", " svg {\n color: ", ";\n }\n }\n "])), hasGradient ? "initial" : btnBackground, hasGradient ? "linear-gradient(" + btnBackgroundStart + ", " + btnBackgroundEnd + ")" : "none", color, borderWidth, borderColor, borderBottomColor ? ", 0 " + borderWidth + " 0 0 " + borderBottomColor : "", globalClasses.arrowHelper, borderWidth, borderColor, globalClasses.icon, globalClasses.arrow, color);
41
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n background-image: ", ";\n color: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 0 ", ";\n }\n\n :enabled:hover,\n :enabled {\n .", " svg,\n .", " svg {\n color: ", ";\n }\n }\n "])), hasGradient ? "initial" : btnBackground, hasGradient ? "linear-gradient(" + btnBackgroundStart + ", " + btnBackgroundEnd + ")" : "none", color, borderWidth, borderColor, borderBottomColor ? ", 0 " + borderWidth + " 0 0 " + borderBottomColor : "", globalClasses.arrowHelper, borderWidth, borderColor, globalClasses.icon, globalClasses.arrow, color);
42
42
  };
43
43
  export var buttonHoverMixin = function buttonHoverMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd, borderColor, borderBottomColor, borderWidth) {
44
44
  var hasGradient = btnBackgroundStart !== btnBackgroundEnd;
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.mixins.ts"],"names":["css","shift","globalClasses","getBtnPadding","fontSize","paddingY","paddingX","fontFamilyCompensation","additionalOffset","paddingTop","paddingBottom","offset","parseInt","shiftUp","top","bottom","buttonUseMixin","btnBackground","btnBackgroundStart","btnBackgroundEnd","color","borderColor","borderBottomColor","borderWidth","hasGradient","arrowHelper","icon","arrow","buttonHoverMixin","buttonActiveMixin","btnShadow","borderTopColor","arrowBgImage","innerShadow","arrowHelperTop","buttonSizeMixin","lineHeight","buttonSizeMixinIE11","arrowOutlineMixin","insetWidth","outlineColor","outlineWidth","insetColor","arrowHelperBottom"],"mappings":"8MAAA,SAASA,GAAT,QAAoB,2BAApB;AACA,SAASC,KAAT,QAAsB,qCAAtB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB;AACpBC,QADoB;AAEpBC,QAFoB;AAGpBC,QAHoB;AAIpBC,sBAJoB;AAKpBC,gBALoB;AAMT,KADXA,gBACW,cADXA,gBACW,GADQ,CACR;AACX,MAAIC,UAAU,GAAGJ,QAAjB;AACA,MAAIK,aAAa,GAAGL,QAApB;AACA,MAAMM,MAAM,GAAGC,QAAQ,CAACL,sBAAD,CAAR,IAAoC,CAAnD;;AAEA,MAAMM,OAAO,GAAG,SAAVA,OAAU,CAACC,GAAD,EAAcC,MAAd,EAA8BJ,MAA9B,EAAiD;AAC/D,WAAO,CAACV,KAAK,CAACa,GAAD,OAAS,CAACH,MAAV,CAAN,EAA2BV,KAAK,CAACc,MAAD,OAAYJ,MAAZ,CAAhC,CAAP;AACD,GAFD;;AAIA,MAAIP,QAAQ,KAAK,MAAb,IAAuBO,MAA3B,EAAmC;AACHE,IAAAA,OAAO,CAACJ,UAAD,EAAaC,aAAb,EAA4BC,MAA5B,CADJ,CAChCF,UADgC,eACpBC,aADoB;AAElC;AACD,MAAIF,gBAAgB,IAAIG,MAAxB,EAAgC;AACAE,IAAAA,OAAO,CAACJ,UAAD,EAAaC,aAAb,EAA4BF,gBAA5B,CADP,CAC7BC,UAD6B,gBACjBC,aADiB;AAE/B;;AAED,SAAUD,UAAV,SAAwBH,QAAxB,SAAoCI,aAApC;AACD,CAvBD;;AAyBA,OAAO,IAAMM,cAAc,GAAG,SAAjBA,cAAiB;AAC5BC,aAD4B;AAE5BC,kBAF4B;AAG5BC,gBAH4B;AAI5BC,KAJ4B;AAK5BC,WAL4B;AAM5BC,iBAN4B;AAO5BC,WAP4B;AAQzB;AACH,MAAMC,WAAW,GAAGN,kBAAkB,KAAKC,gBAA3C;AACA,SAAOnB,GAAP;AACsBwB,EAAAA,WAAW,eAAeP,aADhD;AAEsBO,EAAAA,WAAW,wBAAsBN,kBAAtB,UAA6CC,gBAA7C,eAFjC;AAGWC,EAAAA,KAHX;AAIsBG,EAAAA,WAJtB,EAIqCF,WAJrC,EAImDC,iBAAiB,YAAUC,WAAV,aAA6BD,iBAA7B,KAJpE;;AAMKpB,EAAAA,aAAa,CAACuB,WANnB;AAOkBF,EAAAA,WAPlB,EAOuCF,WAPvC;;;;;AAYOnB,EAAAA,aAAa,CAACwB,IAZrB;AAaOxB,EAAAA,aAAa,CAACyB,KAbrB;AAceP,EAAAA,KAdf;;;;AAkBD,CA5BM;;AA8BP,OAAO,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB;AAC9BX,aAD8B;AAE9BC,kBAF8B;AAG9BC,gBAH8B;AAI9BE,WAJ8B;AAK9BC,iBAL8B;AAM9BC,WAN8B;AAO3B;AACH,MAAMC,WAAW,GAAGN,kBAAkB,KAAKC,gBAA3C;AACA,SAAOnB,GAAP;AACsBwB,EAAAA,WAAW,eAAeP,aADhD;AAEsBO,EAAAA,WAAW,wBAAsBN,kBAAtB,UAA6CC,gBAA7C,eAFjC;AAGsBI,EAAAA,WAHtB,EAGqCF,WAHrC,EAGmDC,iBAAiB,YAAUC,WAAV,aAA6BD,iBAA7B,KAHpE;;AAKKpB,EAAAA,aAAa,CAACuB,WALnB;AAMkBF,EAAAA,WANlB,EAMqCF,WANrC;;;AASD,CAlBM;;AAoBP,OAAO,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAoB;AAC/BZ,aAD+B;AAE/Ba,SAF+B;AAG/BT,WAH+B;AAI/BU,cAJ+B;AAK/BR,WAL+B;AAM/BS,YAN+B;AAO5B;AACH,SAAOhC,GAAP;;;;AAIwBiB,EAAAA,aAJxB;AAKwBM,EAAAA,WALxB,EAKuCF,WALvC,EAKqDU,cAAc,aAAWR,WAAX,aAA8BQ,cAA9B,KALnE;;AAOO7B,EAAAA,aAAa,CAAC+B,WAPrB;AAQoBH,EAAAA,SARpB;;;AAWO5B,EAAAA,aAAa,CAACuB,WAXrB;AAYoBF,EAAAA,WAZpB,EAYuCF,WAZvC;;AAcUnB,EAAAA,aAAa,CAACgC,cAdxB;AAe4BF,EAAAA,YAf5B;;;;;AAoBD,CA5BM;;AA8BP,OAAO,IAAMG,eAAe,GAAG,SAAlBA,eAAkB;AAC7B/B,QAD6B;AAE7BgC,UAF6B;AAG7B9B,QAH6B;AAI7BD,QAJ6B;AAK7BE,sBAL6B;AAM1B;AACH,SAAOP,GAAP;AACeI,EAAAA,QADf;;AAGaD,EAAAA,aAAa,CAACC,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,sBAA/B,CAH1B;AAIiB6B,EAAAA,UAJjB;;AAMD,CAbM;;AAeP,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCjC,QADiC;AAEjCE,QAFiC;AAGjCD,QAHiC;AAIjCE,sBAJiC;AAK9B;AACH,SAAOP,GAAP;AACaG,EAAAA,aAAa,CAACC,QAAD,EAAWC,QAAX,EAAqBC,QAArB,EAA+BC,sBAA/B,EAAuD,CAAvD,CAD1B;;;AAID,CAVM;;AAYP,OAAO,IAAM+B,iBAAiB,GAAG,SAApBA,iBAAoB;AAC/BC,UAD+B;AAE/BC,YAF+B;AAG/BC,YAH+B;AAI/BC,UAJ+B;AAK5B;AACH,SAAO1C,GAAP;AACKE,EAAAA,aAAa,CAACuB,WADnB;AAEQvB,EAAAA,aAAa,CAACgC,cAFtB;AAG2BK,EAAAA,UAH3B,EAGyCA,UAHzC,EAG2DG,UAH3D,EAG0ED,YAH1E,EAGgGD,YAHhG;;;AAMQtC,EAAAA,aAAa,CAACyC,iBANtB;AAO2BJ,EAAAA,UAP3B,EAO0CA,UAP1C,EAO4DG,UAP5D,EAO2ED,YAP3E,EAOiGD,YAPjG;;;;;;AAaaD,EAAAA,UAbb;AAceA,EAAAA,UAdf;AAecA,EAAAA,UAfd;;AAiBQrC,EAAAA,aAAa,CAACyC,iBAjBtB;AAkBgBJ,EAAAA,UAlBhB;;;;AAsBD,CA5BM","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { shift } from '../../lib/styles/DimensionFunctions';\n\nimport { globalClasses } from './Button.styles';\n\nconst getBtnPadding = (\n fontSize: string,\n paddingY: string,\n paddingX: string,\n fontFamilyCompensation: string,\n additionalOffset = 0,\n): string => {\n let paddingTop = paddingY;\n let paddingBottom = paddingY;\n const offset = parseInt(fontFamilyCompensation) || 0;\n\n const shiftUp = (top: string, bottom: string, offset: number) => {\n return [shift(top, `${-offset}`), shift(bottom, `${offset}`)];\n };\n\n if (fontSize === '16px' && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, offset);\n }\n if (additionalOffset && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, additionalOffset);\n }\n\n return `${paddingTop} ${paddingX} ${paddingBottom}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 0 ${borderColor};\n }\n\n :hover,\n :enabled {\n .${globalClasses.icon} svg,\n .${globalClasses.arrow} svg {\n color: ${color};\n }\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n }\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderTopColor: string,\n borderWidth: string,\n arrowBgImage: string,\n) => {\n return css`\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderTopColor ? `, 0 -${borderWidth} 0 0 ${borderTopColor}` : ``} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${arrowBgImage};\n }\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation)};\n line-height: ${lineHeight};\n `;\n};\n\nexport const buttonSizeMixinIE11 = (\n fontSize: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, 1)};\n line-height: normal;\n `;\n};\n\nexport const arrowOutlineMixin = (\n insetWidth: string,\n outlineColor: string,\n outlineWidth: string,\n insetColor: string,\n) => {\n return css`\n .${globalClasses.arrowHelper} {\n &.${globalClasses.arrowHelperTop} {\n box-shadow: inset -${insetWidth} ${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n &.${globalClasses.arrowHelperBottom} {\n box-shadow: inset -${insetWidth} -${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n // don't hide inner outline\n // and keep the middle-line fix\n &:before {\n top: ${insetWidth};\n right: ${insetWidth};\n left: ${insetWidth};\n }\n &.${globalClasses.arrowHelperBottom}:before {\n bottom: ${insetWidth};\n }\n }\n `;\n};\n"]}
1
+ {"version":3,"sources":["Button.mixins.ts"],"names":["css","shift","globalClasses","getBtnPadding","fontSize","paddingY","paddingX","fontFamilyCompensation","additionalOffset","paddingTop","paddingBottom","offset","parseInt","shiftUp","top","bottom","buttonUseMixin","btnBackground","btnBackgroundStart","btnBackgroundEnd","color","borderColor","borderBottomColor","borderWidth","hasGradient","arrowHelper","icon","arrow","buttonHoverMixin","buttonActiveMixin","btnShadow","borderTopColor","arrowBgImage","innerShadow","arrowHelperTop","buttonSizeMixin","lineHeight","buttonSizeMixinIE11","arrowOutlineMixin","insetWidth","outlineColor","outlineWidth","insetColor","arrowHelperBottom"],"mappings":"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","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { shift } from '../../lib/styles/DimensionFunctions';\n\nimport { globalClasses } from './Button.styles';\n\nconst getBtnPadding = (\n fontSize: string,\n paddingY: string,\n paddingX: string,\n fontFamilyCompensation: string,\n additionalOffset = 0,\n): string => {\n let paddingTop = paddingY;\n let paddingBottom = paddingY;\n const offset = parseInt(fontFamilyCompensation) || 0;\n\n const shiftUp = (top: string, bottom: string, offset: number) => {\n return [shift(top, `${-offset}`), shift(bottom, `${offset}`)];\n };\n\n if (fontSize === '16px' && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, offset);\n }\n if (additionalOffset && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, additionalOffset);\n }\n\n return `${paddingTop} ${paddingX} ${paddingBottom}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 0 ${borderColor};\n }\n\n :enabled:hover,\n :enabled {\n .${globalClasses.icon} svg,\n .${globalClasses.arrow} svg {\n color: ${color};\n }\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n }\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderTopColor: string,\n borderWidth: string,\n arrowBgImage: string,\n) => {\n return css`\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderTopColor ? `, 0 -${borderWidth} 0 0 ${borderTopColor}` : ``} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${arrowBgImage};\n }\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation)};\n line-height: ${lineHeight};\n `;\n};\n\nexport const buttonSizeMixinIE11 = (\n fontSize: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, 1)};\n line-height: normal;\n `;\n};\n\nexport const arrowOutlineMixin = (\n insetWidth: string,\n outlineColor: string,\n outlineWidth: string,\n insetColor: string,\n) => {\n return css`\n .${globalClasses.arrowHelper} {\n &.${globalClasses.arrowHelperTop} {\n box-shadow: inset -${insetWidth} ${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n &.${globalClasses.arrowHelperBottom} {\n box-shadow: inset -${insetWidth} -${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n // don't hide inner outline\n // and keep the middle-line fix\n &:before {\n top: ${insetWidth};\n right: ${insetWidth};\n left: ${insetWidth};\n }\n &.${globalClasses.arrowHelperBottom}:before {\n bottom: ${insetWidth};\n }\n }\n `;\n};\n"]}