@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,7 +1,33 @@
1
1
  import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
2
+ import { isTheme2022 } from "../../../lib/theming/ThemeHelpers";
2
3
  export var getDropdownTheme = function getDropdownTheme(theme) {
3
4
  return ThemeFactory.create({
4
5
  selectDefaultBg: theme.btnDefaultBg,
5
- selectMenuOffsetY: theme.dropdownMenuOffsetY
6
+ selectMenuOffsetY: theme.dropdownMenuOffsetY,
7
+ selectBorderColorHover: theme.dropdownMenuHoverBorderColor,
8
+ selectBorderColorTransition: theme.dropdownMenuBorderColorTransition,
9
+ selectBorderWidth: theme.btnBorderWidth,
10
+ selectOutlineWidth: theme.btnOutlineWidth,
11
+ selectLineHeightSmall: theme.btnLineHeightSmall,
12
+ selectFontSizeSmall: theme.btnFontSizeSmall,
13
+ selectPaddingXSmall: isTheme2022(theme) ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,
14
+ selectPaddingYSmall: theme.btnPaddingYSmall,
15
+ selectIconSizeSmall: theme.btnIconSizeSmall,
16
+ selectBorderRadiusSmall: theme.dropdownButtonBorderRadiusSmall,
17
+ selectLineHeightMedium: theme.btnLineHeightMedium,
18
+ selectFontSizeMedium: theme.btnFontSizeMedium,
19
+ selectPaddingXMedium: isTheme2022(theme) ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,
20
+ selectPaddingYMedium: theme.btnPaddingYMedium,
21
+ selectIconSizeMedium: theme.btnIconSizeMedium,
22
+ selectBorderRadiusMedium: theme.dropdownButtonBorderRadiusMedium,
23
+ selectLineHeightLarge: theme.btnLineHeightLarge,
24
+ selectFontSizeLarge: theme.btnFontSizeLarge,
25
+ selectPaddingXLarge: isTheme2022(theme) ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,
26
+ selectPaddingYLarge: theme.btnPaddingYLarge,
27
+ selectIconSizeLarge: theme.btnIconSizeLarge,
28
+ selectBorderRadiusLarge: theme.dropdownButtonBorderRadiusLarge,
29
+ selectBgDisabled: theme.btnDisabledBg,
30
+ selectBorderColorDisabled: theme.btnDisabledBorderColor,
31
+ selectTextColorDisabled: theme.btnDisabledTextColor
6
32
  }, theme);
7
33
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getDropdownTheme.ts"],"names":["ThemeFactory","getDropdownTheme","theme","create","selectDefaultBg","btnDefaultBg","selectMenuOffsetY","dropdownMenuOffsetY"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;;AAGA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAyB;AACvD,SAAOF,YAAY,CAACG,MAAb;AACL;AACEC,IAAAA,eAAe,EAAEF,KAAK,CAACG,YADzB;AAEEC,IAAAA,iBAAiB,EAAEJ,KAAK,CAACK,mBAF3B,EADK;;AAKLL,EAAAA,KALK,CAAP;;AAOD,CARM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const getDropdownTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n selectDefaultBg: theme.btnDefaultBg,\n selectMenuOffsetY: theme.dropdownMenuOffsetY,\n },\n theme,\n );\n};\n"]}
1
+ {"version":3,"sources":["getDropdownTheme.ts"],"names":["ThemeFactory","isTheme2022","getDropdownTheme","theme","create","selectDefaultBg","btnDefaultBg","selectMenuOffsetY","dropdownMenuOffsetY","selectBorderColorHover","dropdownMenuHoverBorderColor","selectBorderColorTransition","dropdownMenuBorderColorTransition","selectBorderWidth","btnBorderWidth","selectOutlineWidth","btnOutlineWidth","selectLineHeightSmall","btnLineHeightSmall","selectFontSizeSmall","btnFontSizeSmall","selectPaddingXSmall","btnPaddingXSmall","selectPaddingYSmall","btnPaddingYSmall","selectIconSizeSmall","btnIconSizeSmall","selectBorderRadiusSmall","dropdownButtonBorderRadiusSmall","selectLineHeightMedium","btnLineHeightMedium","selectFontSizeMedium","btnFontSizeMedium","selectPaddingXMedium","btnPaddingXMedium","selectPaddingYMedium","btnPaddingYMedium","selectIconSizeMedium","btnIconSizeMedium","selectBorderRadiusMedium","dropdownButtonBorderRadiusMedium","selectLineHeightLarge","btnLineHeightLarge","selectFontSizeLarge","btnFontSizeLarge","selectPaddingXLarge","btnPaddingXLarge","selectPaddingYLarge","btnPaddingYLarge","selectIconSizeLarge","btnIconSizeLarge","selectBorderRadiusLarge","dropdownButtonBorderRadiusLarge","selectBgDisabled","btnDisabledBg","selectBorderColorDisabled","btnDisabledBorderColor","selectTextColorDisabled","btnDisabledTextColor"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,WAAT,QAA4B,gCAA5B;;AAEA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAyB;AACvD,SAAOH,YAAY,CAACI,MAAb;AACL;AACEC,IAAAA,eAAe,EAAEF,KAAK,CAACG,YADzB;AAEEC,IAAAA,iBAAiB,EAAEJ,KAAK,CAACK,mBAF3B;AAGEC,IAAAA,sBAAsB,EAAEN,KAAK,CAACO,4BAHhC;AAIEC,IAAAA,2BAA2B,EAAER,KAAK,CAACS,iCAJrC;;AAMEC,IAAAA,iBAAiB,EAAEV,KAAK,CAACW,cAN3B;AAOEC,IAAAA,kBAAkB,EAAEZ,KAAK,CAACa,eAP5B;;AASEC,IAAAA,qBAAqB,EAAEd,KAAK,CAACe,kBAT/B;AAUEC,IAAAA,mBAAmB,EAAEhB,KAAK,CAACiB,gBAV7B;AAWEC,IAAAA,mBAAmB,EAAEpB,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAACmB,gBAA3B,GAA8CnB,KAAK,CAACkB,mBAX3E;AAYEE,IAAAA,mBAAmB,EAAEpB,KAAK,CAACqB,gBAZ7B;AAaEC,IAAAA,mBAAmB,EAAEtB,KAAK,CAACuB,gBAb7B;AAcEC,IAAAA,uBAAuB,EAAExB,KAAK,CAACyB,+BAdjC;;AAgBEC,IAAAA,sBAAsB,EAAE1B,KAAK,CAAC2B,mBAhBhC;AAiBEC,IAAAA,oBAAoB,EAAE5B,KAAK,CAAC6B,iBAjB9B;AAkBEC,IAAAA,oBAAoB,EAAEhC,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAAC+B,iBAA3B,GAA+C/B,KAAK,CAAC8B,oBAlB7E;AAmBEE,IAAAA,oBAAoB,EAAEhC,KAAK,CAACiC,iBAnB9B;AAoBEC,IAAAA,oBAAoB,EAAElC,KAAK,CAACmC,iBApB9B;AAqBEC,IAAAA,wBAAwB,EAAEpC,KAAK,CAACqC,gCArBlC;;AAuBEC,IAAAA,qBAAqB,EAAEtC,KAAK,CAACuC,kBAvB/B;AAwBEC,IAAAA,mBAAmB,EAAExC,KAAK,CAACyC,gBAxB7B;AAyBEC,IAAAA,mBAAmB,EAAE5C,WAAW,CAACE,KAAD,CAAX,GAAqBA,KAAK,CAAC2C,gBAA3B,GAA8C3C,KAAK,CAAC0C,mBAzB3E;AA0BEE,IAAAA,mBAAmB,EAAE5C,KAAK,CAAC6C,gBA1B7B;AA2BEC,IAAAA,mBAAmB,EAAE9C,KAAK,CAAC+C,gBA3B7B;AA4BEC,IAAAA,uBAAuB,EAAEhD,KAAK,CAACiD,+BA5BjC;;AA8BEC,IAAAA,gBAAgB,EAAElD,KAAK,CAACmD,aA9B1B;AA+BEC,IAAAA,yBAAyB,EAAEpD,KAAK,CAACqD,sBA/BnC;AAgCEC,IAAAA,uBAAuB,EAAEtD,KAAK,CAACuD,oBAhCjC,EADK;;AAmCLvD,EAAAA,KAnCK,CAAP;;AAqCD,CAtCM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nexport const getDropdownTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n selectDefaultBg: theme.btnDefaultBg,\n selectMenuOffsetY: theme.dropdownMenuOffsetY,\n selectBorderColorHover: theme.dropdownMenuHoverBorderColor,\n selectBorderColorTransition: theme.dropdownMenuBorderColorTransition,\n\n selectBorderWidth: theme.btnBorderWidth,\n selectOutlineWidth: theme.btnOutlineWidth,\n\n selectLineHeightSmall: theme.btnLineHeightSmall,\n selectFontSizeSmall: theme.btnFontSizeSmall,\n selectPaddingXSmall: isTheme2022(theme) ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\n selectPaddingYSmall: theme.btnPaddingYSmall,\n selectIconSizeSmall: theme.btnIconSizeSmall,\n selectBorderRadiusSmall: theme.dropdownButtonBorderRadiusSmall,\n\n selectLineHeightMedium: theme.btnLineHeightMedium,\n selectFontSizeMedium: theme.btnFontSizeMedium,\n selectPaddingXMedium: isTheme2022(theme) ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\n selectPaddingYMedium: theme.btnPaddingYMedium,\n selectIconSizeMedium: theme.btnIconSizeMedium,\n selectBorderRadiusMedium: theme.dropdownButtonBorderRadiusMedium,\n\n selectLineHeightLarge: theme.btnLineHeightLarge,\n selectFontSizeLarge: theme.btnFontSizeLarge,\n selectPaddingXLarge: isTheme2022(theme) ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\n selectPaddingYLarge: theme.btnPaddingYLarge,\n selectIconSizeLarge: theme.btnIconSizeLarge,\n selectBorderRadiusLarge: theme.dropdownButtonBorderRadiusLarge,\n\n selectBgDisabled: theme.btnDisabledBg,\n selectBorderColorDisabled: theme.btnDisabledBorderColor,\n selectTextColorDisabled: theme.btnDisabledTextColor,\n },\n theme,\n );\n};\n"]}
@@ -72,10 +72,12 @@ var DropdownMenu = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_
72
72
  return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
