@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
@@ -9,6 +9,7 @@ var _Emotion = require("../../lib/theming/Emotion");
9
9
  var _client = require("../../lib/client");
10
10
  var _getDOMRect = require("../../lib/dom/getDOMRect");
11
11
 
12
+
12
13
  var _DropdownContainer = require("./DropdownContainer.styles");
13
14
  var _getManualPosition = require("./getManualPosition");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}var
14
15
 
@@ -38,6 +39,8 @@ var _getManualPosition = require("./getManualPosition");function _getRequireWild
38
39
 
39
40
 
40
41
 
42
+
43
+
41
44
 
42
45
 
43
46
 
@@ -104,6 +107,8 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
104
107
 
105
108
 
106
109
 
110
+
111
+
107
112
 
108
113
 
109
114
 
@@ -201,7 +206,7 @@ DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsL
201
206
  left: offsetX,
202
207
  right: null };
203
208
 
204
- };_this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };return _this;}var _proto = DropdownContainer.prototype;_proto.componentDidMount = function componentDidMount() {this.position();this.layoutSub = LayoutEvents.addListener(this.position);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSub) {this.layoutSub.remove();}};_proto.render = function render() {var _cx;var style = { position: 'absolute', top: '0' };if (this.state.position) {var _this$state$position = this.state.position,top = _this$state$position.top,bottom = _this$state$position.bottom,left = _this$state$position.left,right = _this$state$position.right;style = (0, _extends2.default)({}, style, { top: top !== null ? top : undefined, bottom: bottom !== null ? bottom : undefined, left: left !== null ? left : undefined, right: right !== null ? right : undefined, minWidth: this.state.minWidth, maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined });}var content = /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: 'DropdownContainer', wrapperRef: this.ZIndexRef, style: style, className: (0, _Emotion.cx)((_cx = {}, _cx[_DropdownContainer.styles.alignRight()] = this.getProps().align === 'right' && !_client.isIE11, _cx)) }, this.props.children);return this.props.disablePortal ? content : /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, content);};return DropdownContainer;}(_react.default.PureComponent);exports.DropdownContainer = DropdownContainer;DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';DropdownContainer.defaultProps = { align: 'left', disablePortal: false, offsetX: 0, offsetY: -1 };
209
+ };_this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };return _this;}var _proto = DropdownContainer.prototype;_proto.componentDidMount = function componentDidMount() {this.position();this.layoutSub = LayoutEvents.addListener(this.position);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSub) {this.layoutSub.remove();}};_proto.render = function render() {var _cx;var style = { position: 'absolute', top: '0' };if (this.state.position) {var _this$state$position = this.state.position,top = _this$state$position.top,bottom = _this$state$position.bottom,left = _this$state$position.left,right = _this$state$position.right;style = (0, _extends2.default)({}, style, { top: top !== null ? top : undefined, bottom: bottom !== null ? bottom : undefined, left: left !== null ? left : undefined, right: right !== null ? right : undefined, minWidth: this.state.minWidth, maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined });}var content = /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { "data-tid": this.props['data-tid'], id: this.props.id, priority: 'DropdownContainer', wrapperRef: this.ZIndexRef, style: style, className: (0, _Emotion.cx)((_cx = {}, _cx[_DropdownContainer.styles.alignRight()] = this.getProps().align === 'right' && !_client.isIE11, _cx)) }, this.props.children);return this.props.disablePortal ? content : /*#__PURE__*/_react.default.createElement(_RenderContainer.RenderContainer, null, content);};return DropdownContainer;}(_react.default.PureComponent);exports.DropdownContainer = DropdownContainer;DropdownContainer.__KONTUR_REACT_UI__ = 'DropdownContainer';DropdownContainer.defaultProps = { align: 'left', disablePortal: false, offsetX: 0, offsetY: -1 };
205
210
 
206
211
 
207
212
  var getIsDocumentElementRoot = function getIsDocumentElementRoot() {
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","menuPos","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","LayoutEvents","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","id","styles","alignRight","isIE11","React","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React, { HTMLAttributes } from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { CommonProps } from '../CommonWrapper';\n\nimport { styles } from './DropdownContainer.styles';\nimport { getManualPosition, getTopAlignment } from './getManualPosition';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps\n extends Pick<CommonProps, 'data-tid'>,\n Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n align?: 'left' | 'right';\n getParent: () => Nullable<Element>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\ntype DefaultProps = Required<Pick<DropdownContainerProps, 'align' | 'disablePortal' | 'offsetY' | 'offsetX'>>;\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n data-tid={this.props['data-tid']}\n id={this.props.id}\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.getProps().align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = getDOMRect(target);\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.getProps().align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const offsetY = this.getProps().offsetY || 0;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n top = null;\n bottom = getTopAlignment({ clientHeight, offsetY, scrollY, target });\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n ...getManualPosition({ menuPos: this.props.menuPos, target, offsetY, clientHeight, scrollY }),\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.getProps().disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n return getDOMRect(child).height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n return getDOMRect(target).width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const offsetX = this.getProps().offsetX || 0;\n const offsetY = this.getProps().offsetY || 0;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = getDOMRect(target).height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
@@ -1,10 +1,10 @@
1
1
  import { FileUploaderAttachedFile } from '../fileUtils';
2
- import { FileUploaderSize } from '../../../components/FileUploader';
2
+ import { SizeProp } from '../../../lib/types/props';
3
3
  interface FileUploaderFileProps {
4
4
  file: FileUploaderAttachedFile;
5
5
  showSize?: boolean;
6
6
  multiple?: boolean;
7
- size: FileUploaderSize;
7
+ size: SizeProp;
8
8
  /** Состояние ошибки контрола файла */
9
9
  error?: boolean;
10
10
  }
@@ -15,8 +15,5 @@ export declare const FileUploaderFileDataTids: {
15
15
  readonly fileSize: "FileUploader__fileSize";
16
16
  readonly fileIcon: "FileUploader__fileIcon";
17
17
  };
18
- export declare const FileUploaderFile: {
19
- (props: FileUploaderFileProps): JSX.Element;
20
- displayName: string;
21
- };
18
+ export declare const FileUploaderFile: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, FileUploaderFileProps>;
22
19
  export {};
@@ -1,8 +1,9 @@
1
1
  "use strict";exports.__esModule = true;exports.FileUploaderFileDataTids = exports.FileUploaderFile = void 0;var _react = _interopRequireWildcard(require("react"));
2
2
 
3
+ var _forwardRefAndName = require("../../../lib/forwardRefAndName");
3
4
 
4
5
  var _utils = require("../../../lib/utils");
5
- var _TextWidthHelper = require("../../../internal/TextWidthHelper/TextWidthHelper");
6
+ var _TextWidthHelper = require("../../TextWidthHelper/TextWidthHelper");
6
7
  var _stringUtils = require("../../../lib/stringUtils");
7
8
  var _FileUploaderControlContext = require("../FileUploaderControlContext");
8
9
  var _Emotion = require("../../../lib/theming/Emotion");
@@ -13,9 +14,9 @@ var _identifiers = require("../../../lib/events/keyboard/identifiers");
13
14
  var _Hint = require("../../../components/Hint");
14
15
  var _Tooltip = require("../../../components/Tooltip");
15
16
  var _getDOMRect = require("../../../lib/dom/getDOMRect");
16
-
17
17
  var _useFileUploaderSize = require("../hooks/useFileUploaderSize");
18
18
 
19
+
19
20
  var _FileUploaderFile = require("./FileUploaderFile.styles");
20
21
  var _FileUploaderFileStatusIcon = require("./FileUploaderFileStatusIcon");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
21
22
 
@@ -64,7 +65,9 @@ var FileUploaderFileDataTids = {
64
65
  fileIcon: 'FileUploader__fileIcon' };exports.FileUploaderFileDataTids = FileUploaderFileDataTids;
65
66
 
66
67
 
67
- var FileUploaderFile = function FileUploaderFile(props) {var _cx, _cx2;
68
+ var FileUploaderFile = (0, _forwardRefAndName.forwardRefAndName)(
69
+ 'FileUploaderFile',
70
+ function (props, ref) {var _cx, _cx2;
68
71
  var file = props.file,showSize = props.showSize,error = props.error,multiple = props.multiple,size = props.size;
69
72
  var id = file.id,originalFile = file.originalFile,status = file.status,validationResult = file.validationResult;
70
73
  var name = originalFile.name,fileSize = originalFile.size;
@@ -177,7 +180,8 @@ var FileUploaderFile = function FileUploaderFile(props) {var _cx, _cx2;
177
180
  "data-tid": FileUploaderFileDataTids.file,
178
181
  className: _FileUploaderFile.jsStyles.root(),
179
182
  onMouseEnter: handleMouseEnter,
180
- onMouseLeave: handleMouseLeave }, /*#__PURE__*/
183
+ onMouseLeave: handleMouseLeave,
184
+ ref: ref }, /*#__PURE__*/
181
185
 
182
186
  _react.default.createElement(_Tooltip.Tooltip, { "data-tid": FileUploaderFileDataTids.fileTooltip, pos: "right middle", render: renderTooltipContent }, /*#__PURE__*/
183
187
  _react.default.createElement("div", { className: contentClassNames }, /*#__PURE__*/
@@ -213,6 +217,4 @@ var FileUploaderFile = function FileUploaderFile(props) {var _cx, _cx2;
213
217
 
214
218
 
215
219
 
216
- };exports.FileUploaderFile = FileUploaderFile;
217
-
218
- FileUploaderFile.displayName = 'FileUploaderFile';
220
+ });exports.FileUploaderFile = FileUploaderFile;
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploaderFile.tsx"],"names":["getTruncatedName","fileNameWidth","fileNameElementWidth","name","charWidth","Math","ceil","length","maxCharsCountInSpan","calcTruncatedName","textHelperRef","fileNameElementRef","current","getTextWidth","width","MIN_CHARS_LENGTH","FileUploaderFileDataTids","file","fileTooltip","fileName","fileSize","fileIcon","FileUploaderFile","props","showSize","error","multiple","size","id","originalFile","status","validationResult","hovered","setHovered","focusedByTab","setFocusedByTab","truncatedFileName","setTruncatedFileName","FileUploaderControlContext","removeFile","setIsMinLengthReached","isMinLengthReached","theme","ThemeContext","formattedSize","truncatedName","removeUploadFile","handleRemove","event","preventDefault","stopPropagation","isValid","message","isInvalid","sizeIconClass","small","jsStyles","iconSmall","medium","iconMedium","large","iconLarge","renderTooltipContent","sizeContentClass","contentSmall","contentMedium","contentLarge","contentClassNames","content","handleMouseEnter","handleMouseLeave","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","handleIconKeyDown","e","iconClassNames","icon","focusedIcon","iconMultiple","isTruncated","root","displayName"],"mappings":"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","sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { formatBytes } from '../../../lib/utils';\nimport { TextWidthHelper } from '../../../internal/TextWidthHelper/TextWidthHelper';\nimport { truncate } from '../../../lib/stringUtils';\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { keyListener } from '../../../lib/events/keyListener';\nimport { isKeyEnter } from '../../../lib/events/keyboard/identifiers';\nimport { Nullable } from '../../../typings/utility-types';\nimport { Hint } from '../../../components/Hint';\nimport { Tooltip } from '../../../components/Tooltip';\nimport { getDOMRect } from '../../../lib/dom/getDOMRect';\nimport { FileUploaderSize } from '../../../components/FileUploader';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\n\nimport { jsStyles } from './FileUploaderFile.styles';\nimport { FileUploaderFileStatusIcon } from './FileUploaderFileStatusIcon';\n\ninterface FileUploaderFileProps {\n file: FileUploaderAttachedFile;\n showSize?: boolean;\n multiple?: boolean;\n size: FileUploaderSize;\n /** Состояние ошибки контрола файла */\n error?: boolean;\n}\n\nconst getTruncatedName = (fileNameWidth: number, fileNameElementWidth: number, name: string) => {\n if (!fileNameWidth && !fileNameElementWidth) {\n return null;\n }\n\n if (fileNameWidth <= fileNameElementWidth) {\n return name;\n }\n\n const charWidth = Math.ceil(fileNameWidth / name.length);\n const maxCharsCountInSpan = Math.ceil(fileNameElementWidth / charWidth);\n\n return truncate(name, maxCharsCountInSpan);\n};\n\nconst calcTruncatedName = (\n textHelperRef: React.RefObject<TextWidthHelper>,\n fileNameElementRef: React.RefObject<HTMLSpanElement>,\n name: string,\n) => {\n const fileNameWidth = textHelperRef.current?.getTextWidth() || 0;\n const fileNameElementWidth = getDOMRect(fileNameElementRef.current).width;\n\n return getTruncatedName(fileNameWidth, fileNameElementWidth, name);\n};\n\nconst MIN_CHARS_LENGTH = 3;\n\nexport const FileUploaderFileDataTids = {\n file: 'FileUploader__file',\n fileTooltip: 'FileUploader__fileTooltip',\n fileName: 'FileUploader__fileName',\n fileSize: 'FileUploader__fileSize',\n fileIcon: 'FileUploader__fileIcon',\n} as const;\n\nexport const FileUploaderFile = (props: FileUploaderFileProps) => {\n const { file, showSize, error, multiple, size } = props;\n const { id, originalFile, status, validationResult } = file;\n const { name, size: fileSize } = originalFile;\n\n const [hovered, setHovered] = useState<boolean>(false);\n const [focusedByTab, setFocusedByTab] = useState(false);\n const [truncatedFileName, setTruncatedFileName] = useState<Nullable<string>>(null);\n\n const textHelperRef = useRef<TextWidthHelper>(null);\n const fileNameElementRef = useRef<HTMLSpanElement>(null);\n\n const { removeFile, setIsMinLengthReached, isMinLengthReached } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const formattedSize = useMemo(() => formatBytes(fileSize, 1), [fileSize]);\n\n useEffect(() => {\n if (setIsMinLengthReached) {\n const truncatedName = calcTruncatedName(textHelperRef, fileNameElementRef, name);\n\n setIsMinLengthReached((truncatedName?.length ?? 0) <= MIN_CHARS_LENGTH);\n }\n }, [name, isMinLengthReached]);\n\n useEffect(() => {\n const truncatedName = calcTruncatedName(textHelperRef, fileNameElementRef, name);\n\n setTruncatedFileName(truncatedName);\n });\n\n const removeUploadFile = useCallback(() => {\n removeFile(id);\n }, [removeFile, id]);\n\n const handleRemove = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n event.preventDefault();\n event.stopPropagation();\n removeUploadFile();\n },\n [removeUploadFile],\n );\n\n const { isValid, message } = validationResult;\n\n const isInvalid = error || !isValid;\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(),\n medium: jsStyles.iconMedium(),\n large: jsStyles.iconLarge(),\n });\n\n const renderTooltipContent = useCallback((): ReactNode => {\n return !isValid && !error && message ? message : null;\n }, [isValid, error, message]);\n\n const sizeContentClass = useFileUploaderSize(size, {\n small: jsStyles.contentSmall(theme),\n medium: jsStyles.contentMedium(theme),\n large: jsStyles.contentLarge(theme),\n });\n\n const contentClassNames = cx(jsStyles.content(), {\n [sizeContentClass]: true,\n [jsStyles.error(theme)]: isInvalid,\n });\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const handleFocus = useCallback(() => {\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 }, []);\n\n const handleBlur = useCallback(() => {\n setFocusedByTab(false);\n }, []);\n\n const handleIconKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEnter(e)) {\n removeUploadFile();\n }\n },\n [removeUploadFile],\n );\n\n const iconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.focusedIcon(theme)]: focusedByTab,\n [sizeIconClass]: true,\n [jsStyles.iconMultiple()]: multiple,\n });\n\n const isTruncated = truncatedFileName !== name;\n\n return (\n <div\n data-tid={FileUploaderFileDataTids.file}\n className={jsStyles.root()}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <Tooltip data-tid={FileUploaderFileDataTids.fileTooltip} pos=\"right middle\" render={renderTooltipContent}>\n <div className={contentClassNames}>\n <TextWidthHelper ref={textHelperRef} text={name} />\n <Hint maxWidth={'100%'} text={isTruncated ? name : null}>\n <span data-tid={FileUploaderFileDataTids.fileName} ref={fileNameElementRef} className={jsStyles.name()}>\n {truncatedFileName}\n </span>\n </Hint>\n {!!showSize && formattedSize && (\n <span data-tid={FileUploaderFileDataTids.fileSize} className={jsStyles.size()}>\n {formattedSize}\n </span>\n )}\n <div\n className={iconClassNames}\n data-tid={FileUploaderFileDataTids.fileIcon}\n tabIndex={0}\n onClick={handleRemove}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleIconKeyDown}\n >\n <FileUploaderFileStatusIcon\n status={status}\n hovered={hovered}\n focusedByTab={focusedByTab}\n isInvalid={isInvalid}\n size={size}\n />\n </div>\n </div>\n </Tooltip>\n </div>\n );\n};\n\nFileUploaderFile.displayName = 'FileUploaderFile';\n"]}
1
+ {"version":3,"sources":["FileUploaderFile.tsx"],"names":["getTruncatedName","fileNameWidth","fileNameElementWidth","name","charWidth","Math","ceil","length","maxCharsCountInSpan","calcTruncatedName","textHelperRef","fileNameElementRef","current","getTextWidth","width","MIN_CHARS_LENGTH","FileUploaderFileDataTids","file","fileTooltip","fileName","fileSize","fileIcon","FileUploaderFile","props","ref","showSize","error","multiple","size","id","originalFile","status","validationResult","hovered","setHovered","focusedByTab","setFocusedByTab","truncatedFileName","setTruncatedFileName","FileUploaderControlContext","removeFile","setIsMinLengthReached","isMinLengthReached","theme","ThemeContext","formattedSize","truncatedName","removeUploadFile","handleRemove","event","preventDefault","stopPropagation","isValid","message","isInvalid","sizeIconClass","small","jsStyles","iconSmall","medium","iconMedium","large","iconLarge","renderTooltipContent","sizeContentClass","contentSmall","contentMedium","contentLarge","contentClassNames","content","handleMouseEnter","handleMouseLeave","handleFocus","requestAnimationFrame","keyListener","isTabPressed","handleBlur","handleIconKeyDown","e","iconClassNames","icon","focusedIcon","iconMultiple","isTruncated","root"],"mappings":"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","sourcesContent":["import React, { ReactNode, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName';\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { formatBytes } from '../../../lib/utils';\nimport { TextWidthHelper } from '../../TextWidthHelper/TextWidthHelper';\nimport { truncate } from '../../../lib/stringUtils';\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { keyListener } from '../../../lib/events/keyListener';\nimport { isKeyEnter } from '../../../lib/events/keyboard/identifiers';\nimport { Nullable } from '../../../typings/utility-types';\nimport { Hint } from '../../../components/Hint';\nimport { Tooltip } from '../../../components/Tooltip';\nimport { getDOMRect } from '../../../lib/dom/getDOMRect';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { jsStyles } from './FileUploaderFile.styles';\nimport { FileUploaderFileStatusIcon } from './FileUploaderFileStatusIcon';\n\ninterface FileUploaderFileProps {\n file: FileUploaderAttachedFile;\n showSize?: boolean;\n multiple?: boolean;\n size: SizeProp;\n /** Состояние ошибки контрола файла */\n error?: boolean;\n}\n\nconst getTruncatedName = (fileNameWidth: number, fileNameElementWidth: number, name: string) => {\n if (!fileNameWidth && !fileNameElementWidth) {\n return null;\n }\n\n if (fileNameWidth <= fileNameElementWidth) {\n return name;\n }\n\n const charWidth = Math.ceil(fileNameWidth / name.length);\n const maxCharsCountInSpan = Math.ceil(fileNameElementWidth / charWidth);\n\n return truncate(name, maxCharsCountInSpan);\n};\n\nconst calcTruncatedName = (\n textHelperRef: React.RefObject<TextWidthHelper>,\n fileNameElementRef: React.RefObject<HTMLSpanElement>,\n name: string,\n) => {\n const fileNameWidth = textHelperRef.current?.getTextWidth() || 0;\n const fileNameElementWidth = getDOMRect(fileNameElementRef.current).width;\n\n return getTruncatedName(fileNameWidth, fileNameElementWidth, name);\n};\n\nconst MIN_CHARS_LENGTH = 3;\n\nexport const FileUploaderFileDataTids = {\n file: 'FileUploader__file',\n fileTooltip: 'FileUploader__fileTooltip',\n fileName: 'FileUploader__fileName',\n fileSize: 'FileUploader__fileSize',\n fileIcon: 'FileUploader__fileIcon',\n} as const;\n\nexport const FileUploaderFile = forwardRefAndName<HTMLDivElement, FileUploaderFileProps>(\n 'FileUploaderFile',\n (props, ref) => {\n const { file, showSize, error, multiple, size } = props;\n const { id, originalFile, status, validationResult } = file;\n const { name, size: fileSize } = originalFile;\n\n const [hovered, setHovered] = useState<boolean>(false);\n const [focusedByTab, setFocusedByTab] = useState(false);\n const [truncatedFileName, setTruncatedFileName] = useState<Nullable<string>>(null);\n\n const textHelperRef = useRef<TextWidthHelper>(null);\n const fileNameElementRef = useRef<HTMLSpanElement>(null);\n\n const { removeFile, setIsMinLengthReached, isMinLengthReached } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const formattedSize = useMemo(() => formatBytes(fileSize, 1), [fileSize]);\n\n useEffect(() => {\n if (setIsMinLengthReached) {\n const truncatedName = calcTruncatedName(textHelperRef, fileNameElementRef, name);\n\n setIsMinLengthReached((truncatedName?.length ?? 0) <= MIN_CHARS_LENGTH);\n }\n }, [name, isMinLengthReached]);\n\n useEffect(() => {\n const truncatedName = calcTruncatedName(textHelperRef, fileNameElementRef, name);\n\n setTruncatedFileName(truncatedName);\n });\n\n const removeUploadFile = useCallback(() => {\n removeFile(id);\n }, [removeFile, id]);\n\n const handleRemove = useCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n event.preventDefault();\n event.stopPropagation();\n removeUploadFile();\n },\n [removeUploadFile],\n );\n\n const { isValid, message } = validationResult;\n\n const isInvalid = error || !isValid;\n\n const sizeIconClass = useFileUploaderSize(size, {\n small: jsStyles.iconSmall(),\n medium: jsStyles.iconMedium(),\n large: jsStyles.iconLarge(),\n });\n\n const renderTooltipContent = useCallback((): ReactNode => {\n return !isValid && !error && message ? message : null;\n }, [isValid, error, message]);\n\n const sizeContentClass = useFileUploaderSize(size, {\n small: jsStyles.contentSmall(theme),\n medium: jsStyles.contentMedium(theme),\n large: jsStyles.contentLarge(theme),\n });\n\n const contentClassNames = cx(jsStyles.content(), {\n [sizeContentClass]: true,\n [jsStyles.error(theme)]: isInvalid,\n });\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const handleFocus = useCallback(() => {\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 }, []);\n\n const handleBlur = useCallback(() => {\n setFocusedByTab(false);\n }, []);\n\n const handleIconKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n if (isKeyEnter(e)) {\n removeUploadFile();\n }\n },\n [removeUploadFile],\n );\n\n const iconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.focusedIcon(theme)]: focusedByTab,\n [sizeIconClass]: true,\n [jsStyles.iconMultiple()]: multiple,\n });\n\n const isTruncated = truncatedFileName !== name;\n\n return (\n <div\n data-tid={FileUploaderFileDataTids.file}\n className={jsStyles.root()}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n ref={ref}\n >\n <Tooltip data-tid={FileUploaderFileDataTids.fileTooltip} pos=\"right middle\" render={renderTooltipContent}>\n <div className={contentClassNames}>\n <TextWidthHelper ref={textHelperRef} text={name} />\n <Hint maxWidth={'100%'} text={isTruncated ? name : null}>\n <span data-tid={FileUploaderFileDataTids.fileName} ref={fileNameElementRef} className={jsStyles.name()}>\n {truncatedFileName}\n </span>\n </Hint>\n {!!showSize && formattedSize && (\n <span data-tid={FileUploaderFileDataTids.fileSize} className={jsStyles.size()}>\n {formattedSize}\n </span>\n )}\n <div\n className={iconClassNames}\n data-tid={FileUploaderFileDataTids.fileIcon}\n tabIndex={0}\n onClick={handleRemove}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleIconKeyDown}\n >\n <FileUploaderFileStatusIcon\n status={status}\n hovered={hovered}\n focusedByTab={focusedByTab}\n isInvalid={isInvalid}\n size={size}\n />\n </div>\n </div>\n </Tooltip>\n </div>\n );\n },\n);\n"]}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FileUploaderFileStatus } from '../fileUtils';
3
- import { FileUploaderSize } from '../../../components/FileUploader';
3
+ import { SizeProp } from '../../../lib/types/props';
4
4
  interface FileUploaderFileStatusIconProps {
5
5
  hovered: boolean;
6
6
  focusedByTab: boolean;
7
7
  isInvalid: boolean;
8
8
  status: FileUploaderFileStatus;
9
- size: FileUploaderSize;
9
+ size: SizeProp;
10
10
  }