73
73
  rootNodeRef: this.setRootNode
74
74
  }, this.props), /*#__PURE__*/React.createElement(PopupMenu, {
75
+ "aria-label": this.props['aria-label'],
75
76
  ref: this.refPopupMenu,
76
77
  caption: this.props.caption,
77
78
  menuMaxHeight: this.props.menuMaxHeight,
78
79
  menuWidth: this.props.menuWidth,
80
+ preventIconsOffset: this.props.preventIconsOffset,
79
81
  popupHasPin: false,
80
82
  positions: positions,
81
83
  disableAnimations: disableAnimations,
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","getDropdownMenuTheme","DropdownMenu","props","getProps","defaultProps","popupMenu","open","close","refPopupMenu","ref","caption","Error","render","theme","renderMain","positions","disableAnimations","setRootNode","menuMaxHeight","menuWidth","header","footer","width","onClose","onOpen","popupMenuId","children","Component","__KONTUR_REACT_UI__"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,SAAT,QAA0C,0BAA1C;AACA,SAASC,eAAT,EAA0BC,SAA1B,QAA2C,8BAA3C;;AAEA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,QAAT,QAAuC,oBAAvC;AACA,SAASC,iBAAT,QAAkC,6BAAlC;;AAEA,SAASC,oBAAT,QAAqC,wBAArC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,OAJA;AACA;AACA,GAEA,IAAaC,YAAb,GADCH,QACD;;;;;;;;;;;AAaE,wBAAYI,KAAZ,EAAsC;AACpC,wCAAMA,KAAN,UADoC,MAL9BC,QAK8B,GALnBJ,iBAAiB,CAACE,YAAY,CAACG,YAAd,CAKE,OAH9BC,SAG8B,GAHG,IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8C/BC,IAAAA,IA9C+B,GA8CxB,YAAY;AACxB,UAAI,MAAKD,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeC,IAAf;AACD;AACF,KAlDqC;;AAoD/BC,IAAAA,KApD+B,GAoDvB,YAAY;AACzB,UAAI,MAAKF,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeE,KAAf;AACD;AACF,KAxDqC;;AA0D9BC,IAAAA,YA1D8B,GA0Df,UAACC,GAAD,UAA+B,MAAKJ,SAAL,GAAiBI,GAAhD,EA1De,CAGpC,IAAI,CAACP,KAAK,CAACQ,OAAP,IAAkB,CAACf,eAAvB,EAAwC,CACtC,MAAM,IAAIgB,KAAJ,CAAU,+BAAV,CAAN,CACD,CALmC,aAMrC,CAnBH,2CAqBSC,MArBT,GAqBE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,oBAAO,oBAAC,YAAD,CAAc,QAAd,IAAuB,KAAK,EAAEb,oBAAoB,CAACa,KAAD,CAAlD,IAA4D,MAAI,CAACC,UAAL,EAA5D,CAAP,CACD,CAHH,CADF,CAOD,CA7BH,QA+BSA,UA/BT,GA+BE,sBAAoB,CAClB,IAAI,CAAC,KAAKZ,KAAL,CAAWQ,OAAhB,EAAyB,CACvB,OAAO,IAAP,CACD,CACD,qBAAyC,KAAKP,QAAL,EAAzC,CAAQY,SAAR,kBAAQA,SAAR,CAAmBC,iBAAnB,kBAAmBA,iBAAnB,CACA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAKf,KAAvD,gBACE,oBAAC,SAAD,IACE,GAAG,EAAE,KAAKM,YADZ,EAEE,OAAO,EAAE,KAAKN,KAAL,CAAWQ,OAFtB,EAGE,aAAa,EAAE,KAAKR,KAAL,CAAWgB,aAH5B,EAIE,SAAS,EAAE,KAAKhB,KAAL,CAAWiB,SAJxB,EAKE,WAAW,EAAE,KALf,EAME,SAAS,EAAEJ,SANb,EAOE,iBAAiB,EAAEC,iBAPrB,EAQE,MAAM,EAAE,KAAKd,KAAL,CAAWkB,MARrB,EASE,MAAM,EAAE,KAAKlB,KAAL,CAAWmB,MATrB,EAUE,KAAK,EAAE,KAAKnB,KAAL,CAAWoB,KAVpB,EAWE,OAAO,EAAE,KAAKpB,KAAL,CAAWqB,OAXtB,EAYE,MAAM,EAAE,KAAKrB,KAAL,CAAWsB,MAZrB,EAaE,WAAW,EAAE,KAAKtB,KAAL,CAAWuB,WAb1B,IAeG,KAAKvB,KAAL,CAAWwB,QAfd,CADF,CADF,CAqBD,CAzDH,uBAAkClC,KAAK,CAACmC,SAAxC,WACgBC,mBADhB,GACsC,cADtC,UAGgBxB,YAHhB,GAG6C,EACzCY,iBAAiB,EAAEpB,SADsB,EAEzCmB,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAF8B,EAH7C","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { getDropdownMenuTheme } from './getDropdownMenuTheme';\n\nexport interface DropdownMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId'> {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations' | 'positions'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private getProps = createPropsGetter(DropdownMenu.defaultProps);\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return <ThemeContext.Provider value={getDropdownMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n const { positions, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n popupHasPin={false}\n positions={positions}\n disableAnimations={disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n onClose={this.props.onClose}\n onOpen={this.props.onOpen}\n popupMenuId={this.props.popupMenuId}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n}\n"]}
1
+ {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","createPropsGetter","getDropdownMenuTheme","DropdownMenu","props","getProps","defaultProps","popupMenu","open","close","refPopupMenu","ref","caption","Error","render","theme","renderMain","positions","disableAnimations","setRootNode","menuMaxHeight","menuWidth","preventIconsOffset","header","footer","width","onClose","onOpen","popupMenuId","children","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { getDropdownMenuTheme } from './getDropdownMenuTheme';\n\nexport interface DropdownMenuProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>,\n CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [MenuHeader](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [MenuSeparator](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownMenuProps, 'disableAnimations' | 'positions'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private getProps = createPropsGetter(DropdownMenu.defaultProps);\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return <ThemeContext.Provider value={getDropdownMenuTheme(theme)}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n const { positions, disableAnimations } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n aria-label={this.props['aria-label']}\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n preventIconsOffset={this.props.preventIconsOffset}\n popupHasPin={false}\n positions={positions}\n disableAnimations={disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n onClose={this.props.onClose}\n onOpen={this.props.onOpen}\n popupMenuId={this.props.popupMenuId}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n}\n"]}
@@ -1,8 +1,8 @@
1
- import React from 'react';
1
+ import React, { AriaAttributes } from 'react';
2
2
  import { PopupMenuProps } from '../../internal/PopupMenu';
3
3
  import { PopupPositionsType } from '../../internal/Popup';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
- export interface DropdownMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId'> {
5
+ export interface DropdownMenuProps extends Pick<AriaAttributes, 'aria-label'>, Pick<PopupMenuProps, 'onOpen' | 'onClose' | 'popupMenuId' | 'preventIconsOffset'>, CommonProps {
6
6
  /** Максимальная высота меню */
7
7
  menuMaxHeight?: React.CSSProperties['maxWidth'];
8
8
  /** Ширина меню */
@@ -113,6 +113,34 @@ import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui
113
113
  </DropdownMenu>;
114
114
  ```
115
115
 
116
+ С иконками и включенным по-умолчанию автоматическим выравниванием текста.
117
+
118
+ ```jsx harmony
119
+ import { Button, MenuHeader, MenuItem, MenuSeparator, DropdownMenu } from '@skbkontur/react-ui';
120
+ import OkIcon from '@skbkontur/react-icons/Ok';
121
+
122
+ <DropdownMenu caption={<Button use="primary">Открыть меню</Button>}>
123
+ <MenuHeader>MenuHeader</MenuHeader>
124
+ <MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
125
+ <MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
126
+ <MenuItem>MenuItem3</MenuItem>
127
+ </DropdownMenu>;
128
+ ```
129
+
130
+ С иконками и отключенным автоматическим выравниванием текста.
131
+
132
+ ```jsx harmony
133
+ import { Button, MenuHeader, MenuItem, MenuSeparator, DropdownMenu } from '@skbkontur/react-ui';
134
+ import OkIcon from '@skbkontur/react-icons/Ok';
135
+
136
+ <DropdownMenu preventIconsOffset caption={<Button use="primary">Открыть меню</Button>}>
137
+ <MenuHeader>MenuHeader</MenuHeader>
138
+ <MenuItem icon={<OkIcon />}>MenuItem1</MenuItem>
139
+ <MenuItem icon={<OkIcon />}>MenuItem2</MenuItem>
140
+ <MenuItem>MenuItem3</MenuItem>
141
+ </DropdownMenu>
142
+ ```
143
+
116
144
  Меню с отключенной анимацией.
117
145
 
118
146
  ```jsx harmony
@@ -1,6 +1,10 @@
1
1
  import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
2
2
  export var getDropdownMenuTheme = function getDropdownMenuTheme(theme) {
3
3
  return ThemeFactory.create({
4
- popupMargin: theme.dropdownMenuMenuOffsetY
4
+ popupMargin: theme.dropdownMenuMenuOffsetY,
5
+ menuBoxSizing: theme.dropdownMenuMenuBoxSizing,
6
+ menuPaddingY: theme.menuLegacyPaddingY,
7
+ menuScrollContainerContentWrapperPaddingY: theme.menuPaddingY,
8
+ scrollContainerScrollBarOffsetY: theme.dropdownMenuScrollContainerScrollBarOffsetY
5
9
  }, theme);
6
10
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getDropdownMenuTheme.ts"],"names":["ThemeFactory","getDropdownMenuTheme","theme","create","popupMargin","dropdownMenuMenuOffsetY"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;;AAGA,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAyB;AAC3D,SAAOF,YAAY,CAACG,MAAb;AACL;AACEC,IAAAA,WAAW,EAAEF,KAAK,CAACG,uBADrB,EADK;;AAILH,EAAAA,KAJK,CAAP;;AAMD,CAPM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const getDropdownMenuTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n popupMargin: theme.dropdownMenuMenuOffsetY,\n },\n theme,\n );\n};\n"]}
1
+ {"version":3,"sources":["getDropdownMenuTheme.ts"],"names":["ThemeFactory","getDropdownMenuTheme","theme","create","popupMargin","dropdownMenuMenuOffsetY","menuBoxSizing","dropdownMenuMenuBoxSizing","menuPaddingY","menuLegacyPaddingY","menuScrollContainerContentWrapperPaddingY","scrollContainerScrollBarOffsetY","dropdownMenuScrollContainerScrollBarOffsetY"],"mappings":"AAAA,SAASA,YAAT,QAA6B,gCAA7B;;;AAGA,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAyB;AAC3D,SAAOF,YAAY,CAACG,MAAb;AACL;AACEC,IAAAA,WAAW,EAAEF,KAAK,CAACG,uBADrB;AAEEC,IAAAA,aAAa,EAAEJ,KAAK,CAACK,yBAFvB;AAGEC,IAAAA,YAAY,EAAEN,KAAK,CAACO,kBAHtB;AAIEC,IAAAA,yCAAyC,EAAER,KAAK,CAACM,YAJnD;AAKEG,IAAAA,+BAA+B,EAAET,KAAK,CAACU,2CALzC,EADK;;AAQLV,EAAAA,KARK,CAAP;;AAUD,CAXM","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const getDropdownMenuTheme = (theme: Theme): Theme => {\n return ThemeFactory.create(\n {\n popupMargin: theme.dropdownMenuMenuOffsetY,\n menuBoxSizing: theme.dropdownMenuMenuBoxSizing,\n menuPaddingY: theme.menuLegacyPaddingY,\n menuScrollContainerContentWrapperPaddingY: theme.menuPaddingY,\n scrollContainerScrollBarOffsetY: theme.dropdownMenuScrollContainerScrollBarOffsetY,\n },\n theme,\n );\n};\n"]}
@@ -28,6 +28,10 @@ import { globalClasses, jsStyles } from "../FileUploader.styles";
28
28
  var stopPropagation = function stopPropagation(e) {
29
29
  return e.stopPropagation();
30
30
  };
31
+ /**
32
+ * @deprecated use SizeProp
33
+ */
34
+
31
35
 
32
36
  export var FileUploaderDataTids = {
33
37
  root: 'FileUploader__root',
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","isBrowser","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","isTheme2022","UploadIcon2022","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","forwardRef","props","ref","theme","_isTheme2022","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","size","renderFile","inputProps","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","validationMessage","id","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","window","document","focus","isTabPressed","blur","getRootNode","rootNodeRef","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","windowDragOver2022","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { UploadIcon as UploadIcon2022 } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\nexport type FileUploaderSize = 'small' | 'medium' | 'large';\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /**\n * Задаёт размер контрола.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: FileUploaderSize;\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(\n !_isTheme2022 && canDrop && jsStyles.windowDragOver(theme),\n _isTheme2022 && canDrop && jsStyles.windowDragOver2022(theme),\n );\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<FileUploaderSize, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = _isTheme2022 ? <UploadIcon2022 size={iconSizes[size]} /> : <UploadIcon />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} size={size} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
1
+ {"version":3,"sources":["FileUploader.tsx"],"names":["React","useCallback","useContext","useEffect","useImperativeHandle","useRef","useState","getAttachedFile","cx","useMemoObject","FileUploaderControlContext","useControlLocale","useUpload","useDrop","ThemeContext","UploadIcon","withFileUploaderControlProvider","keyListener","FileUploaderFile","FileUploaderFileList","isBrowser","CommonWrapper","FileUploaderFileValidationResult","useFileUploaderSize","isTheme2022","UploadIcon2022","globalClasses","jsStyles","stopPropagation","e","FileUploaderDataTids","root","content","link","input","defaultRenderFile","file","fileNode","_FileUploader","forwardRef","props","ref","theme","_isTheme2022","disabled","error","warning","multiple","width","fileUploaderWidth","hideFiles","onBlur","onFocus","onChange","request","validateBeforeUpload","onRequestSuccess","onRequestError","size","renderFile","inputProps","files","setFiles","removeFile","reset","setFileValidationResult","isMinLengthReached","locale","inputRef","fileDivRef","isAsync","isSingleMode","isLinkVisible","setIsLinkVisible","upload","tryValidateAndUpload","forEach","validationMessage","id","sizeClassName","small","sizeSmall","medium","sizeMedium","large","sizeLarge","sizeIconClass","iconSmall","iconMedium","iconLarge","contentInnerClass","contentInnerSmall","contentInnerMedium","contentInnerLarge","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","current","window","document","focus","isTabPressed","blur","getRootNode","rootNodeRef","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","hovered","setHovered","uploadButtonClassNames","uploadButton","uploadButtonFocus","dragOver","canDrop","uploadButtonWrapperClassNames","windowDragOver","windowDragOver2022","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","contentClassNames","contentWithFiles","linkClassNames","linkHovered","linkDisabled","iconSizes","parseInt","btnIconSizeSmall","btnIconSizeMedium","btnIconSizeLarge","choosedFile","chooseFile","String","fromCharCode","afterLinkText","afterLinkText_HasFiles","singleFile","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useEffect, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { InstanceWithRootNode } from '../../lib/rootNode';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { Nullable } from '../../typings/utility-types';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useFileUploaderSize } from '../../internal/FileUploaderControl/hooks/useFileUploaderSize';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { UploadIcon as UploadIcon2022 } from './UploadIcon';\nimport { globalClasses, jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\n/**\n * @deprecated use SizeProp\n */\nexport type FileUploaderSize = SizeProp;\n\ntype FileUploaderOverriddenProps = 'size';\n\ninterface _FileUploaderProps\n extends CommonProps,\n Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n /**\n * Задаёт размер контрола.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: SizeProp;\n /** Свойство, скрывающее отображение файлов. */\n hideFiles?: boolean;\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /**\n * Функция валидации каждого файла.\n * Срабатывает после выбора файлов и перед попыткой отправить в request.\n * Чтобы вывести валидацию ошибки, промис должен вернуть строку.\n * */\n validateBeforeUpload?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n\n /**\n * Функция, позволяющая кастомизировать файлы.\n * Через нее можно вешать кастомные валидации на каждый файл.\n * */\n renderFile?: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n}\n\nexport interface FileUploaderRef extends InstanceWithRootNode {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nexport const FileUploaderDataTids = {\n root: 'FileUploader__root',\n content: 'FileUploader__content',\n link: 'FileUploader__link',\n input: 'FileUploader__input',\n} as const;\n\nconst defaultRenderFile = (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => fileNode;\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n hideFiles = false,\n onBlur,\n onFocus,\n onChange,\n request,\n validateBeforeUpload,\n onRequestSuccess,\n onRequestError,\n size = 'small',\n renderFile = defaultRenderFile,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, reset, setFileValidationResult, isMinLengthReached } =\n useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const fileDivRef = useRef<HTMLDivElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const [isLinkVisible, setIsLinkVisible] = useState(true);\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = validateBeforeUpload && (await validateBeforeUpload(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [validateBeforeUpload, isAsync, upload, setFileValidationResult],\n );\n\n const sizeClassName = useFileUploaderSize(size, {\n small: jsStyles.sizeSmall(theme),\n medium: jsStyles.sizeMedium(theme),\n large: jsStyles.sizeLarge(theme),\n });\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(theme),\n medium: jsStyles.iconMedium(theme),\n large: jsStyles.iconLarge(theme),\n });\n\n const contentInnerClass = useFileUploaderSize(size, {\n small: jsStyles.contentInnerSmall(theme),\n medium: jsStyles.contentInnerMedium(theme),\n large: jsStyles.contentInnerLarge(theme),\n });\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) {\n return;\n }\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset, getRootNode: () => rootNodeRef.current }), [\n ref,\n blur,\n focus,\n reset,\n ]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const [hovered, setHovered] = useState(false);\n\n const uploadButtonClassNames = cx(\n jsStyles.uploadButton(theme),\n sizeClassName,\n focusedByTab && jsStyles.uploadButtonFocus(theme),\n disabled && jsStyles.disabled(theme),\n !disabled && hovered && jsStyles.hovered(theme),\n !!warning && jsStyles.warning(theme),\n !!error && jsStyles.error(theme),\n isDraggable && !disabled && jsStyles.dragOver(theme),\n );\n\n const canDrop = isWindowDraggable && !disabled;\n const uploadButtonWrapperClassNames = cx(\n !_isTheme2022 && canDrop && jsStyles.windowDragOver(theme),\n _isTheme2022 && canDrop && jsStyles.windowDragOver2022(theme),\n );\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), sizeIconClass, disabled && jsStyles.iconDisabled(theme));\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile && !hideFiles;\n\n const contentClassNames = cx(jsStyles.content(), hasOneFileForSingle && jsStyles.contentWithFiles());\n\n const linkClassNames = cx(\n jsStyles.link(theme),\n !disabled && hovered && jsStyles.linkHovered(theme),\n disabled && jsStyles.linkDisabled(theme),\n );\n\n useEffect(() => {\n setIsLinkVisible(hasOneFileForSingle ? !isMinLengthReached : true);\n }, [isMinLengthReached, hasOneFileForSingle]);\n\n const rootNodeRef = useRef(null);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.btnIconSizeSmall),\n medium: parseInt(theme.btnIconSizeMedium),\n large: parseInt(theme.btnIconSizeLarge),\n };\n const icon = _isTheme2022 ? <UploadIcon2022 size={iconSizes[size]} /> : <UploadIcon />;\n\n return (\n <CommonWrapper {...props}>\n <div\n data-tid={FileUploaderDataTids.root}\n className={jsStyles.root(theme)}\n style={useMemoObject({ width })}\n ref={rootNodeRef}\n >\n {!hideFiles && !isSingleMode && !!files.length && <FileUploaderFileList renderFile={renderFile} size={size} />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div\n data-tid={FileUploaderDataTids.content}\n className={cx(contentClassNames, { [contentInnerClass]: !files.length || !isSingleMode })}\n >\n {isLinkVisible && (\n <span data-tid={FileUploaderDataTids.link} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n )}\n {isLinkVisible && String.fromCharCode(0xa0) /* &nbsp; */}\n <div\n className={cx(\n globalClasses.afterLinkText,\n hasOneFileForSingle ? jsStyles.afterLinkText_HasFiles(theme) : jsStyles.afterLinkText(theme),\n )}\n >\n {hasOneFileForSingle ? (\n <div ref={fileDivRef} className={jsStyles.singleFile()}>\n {renderFile(files[0], <FileUploaderFile file={files[0]} size={size} />)}\n </div>\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>{icon}</div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n data-tid={FileUploaderDataTids.input}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}
@@ -4,7 +4,11 @@ import { InstanceWithRootNode } from '../../lib/rootNode';
4
4
  import { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';
5
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
6
  import { Nullable } from '../../typings/utility-types';
7
- export declare type FileUploaderSize = 'small' | 'medium' | 'large';
7
+ import { SizeProp } from '../../lib/types/props';
8
+ /**
9
+ * @deprecated use SizeProp
10
+ */
11
+ export declare type FileUploaderSize = SizeProp;
8
12
  declare type FileUploaderOverriddenProps = 'size';
9
13
  interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes<HTMLInputElement>, FileUploaderOverriddenProps> {
10
14
  /** Состояние ошибки всего контрола */
@@ -18,7 +22,7 @@ interface _FileUploaderProps extends CommonProps, Omit<React.InputHTMLAttributes
18
22
  *
19
23
  * **Допустимые значения**: `"small"`, `"medium"`, `"large"`.
20
24
  */
21
- size?: FileUploaderSize;
25
+ size?: SizeProp;
22
26
  /** Свойство, скрывающее отображение файлов. */
23
27
  hideFiles?: boolean;
24
28
  /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
@@ -19,7 +19,7 @@ var styles = {
19
19
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n color: ", ";\n background-color: ", ";\n "])), t.fileUploaderLineHeight, t.fileUploaderFontSize, t.fileUploaderTextColorDefault, t.fileUploaderBg);
20
20
  },
21
21
  uploadButton: function uploadButton(t) {
22
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ", " ", " ", ";\n box-sizing: border-box;\n border-radius: ", ";\n outline: none;\n cursor: pointer;\n padding: ", " ", ";\n transition: box-shadow 0.3s ease;\n background-color: ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderStyle, t.fileUploaderBorderColor, t.fileUploaderBorderRadius, t.fileUploaderPaddingY, t.fileUploaderPaddingX, t.fileUploaderUploadButtonBg);
22
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ", " ", " ", ";\n box-sizing: border-box;\n border-radius: ", ";\n outline: none;\n cursor: pointer;\n padding: ", " ", ";\n transition: background-color ", " ", ",\n border-color ", " ", ";\n background-color: ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderStyle, t.fileUploaderBorderColor, t.fileUploaderBorderRadius, t.fileUploaderPaddingY, t.fileUploaderPaddingX, t.transitionDuration, t.transitionTimingFunction, t.transitionDuration, t.transitionTimingFunction, t.fileUploaderUploadButtonBg);
23
23
  },
24
24
  uploadButtonFocus: function uploadButtonFocus(t) {
25
25
  return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0px 0px 0px 1px ", ";\n "])), t.fileUploaderBorderWidth, t.fileUploaderBorderColorFocus, t.fileUploaderBorderColorFocus);
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploader.styles.ts"],"names":["css","keyframes","memoizeStyle","prefix","ColorFunctions","fileUploaderSizeMixin","globalClasses","afterLinkText","styles","calcPulse","t","fade","inputBlinkColor","pulse","root","fileUploaderLineHeight","fileUploaderFontSize","fileUploaderTextColorDefault","fileUploaderBg","uploadButton","fileUploaderBorderWidth","fileUploaderBorderStyle","fileUploaderBorderColor","fileUploaderBorderRadius","fileUploaderPaddingY","fileUploaderPaddingX","fileUploaderUploadButtonBg","uploadButtonFocus","fileUploaderBorderColorFocus","dragOver","fileUploaderDragOverBorderColor","fileUploaderDragOverShadow","windowDragOver","windowDragOver2022","content","contentWithFiles","contentInnerSmall","inputIconSizeSmall","fileUploaderIconGapSmall","contentInnerMedium","inputIconSizeMedium","fileUploaderIconGapMedium","contentInnerLarge","inputIconSizeLarge","fileUploaderIconGapLarge","fileInput","fileUploaderAfterLinkColor","afterLinkText_HasFiles","warning","fileUploaderBorderColorWarning","error","fileUploaderBorderColorError","hovered","fileUploaderHoveredBg","fileUploaderHoveredBorderColor","linkHovered","fileUploaderLinkHoverTextDecoration","disabled","fileUploaderDisabledBg","fileUploaderDisabledBorder","fileUploaderDisabledTextColor","fileUploaderDisabledBgClip","icon","fileUploaderIconColor","iconDisabled","fileUploaderDisabledIconColor","link","fileUploaderLinkColor","linkDisabled","fileUploaderDisabledLinkColor","singleFile","sizeSmall","fileUploaderFontSizeSmall","fileUploaderLineHeightSmall","fileUploaderPaddingXSmall","fileUploaderPaddingYSmall","sizeMedium","fileUploaderFontSizeMedium","fileUploaderLineHeightMedium","fileUploaderPaddingXMedium","fileUploaderPaddingYMedium","sizeLarge","fileUploaderFontSizeLarge","fileUploaderLineHeightLarge","fileUploaderPaddingXLarge","fileUploaderPaddingYLarge","iconSmall","iconMedium","iconLarge","jsStyles"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\n\nimport { fileUploaderSizeMixin } from './FileUploader.mixins';\n\nexport const globalClasses = prefix('file-uploader')({\n afterLinkText: 'after-link-text',\n});\n\nconst styles = {\n calcPulse(t: Theme) {\n return keyframes`\n 0% {\n box-shadow: 0 0 0 1px ${ColorFunctions.fade(t.inputBlinkColor, 0.6)};\n }\n 95% {\n box-shadow: 0 0 0 10px ${ColorFunctions.fade(t.inputBlinkColor, 0.1)};\n }\n 100% {\n box-shadow: 0 0 0 1px ${ColorFunctions.fade(t.inputBlinkColor, 0.0)};\n }\n `;\n },\n pulse() {\n return keyframes`\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n display: inline-block;\n position: relative;\n line-height: ${t.fileUploaderLineHeight};\n font-size: ${t.fileUploaderFontSize};\n color: ${t.fileUploaderTextColorDefault};\n background-color: ${t.fileUploaderBg};\n `;\n },\n\n uploadButton(t: Theme) {\n return css`\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ${t.fileUploaderBorderWidth} ${t.fileUploaderBorderStyle} ${t.fileUploaderBorderColor};\n box-sizing: border-box;\n border-radius: ${t.fileUploaderBorderRadius};\n outline: none;\n cursor: pointer;\n padding: ${t.fileUploaderPaddingY} ${t.fileUploaderPaddingX};\n transition: box-shadow 0.3s ease;\n background-color: ${t.fileUploaderUploadButtonBg};\n `;\n },\n\n uploadButtonFocus(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorFocus};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorFocus};\n `;\n },\n\n dragOver(t: Theme) {\n return css`\n border: 1px solid ${t.fileUploaderDragOverBorderColor};\n border-radius: ${t.fileUploaderBorderRadius};\n box-shadow: ${t.fileUploaderDragOverShadow};\n `;\n },\n\n windowDragOver(t: Theme) {\n return css`\n border-radius: ${t.fileUploaderBorderRadius};\n animation: ${styles.pulse()} 1.5s infinite;\n `;\n },\n\n windowDragOver2022(t: Theme) {\n return css`\n border-radius: ${t.fileUploaderBorderRadius};\n animation: ${styles.calcPulse(t)} 1.5s infinite;\n `;\n },\n\n content() {\n return css`\n display: block;\n width: 100%;\n height: 100%;\n\n overflow: hidden;\n text-overflow: ellipsis;\n `;\n },\n\n contentWithFiles() {\n return css`\n display: flex;\n align-items: center;\n `;\n },\n\n contentInnerSmall(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeSmall} - ${t.fileUploaderIconGapSmall});\n `;\n },\n\n contentInnerMedium(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeMedium} - ${t.fileUploaderIconGapMedium});\n `;\n },\n\n contentInnerLarge(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeLarge} - ${t.fileUploaderIconGapLarge});\n `;\n },\n\n fileInput() {\n return css`\n width: 0;\n height: 0;\n `;\n },\n\n afterLinkText(t: Theme) {\n return css`\n display: inline;\n color: ${t.fileUploaderAfterLinkColor};\n `;\n },\n\n afterLinkText_HasFiles(t: Theme) {\n return css`\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n color: ${t.fileUploaderAfterLinkColor};\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorWarning};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorError};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorError};\n `;\n },\n\n hovered(t: Theme) {\n return css`\n background: ${t.fileUploaderHoveredBg};\n border-color: ${t.fileUploaderHoveredBorderColor};\n `;\n },\n\n linkHovered(t: Theme) {\n return css`\n text-decoration: ${t.fileUploaderLinkHoverTextDecoration};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n background: ${t.fileUploaderDisabledBg};\n border: ${t.fileUploaderDisabledBorder};\n color: ${t.fileUploaderDisabledTextColor};\n box-shadow: none;\n background-clip: ${t.fileUploaderDisabledBgClip};\n\n .${globalClasses.afterLinkText} {\n color: ${t.fileUploaderDisabledTextColor};\n }\n `;\n },\n\n icon(t: Theme) {\n return css`\n display: inline-block;\n position: absolute;\n color: ${t.fileUploaderIconColor};\n text-align: right;\n `;\n },\n\n iconDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledIconColor};\n `;\n },\n\n link(t: Theme) {\n return css`\n outline: none;\n text-decoration: none;\n color: ${t.fileUploaderLinkColor};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledLinkColor};\n &:hover {\n text-decoration: none;\n }\n `;\n },\n\n singleFile() {\n return css`\n width: 100%;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeSmall,\n t.fileUploaderLineHeightSmall,\n t.fileUploaderPaddingXSmall,\n t.fileUploaderPaddingYSmall,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeMedium,\n t.fileUploaderLineHeightMedium,\n t.fileUploaderPaddingXMedium,\n t.fileUploaderPaddingYMedium,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeLarge,\n t.fileUploaderLineHeightLarge,\n t.fileUploaderPaddingXLarge,\n t.fileUploaderPaddingYLarge,\n )};\n `;\n },\n\n iconSmall(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeSmall};\n line-height: ${t.fileUploaderLineHeightSmall};\n width: ${t.inputIconSizeSmall};\n bottom: ${t.fileUploaderPaddingYSmall};\n right: ${t.fileUploaderPaddingXSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeMedium};\n line-height: ${t.fileUploaderLineHeightMedium};\n width: ${t.inputIconSizeMedium};\n bottom: ${t.fileUploaderPaddingYMedium};\n right: ${t.fileUploaderPaddingXMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeLarge};\n line-height: ${t.fileUploaderLineHeightLarge};\n width: ${t.inputIconSizeLarge};\n bottom: ${t.fileUploaderPaddingYLarge};\n right: ${t.fileUploaderPaddingXLarge};\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
1
+ {"version":3,"sources":["FileUploader.styles.ts"],"names":["css","keyframes","memoizeStyle","prefix","ColorFunctions","fileUploaderSizeMixin","globalClasses","afterLinkText","styles","calcPulse","t","fade","inputBlinkColor","pulse","root","fileUploaderLineHeight","fileUploaderFontSize","fileUploaderTextColorDefault","fileUploaderBg","uploadButton","fileUploaderBorderWidth","fileUploaderBorderStyle","fileUploaderBorderColor","fileUploaderBorderRadius","fileUploaderPaddingY","fileUploaderPaddingX","transitionDuration","transitionTimingFunction","fileUploaderUploadButtonBg","uploadButtonFocus","fileUploaderBorderColorFocus","dragOver","fileUploaderDragOverBorderColor","fileUploaderDragOverShadow","windowDragOver","windowDragOver2022","content","contentWithFiles","contentInnerSmall","inputIconSizeSmall","fileUploaderIconGapSmall","contentInnerMedium","inputIconSizeMedium","fileUploaderIconGapMedium","contentInnerLarge","inputIconSizeLarge","fileUploaderIconGapLarge","fileInput","fileUploaderAfterLinkColor","afterLinkText_HasFiles","warning","fileUploaderBorderColorWarning","error","fileUploaderBorderColorError","hovered","fileUploaderHoveredBg","fileUploaderHoveredBorderColor","linkHovered","fileUploaderLinkHoverTextDecoration","disabled","fileUploaderDisabledBg","fileUploaderDisabledBorder","fileUploaderDisabledTextColor","fileUploaderDisabledBgClip","icon","fileUploaderIconColor","iconDisabled","fileUploaderDisabledIconColor","link","fileUploaderLinkColor","linkDisabled","fileUploaderDisabledLinkColor","singleFile","sizeSmall","fileUploaderFontSizeSmall","fileUploaderLineHeightSmall","fileUploaderPaddingXSmall","fileUploaderPaddingYSmall","sizeMedium","fileUploaderFontSizeMedium","fileUploaderLineHeightMedium","fileUploaderPaddingXMedium","fileUploaderPaddingYMedium","sizeLarge","fileUploaderFontSizeLarge","fileUploaderLineHeightLarge","fileUploaderPaddingXLarge","fileUploaderPaddingYLarge","iconSmall","iconMedium","iconLarge","jsStyles"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\n\nimport { fileUploaderSizeMixin } from './FileUploader.mixins';\n\nexport const globalClasses = prefix('file-uploader')({\n afterLinkText: 'after-link-text',\n});\n\nconst styles = {\n calcPulse(t: Theme) {\n return keyframes`\n 0% {\n box-shadow: 0 0 0 1px ${ColorFunctions.fade(t.inputBlinkColor, 0.6)};\n }\n 95% {\n box-shadow: 0 0 0 10px ${ColorFunctions.fade(t.inputBlinkColor, 0.1)};\n }\n 100% {\n box-shadow: 0 0 0 1px ${ColorFunctions.fade(t.inputBlinkColor, 0.0)};\n }\n `;\n },\n pulse() {\n return keyframes`\n 0% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0.7);\n }\n 95% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 10px rgba(45,164,249,0);\n }\n 100% {\n box-shadow:\n 0px 0px 0px 0px #2DA4F9,\n 0px 0px 0px 1px rgba(45,164,249,0);\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n display: inline-block;\n position: relative;\n line-height: ${t.fileUploaderLineHeight};\n font-size: ${t.fileUploaderFontSize};\n color: ${t.fileUploaderTextColorDefault};\n background-color: ${t.fileUploaderBg};\n `;\n },\n\n uploadButton(t: Theme) {\n return css`\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border: ${t.fileUploaderBorderWidth} ${t.fileUploaderBorderStyle} ${t.fileUploaderBorderColor};\n box-sizing: border-box;\n border-radius: ${t.fileUploaderBorderRadius};\n outline: none;\n cursor: pointer;\n padding: ${t.fileUploaderPaddingY} ${t.fileUploaderPaddingX};\n transition: background-color ${t.transitionDuration} ${t.transitionTimingFunction},\n border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n background-color: ${t.fileUploaderUploadButtonBg};\n `;\n },\n\n uploadButtonFocus(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorFocus};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorFocus};\n `;\n },\n\n dragOver(t: Theme) {\n return css`\n border: 1px solid ${t.fileUploaderDragOverBorderColor};\n border-radius: ${t.fileUploaderBorderRadius};\n box-shadow: ${t.fileUploaderDragOverShadow};\n `;\n },\n\n windowDragOver(t: Theme) {\n return css`\n border-radius: ${t.fileUploaderBorderRadius};\n animation: ${styles.pulse()} 1.5s infinite;\n `;\n },\n\n windowDragOver2022(t: Theme) {\n return css`\n border-radius: ${t.fileUploaderBorderRadius};\n animation: ${styles.calcPulse(t)} 1.5s infinite;\n `;\n },\n\n content() {\n return css`\n display: block;\n width: 100%;\n height: 100%;\n\n overflow: hidden;\n text-overflow: ellipsis;\n `;\n },\n\n contentWithFiles() {\n return css`\n display: flex;\n align-items: center;\n `;\n },\n\n contentInnerSmall(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeSmall} - ${t.fileUploaderIconGapSmall});\n `;\n },\n\n contentInnerMedium(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeMedium} - ${t.fileUploaderIconGapMedium});\n `;\n },\n\n contentInnerLarge(t: Theme) {\n return css`\n width: calc(100% - ${t.inputIconSizeLarge} - ${t.fileUploaderIconGapLarge});\n `;\n },\n\n fileInput() {\n return css`\n width: 0;\n height: 0;\n `;\n },\n\n afterLinkText(t: Theme) {\n return css`\n display: inline;\n color: ${t.fileUploaderAfterLinkColor};\n `;\n },\n\n afterLinkText_HasFiles(t: Theme) {\n return css`\n display: flex;\n justify-content: space-between;\n flex: 1 1 auto;\n color: ${t.fileUploaderAfterLinkColor};\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorWarning};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.fileUploaderBorderWidth} solid ${t.fileUploaderBorderColorError};\n box-shadow: 0px 0px 0px 1px ${t.fileUploaderBorderColorError};\n `;\n },\n\n hovered(t: Theme) {\n return css`\n background: ${t.fileUploaderHoveredBg};\n border-color: ${t.fileUploaderHoveredBorderColor};\n `;\n },\n\n linkHovered(t: Theme) {\n return css`\n text-decoration: ${t.fileUploaderLinkHoverTextDecoration};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n background: ${t.fileUploaderDisabledBg};\n border: ${t.fileUploaderDisabledBorder};\n color: ${t.fileUploaderDisabledTextColor};\n box-shadow: none;\n background-clip: ${t.fileUploaderDisabledBgClip};\n\n .${globalClasses.afterLinkText} {\n color: ${t.fileUploaderDisabledTextColor};\n }\n `;\n },\n\n icon(t: Theme) {\n return css`\n display: inline-block;\n position: absolute;\n color: ${t.fileUploaderIconColor};\n text-align: right;\n `;\n },\n\n iconDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledIconColor};\n `;\n },\n\n link(t: Theme) {\n return css`\n outline: none;\n text-decoration: none;\n color: ${t.fileUploaderLinkColor};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n color: ${t.fileUploaderDisabledLinkColor};\n &:hover {\n text-decoration: none;\n }\n `;\n },\n\n singleFile() {\n return css`\n width: 100%;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeSmall,\n t.fileUploaderLineHeightSmall,\n t.fileUploaderPaddingXSmall,\n t.fileUploaderPaddingYSmall,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeMedium,\n t.fileUploaderLineHeightMedium,\n t.fileUploaderPaddingXMedium,\n t.fileUploaderPaddingYMedium,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n ${fileUploaderSizeMixin(\n t.fileUploaderFontSizeLarge,\n t.fileUploaderLineHeightLarge,\n t.fileUploaderPaddingXLarge,\n t.fileUploaderPaddingYLarge,\n )};\n `;\n },\n\n iconSmall(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeSmall};\n line-height: ${t.fileUploaderLineHeightSmall};\n width: ${t.inputIconSizeSmall};\n bottom: ${t.fileUploaderPaddingYSmall};\n right: ${t.fileUploaderPaddingXSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeMedium};\n line-height: ${t.fileUploaderLineHeightMedium};\n width: ${t.inputIconSizeMedium};\n bottom: ${t.fileUploaderPaddingYMedium};\n right: ${t.fileUploaderPaddingXMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n font-size: ${t.fileUploaderFontSizeLarge};\n line-height: ${t.fileUploaderLineHeightLarge};\n width: ${t.inputIconSizeLarge};\n bottom: ${t.fileUploaderPaddingYLarge};\n right: ${t.fileUploaderPaddingXLarge};\n `;\n },\n};\n\nexport const jsStyles = memoizeStyle(styles);\n"]}
@@ -79,7 +79,8 @@ var FxInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React
79
79
  size: rest.size,
80
80
  onRestore: onRestore,
81
81
  disabled: rest.disabled,
82
- borderless: rest.borderless
82
+ borderless: rest.borderless,
83
+ "aria-label": props.buttonAriaLabel
83
84
  });
84
85
  }
85
86
 
@@ -1 +1 @@
1
- {"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","CommonWrapper","rootNode","isTheme2022","ThemeContext","MathFunctionIcon","FxInputRestoreBtn","FxInputDataTids","root","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","inputProps","align","button","inputCorners","IconFunction","theme","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","leftIcon","disabled","borderless","onValueChange","focus","blur","element","render","setRootNode","Component","__KONTUR_REACT_UI__","propTypes","bool","string"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Group } from '../Group';\nimport { Input, InputProps, InputSize } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n let inputCorners: InputProps['corners'];\n let IconFunction = <FunctionIcon />;\n\n if (isTheme2022(this.theme)) {\n inputCorners = auto ? {} : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0 };\n const iconSizes: Record<InputSize, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n }\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n disabled={rest.disabled}\n borderless={rest.borderless}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\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 if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["FxInput.tsx"],"names":["React","PropTypes","Group","Input","CurrencyInput","createPropsGetter","FunctionIcon","CommonWrapper","rootNode","isTheme2022","ThemeContext","MathFunctionIcon","FxInputRestoreBtn","FxInputDataTids","root","FxInput","input","getProps","defaultProps","renderMain","props","type","onRestore","auto","refInput","value","width","rest","inputProps","align","button","inputCorners","IconFunction","theme","borderBottomLeftRadius","borderTopLeftRadius","iconSizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","size","leftIcon","disabled","borderless","buttonAriaLabel","onValueChange","focus","blur","element","render","setRootNode","Component","__KONTUR_REACT_UI__","propTypes","bool","string"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Group } from '../Group';\nimport { Input, InputProps } from '../Input';\nimport { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';\nimport { createPropsGetter, DefaultizedProps } from '../../lib/createPropsGetter';\nimport { Override } from '../../typings/utility-types';\nimport { FunctionIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { MathFunctionIcon } from './MathFunctionIcon';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n CurrencyInputProps,\n {\n /** Авто-режим */\n auto?: boolean;\n /** Тип инпута */\n type?: 'currency' | InputProps['type'];\n /** onRestore */\n onRestore?: () => void;\n /** onValueChange */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n /** Значение */\n value?: React.ReactText;\n /** ref Input'а */\n refInput?: (element: CurrencyInput | Input | null) => void;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros?: boolean;\n /** Позвоялет задать атрибут aria-label кнопке восстановления (restore button) */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** Принимает все свойства `Input`'a */\n@rootNode\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n\n public static propTypes = {\n auto: PropTypes.bool,\n type: PropTypes.string,\n };\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n };\n\n private theme!: Theme;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>) => {\n const { type, onRestore, auto, refInput, value, width, ...rest } = props;\n const inputProps: Partial<CurrencyInputProps> = {\n align: 'right',\n };\n\n let button = null;\n let inputCorners: InputProps['corners'];\n let IconFunction = <FunctionIcon />;\n\n if (isTheme2022(this.theme)) {\n inputCorners = auto ? {} : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0 };\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.props.size || Input.defaultProps.size;\n IconFunction = <MathFunctionIcon size={iconSizes[size]} />;\n }\n\n if (auto) {\n inputProps.leftIcon = IconFunction;\n } else {\n button = (\n <FxInputRestoreBtn\n size={rest.size}\n onRestore={onRestore}\n disabled={rest.disabled}\n borderless={rest.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n }\n\n return (\n <Group data-tid={FxInputDataTids.root} width={width}>\n {button}\n {type === 'currency' ? (\n <CurrencyInput\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n ) : (\n <Input\n {...inputProps}\n {...rest}\n corners={inputCorners}\n size={this.props.size}\n width={'100%'}\n ref={this.refInput}\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n )}\n </Group>\n );\n };\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 if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n}\n"]}
@@ -1,11 +1,11 @@
1
- import React from 'react';
1
+ import React, { AriaAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Input, InputProps } from '../Input';
4
4
  import { CurrencyInput, CurrencyInputProps } from '../CurrencyInput';
5
5
  import { DefaultizedProps } from '../../lib/createPropsGetter';
6
6
  import { Override } from '../../typings/utility-types';
7
7
  import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
8
- export interface FxInputProps extends CommonProps, Override<CurrencyInputProps, {
8
+ export interface FxInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<CurrencyInputProps, {
9
9
  /** Авто-режим */
10
10
  auto?: boolean;
11
11
  /** Тип инпута */
@@ -20,6 +20,8 @@ export interface FxInputProps extends CommonProps, Override<CurrencyInputProps,
20
20
  refInput?: (element: CurrencyInput | Input | null) => void;
21
21
  /** Убрать лишние нули после запятой */
22
22
  hideTrailingZeros?: boolean;
23
+ /** Позвоялет задать атрибут aria-label кнопке восстановления (restore button) */
24
+ buttonAriaLabel?: AriaAttributes['aria-label'];
23
25
  }> {
24
26
  }
25
27
  export declare const FxInputDataTids: {
@@ -47,7 +47,8 @@ export var FxInputRestoreBtn = function FxInputRestoreBtn(props) {
47
47
  borderTopRightRadius: 0,
48
48
  borderBottomRightRadius: 0
49
49
  }, buttonCorners),
50
- icon: iconUndo
50
+ icon: iconUndo,
51
+ "aria-label": props['aria-label']
51
52
  }) : /*#__PURE__*/React.createElement(Button, {
52
53
  size: props.size,
53
54
  narrow: true,
@@ -57,6 +58,7 @@ export var FxInputRestoreBtn = function FxInputRestoreBtn(props) {
57
58
  corners: _extends({
58
59
  borderTopRightRadius: 0,
59
60
  borderBottomRightRadius: 0
60
- }, buttonCorners)
61
+ }, buttonCorners),
62
+ "aria-label": props['aria-label']
61
63
  }, iconUndo);
62
64
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["FxInputRestoreBtn.tsx"],"names":["React","useContext","Input","ThemeContext","isTheme2022","Button","UndoIcon","UndoIcon2022","FxInputRestoreBtn","props","theme","iconUndo","buttonCorners","size","defaultProps","iconSizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","cornersSizes","borderTopLeftRadius","inputBorderRadiusSmall","borderBottomLeftRadius","inputBorderRadiusMedium","inputBorderRadiusLarge","onRestore","borderless","disabled","borderTopRightRadius","borderBottomRightRadius"],"mappings":"0DAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;;AAEA,SAASC,KAAT,QAAiC,UAAjC;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,WAAT,QAA4B,gCAA5B;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,QAAT,QAAyB,2BAAzB;;AAEA,SAASA,QAAQ,IAAIC,YAArB,QAAyC,YAAzC;;;;;AAKA,OAAO,IAAMC,iBAAkE,GAAG,SAArEA,iBAAqE,CAACC,KAAD,EAAW;AAC3F,MAAMC,KAAK,GAAGT,UAAU,CAACE,YAAD,CAAxB;;AAEA,MAAIQ,QAAQ,gBAAG,oBAAC,QAAD,OAAf;AACA,MAAIC,aAAJ;;AAEA,MAAIR,WAAW,CAACM,KAAD,CAAf,EAAwB;AACtB,QAAMG,IAAI,GAAGJ,KAAK,CAACI,IAAN,IAAcX,KAAK,CAACY,YAAN,CAAmBD,IAA9C;;AAEA,QAAME,SAAoC,GAAG;AAC3CC,MAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CAD4B;AAE3CC,MAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAF2B;AAG3CC,MAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAH4B,EAA7C;;AAKA,QAAMC,YAAoD,GAAG;AAC3DP,MAAAA,KAAK,EAAE;AACLQ,QAAAA,mBAAmB,EAAEd,KAAK,CAACe,sBADtB;AAELC,QAAAA,sBAAsB,EAAEhB,KAAK,CAACe,sBAFzB,EADoD;;AAK3DN,MAAAA,MAAM,EAAE;AACNK,QAAAA,mBAAmB,EAAEd,KAAK,CAACiB,uBADrB;AAEND,QAAAA,sBAAsB,EAAEhB,KAAK,CAACiB,uBAFxB,EALmD;;AAS3DN,MAAAA,KAAK,EAAE;AACLG,QAAAA,mBAAmB,EAAEd,KAAK,CAACkB,sBADtB;AAELF,QAAAA,sBAAsB,EAAEhB,KAAK,CAACkB,sBAFzB,EAToD,EAA7D;;;AAcAhB,IAAAA,aAAa,GAAGW,YAAY,CAACV,IAAD,CAA5B;AACAF,IAAAA,QAAQ,gBAAG,oBAAC,YAAD,IAAc,IAAI,EAAEI,SAAS,CAACF,IAAD,CAA7B,GAAX;AACD;;AAED,SAAOT,WAAW,CAACM,KAAD,CAAX;AACL,sBAAC,MAAD;AACE,IAAA,IAAI,EAAED,KAAK,CAACI,IADd;AAEE,IAAA,OAAO,EAAEJ,KAAK,CAACoB,SAFjB;AAGE,IAAA,UAAU,EAAEpB,KAAK,CAACqB,UAHpB;AAIE,IAAA,QAAQ,EAAErB,KAAK,CAACsB,QAJlB;AAKE,IAAA,OAAO;AACLC,MAAAA,oBAAoB,EAAE,CADjB;AAELC,MAAAA,uBAAuB,EAAE,CAFpB;AAGFrB,IAAAA,aAHE,CALT;;AAUE,IAAA,IAAI,EAAED,QAVR,GADK;;;AAcL,sBAAC,MAAD;AACE,IAAA,IAAI,EAAEF,KAAK,CAACI,IADd;AAEE,IAAA,MAAM,MAFR;AAGE,IAAA,OAAO,EAAEJ,KAAK,CAACoB,SAHjB;AAIE,IAAA,UAAU,EAAEpB,KAAK,CAACqB,UAJpB;AAKE,IAAA,QAAQ,EAAErB,KAAK,CAACsB,QALlB;AAME,IAAA,OAAO;AACLC,MAAAA,oBAAoB,EAAE,CADjB;AAELC,MAAAA,uBAAuB,EAAE,CAFpB;AAGFrB,IAAAA,aAHE,CANT;;;AAYGD,EAAAA,QAZH,CAdF;;;AA6BD,CA7DM","sourcesContent":["import React, { useContext } from 'react';\n\nimport { Input, InputSize } from '../Input';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Button } from '../Button';\nimport { UndoIcon } from '../../internal/icons/16px';\n\nimport { UndoIcon as UndoIcon2022 } from './UndoIcon';\nimport { FxInputProps } from './FxInput';\n\ntype FxInputRestoreBtnProps = Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'>;\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n\n let iconUndo = <UndoIcon />;\n let buttonCorners;\n\n if (isTheme2022(theme)) {\n const size = props.size || Input.defaultProps.size;\n\n const iconSizes: Record<InputSize, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<InputSize, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n buttonCorners = cornersSizes[size];\n iconUndo = <UndoIcon2022 size={iconSizes[size]} />;\n }\n\n return isTheme2022(theme) ? (\n <Button\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n }}\n icon={iconUndo}\n />\n ) : (\n <Button\n size={props.size}\n narrow\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n }}\n >\n {iconUndo}\n </Button>\n );\n};\n"]}
1
+ {"version":3,"sources":["FxInputRestoreBtn.tsx"],"names":["React","useContext","Input","ThemeContext","isTheme2022","Button","UndoIcon","UndoIcon2022","FxInputRestoreBtn","props","theme","iconUndo","buttonCorners","size","defaultProps","iconSizes","small","parseInt","inputIconSizeSmall","medium","inputIconSizeMedium","large","inputIconSizeLarge","cornersSizes","borderTopLeftRadius","inputBorderRadiusSmall","borderBottomLeftRadius","inputBorderRadiusMedium","inputBorderRadiusLarge","onRestore","borderless","disabled","borderTopRightRadius","borderBottomRightRadius"],"mappings":"0DAAA,OAAOA,KAAP,IAAgCC,UAAhC,QAAkD,OAAlD;;AAEA,SAASC,KAAT,QAAsB,UAAtB;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,WAAT,QAA4B,gCAA5B;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,QAAT,QAAyB,2BAAzB;;;AAGA,SAASA,QAAQ,IAAIC,YAArB,QAAyC,YAAzC;;;;;;;AAOA,OAAO,IAAMC,iBAAkE,GAAG,SAArEA,iBAAqE,CAACC,KAAD,EAAW;AAC3F,MAAMC,KAAK,GAAGT,UAAU,CAACE,YAAD,CAAxB;;AAEA,MAAIQ,QAAQ,gBAAG,oBAAC,QAAD,OAAf;AACA,MAAIC,aAAJ;;AAEA,MAAIR,WAAW,CAACM,KAAD,CAAf,EAAwB;AACtB,QAAMG,IAAI,GAAGJ,KAAK,CAACI,IAAN,IAAcX,KAAK,CAACY,YAAN,CAAmBD,IAA9C;;AAEA,QAAME,SAAmC,GAAG;AAC1CC,MAAAA,KAAK,EAAEC,QAAQ,CAACP,KAAK,CAACQ,kBAAP,CAD2B;AAE1CC,MAAAA,MAAM,EAAEF,QAAQ,CAACP,KAAK,CAACU,mBAAP,CAF0B;AAG1CC,MAAAA,KAAK,EAAEJ,QAAQ,CAACP,KAAK,CAACY,kBAAP,CAH2B,EAA5C;;AAKA,QAAMC,YAAmD,GAAG;AAC1DP,MAAAA,KAAK,EAAE;AACLQ,QAAAA,mBAAmB,EAAEd,KAAK,CAACe,sBADtB;AAELC,QAAAA,sBAAsB,EAAEhB,KAAK,CAACe,sBAFzB,EADmD;;AAK1DN,MAAAA,MAAM,EAAE;AACNK,QAAAA,mBAAmB,EAAEd,KAAK,CAACiB,uBADrB;AAEND,QAAAA,sBAAsB,EAAEhB,KAAK,CAACiB,uBAFxB,EALkD;;AAS1DN,MAAAA,KAAK,EAAE;AACLG,QAAAA,mBAAmB,EAAEd,KAAK,CAACkB,sBADtB;AAELF,QAAAA,sBAAsB,EAAEhB,KAAK,CAACkB,sBAFzB,EATmD,EAA5D;;;AAcAhB,IAAAA,aAAa,GAAGW,YAAY,CAACV,IAAD,CAA5B;AACAF,IAAAA,QAAQ,gBAAG,oBAAC,YAAD,IAAc,IAAI,EAAEI,SAAS,CAACF,IAAD,CAA7B,GAAX;AACD;;AAED,SAAOT,WAAW,CAACM,KAAD,CAAX;AACL,sBAAC,MAAD;AACE,IAAA,IAAI,EAAED,KAAK,CAACI,IADd;AAEE,IAAA,OAAO,EAAEJ,KAAK,CAACoB,SAFjB;AAGE,IAAA,UAAU,EAAEpB,KAAK,CAACqB,UAHpB;AAIE,IAAA,QAAQ,EAAErB,KAAK,CAACsB,QAJlB;AAKE,IAAA,OAAO;AACLC,MAAAA,oBAAoB,EAAE,CADjB;AAELC,MAAAA,uBAAuB,EAAE,CAFpB;AAGFrB,IAAAA,aAHE,CALT;;AAUE,IAAA,IAAI,EAAED,QAVR;AAWE,kBAAYF,KAAK,CAAC,YAAD,CAXnB,GADK;;;AAeL,sBAAC,MAAD;AACE,IAAA,IAAI,EAAEA,KAAK,CAACI,IADd;AAEE,IAAA,MAAM,MAFR;AAGE,IAAA,OAAO,EAAEJ,KAAK,CAACoB,SAHjB;AAIE,IAAA,UAAU,EAAEpB,KAAK,CAACqB,UAJpB;AAKE,IAAA,QAAQ,EAAErB,KAAK,CAACsB,QALlB;AAME,IAAA,OAAO;AACLC,MAAAA,oBAAoB,EAAE,CADjB;AAELC,MAAAA,uBAAuB,EAAE,CAFpB;AAGFrB,IAAAA,aAHE,CANT;;AAWE,kBAAYH,KAAK,CAAC,YAAD,CAXnB;;AAaGE,EAAAA,QAbH,CAfF;;;AA+BD,CA/DM","sourcesContent":["import React, { AriaAttributes, useContext } from 'react';\n\nimport { Input } from '../Input';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Button } from '../Button';\nimport { UndoIcon } from '../../internal/icons/16px';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { UndoIcon as UndoIcon2022 } from './UndoIcon';\nimport { FxInputProps } from './FxInput';\n\ninterface FxInputRestoreBtnProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {}\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n\n let iconUndo = <UndoIcon />;\n let buttonCorners;\n\n if (isTheme2022(theme)) {\n const size = props.size || Input.defaultProps.size;\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<SizeProp, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n buttonCorners = cornersSizes[size];\n iconUndo = <UndoIcon2022 size={iconSizes[size]} />;\n }\n\n return isTheme2022(theme) ? (\n <Button\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n }}\n icon={iconUndo}\n aria-label={props['aria-label']}\n />\n ) : (\n <Button\n size={props.size}\n narrow\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n }}\n aria-label={props['aria-label']}\n >\n {iconUndo}\n </Button>\n );\n};\n"]}