11
11
  export declare const FileUploaderFileStatusIcon: React.FunctionComponent<FileUploaderFileStatusIconProps>;
12
12
  export {};
@@ -4,9 +4,9 @@ var _ThemeContext = require("../../../lib/theming/ThemeContext");
4
4
  var _ThemeHelpers = require("../../../lib/theming/ThemeHelpers");
5
5
  var _px = require("../../icons/16px");
6
6
  var _fileUtils = require("../fileUtils");
7
-
8
7
  var _LoadingIcon = require("../../icons2022/LoadingIcon");
9
8
 
9
+
10
10
  var _DeleteIcon = require("./DeleteIcon");
11
11
  var _ErrorIcon = require("./ErrorIcon");
12
12
  var _OkIcon = require("./OkIcon");
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploaderFileStatusIcon.tsx"],"names":["FileUploaderFileStatusIcon","hovered","focusedByTab","isInvalid","status","size","theme","ThemeContext","IconDelete","jsStyles","deleteIcon","IconError","IconOk","fileUploaderIconColor","FileUploaderFileStatus","Loading","Uploaded"],"mappings":"mFAAA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,6D;;;;;;;;;;AAUO,IAAMA,0BAAoF,GAAG,SAAvFA,0BAAuF;;;;;;AAM9F,KALJC,OAKI,QALJA,OAKI,CAJJC,YAII,QAJJA,YAII,CAHJC,SAGI,QAHJA,SAGI,CAFJC,MAEI,QAFJA,MAEI,CADJC,IACI,QADJA,IACI;AACJ,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAIC,UAAU,gBAAG,6BAAC,cAAD,IAAY,SAAS,EAAEC,2BAASC,UAAT,CAAoBJ,KAApB,CAAvB,GAAjB;AACA,MAAIK,SAAS,gBAAG,6BAAC,aAAD,OAAhB;AACA,MAAIC,MAAM,gBAAG,6BAAC,UAAD,IAAQ,KAAK,EAAEN,KAAK,CAACO,qBAArB,GAAb;;AAEA,MAAI,+BAAYP,KAAZ,CAAJ,EAAwB;AACtBE,IAAAA,UAAU,gBAAG,6BAAC,sBAAD,IAAgB,IAAI,EAAEH,IAAtB,EAA4B,SAAS,EAAEI,2BAASC,UAAT,CAAoBJ,KAApB,CAAvC,GAAb;AACAK,IAAAA,SAAS,gBAAG,6BAAC,oBAAD,IAAe,IAAI,EAAEN,IAArB,GAAZ;AACAO,IAAAA,MAAM,gBAAG,6BAAC,cAAD,IAAY,IAAI,EAAEP,IAAlB,EAAwB,KAAK,EAAEC,KAAK,CAACO,qBAArC,GAAT;AACD;;AAED,MAAIZ,OAAO,IAAIC,YAAf,EAA6B;AAC3B,WAAOM,UAAP;AACD;;AAED,MAAIL,SAAJ,EAAe;AACb,WAAOQ,SAAP;AACD;;AAED,UAAQP,MAAR;AACE,SAAKU,kCAAuBC,OAA5B;AACE,0BAAO,6BAAC,wBAAD,IAAa,IAAI,EAAEV,IAAnB,GAAP;AACF,SAAKS,kCAAuBE,QAA5B;AACE,aAAOJ,MAAP;AACF;AACE,aAAOJ,UAAP,CANJ;;AAQD,CAnCM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../../lib/theming/ThemeHelpers';\nimport { DeleteIcon, ErrorIcon, OkIcon } from '../../icons/16px';\nimport { FileUploaderFileStatus } from '../fileUtils';\nimport { FileUploaderSize } from '../../../components/FileUploader';\nimport { LoadingIcon } from '../../icons2022/LoadingIcon';\n\nimport { DeleteIcon as DeleteIcon2022 } from './DeleteIcon';\nimport { ErrorIcon as ErrorIcon2022 } from './ErrorIcon';\nimport { OkIcon as OkIcon2022 } from './OkIcon';\nimport { jsStyles } from './FileUploaderFile.styles';\n\ninterface FileUploaderFileStatusIconProps {\n hovered: boolean;\n focusedByTab: boolean;\n isInvalid: boolean;\n status: FileUploaderFileStatus;\n size: FileUploaderSize;\n}\n\nexport const FileUploaderFileStatusIcon: React.FunctionComponent<FileUploaderFileStatusIconProps> = ({\n hovered,\n focusedByTab,\n isInvalid,\n status,\n size,\n}) => {\n const theme = useContext(ThemeContext);\n\n let IconDelete = <DeleteIcon className={jsStyles.deleteIcon(theme)} />;\n let IconError = <ErrorIcon />;\n let IconOk = <OkIcon color={theme.fileUploaderIconColor} />;\n\n if (isTheme2022(theme)) {\n IconDelete = <DeleteIcon2022 size={size} className={jsStyles.deleteIcon(theme)} />;\n IconError = <ErrorIcon2022 size={size} />;\n IconOk = <OkIcon2022 size={size} color={theme.fileUploaderIconColor} />;\n }\n\n if (hovered || focusedByTab) {\n return IconDelete;\n }\n\n if (isInvalid) {\n return IconError;\n }\n\n switch (status) {\n case FileUploaderFileStatus.Loading:\n return <LoadingIcon size={size} />;\n case FileUploaderFileStatus.Uploaded:\n return IconOk;\n default:\n return IconDelete;\n }\n};\n"]}
1
+ {"version":3,"sources":["FileUploaderFileStatusIcon.tsx"],"names":["FileUploaderFileStatusIcon","hovered","focusedByTab","isInvalid","status","size","theme","ThemeContext","IconDelete","jsStyles","deleteIcon","IconError","IconOk","fileUploaderIconColor","FileUploaderFileStatus","Loading","Uploaded"],"mappings":"mFAAA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,6D;;;;;;;;;;AAUO,IAAMA,0BAAoF,GAAG,SAAvFA,0BAAuF;;;;;;AAM9F,KALJC,OAKI,QALJA,OAKI,CAJJC,YAII,QAJJA,YAII,CAHJC,SAGI,QAHJA,SAGI,CAFJC,MAEI,QAFJA,MAEI,CADJC,IACI,QADJA,IACI;AACJ,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAIC,UAAU,gBAAG,6BAAC,cAAD,IAAY,SAAS,EAAEC,2BAASC,UAAT,CAAoBJ,KAApB,CAAvB,GAAjB;AACA,MAAIK,SAAS,gBAAG,6BAAC,aAAD,OAAhB;AACA,MAAIC,MAAM,gBAAG,6BAAC,UAAD,IAAQ,KAAK,EAAEN,KAAK,CAACO,qBAArB,GAAb;;AAEA,MAAI,+BAAYP,KAAZ,CAAJ,EAAwB;AACtBE,IAAAA,UAAU,gBAAG,6BAAC,sBAAD,IAAgB,IAAI,EAAEH,IAAtB,EAA4B,SAAS,EAAEI,2BAASC,UAAT,CAAoBJ,KAApB,CAAvC,GAAb;AACAK,IAAAA,SAAS,gBAAG,6BAAC,oBAAD,IAAe,IAAI,EAAEN,IAArB,GAAZ;AACAO,IAAAA,MAAM,gBAAG,6BAAC,cAAD,IAAY,IAAI,EAAEP,IAAlB,EAAwB,KAAK,EAAEC,KAAK,CAACO,qBAArC,GAAT;AACD;;AAED,MAAIZ,OAAO,IAAIC,YAAf,EAA6B;AAC3B,WAAOM,UAAP;AACD;;AAED,MAAIL,SAAJ,EAAe;AACb,WAAOQ,SAAP;AACD;;AAED,UAAQP,MAAR;AACE,SAAKU,kCAAuBC,OAA5B;AACE,0BAAO,6BAAC,wBAAD,IAAa,IAAI,EAAEV,IAAnB,GAAP;AACF,SAAKS,kCAAuBE,QAA5B;AACE,aAAOJ,MAAP;AACF;AACE,aAAOJ,UAAP,CANJ;;AAQD,CAnCM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { isTheme2022 } from '../../../lib/theming/ThemeHelpers';\nimport { DeleteIcon, ErrorIcon, OkIcon } from '../../icons/16px';\nimport { FileUploaderFileStatus } from '../fileUtils';\nimport { LoadingIcon } from '../../icons2022/LoadingIcon';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { DeleteIcon as DeleteIcon2022 } from './DeleteIcon';\nimport { ErrorIcon as ErrorIcon2022 } from './ErrorIcon';\nimport { OkIcon as OkIcon2022 } from './OkIcon';\nimport { jsStyles } from './FileUploaderFile.styles';\n\ninterface FileUploaderFileStatusIconProps {\n hovered: boolean;\n focusedByTab: boolean;\n isInvalid: boolean;\n status: FileUploaderFileStatus;\n size: SizeProp;\n}\n\nexport const FileUploaderFileStatusIcon: React.FunctionComponent<FileUploaderFileStatusIconProps> = ({\n hovered,\n focusedByTab,\n isInvalid,\n status,\n size,\n}) => {\n const theme = useContext(ThemeContext);\n\n let IconDelete = <DeleteIcon className={jsStyles.deleteIcon(theme)} />;\n let IconError = <ErrorIcon />;\n let IconOk = <OkIcon color={theme.fileUploaderIconColor} />;\n\n if (isTheme2022(theme)) {\n IconDelete = <DeleteIcon2022 size={size} className={jsStyles.deleteIcon(theme)} />;\n IconError = <ErrorIcon2022 size={size} />;\n IconOk = <OkIcon2022 size={size} color={theme.fileUploaderIconColor} />;\n }\n\n if (hovered || focusedByTab) {\n return IconDelete;\n }\n\n if (isInvalid) {\n return IconError;\n }\n\n switch (status) {\n case FileUploaderFileStatus.Loading:\n return <LoadingIcon size={size} />;\n case FileUploaderFileStatus.Uploaded:\n return IconOk;\n default:\n return IconDelete;\n }\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { FileUploaderAttachedFile } from '../fileUtils';
3
- import { FileUploaderSize } from '../../../components/FileUploader';
3
+ import { SizeProp } from '../../../lib/types/props';
4
4
  interface FileUploaderFileListProps {
5
5
  renderFile: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;
6
- size: FileUploaderSize;
6
+ size: SizeProp;
7
7
  }
8
8
  export declare const FileUploaderFileDataTids: {
9
9
  readonly fileList: "FileUploader__fileList";
@@ -4,10 +4,10 @@ var _FileUploaderControlContext = require("../FileUploaderControlContext");
4
4
  var _ThemeContext = require("../../../lib/theming/ThemeContext");
5
5
  var _FileUploaderFile = require("../FileUploaderFile/FileUploaderFile");
6
6
 
7
-
8
7
  var _Emotion = require("../../../lib/theming/Emotion");
9
8
  var _useFileUploaderSize = require("../hooks/useFileUploaderSize");
10
9
 
10
+
11
11
  var _FileUploaderFileList = require("./FileUploaderFileList.styles");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
12
12
 
13
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["FileUploaderFileList.tsx"],"names":["FileUploaderFileDataTids","fileList","FileUploaderFileList","props","renderFile","size","FileUploaderControlContext","files","theme","ThemeContext","fileWrapperClass","small","jsStyles","fileWrapperSmall","medium","fileWrapperMedium","large","fileWrapperLarge","map","file","id","fileWrapper","displayName"],"mappings":"gHAAA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA,qE;;;;;;;AAOO,IAAMA,wBAAwB,GAAG;AACtCC,EAAAA,QAAQ,EAAE,wBAD4B,EAAjC,C;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACxE,MAAQC,UAAR,GAA6BD,KAA7B,CAAQC,UAAR,CAAoBC,IAApB,GAA6BF,KAA7B,CAAoBE,IAApB;AACA,oBAAkB,uBAAWC,sDAAX,CAAlB,CAAQC,KAAR,eAAQA,KAAR;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,gBAAgB,GAAG,8CAAoBL,IAApB,EAA0B;AACjDM,IAAAA,KAAK,EAAEC,+BAASC,gBAAT,CAA0BL,KAA1B,CAD0C;AAEjDM,IAAAA,MAAM,EAAEF,+BAASG,iBAAT,CAA2BP,KAA3B,CAFyC;AAGjDQ,IAAAA,KAAK,EAAEJ,+BAASK,gBAAT,CAA0BT,KAA1B,CAH0C,EAA1B,CAAzB;;;AAMA;AACE,0CAAK,YAAUR,wBAAwB,CAACC,QAAxC;AACGM,IAAAA,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD;AACT,8CAAK,GAAG,EAAEA,IAAI,CAACC,EAAf,EAAmB,SAAS,EAAE,iBAAGR,+BAASS,WAAT,CAAqBb,KAArB,CAAH,EAAgCE,gBAAhC,CAA9B;AACE,8CAAK,SAAS,EAAEE,+BAASO,IAAT,EAAhB;AACGf,QAAAA,UAAU,CAACe,IAAD,eAAO,6BAAC,kCAAD,IAAkB,IAAI,EAAEA,IAAxB,EAA8B,QAAQ,MAAtC,EAAuC,QAAQ,MAA/C,EAAgD,IAAI,EAAEd,IAAtD,GAAP,CADb,CADF,CADS,GAAV,CADH,CADF;;;;;;AAWD,CAtBM,C;;AAwBPH,oBAAoB,CAACoB,WAArB,GAAmC,sBAAnC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { FileUploaderFile } from '../FileUploaderFile/FileUploaderFile';\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { FileUploaderSize } from '../../../components/FileUploader';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\n\nimport { jsStyles } from './FileUploaderFileList.styles';\n\ninterface FileUploaderFileListProps {\n renderFile: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n size: FileUploaderSize;\n}\n\nexport const FileUploaderFileDataTids = {\n fileList: 'FileUploader__fileList',\n} as const;\n\nexport const FileUploaderFileList = (props: FileUploaderFileListProps) => {\n const { renderFile, size } = props;\n const { files } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const fileWrapperClass = useFileUploaderSize(size, {\n small: jsStyles.fileWrapperSmall(theme),\n medium: jsStyles.fileWrapperMedium(theme),\n large: jsStyles.fileWrapperLarge(theme),\n });\n\n return (\n <div data-tid={FileUploaderFileDataTids.fileList}>\n {files.map((file) => (\n <div key={file.id} className={cx(jsStyles.fileWrapper(theme), fileWrapperClass)}>\n <div className={jsStyles.file()}>\n {renderFile(file, <FileUploaderFile file={file} showSize multiple size={size} />)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nFileUploaderFileList.displayName = 'FileUploaderFileList';\n"]}
1
+ {"version":3,"sources":["FileUploaderFileList.tsx"],"names":["FileUploaderFileDataTids","fileList","FileUploaderFileList","props","renderFile","size","FileUploaderControlContext","files","theme","ThemeContext","fileWrapperClass","small","jsStyles","fileWrapperSmall","medium","fileWrapperMedium","large","fileWrapperLarge","map","file","id","fileWrapper","displayName"],"mappings":"gHAAA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA,qE;;;;;;;AAOO,IAAMA,wBAAwB,GAAG;AACtCC,EAAAA,QAAQ,EAAE,wBAD4B,EAAjC,C;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAsC;AACxE,MAAQC,UAAR,GAA6BD,KAA7B,CAAQC,UAAR,CAAoBC,IAApB,GAA6BF,KAA7B,CAAoBE,IAApB;AACA,oBAAkB,uBAAWC,sDAAX,CAAlB,CAAQC,KAAR,eAAQA,KAAR;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,gBAAgB,GAAG,8CAAoBL,IAApB,EAA0B;AACjDM,IAAAA,KAAK,EAAEC,+BAASC,gBAAT,CAA0BL,KAA1B,CAD0C;AAEjDM,IAAAA,MAAM,EAAEF,+BAASG,iBAAT,CAA2BP,KAA3B,CAFyC;AAGjDQ,IAAAA,KAAK,EAAEJ,+BAASK,gBAAT,CAA0BT,KAA1B,CAH0C,EAA1B,CAAzB;;;AAMA;AACE,0CAAK,YAAUR,wBAAwB,CAACC,QAAxC;AACGM,IAAAA,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD;AACT,8CAAK,GAAG,EAAEA,IAAI,CAACC,EAAf,EAAmB,SAAS,EAAE,iBAAGR,+BAASS,WAAT,CAAqBb,KAArB,CAAH,EAAgCE,gBAAhC,CAA9B;AACE,8CAAK,SAAS,EAAEE,+BAASO,IAAT,EAAhB;AACGf,QAAAA,UAAU,CAACe,IAAD,eAAO,6BAAC,kCAAD,IAAkB,IAAI,EAAEA,IAAxB,EAA8B,QAAQ,MAAtC,EAAuC,QAAQ,MAA/C,EAAgD,IAAI,EAAEd,IAAtD,GAAP,CADb,CADF,CADS,GAAV,CADH,CADF;;;;;;AAWD,CAtBM,C;;AAwBPH,oBAAoB,CAACoB,WAArB,GAAmC,sBAAnC","sourcesContent":["import React, { useContext } from 'react';\n\nimport { FileUploaderControlContext } from '../FileUploaderControlContext';\nimport { ThemeContext } from '../../../lib/theming/ThemeContext';\nimport { FileUploaderFile } from '../FileUploaderFile/FileUploaderFile';\nimport { FileUploaderAttachedFile } from '../fileUtils';\nimport { cx } from '../../../lib/theming/Emotion';\nimport { useFileUploaderSize } from '../hooks/useFileUploaderSize';\nimport { SizeProp } from '../../../lib/types/props';\n\nimport { jsStyles } from './FileUploaderFileList.styles';\n\ninterface FileUploaderFileListProps {\n renderFile: (file: FileUploaderAttachedFile, fileNode: React.ReactElement) => React.ReactNode;\n size: SizeProp;\n}\n\nexport const FileUploaderFileDataTids = {\n fileList: 'FileUploader__fileList',\n} as const;\n\nexport const FileUploaderFileList = (props: FileUploaderFileListProps) => {\n const { renderFile, size } = props;\n const { files } = useContext(FileUploaderControlContext);\n const theme = useContext(ThemeContext);\n\n const fileWrapperClass = useFileUploaderSize(size, {\n small: jsStyles.fileWrapperSmall(theme),\n medium: jsStyles.fileWrapperMedium(theme),\n large: jsStyles.fileWrapperLarge(theme),\n });\n\n return (\n <div data-tid={FileUploaderFileDataTids.fileList}>\n {files.map((file) => (\n <div key={file.id} className={cx(jsStyles.fileWrapper(theme), fileWrapperClass)}>\n <div className={jsStyles.file()}>\n {renderFile(file, <FileUploaderFile file={file} showSize multiple size={size} />)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nFileUploaderFileList.displayName = 'FileUploaderFileList';\n"]}
@@ -1,2 +1,2 @@
1
- import { FileUploaderSize } from '../../../components/FileUploader';
2
- export declare function useFileUploaderSize<T>(size: FileUploaderSize, { small, medium, large }: Record<FileUploaderSize, T>): T;
1
+ import { SizeProp } from '../../../lib/types/props';
2
+ export declare function useFileUploaderSize<T>(size: SizeProp, { small, medium, large }: Record<SizeProp, T>): T;
@@ -1 +1 @@
1
- {"version":3,"sources":["useFileUploaderSize.ts"],"names":["useFileUploaderSize","size","small","medium","large"],"mappings":"yFAAA;;;;AAIO,SAASA,mBAAT,CAAgCC,IAAhC,QAA+G,KAArDC,KAAqD,QAArDA,KAAqD,CAA9CC,MAA8C,QAA9CA,MAA8C,CAAtCC,KAAsC,QAAtCA,KAAsC;AACpH,SAAO,oBAAQ,YAAM;AACnB,YAAQH,IAAR;AACE,WAAK,OAAL;AACE,eAAOG,KAAP;AACF,WAAK,QAAL;AACE,eAAOD,MAAP;AACF,WAAK,OAAL;AACE,eAAOD,KAAP;AACF;AACE,eAAOA,KAAP,CARJ;;AAUD,GAXM,EAWJ,CAACD,IAAD,CAXI,CAAP;AAYD","sourcesContent":["import { useMemo } from 'react';\n\nimport { FileUploaderSize } from '../../../components/FileUploader';\n\nexport function useFileUploaderSize<T>(size: FileUploaderSize, { small, medium, large }: Record<FileUploaderSize, T>) {\n return useMemo(() => {\n switch (size) {\n case 'large':\n return large;\n case 'medium':\n return medium;\n case 'small':\n return small;\n default:\n return small;\n }\n }, [size]);\n}\n"]}
1
+ {"version":3,"sources":["useFileUploaderSize.ts"],"names":["useFileUploaderSize","size","small","medium","large"],"mappings":"yFAAA;;;;AAIO,SAASA,mBAAT,CAAgCC,IAAhC,QAA+F,KAA7CC,KAA6C,QAA7CA,KAA6C,CAAtCC,MAAsC,QAAtCA,MAAsC,CAA9BC,KAA8B,QAA9BA,KAA8B;AACpG,SAAO,oBAAQ,YAAM;AACnB,YAAQH,IAAR;AACE,WAAK,OAAL;AACE,eAAOG,KAAP;AACF,WAAK,QAAL;AACE,eAAOD,MAAP;AACF,WAAK,OAAL;AACE,eAAOD,KAAP;AACF;AACE,eAAOA,KAAP,CARJ;;AAUD,GAXM,EAWJ,CAACD,IAAD,CAXI,CAAP;AAYD","sourcesContent":["import { useMemo } from 'react';\n\nimport { SizeProp } from '../../../lib/types/props';\n\nexport function useFileUploaderSize<T>(size: SizeProp, { small, medium, large }: Record<SizeProp, T>) {\n return useMemo(() => {\n switch (size) {\n case 'large':\n return large;\n case 'medium':\n return medium;\n case 'small':\n return small;\n default:\n return small;\n }\n }, [size]);\n}\n"]}
@@ -49,6 +49,7 @@ export declare class InputLikeText extends React.Component<InputLikeTextProps, I
49
49
  */
50
50
  blink(): void;
51
51
  getNode(): HTMLElement | null;
52
+ private selectNodeContentsDebounced;
52
53
  selectInnerNode: (node: HTMLElement | null, start?: number, end?: number) => void;
53
54
  componentDidMount(): void;
54
55
  componentWillUnmount(): void;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _react = _interopRequireDefault(require("react"));
4
4
  var _reactDom = _interopRequireDefault(require("react-dom"));
5
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
5
6
 
6
7
  var _utils = require("../../lib/utils");
7
8
  var _identifiers = require("../../lib/events/keyboard/identifiers");
@@ -99,6 +100,9 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
99
100
 
100
101
 
101
102
 
103
+
104
+
105
+ selectNodeContentsDebounced = (0, _lodash.default)(_SelectionHelpers.selectNodeContents, 0);_this.
102
106
 
103
107
  selectInnerNode = function (node, start, end) {if (start === void 0) {start = 0;}if (end === void 0) {end = 1;}
104
108
  if (_this.dragging || !node) {
@@ -112,7 +116,8 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
112
116
  _this.frozenBlur = true;
113
117
 
114
118
  _this.lastSelectedInnerNode = [node, start, end];
115
- setTimeout(function () {return (0, _SelectionHelpers.selectNodeContents)(node, start, end);}, 0);
119
+ _this.selectNodeContentsDebounced(node, start, end);
120
+
116
121
  if (_this.focusTimeout) {
117
122
  clearInterval(_this.focusTimeout);
118
123
  }
@@ -193,6 +198,7 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
193
198
  _Input.styles.disabled(_this.theme)] = !!disabled, _cx[
194
199
  _Input.styles.borderless()] = !!borderless, _cx[
195
200
  _Input.styles.focus(_this.theme)] = focused, _cx[
201
+ _Input.styles.hovering(_this.theme)] = !focused && !disabled && !warning && !error && !borderless, _cx[
196
202
  _Input.styles.blink(_this.theme)] = blinking, _cx[
197
203
  _Input.styles.warning(_this.theme)] = !!warning, _cx[
198
204
  _Input.styles.error(_this.theme)] = !!error, _cx[
@@ -451,9 +457,13 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
451
457
  }
452
458
  }
453
459
 
454
- _reactDom.default.flushSync(function () {
460
+ // Auto-batching React@18 creates problems that are fixed with flushSync
461
+ // https://github.com/skbkontur/retail-ui/pull/3144#issuecomment-1535235366
462
+ if (_react.default.version.search('18') === 0) {
463
+ _reactDom.default.flushSync(function () {return _this.setState({ focused: true });});
464
+ } else {
455
465
  _this.setState({ focused: true });
456
- });
466
+ }
457
467
 
458
468
  if (_this.props.onFocus) {
459
469
  _this.props.onFocus(e);
@@ -461,6 +471,7 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
461
471
  };_this.
462
472
 
463
473
  handleBlur = function (e) {
474
+ _this.selectNodeContentsDebounced.cancel();
464
475
  if (_client.isMobile) {
465
476
  e.target.removeAttribute('contenteditable');
466
477
  }
@@ -528,4 +539,5 @@ InputLikeText = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*
528
539
  * @public
529
540
  */;_proto.blur = function blur() {if (this.node) {this.node.blur();}} /**
530
541
  * @public
531
- */;_proto.blink = function blink() {var _this3 = this;if (this.props.disabled) {return;}this.setState({ blinking: true }, function () {_this3.blinkTimeout = window.setTimeout(function () {return _this3.setState({ blinking: false });}, 150);});};_proto.getNode = function getNode() {return this.node;};_proto.componentDidMount = function componentDidMount() {if (this.node) {_MouseDrag.MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);}document.addEventListener('mousedown', this.handleDocumentMouseDown);document.addEventListener('keydown', this.handleDocumentKeyDown);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {clearTimeout(this.blinkTimeout);}_MouseDrag.MouseDrag.stop(this.node);document.removeEventListener('mousedown', this.handleDocumentMouseDown);document.removeEventListener('keydown', this.handleDocumentKeyDown);};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.getIconClassname = function getIconClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};return InputLikeText;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'InputLikeText', _class2.defaultProps = { size: 'small' }, _temp)) || _class;exports.InputLikeText = InputLikeText;
542
+ */;_proto.blink = function blink() {var _this3 = this;if (this.props.disabled) {return;}this.setState({ blinking: true }, function () {_this3.blinkTimeout = window.setTimeout(function () {return _this3.setState({ blinking: false });}, 150);});};_proto.getNode = function getNode() {return this.node;} // Async call required for Firefox
543
+ ;_proto.componentDidMount = function componentDidMount() {if (this.node) {_MouseDrag.MouseDrag.listen(this.node).onMouseDragStart(this.handleMouseDragStart).onMouseDragEnd(this.handleMouseDragEnd);}document.addEventListener('mousedown', this.handleDocumentMouseDown);document.addEventListener('keydown', this.handleDocumentKeyDown);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.blinkTimeout) {clearTimeout(this.blinkTimeout);}_MouseDrag.MouseDrag.stop(this.node);document.removeEventListener('mousedown', this.handleDocumentMouseDown);document.removeEventListener('keydown', this.handleDocumentKeyDown);};_proto.render = function render() {var _this4 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this4.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this4.setRootNode }, _this4.props), _this4.renderMain);});};_proto.getIconClassname = function getIconClassname(right) {if (right === void 0) {right = false;}switch (this.getProps().size) {case 'large':return right ? _Input.styles.rightIconLarge(this.theme) : _Input.styles.leftIconLarge(this.theme);case 'medium':return right ? _Input.styles.rightIconMedium(this.theme) : _Input.styles.leftIconMedium(this.theme);case 'small':default:return right ? _Input.styles.rightIconSmall(this.theme) : _Input.styles.leftIconSmall(this.theme);}};return InputLikeText;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'InputLikeText', _class2.defaultProps = { size: 'small' }, _temp)) || _class;exports.InputLikeText = InputLikeText;