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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (934) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +9 -3
  3. package/cjs/components/Autocomplete/Autocomplete.js +24 -7
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +17 -0
  6. package/cjs/components/Button/Button.d.ts +9 -3
  7. package/cjs/components/Button/Button.js +27 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.mixins.js +1 -1
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.d.ts +1 -0
  12. package/cjs/components/Button/Button.styles.js +68 -62
  13. package/cjs/components/Button/Button.styles.js.map +1 -1
  14. package/cjs/components/Button/ButtonIcon.d.ts +3 -2
  15. package/cjs/components/Button/ButtonIcon.js +1 -0
  16. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  17. package/cjs/components/Button/getInnerLinkTheme.js +9 -4
  18. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  19. package/cjs/components/Calendar/Calendar.d.ts +1 -0
  20. package/cjs/components/Calendar/Calendar.js +1 -0
  21. package/cjs/components/Calendar/Calendar.js.map +1 -1
  22. package/cjs/components/Calendar/Calendar.md +14 -3
  23. package/cjs/components/Calendar/Calendar.styles.js +1 -2
  24. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  25. package/cjs/components/Calendar/DayCellView.js +9 -2
  26. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  27. package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
  28. package/cjs/components/Calendar/DayCellView.styles.js +4 -4
  29. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  30. package/cjs/components/Calendar/locale/locales/en.js +3 -1
  31. package/cjs/components/Calendar/locale/locales/en.js.map +1 -1
  32. package/cjs/components/Calendar/locale/locales/ru.js +3 -1
  33. package/cjs/components/Calendar/locale/locales/ru.js.map +1 -1
  34. package/cjs/components/Calendar/locale/types.d.ts +4 -0
  35. package/cjs/components/Checkbox/Checkbox.d.ts +15 -5
  36. package/cjs/components/Checkbox/Checkbox.js +73 -16
  37. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  38. package/cjs/components/Checkbox/Checkbox.md +18 -0
  39. package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  40. package/cjs/components/Checkbox/Checkbox.mixins.js +37 -0
  41. package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
  42. package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
  43. package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
  44. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  45. package/cjs/components/ComboBox/ComboBox.d.ts +6 -8
  46. package/cjs/components/ComboBox/ComboBox.js +2 -1
  47. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  48. package/cjs/components/ComboBox/ComboBox.md +51 -5
  49. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  50. package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
  51. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  53. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -0
  54. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  55. package/cjs/components/DateInput/DateInput.d.ts +5 -1
  56. package/cjs/components/DateInput/DateInput.js +24 -8
  57. package/cjs/components/DateInput/DateInput.js.map +1 -1
  58. package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
  59. package/cjs/components/DatePicker/DatePicker.js +13 -2
  60. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  61. package/cjs/components/DatePicker/DatePicker.md +15 -0
  62. package/cjs/components/DatePicker/locale/locales/en.js +4 -1
  63. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  64. package/cjs/components/DatePicker/locale/locales/ru.js +4 -1
  65. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  66. package/cjs/components/DatePicker/locale/types.d.ts +3 -1
  67. package/cjs/components/Dropdown/Dropdown.d.ts +4 -7
  68. package/cjs/components/Dropdown/Dropdown.js +4 -3
  69. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  70. package/cjs/components/Dropdown/Dropdown.md +33 -0
  71. package/cjs/components/Dropdown/getDropdownTheme.js +32 -1
  72. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  73. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  74. package/cjs/components/DropdownMenu/DropdownMenu.js +6 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  76. package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
  77. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
  78. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  79. package/cjs/components/FileUploader/FileUploader.d.ts +6 -2
  80. package/cjs/components/FileUploader/FileUploader.js +4 -0
  81. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  82. package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
  83. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  84. package/cjs/components/FxInput/FxInput.d.ts +4 -2
  85. package/cjs/components/FxInput/FxInput.js +6 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
  88. package/cjs/components/FxInput/FxInputRestoreBtn.js +7 -2
  89. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  90. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  91. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  92. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  93. package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
  94. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  95. package/cjs/components/Hint/Hint.js +2 -1
  96. package/cjs/components/Hint/Hint.js.map +1 -1
  97. package/cjs/components/Input/Input.d.ts +7 -7
  98. package/cjs/components/Input/Input.js +12 -7
  99. package/cjs/components/Input/Input.js.map +1 -1
  100. package/cjs/components/Input/Input.styles.js +3 -2
  101. package/cjs/components/Input/Input.styles.js.map +1 -1
  102. package/cjs/components/Input/InputLayout/InputLayout.d.ts +3 -2
  103. package/cjs/components/Input/InputLayout/InputLayout.js +4 -3
  104. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  105. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -1
  106. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  107. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +5 -4
  108. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  109. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  110. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  111. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  112. package/cjs/components/Kebab/Kebab.js +8 -1
  113. package/cjs/components/Kebab/Kebab.js.map +1 -1
  114. package/cjs/components/Kebab/Kebab.md +28 -0
  115. package/cjs/components/Link/Link.d.ts +2 -2
  116. package/cjs/components/Link/Link.js +20 -4
  117. package/cjs/components/Link/Link.js.map +1 -1
  118. package/cjs/components/Link/Link.mixins.d.ts +1 -2
  119. package/cjs/components/Link/Link.mixins.js +5 -16
  120. package/cjs/components/Link/Link.mixins.js.map +1 -1
  121. package/cjs/components/Link/Link.styles.d.ts +4 -0
  122. package/cjs/components/Link/Link.styles.js +96 -37
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/MenuFooter/MenuFooter.d.ts +30 -0
  125. package/cjs/components/MenuFooter/MenuFooter.js +83 -0
  126. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -0
  127. package/cjs/components/MenuFooter/MenuFooter.md +27 -0
  128. package/cjs/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  129. package/cjs/components/MenuFooter/MenuFooter.mixins.js +26 -0
  130. package/cjs/components/MenuFooter/MenuFooter.mixins.js.map +1 -0
  131. package/cjs/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
  132. package/cjs/components/MenuFooter/MenuFooter.styles.js +65 -0
  133. package/cjs/components/MenuFooter/MenuFooter.styles.js.map +1 -0
  134. package/cjs/components/MenuFooter/index.d.ts +1 -0
  135. package/cjs/components/MenuFooter/index.js +1 -0
  136. package/cjs/components/MenuFooter/index.js.map +1 -0
  137. package/cjs/components/MenuHeader/MenuHeader.d.ts +8 -1
  138. package/cjs/components/MenuHeader/MenuHeader.js +35 -4
  139. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  140. package/cjs/components/MenuHeader/MenuHeader.md +12 -0
  141. package/cjs/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  142. package/cjs/components/MenuHeader/MenuHeader.mixins.js +26 -0
  143. package/cjs/components/MenuHeader/MenuHeader.mixins.js.map +1 -0
  144. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
  145. package/cjs/components/MenuHeader/MenuHeader.styles.js +54 -12
  146. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  147. package/cjs/components/MenuItem/MenuItem.d.ts +14 -5
  148. package/cjs/components/MenuItem/MenuItem.js +61 -9
  149. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  150. package/cjs/components/MenuItem/MenuItem.md +12 -0
  151. package/cjs/components/MenuItem/MenuItem.mixins.d.ts +3 -0
  152. package/cjs/components/MenuItem/MenuItem.mixins.js +42 -0
  153. package/cjs/components/MenuItem/MenuItem.mixins.js.map +1 -0
  154. package/cjs/components/MenuItem/MenuItem.styles.d.ts +9 -1
  155. package/cjs/components/MenuItem/MenuItem.styles.js +80 -27
  156. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  157. package/cjs/components/Modal/Modal.md +16 -0
  158. package/cjs/components/Modal/ModalClose.js +5 -1
  159. package/cjs/components/Modal/ModalClose.js.map +1 -1
  160. package/cjs/components/Modal/locale/index.d.ts +4 -0
  161. package/cjs/components/Modal/locale/index.js +11 -0
  162. package/cjs/components/Modal/locale/index.js.map +1 -0
  163. package/cjs/components/Modal/locale/locales/en.d.ts +2 -0
  164. package/cjs/components/Modal/locale/locales/en.js +4 -0
  165. package/cjs/components/Modal/locale/locales/en.js.map +1 -0
  166. package/cjs/components/Modal/locale/locales/ru.d.ts +2 -0
  167. package/cjs/components/Modal/locale/locales/ru.js +4 -0
  168. package/cjs/components/Modal/locale/locales/ru.js.map +1 -0
  169. package/cjs/components/Modal/locale/types.d.ts +3 -0
  170. package/cjs/components/Modal/locale/types.js +1 -0
  171. package/cjs/components/Modal/locale/types.js.map +1 -0
  172. package/cjs/components/Paging/Paging.js +1 -1
  173. package/cjs/components/Paging/Paging.js.map +1 -1
  174. package/cjs/components/Paging/Paging.styles.js +2 -1
  175. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  176. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  177. package/cjs/components/PasswordInput/PasswordInput.js +13 -4
  178. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  179. package/cjs/components/PasswordInput/PasswordInput.md +19 -0
  180. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
  181. package/cjs/components/PasswordInput/PasswordInput.styles.js +11 -1
  182. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  183. package/cjs/components/PasswordInput/locale/index.d.ts +4 -0
  184. package/cjs/components/PasswordInput/locale/index.js +11 -0
  185. package/cjs/components/PasswordInput/locale/index.js.map +1 -0
  186. package/cjs/components/PasswordInput/locale/locales/en.d.ts +2 -0
  187. package/cjs/components/PasswordInput/locale/locales/en.js +5 -0
  188. package/cjs/components/PasswordInput/locale/locales/en.js.map +1 -0
  189. package/cjs/components/PasswordInput/locale/locales/ru.d.ts +2 -0
  190. package/cjs/components/PasswordInput/locale/locales/ru.js +5 -0
  191. package/cjs/components/PasswordInput/locale/locales/ru.js.map +1 -0
  192. package/cjs/components/PasswordInput/locale/types.d.ts +4 -0
  193. package/cjs/components/PasswordInput/locale/types.js +1 -0
  194. package/cjs/components/PasswordInput/locale/types.js.map +1 -0
  195. package/cjs/components/Radio/Radio.d.ts +15 -3
  196. package/cjs/components/Radio/Radio.js +58 -6
  197. package/cjs/components/Radio/Radio.js.map +1 -1
  198. package/cjs/components/Radio/Radio.md +18 -0
  199. package/cjs/components/Radio/Radio.mixins.d.ts +5 -0
  200. package/cjs/components/Radio/Radio.mixins.js +71 -0
  201. package/cjs/components/Radio/Radio.mixins.js.map +1 -0
  202. package/cjs/components/Radio/Radio.styles.d.ts +9 -0
  203. package/cjs/components/Radio/Radio.styles.js +93 -57
  204. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  205. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  206. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  207. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  208. package/cjs/components/Select/Select.d.ts +12 -10
  209. package/cjs/components/Select/Select.js +30 -9
  210. package/cjs/components/Select/Select.js.map +1 -1
  211. package/cjs/components/Select/Select.md +17 -0
  212. package/cjs/components/Select/Select.styles.js +3 -2
  213. package/cjs/components/Select/Select.styles.js.map +1 -1
  214. package/cjs/components/Select/selectTheme.js +4 -1
  215. package/cjs/components/Select/selectTheme.js.map +1 -1
  216. package/cjs/components/SidePage/SidePage.js +5 -1
  217. package/cjs/components/SidePage/SidePage.js.map +1 -1
  218. package/cjs/components/SidePage/SidePage.md +16 -0
  219. package/cjs/components/SidePage/SidePageCloseButton.d.ts +1 -0
  220. package/cjs/components/SidePage/SidePageCloseButton.js +47 -0
  221. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -0
  222. package/cjs/components/SidePage/SidePageHeader.d.ts +0 -4
  223. package/cjs/components/SidePage/SidePageHeader.js +7 -41
  224. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  225. package/cjs/components/SidePage/locale/index.d.ts +4 -0
  226. package/cjs/components/SidePage/locale/index.js +11 -0
  227. package/cjs/components/SidePage/locale/index.js.map +1 -0
  228. package/cjs/components/SidePage/locale/locales/en.d.ts +2 -0
  229. package/cjs/components/SidePage/locale/locales/en.js +4 -0
  230. package/cjs/components/SidePage/locale/locales/en.js.map +1 -0
  231. package/cjs/components/SidePage/locale/locales/ru.d.ts +2 -0
  232. package/cjs/components/SidePage/locale/locales/ru.js +4 -0
  233. package/cjs/components/SidePage/locale/locales/ru.js.map +1 -0
  234. package/cjs/components/SidePage/locale/types.d.ts +3 -0
  235. package/cjs/components/SidePage/locale/types.js +1 -0
  236. package/cjs/components/SidePage/locale/types.js.map +1 -0
  237. package/cjs/components/Sticky/Sticky.js +10 -3
  238. package/cjs/components/Sticky/Sticky.js.map +1 -1
  239. package/cjs/components/Switcher/Switcher.d.ts +12 -7
  240. package/cjs/components/Switcher/Switcher.js +16 -5
  241. package/cjs/components/Switcher/Switcher.js.map +1 -1
  242. package/cjs/components/Tabs/Tab.d.ts +17 -36
  243. package/cjs/components/Tabs/Tab.js +24 -21
  244. package/cjs/components/Tabs/Tab.js.map +1 -1
  245. package/cjs/components/Tabs/Tab.md +71 -0
  246. package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
  247. package/cjs/components/Tabs/Tab.styles.js +106 -68
  248. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  249. package/cjs/components/Tabs/Tabs.d.ts +16 -15
  250. package/cjs/components/Tabs/Tabs.js +12 -4
  251. package/cjs/components/Tabs/Tabs.js.map +1 -1
  252. package/cjs/components/Tabs/Tabs.md +39 -22
  253. package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
  254. package/cjs/components/Tabs/Tabs.styles.js +23 -7
  255. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  256. package/cjs/components/Tabs/TabsContext.d.ts +2 -0
  257. package/cjs/components/Tabs/TabsContext.js +3 -0
  258. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  259. package/cjs/components/Tabs/helpers.d.ts +6 -0
  260. package/cjs/components/Tabs/helpers.js +31 -0
  261. package/cjs/components/Tabs/helpers.js.map +1 -0
  262. package/cjs/components/Textarea/Textarea.d.ts +12 -3
  263. package/cjs/components/Textarea/Textarea.js +48 -7
  264. package/cjs/components/Textarea/Textarea.js.map +1 -1
  265. package/cjs/components/Textarea/Textarea.md +12 -0
  266. package/cjs/components/Textarea/Textarea.mixins.d.ts +3 -0
  267. package/cjs/components/Textarea/Textarea.mixins.js +22 -0
  268. package/cjs/components/Textarea/Textarea.mixins.js.map +1 -0
  269. package/cjs/components/Textarea/Textarea.styles.d.ts +10 -1
  270. package/cjs/components/Textarea/Textarea.styles.js +64 -23
  271. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  272. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -0
  273. package/cjs/components/Textarea/TextareaCounter.js +17 -3
  274. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  275. package/cjs/components/Toast/Toast.d.ts +3 -2
  276. package/cjs/components/Toast/Toast.js +3 -1
  277. package/cjs/components/Toast/Toast.js.map +1 -1
  278. package/cjs/components/Toast/ToastView.d.ts +6 -6
  279. package/cjs/components/Toast/ToastView.js +19 -6
  280. package/cjs/components/Toast/ToastView.js.map +1 -1
  281. package/cjs/components/Toast/ToastView.styles.js +5 -2
  282. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  283. package/cjs/components/Toast/locale/index.d.ts +4 -0
  284. package/cjs/components/Toast/locale/index.js +11 -0
  285. package/cjs/components/Toast/locale/index.js.map +1 -0
  286. package/cjs/components/Toast/locale/locales/en.d.ts +2 -0
  287. package/cjs/components/Toast/locale/locales/en.js +4 -0
  288. package/cjs/components/Toast/locale/locales/en.js.map +1 -0
  289. package/cjs/components/Toast/locale/locales/ru.d.ts +2 -0
  290. package/cjs/components/Toast/locale/locales/ru.js +4 -0
  291. package/cjs/components/Toast/locale/locales/ru.js.map +1 -0
  292. package/cjs/components/Toast/locale/types.d.ts +3 -0
  293. package/cjs/components/Toast/locale/types.js +1 -0
  294. package/cjs/components/Toast/locale/types.js.map +1 -0
  295. package/cjs/components/Toggle/Toggle.d.ts +16 -6
  296. package/cjs/components/Toggle/Toggle.js +112 -3
  297. package/cjs/components/Toggle/Toggle.js.map +1 -1
  298. package/cjs/components/Toggle/Toggle.md +18 -2
  299. package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
  300. package/cjs/components/Toggle/Toggle.mixins.js +90 -0
  301. package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
  302. package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
  303. package/cjs/components/Toggle/Toggle.styles.js +172 -56
  304. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  305. package/cjs/components/Token/Token.d.ts +2 -5
  306. package/cjs/components/Token/Token.js +15 -8
  307. package/cjs/components/Token/Token.js.map +1 -1
  308. package/cjs/components/Token/locale/index.d.ts +4 -0
  309. package/cjs/components/Token/locale/index.js +11 -0
  310. package/cjs/components/Token/locale/index.js.map +1 -0
  311. package/cjs/components/Token/locale/locales/en.d.ts +2 -0
  312. package/cjs/components/Token/locale/locales/en.js +4 -0
  313. package/cjs/components/Token/locale/locales/en.js.map +1 -0
  314. package/cjs/components/Token/locale/locales/ru.d.ts +2 -0
  315. package/cjs/components/Token/locale/locales/ru.js +4 -0
  316. package/cjs/components/Token/locale/locales/ru.js.map +1 -0
  317. package/cjs/components/Token/locale/types.d.ts +3 -0
  318. package/cjs/components/Token/locale/types.js +1 -0
  319. package/cjs/components/Token/locale/types.js.map +1 -0
  320. package/cjs/components/TokenInput/TokenInput.d.ts +3 -5
  321. package/cjs/components/TokenInput/TokenInput.js +11 -8
  322. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  323. package/cjs/components/TokenInput/TokenInput.md +26 -35
  324. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  325. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  326. package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
  327. package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
  328. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  329. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  330. package/cjs/components/TooltipMenu/TooltipMenu.js +10 -2
  331. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  332. package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
  333. package/cjs/index.d.ts +1 -0
  334. package/cjs/index.js +1 -0
  335. package/cjs/index.js.map +1 -1
  336. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
  337. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +3 -0
  338. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  339. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
  340. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  341. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
  342. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +37 -2
  343. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  344. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
  345. package/cjs/internal/CustomComboBox/ComboBoxView.js +32 -34
  346. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  347. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
  348. package/cjs/internal/CustomComboBox/CustomComboBox.js +21 -12
  349. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  350. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
  351. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -0
  352. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  353. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  354. package/cjs/internal/DateSelect/DateSelect.js +31 -2
  355. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  356. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  357. package/cjs/internal/DateSelect/DateSelect.styles.js +26 -4
  358. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  359. package/cjs/internal/DateSelect/locale/index.d.ts +4 -0
  360. package/cjs/internal/DateSelect/locale/index.js +11 -0
  361. package/cjs/internal/DateSelect/locale/index.js.map +1 -0
  362. package/cjs/internal/DateSelect/locale/locales/en.d.ts +2 -0
  363. package/cjs/internal/DateSelect/locale/locales/en.js +6 -0
  364. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -0
  365. package/cjs/internal/DateSelect/locale/locales/ru.d.ts +2 -0
  366. package/cjs/internal/DateSelect/locale/locales/ru.js +6 -0
  367. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -0
  368. package/cjs/internal/DateSelect/locale/types.d.ts +5 -0
  369. package/cjs/internal/DateSelect/locale/types.js +1 -0
  370. package/cjs/internal/DateSelect/locale/types.js.map +1 -0
  371. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  372. package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
  373. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  374. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
  375. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +9 -7
  376. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  377. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  378. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +1 -1
  379. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -1
  380. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  381. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +1 -1
  382. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  383. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  384. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -1
  385. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  386. package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
  387. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  388. package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
  389. package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
  390. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  391. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  392. package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
  393. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  394. package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  395. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
  396. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
  397. package/cjs/internal/Menu/Menu.d.ts +42 -8
  398. package/cjs/internal/Menu/Menu.js +272 -78
  399. package/cjs/internal/Menu/Menu.js.map +1 -1
  400. package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
  401. package/cjs/internal/Menu/Menu.styles.js +42 -8
  402. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  403. package/cjs/internal/MenuMessage/MenuMessage.d.ts +2 -0
  404. package/cjs/internal/MenuMessage/MenuMessage.js +18 -3
  405. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  406. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
  407. package/cjs/internal/MenuMessage/MenuMessage.styles.js +21 -6
  408. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  409. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
  410. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  411. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  412. package/cjs/internal/Popup/Popup.d.ts +7 -2
  413. package/cjs/internal/Popup/Popup.js +13 -3
  414. package/cjs/internal/Popup/Popup.js.map +1 -1
  415. package/cjs/internal/PopupMenu/PopupMenu.d.ts +5 -2
  416. package/cjs/internal/PopupMenu/PopupMenu.js +33 -4
  417. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  418. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  419. package/cjs/internal/ThemePlayground/SizesGroup.js +1 -0
  420. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  421. package/cjs/internal/ThemePlayground/darkTheme.d.ts +1 -1
  422. package/cjs/internal/ThemePlayground/darkTheme.js +1 -1
  423. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  424. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  425. package/cjs/internal/themes/DarkTheme.d.ts +2 -0
  426. package/cjs/internal/themes/DarkTheme.js +11 -3
  427. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  428. package/cjs/internal/themes/DefaultTheme.d.ts +280 -19
  429. package/cjs/internal/themes/DefaultTheme.js +604 -94
  430. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  431. package/cjs/internal/themes/Theme2022.d.ts +28 -4
  432. package/cjs/internal/themes/Theme2022.js +53 -19
  433. package/cjs/internal/themes/Theme2022.js.map +1 -1
  434. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -7
  435. package/cjs/internal/themes/Theme2022Dark.js +8 -18
  436. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  437. package/cjs/lib/locale/types.d.ts +6 -0
  438. package/cjs/lib/locale/types.js +6 -0
  439. package/cjs/lib/locale/types.js.map +1 -1
  440. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +5 -1
  441. package/cjs/lib/rootNode/rootNodeDecorator.js +7 -3
  442. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  443. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  444. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +7 -2
  445. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  446. package/cjs/lib/types/props.d.ts +1 -0
  447. package/cjs/lib/types/props.js +1 -0
  448. package/cjs/lib/types/props.js.map +1 -0
  449. package/components/Autocomplete/Autocomplete/Autocomplete.js +18 -5
  450. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  451. package/components/Autocomplete/Autocomplete.d.ts +9 -3
  452. package/components/Autocomplete/Autocomplete.md +17 -0
  453. package/components/Button/Button/Button.js +17 -2
  454. package/components/Button/Button/Button.js.map +1 -1
  455. package/components/Button/Button.d.ts +9 -3
  456. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  457. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  458. package/components/Button/Button.styles/Button.styles.js +61 -58
  459. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  460. package/components/Button/Button.styles.d.ts +1 -0
  461. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  462. package/components/Button/ButtonIcon.d.ts +3 -2
  463. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +9 -4
  464. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  465. package/components/Calendar/Calendar/Calendar.js +1 -0
  466. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  467. package/components/Calendar/Calendar.d.ts +1 -0
  468. package/components/Calendar/Calendar.md +14 -3
  469. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  470. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  471. package/components/Calendar/DayCellView/DayCellView.js +7 -1
  472. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  473. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
  474. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  475. package/components/Calendar/DayCellView.styles.d.ts +1 -1
  476. package/components/Calendar/locale/locales/en/en.js +2 -1
  477. package/components/Calendar/locale/locales/en/en.js.map +1 -1
  478. package/components/Calendar/locale/locales/ru/ru.js +2 -1
  479. package/components/Calendar/locale/locales/ru/ru.js.map +1 -1
  480. package/components/Calendar/locale/types.d.ts +4 -0
  481. package/components/Checkbox/Checkbox/Checkbox.js +62 -8
  482. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  483. package/components/Checkbox/Checkbox.d.ts +15 -5
  484. package/components/Checkbox/Checkbox.md +18 -0
  485. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +16 -0
  486. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
  487. package/components/Checkbox/Checkbox.mixins/package.json +6 -0
  488. package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  489. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
  490. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  491. package/components/Checkbox/Checkbox.styles.d.ts +6 -0
  492. package/components/ComboBox/ComboBox/ComboBox.js +1 -0
  493. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  494. package/components/ComboBox/ComboBox.d.ts +6 -8
  495. package/components/ComboBox/ComboBox.md +51 -5
  496. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
  497. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  498. package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  499. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +1 -0
  500. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  501. package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  502. package/components/DateInput/DateInput/DateInput.js +26 -9
  503. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  504. package/components/DateInput/DateInput.d.ts +5 -1
  505. package/components/DatePicker/DatePicker/DatePicker.js +7 -1
  506. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  507. package/components/DatePicker/DatePicker.d.ts +2 -1
  508. package/components/DatePicker/DatePicker.md +15 -0
  509. package/components/DatePicker/locale/locales/en/en.js +4 -2
  510. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  511. package/components/DatePicker/locale/locales/ru/ru.js +4 -2
  512. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  513. package/components/DatePicker/locale/types.d.ts +3 -1
  514. package/components/Dropdown/Dropdown/Dropdown.js +3 -1
  515. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  516. package/components/Dropdown/Dropdown.d.ts +4 -7
  517. package/components/Dropdown/Dropdown.md +33 -0
  518. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +27 -1
  519. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  520. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -0
  521. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  522. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  523. package/components/DropdownMenu/DropdownMenu.md +28 -0
  524. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
  525. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
  526. package/components/FileUploader/FileUploader/FileUploader.js +4 -0
  527. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  528. package/components/FileUploader/FileUploader.d.ts +6 -2
  529. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +1 -1
  530. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  531. package/components/FxInput/FxInput/FxInput.js +2 -1
  532. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  533. package/components/FxInput/FxInput.d.ts +4 -2
  534. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +4 -2
  535. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  536. package/components/FxInput/FxInputRestoreBtn.d.ts +3 -2
  537. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
  538. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  539. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
  540. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  541. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  542. package/components/Hint/Hint/Hint.js +2 -1
  543. package/components/Hint/Hint/Hint.js.map +1 -1
  544. package/components/Input/Input/Input.js +10 -2
  545. package/components/Input/Input/Input.js.map +1 -1
  546. package/components/Input/Input.d.ts +7 -7
  547. package/components/Input/Input.styles/Input.styles.js +2 -2
  548. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  549. package/components/Input/InputLayout/InputLayout/InputLayout.js +4 -2
  550. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  551. package/components/Input/InputLayout/InputLayout.d.ts +3 -2
  552. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  553. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  554. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +7 -5
  555. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -1
  556. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -1
  557. package/components/Input/InputLayout/InputLayoutContext.d.ts +2 -2
  558. package/components/Kebab/Kebab/Kebab.js +7 -3
  559. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  560. package/components/Kebab/Kebab.d.ts +3 -2
  561. package/components/Kebab/Kebab.md +28 -0
  562. package/components/Link/Link/Link.js +12 -6
  563. package/components/Link/Link/Link.js.map +1 -1
  564. package/components/Link/Link.d.ts +2 -2
  565. package/components/Link/Link.mixins/Link.mixins.js +2 -5
  566. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  567. package/components/Link/Link.mixins.d.ts +1 -2
  568. package/components/Link/Link.styles/Link.styles.js +45 -21
  569. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  570. package/components/Link/Link.styles.d.ts +4 -0
  571. package/components/MenuFooter/MenuFooter/MenuFooter.js +74 -0
  572. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -0
  573. package/components/MenuFooter/MenuFooter/package.json +6 -0
  574. package/components/MenuFooter/MenuFooter.d.ts +30 -0
  575. package/components/MenuFooter/MenuFooter.md +27 -0
  576. package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js +13 -0
  577. package/components/MenuFooter/MenuFooter.mixins/MenuFooter.mixins.js.map +1 -0
  578. package/components/MenuFooter/MenuFooter.mixins/package.json +6 -0
  579. package/components/MenuFooter/MenuFooter.mixins.d.ts +2 -0
  580. package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js +29 -0
  581. package/components/MenuFooter/MenuFooter.styles/MenuFooter.styles.js.map +1 -0
  582. package/components/MenuFooter/MenuFooter.styles/package.json +6 -0
  583. package/components/MenuFooter/MenuFooter.styles.d.ts +10 -0
  584. package/components/MenuFooter/index/index.js +1 -0
  585. package/components/MenuFooter/index/index.js.map +1 -0
  586. package/components/MenuFooter/index/package.json +6 -0
  587. package/components/MenuFooter/index.d.ts +1 -0
  588. package/components/MenuFooter/package.json +6 -0
  589. package/components/MenuHeader/MenuHeader/MenuHeader.js +37 -2
  590. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  591. package/components/MenuHeader/MenuHeader.d.ts +8 -1
  592. package/components/MenuHeader/MenuHeader.md +12 -0
  593. package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js +13 -0
  594. package/components/MenuHeader/MenuHeader.mixins/MenuHeader.mixins.js.map +1 -0
  595. package/components/MenuHeader/MenuHeader.mixins/package.json +6 -0
  596. package/components/MenuHeader/MenuHeader.mixins.d.ts +2 -0
  597. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +20 -6
  598. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  599. package/components/MenuHeader/MenuHeader.styles.d.ts +6 -1
  600. package/components/MenuItem/MenuItem/MenuItem.js +54 -8
  601. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  602. package/components/MenuItem/MenuItem.d.ts +14 -5
  603. package/components/MenuItem/MenuItem.md +12 -0
  604. package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js +24 -0
  605. package/components/MenuItem/MenuItem.mixins/MenuItem.mixins.js.map +1 -0
  606. package/components/MenuItem/MenuItem.mixins/package.json +6 -0
  607. package/components/MenuItem/MenuItem.mixins.d.ts +3 -0
  608. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +39 -23
  609. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  610. package/components/MenuItem/MenuItem.styles.d.ts +9 -1
  611. package/components/Modal/Modal.md +16 -0
  612. package/components/Modal/ModalClose/ModalClose.js +4 -0
  613. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  614. package/components/Modal/locale/index/index.js +8 -0
  615. package/components/Modal/locale/index/index.js.map +1 -0
  616. package/components/Modal/locale/index/package.json +6 -0
  617. package/components/Modal/locale/index.d.ts +4 -0
  618. package/components/Modal/locale/locales/en/en.js +3 -0
  619. package/components/Modal/locale/locales/en/en.js.map +1 -0
  620. package/components/Modal/locale/locales/en/package.json +6 -0
  621. package/components/Modal/locale/locales/en.d.ts +2 -0
  622. package/components/Modal/locale/locales/ru/package.json +6 -0
  623. package/components/Modal/locale/locales/ru/ru.js +3 -0
  624. package/components/Modal/locale/locales/ru/ru.js.map +1 -0
  625. package/components/Modal/locale/locales/ru.d.ts +2 -0
  626. package/components/Modal/locale/package.json +6 -0
  627. package/components/Modal/locale/types/package.json +6 -0
  628. package/components/Modal/locale/types/types.js +1 -0
  629. package/components/Modal/locale/types/types.js.map +1 -0
  630. package/components/Modal/locale/types.d.ts +3 -0
  631. package/components/Paging/Paging/Paging.js +1 -1
  632. package/components/Paging/Paging/Paging.js.map +1 -1
  633. package/components/Paging/Paging.styles/Paging.styles.js +1 -1
  634. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  635. package/components/PasswordInput/PasswordInput/PasswordInput.js +8 -4
  636. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  637. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  638. package/components/PasswordInput/PasswordInput.md +19 -0
  639. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +4 -1
  640. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  641. package/components/PasswordInput/PasswordInput.styles.d.ts +1 -0
  642. package/components/PasswordInput/locale/index/index.js +8 -0
  643. package/components/PasswordInput/locale/index/index.js.map +1 -0
  644. package/components/PasswordInput/locale/index/package.json +6 -0
  645. package/components/PasswordInput/locale/index.d.ts +4 -0
  646. package/components/PasswordInput/locale/locales/en/en.js +4 -0
  647. package/components/PasswordInput/locale/locales/en/en.js.map +1 -0
  648. package/components/PasswordInput/locale/locales/en/package.json +6 -0
  649. package/components/PasswordInput/locale/locales/en.d.ts +2 -0
  650. package/components/PasswordInput/locale/locales/ru/package.json +6 -0
  651. package/components/PasswordInput/locale/locales/ru/ru.js +4 -0
  652. package/components/PasswordInput/locale/locales/ru/ru.js.map +1 -0
  653. package/components/PasswordInput/locale/locales/ru.d.ts +2 -0
  654. package/components/PasswordInput/locale/package.json +6 -0
  655. package/components/PasswordInput/locale/types/package.json +6 -0
  656. package/components/PasswordInput/locale/types/types.js +1 -0
  657. package/components/PasswordInput/locale/types/types.js.map +1 -0
  658. package/components/PasswordInput/locale/types.d.ts +4 -0
  659. package/components/Radio/Radio/Radio.js +54 -6
  660. package/components/Radio/Radio/Radio.js.map +1 -1
  661. package/components/Radio/Radio.d.ts +15 -3
  662. package/components/Radio/Radio.md +18 -0
  663. package/components/Radio/Radio.mixins/Radio.mixins.js +28 -0
  664. package/components/Radio/Radio.mixins/Radio.mixins.js.map +1 -0
  665. package/components/Radio/Radio.mixins/package.json +6 -0
  666. package/components/Radio/Radio.mixins.d.ts +5 -0
  667. package/components/Radio/Radio.styles/Radio.styles.js +44 -29
  668. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  669. package/components/Radio/Radio.styles.d.ts +9 -0
  670. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  671. package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  672. package/components/Select/Select/Select.js +34 -9
  673. package/components/Select/Select/Select.js.map +1 -1
  674. package/components/Select/Select.d.ts +12 -10
  675. package/components/Select/Select.md +17 -0
  676. package/components/Select/Select.styles/Select.styles.js +1 -1
  677. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  678. package/components/Select/selectTheme/selectTheme.js +3 -1
  679. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  680. package/components/SidePage/SidePage/SidePage.js +4 -4
  681. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  682. package/components/SidePage/SidePage.md +16 -0
  683. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +42 -0
  684. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -0
  685. package/components/SidePage/SidePageCloseButton/package.json +6 -0
  686. package/components/SidePage/SidePageCloseButton.d.ts +1 -0
  687. package/components/SidePage/SidePageHeader/SidePageHeader.js +4 -38
  688. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  689. package/components/SidePage/SidePageHeader.d.ts +0 -4
  690. package/components/SidePage/locale/index/index.js +8 -0
  691. package/components/SidePage/locale/index/index.js.map +1 -0
  692. package/components/SidePage/locale/index/package.json +6 -0
  693. package/components/SidePage/locale/index.d.ts +4 -0
  694. package/components/SidePage/locale/locales/en/en.js +3 -0
  695. package/components/SidePage/locale/locales/en/en.js.map +1 -0
  696. package/components/SidePage/locale/locales/en/package.json +6 -0
  697. package/components/SidePage/locale/locales/en.d.ts +2 -0
  698. package/components/SidePage/locale/locales/ru/package.json +6 -0
  699. package/components/SidePage/locale/locales/ru/ru.js +3 -0
  700. package/components/SidePage/locale/locales/ru/ru.js.map +1 -0
  701. package/components/SidePage/locale/locales/ru.d.ts +2 -0
  702. package/components/SidePage/locale/package.json +6 -0
  703. package/components/SidePage/locale/types/package.json +6 -0
  704. package/components/SidePage/locale/types/types.js +1 -0
  705. package/components/SidePage/locale/types/types.js.map +1 -0
  706. package/components/SidePage/locale/types.d.ts +3 -0
  707. package/components/Sticky/Sticky/Sticky.js +12 -3
  708. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  709. package/components/Switcher/Switcher/Switcher.js +9 -3
  710. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  711. package/components/Switcher/Switcher.d.ts +12 -7
  712. package/components/Tabs/Tab/Tab.js +12 -18
  713. package/components/Tabs/Tab/Tab.js.map +1 -1
  714. package/components/Tabs/Tab.d.ts +17 -36
  715. package/components/Tabs/Tab.md +71 -0
  716. package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
  717. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  718. package/components/Tabs/Tab.styles.d.ts +9 -3
  719. package/components/Tabs/Tabs/Tabs.js +12 -6
  720. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  721. package/components/Tabs/Tabs.d.ts +16 -15
  722. package/components/Tabs/Tabs.md +39 -22
  723. package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
  724. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  725. package/components/Tabs/Tabs.styles.d.ts +3 -1
  726. package/components/Tabs/TabsContext/TabsContext.js +1 -0
  727. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  728. package/components/Tabs/TabsContext.d.ts +2 -0
  729. package/components/Tabs/helpers/helpers.js +28 -0
  730. package/components/Tabs/helpers/helpers.js.map +1 -0
  731. package/components/Tabs/helpers/package.json +6 -0
  732. package/components/Tabs/helpers.d.ts +6 -0
  733. package/components/Textarea/Textarea/Textarea.js +39 -4
  734. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  735. package/components/Textarea/Textarea.d.ts +12 -3
  736. package/components/Textarea/Textarea.md +12 -0
  737. package/components/Textarea/Textarea.mixins/Textarea.mixins.js +14 -0
  738. package/components/Textarea/Textarea.mixins/Textarea.mixins.js.map +1 -0
  739. package/components/Textarea/Textarea.mixins/package.json +6 -0
  740. package/components/Textarea/Textarea.mixins.d.ts +3 -0
  741. package/components/Textarea/Textarea.styles/Textarea.styles.js +43 -15
  742. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  743. package/components/Textarea/Textarea.styles.d.ts +10 -1
  744. package/components/Textarea/TextareaCounter/TextareaCounter.js +19 -3
  745. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  746. package/components/Textarea/TextareaCounter.d.ts +2 -0
  747. package/components/Toast/Toast/Toast.js +1 -0
  748. package/components/Toast/Toast/Toast.js.map +1 -1
  749. package/components/Toast/Toast.d.ts +3 -2
  750. package/components/Toast/ToastView/ToastView.js +9 -4
  751. package/components/Toast/ToastView/ToastView.js.map +1 -1
  752. package/components/Toast/ToastView.d.ts +6 -6
  753. package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
  754. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  755. package/components/Toast/locale/index/index.js +8 -0
  756. package/components/Toast/locale/index/index.js.map +1 -0
  757. package/components/Toast/locale/index/package.json +6 -0
  758. package/components/Toast/locale/index.d.ts +4 -0
  759. package/components/Toast/locale/locales/en/en.js +3 -0
  760. package/components/Toast/locale/locales/en/en.js.map +1 -0
  761. package/components/Toast/locale/locales/en/package.json +6 -0
  762. package/components/Toast/locale/locales/en.d.ts +2 -0
  763. package/components/Toast/locale/locales/ru/package.json +6 -0
  764. package/components/Toast/locale/locales/ru/ru.js +3 -0
  765. package/components/Toast/locale/locales/ru/ru.js.map +1 -0
  766. package/components/Toast/locale/locales/ru.d.ts +2 -0
  767. package/components/Toast/locale/package.json +6 -0
  768. package/components/Toast/locale/types/package.json +6 -0
  769. package/components/Toast/locale/types/types.js +1 -0
  770. package/components/Toast/locale/types/types.js.map +1 -0
  771. package/components/Toast/locale/types.d.ts +3 -0
  772. package/components/Toggle/Toggle/Toggle.js +119 -10
  773. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  774. package/components/Toggle/Toggle.d.ts +16 -6
  775. package/components/Toggle/Toggle.md +18 -2
  776. package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
  777. package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
  778. package/components/Toggle/Toggle.mixins/package.json +6 -0
  779. package/components/Toggle/Toggle.mixins.d.ts +7 -0
  780. package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
  781. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  782. package/components/Toggle/Toggle.styles.d.ts +21 -1
  783. package/components/Token/Token/Token.js +8 -3
  784. package/components/Token/Token/Token.js.map +1 -1
  785. package/components/Token/Token.d.ts +2 -5
  786. package/components/Token/locale/index/index.js +8 -0
  787. package/components/Token/locale/index/index.js.map +1 -0
  788. package/components/Token/locale/index/package.json +6 -0
  789. package/components/Token/locale/index.d.ts +4 -0
  790. package/components/Token/locale/locales/en/en.js +3 -0
  791. package/components/Token/locale/locales/en/en.js.map +1 -0
  792. package/components/Token/locale/locales/en/package.json +6 -0
  793. package/components/Token/locale/locales/en.d.ts +2 -0
  794. package/components/Token/locale/locales/ru/package.json +6 -0
  795. package/components/Token/locale/locales/ru/ru.js +3 -0
  796. package/components/Token/locale/locales/ru/ru.js.map +1 -0
  797. package/components/Token/locale/locales/ru.d.ts +2 -0
  798. package/components/Token/locale/package.json +6 -0
  799. package/components/Token/locale/types/package.json +6 -0
  800. package/components/Token/locale/types/types.js +1 -0
  801. package/components/Token/locale/types/types.js.map +1 -0
  802. package/components/Token/locale/types.d.ts +3 -0
  803. package/components/TokenInput/TokenInput/TokenInput.js +12 -4
  804. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  805. package/components/TokenInput/TokenInput.d.ts +3 -5
  806. package/components/TokenInput/TokenInput.md +26 -35
  807. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  808. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  809. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
  810. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  811. package/components/TokenInput/TokenInputMenu.d.ts +7 -0
  812. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +8 -2
  813. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  814. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  815. package/components/TooltipMenu/TooltipMenu.md +28 -0
  816. package/index.d.ts +1 -0
  817. package/index.js +1 -0
  818. package/index.js.map +1 -1
  819. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  820. package/internal/CloseButtonIcon/CloseButtonIcon.d.ts +2 -2
  821. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
  822. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
  823. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +33 -10
  824. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  825. package/internal/CustomComboBox/ComboBoxMenu.d.ts +9 -3
  826. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +40 -40
  827. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  828. package/internal/CustomComboBox/ComboBoxView.d.ts +14 -13
  829. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +19 -10
  830. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  831. package/internal/CustomComboBox/CustomComboBox.d.ts +10 -7
  832. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -0
  833. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  834. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +2 -1
  835. package/internal/DateSelect/DateSelect/DateSelect.js +32 -16
  836. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  837. package/internal/DateSelect/DateSelect.d.ts +2 -0
  838. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +6 -3
  839. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  840. package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  841. package/internal/DateSelect/locale/index/index.js +8 -0
  842. package/internal/DateSelect/locale/index/index.js.map +1 -0
  843. package/internal/DateSelect/locale/index/package.json +6 -0
  844. package/internal/DateSelect/locale/index.d.ts +4 -0
  845. package/internal/DateSelect/locale/locales/en/en.js +5 -0
  846. package/internal/DateSelect/locale/locales/en/en.js.map +1 -0
  847. package/internal/DateSelect/locale/locales/en/package.json +6 -0
  848. package/internal/DateSelect/locale/locales/en.d.ts +2 -0
  849. package/internal/DateSelect/locale/locales/ru/package.json +6 -0
  850. package/internal/DateSelect/locale/locales/ru/ru.js +5 -0
  851. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -0
  852. package/internal/DateSelect/locale/locales/ru.d.ts +2 -0
  853. package/internal/DateSelect/locale/package.json +6 -0
  854. package/internal/DateSelect/locale/types/package.json +6 -0
  855. package/internal/DateSelect/locale/types/types.js +1 -0
  856. package/internal/DateSelect/locale/types/types.js.map +1 -0
  857. package/internal/DateSelect/locale/types.d.ts +5 -0
  858. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
  859. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  860. package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  861. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +6 -5
  862. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  863. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -6
  864. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -1
  865. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +2 -2
  866. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  867. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -2
  868. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -1
  869. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -2
  870. package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
  871. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  872. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  873. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
  874. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  875. package/internal/InternalMenu/InternalMenu.d.ts +13 -4
  876. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
  877. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  878. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  879. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
  880. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
  881. package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
  882. package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  883. package/internal/Menu/Menu/Menu.js +197 -42
  884. package/internal/Menu/Menu/Menu.js.map +1 -1
  885. package/internal/Menu/Menu.d.ts +42 -8
  886. package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
  887. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  888. package/internal/Menu/Menu.styles.d.ts +6 -1
  889. package/internal/MenuMessage/MenuMessage/MenuMessage.js +19 -2
  890. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  891. package/internal/MenuMessage/MenuMessage.d.ts +2 -0
  892. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +11 -2
  893. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -1
  894. package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
  895. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
  896. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  897. package/internal/MobilePopup/MobilePopup.d.ts +2 -2
  898. package/internal/Popup/Popup/Popup.js +9 -3
  899. package/internal/Popup/Popup/Popup.js.map +1 -1
  900. package/internal/Popup/Popup.d.ts +7 -2
  901. package/internal/PopupMenu/PopupMenu/PopupMenu.js +28 -5
  902. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  903. package/internal/PopupMenu/PopupMenu.d.ts +5 -2
  904. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  905. package/internal/ThemePlayground/SizesGroup.d.ts +2 -1
  906. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -1
  907. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  908. package/internal/ThemePlayground/darkTheme.d.ts +1 -1
  909. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  910. package/internal/themes/DarkTheme/DarkTheme.js +13 -0
  911. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  912. package/internal/themes/DarkTheme.d.ts +2 -0
  913. package/internal/themes/DefaultTheme/DefaultTheme.js +750 -106
  914. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  915. package/internal/themes/DefaultTheme.d.ts +280 -19
  916. package/internal/themes/Theme2022/Theme2022.js +79 -56
  917. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  918. package/internal/themes/Theme2022.d.ts +28 -4
  919. package/internal/themes/Theme2022Dark/Theme2022Dark.js +11 -26
  920. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  921. package/internal/themes/Theme2022Dark.d.ts +5 -7
  922. package/lib/locale/types/types.js.map +1 -1
  923. package/lib/locale/types.d.ts +6 -0
  924. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +4 -3
  925. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  926. package/lib/rootNode/rootNodeDecorator.d.ts +5 -1
  927. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +2 -2
  928. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -1
  929. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -1
  930. package/lib/types/props/package.json +6 -0
  931. package/lib/types/props/props.js +1 -0
  932. package/lib/types/props/props.js.map +1 -0
  933. package/lib/types/props.d.ts +1 -0
  934. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["GlobalLoaderView.tsx"],"names":["GlobalLoaderView","expectedResponseTime","delayBeforeHide","status","disableAnimations","rest","ref","theme","ThemeContext","width","startWidth","fullWidth","left","getAnimationClass","animations","successAnimation","acceptAnimation","slowAcceptAnimation","errorAnimation","standardAnimation","styles","successWithoutAnimation","acceptWithoutAnimation","errorWithoutAnimation","standardWithoutAnimation","outer","inner"],"mappings":"0RAAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wC;;;;;;;;;;;;;;AAcO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB;;;;;;AAMH,KAL3BC,oBAK2B,QAL3BA,oBAK2B,CAJ3BC,eAI2B,QAJ3BA,eAI2B,CAH3BC,MAG2B,QAH3BA,MAG2B,CAF3BC,iBAE2B,QAF3BA,iBAE2B,CADxBC,IACwB;AAC3B,MAAMC,GAAG,GAAG,mBAAuC,IAAvC,CAAZ;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,8BAAyC,qCAAqBL,MAArB,EAA6BG,GAA7B,CAAzC,CAAQG,KAAR,yBAAQA,KAAR,CAAeC,UAAf,yBAAeA,UAAf,CAA2BC,SAA3B,yBAA2BA,SAA3B;AACA,8BAAiB,wCAAwBL,GAAxB,CAAjB,CAAQM,IAAR,yBAAQA,IAAR;;AAEA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACV,MAAD,EAA6C;AACrE,QAAI,CAACC,iBAAL,EAAwB;AACtB,cAAQD,MAAR;AACE,aAAK,SAAL;AACE,iBAAOW,6BAAWC,gBAAX,CAA4Bb,eAA5B,EAA6CO,KAA7C,EAAoDG,IAApD,CAAP;AACF,aAAK,QAAL;AACE,cAAIF,UAAU,GAAGC,SAAS,GAAG,GAA7B,EAAkC;AAChC,mBAAOG,6BAAWE,eAAX,CAA2BT,KAA3B,EAAkCG,UAAlC,EAA8CT,oBAA9C,EAAoEQ,KAApE,EAA2EG,IAA3E,CAAP;AACD;AACD,iBAAOE,6BAAWG,mBAAX,CAA+BV,KAA/B,EAAsCG,UAAtC,EAAkDD,KAAlD,EAAyDG,IAAzD,CAAP;AACF,aAAK,OAAL;AACE,iBAAOE,6BAAWI,cAAX,CAA0BX,KAA1B,CAAP;AACF,aAAK,UAAL;AACE,iBAAOO,6BAAWK,iBAAX,CAA6BZ,KAA7B,EAAoCN,oBAApC,CAAP,CAXJ;;AAaD;;AAED,QAAIG,iBAAJ,EAAuB;AACrB,cAAQD,MAAR;AACE,aAAK,SAAL;AACE,iBAAOiB,yBAAOC,uBAAP,EAAP;AACF,aAAK,QAAL;AACE,iBAAOP,6BAAWQ,sBAAX,CAAkCZ,UAAlC,CAAP;AACF,aAAK,OAAL;AACE,iBAAOU,yBAAOG,qBAAP,EAAP;AACF,aAAK,UAAL;AACE,iBAAOH,yBAAOI,wBAAP,EAAP,CARJ;;AAUD;AACF,GA7BD;;AA+BA;AACE,iCAAC,4BAAD,EAAmBnB,IAAnB;AACE,iCAAC,cAAD,IAAQ,QAAQ,EAAC,cAAjB,EAAgC,SAAS,EAAEe,yBAAOK,KAAP,CAAalB,KAAb,CAA3C;AACE,0CAAK,GAAG,EAAED,GAAV,EAAe,SAAS,EAAE,iBAAGc,yBAAOM,KAAP,CAAanB,KAAb,CAAH,EAAwBM,iBAAiB,CAACV,MAAD,CAAzC,CAA1B,GADF,CADF,CADF;;;;AAOD,CAlDM,C","sourcesContent":["import React, { useContext, useRef } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nimport { animations, styles } from './GlobalLoaderView.styles';\nimport { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams';\n\nexport interface GlobalLoaderViewProps extends Pick<CommonProps, 'data-tid'> {\n expectedResponseTime: number;\n delayBeforeHide: number;\n status?: 'success' | 'error' | 'standard' | 'accept';\n disableAnimations: boolean;\n}\n\nexport interface GlobalLoaderViewRef {\n element: HTMLDivElement;\n refObject: React.RefObject<GlobalLoaderViewRef['element']>;\n}\n\nexport const GlobalLoaderView = ({\n expectedResponseTime,\n delayBeforeHide,\n status,\n disableAnimations,\n ...rest\n}: GlobalLoaderViewProps) => {\n const ref = useRef<GlobalLoaderViewRef['element']>(null);\n const theme = useContext(ThemeContext);\n const { width, startWidth, fullWidth } = useGlobalLoaderWidth(status, ref);\n const { left } = useGlobalLoaderPosition(ref);\n\n const getAnimationClass = (status: GlobalLoaderViewProps['status']) => {\n if (!disableAnimations) {\n switch (status) {\n case 'success':\n return animations.successAnimation(delayBeforeHide, width, left);\n case 'accept':\n if (startWidth < fullWidth * 0.8) {\n return animations.acceptAnimation(theme, startWidth, expectedResponseTime, width, left);\n }\n return animations.slowAcceptAnimation(theme, startWidth, width, left);\n case 'error':\n return animations.errorAnimation(theme);\n case 'standard':\n return animations.standardAnimation(theme, expectedResponseTime);\n }\n }\n\n if (disableAnimations) {\n switch (status) {\n case 'success':\n return styles.successWithoutAnimation();\n case 'accept':\n return animations.acceptWithoutAnimation(startWidth);\n case 'error':\n return styles.errorWithoutAnimation();\n case 'standard':\n return styles.standardWithoutAnimation();\n }\n }\n };\n\n return (\n <CommonWrapper {...rest}>\n <ZIndex priority=\"GlobalLoader\" className={styles.outer(theme)}>\n <div ref={ref} className={cx(styles.inner(theme), getAnimationClass(status))} />\n </ZIndex>\n </CommonWrapper>\n );\n};\n"]}
1
+ {"version":3,"sources":["GlobalLoaderView.tsx"],"names":["GlobalLoaderView","expectedResponseTime","delayBeforeHide","status","disableAnimations","dataState","rest","ref","theme","ThemeContext","width","startWidth","fullWidth","left","getAnimationClass","animations","successAnimation","acceptAnimation","slowAcceptAnimation","errorAnimation","standardAnimation","styles","successWithoutAnimation","acceptWithoutAnimation","errorWithoutAnimation","standardWithoutAnimation","outer","inner"],"mappings":"4WAAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wC;;;;;;;;;;;;;;;AAeO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB;;;;;;;AAOH,KAN3BC,oBAM2B,QAN3BA,oBAM2B,CAL3BC,eAK2B,QAL3BA,eAK2B,CAJ3BC,MAI2B,QAJ3BA,MAI2B,CAH3BC,iBAG2B,QAH3BA,iBAG2B,CAF3BC,SAE2B,QAF3BA,SAE2B,CADxBC,IACwB;AAC3B,MAAMC,GAAG,GAAG,mBAAuC,IAAvC,CAAZ;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,8BAAyC,qCAAqBN,MAArB,EAA6BI,GAA7B,CAAzC,CAAQG,KAAR,yBAAQA,KAAR,CAAeC,UAAf,yBAAeA,UAAf,CAA2BC,SAA3B,yBAA2BA,SAA3B;AACA,8BAAiB,wCAAwBL,GAAxB,CAAjB,CAAQM,IAAR,yBAAQA,IAAR;;AAEA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACX,MAAD,EAA6C;AACrE,QAAI,CAACC,iBAAL,EAAwB;AACtB,cAAQD,MAAR;AACE,aAAK,SAAL;AACE,iBAAOY,6BAAWC,gBAAX,CAA4Bd,eAA5B,EAA6CQ,KAA7C,EAAoDG,IAApD,CAAP;AACF,aAAK,QAAL;AACE,cAAIF,UAAU,GAAGC,SAAS,GAAG,GAA7B,EAAkC;AAChC,mBAAOG,6BAAWE,eAAX,CAA2BT,KAA3B,EAAkCG,UAAlC,EAA8CV,oBAA9C,EAAoES,KAApE,EAA2EG,IAA3E,CAAP;AACD;AACD,iBAAOE,6BAAWG,mBAAX,CAA+BV,KAA/B,EAAsCG,UAAtC,EAAkDD,KAAlD,EAAyDG,IAAzD,CAAP;AACF,aAAK,OAAL;AACE,iBAAOE,6BAAWI,cAAX,CAA0BX,KAA1B,CAAP;AACF,aAAK,UAAL;AACE,iBAAOO,6BAAWK,iBAAX,CAA6BZ,KAA7B,EAAoCP,oBAApC,CAAP,CAXJ;;AAaD;;AAED,QAAIG,iBAAJ,EAAuB;AACrB,cAAQD,MAAR;AACE,aAAK,SAAL;AACE,iBAAOkB,yBAAOC,uBAAP,EAAP;AACF,aAAK,QAAL;AACE,iBAAOP,6BAAWQ,sBAAX,CAAkCZ,UAAlC,CAAP;AACF,aAAK,OAAL;AACE,iBAAOU,yBAAOG,qBAAP,EAAP;AACF,aAAK,UAAL;AACE,iBAAOH,yBAAOI,wBAAP,EAAP,CARJ;;AAUD;AACF,GA7BD;;AA+BA;AACE,iCAAC,4BAAD,6BAAmBnB,IAAnB,IAAyB,cAAYD,SAArC;AACE,iCAAC,cAAD,IAAQ,QAAQ,EAAC,cAAjB,EAAgC,SAAS,EAAEgB,yBAAOK,KAAP,CAAalB,KAAb,CAA3C;AACE,0CAAK,GAAG,EAAED,GAAV,EAAe,SAAS,EAAE,iBAAGc,yBAAOM,KAAP,CAAanB,KAAb,CAAH,EAAwBM,iBAAiB,CAACX,MAAD,CAAzC,CAA1B,GADF,CADF,CADF;;;;AAOD,CAnDM,C","sourcesContent":["import React, { useContext, useRef } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nimport { animations, styles } from './GlobalLoaderView.styles';\nimport { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams';\n\nexport interface GlobalLoaderViewProps extends Pick<CommonProps, 'data-tid'> {\n expectedResponseTime: number;\n delayBeforeHide: number;\n status?: 'success' | 'error' | 'standard' | 'accept';\n disableAnimations: boolean;\n dataState?: 'done' | 'rejected';\n}\n\nexport interface GlobalLoaderViewRef {\n element: HTMLDivElement;\n refObject: React.RefObject<GlobalLoaderViewRef['element']>;\n}\n\nexport const GlobalLoaderView = ({\n expectedResponseTime,\n delayBeforeHide,\n status,\n disableAnimations,\n dataState,\n ...rest\n}: GlobalLoaderViewProps) => {\n const ref = useRef<GlobalLoaderViewRef['element']>(null);\n const theme = useContext(ThemeContext);\n const { width, startWidth, fullWidth } = useGlobalLoaderWidth(status, ref);\n const { left } = useGlobalLoaderPosition(ref);\n\n const getAnimationClass = (status: GlobalLoaderViewProps['status']) => {\n if (!disableAnimations) {\n switch (status) {\n case 'success':\n return animations.successAnimation(delayBeforeHide, width, left);\n case 'accept':\n if (startWidth < fullWidth * 0.8) {\n return animations.acceptAnimation(theme, startWidth, expectedResponseTime, width, left);\n }\n return animations.slowAcceptAnimation(theme, startWidth, width, left);\n case 'error':\n return animations.errorAnimation(theme);\n case 'standard':\n return animations.standardAnimation(theme, expectedResponseTime);\n }\n }\n\n if (disableAnimations) {\n switch (status) {\n case 'success':\n return styles.successWithoutAnimation();\n case 'accept':\n return animations.acceptWithoutAnimation(startWidth);\n case 'error':\n return styles.errorWithoutAnimation();\n case 'standard':\n return styles.standardWithoutAnimation();\n }\n }\n };\n\n return (\n <CommonWrapper {...rest} data-state={dataState}>\n <ZIndex priority=\"GlobalLoader\" className={styles.outer(theme)}>\n <div ref={ref} className={cx(styles.inner(theme), getAnimationClass(status))} />\n </ZIndex>\n </CommonWrapper>\n );\n};\n"]}
@@ -12,6 +12,7 @@ var _Emotion = require("../../lib/theming/Emotion");
12
12
  var _rootNode = require("../../lib/rootNode");
13
13
 
14
14
  var _createPropsGetter = require("../../lib/createPropsGetter");
15
+ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
15
16
 
16
17
  var _Hint = require("./Hint.styles");var _class, _class2, _temp;
17
18
 
@@ -239,4 +240,4 @@ Hint = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function
239
240
 
240
241
  open = function () {
241
242
  _this.setState({ opened: true });
242
- };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: true, opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef, withoutMobile: true }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
243
+ };return _this;}var _proto = Hint.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$getProps = this.getProps(),opened = _this$getProps.opened,manual = _this$getProps.manual;if (!manual) {return;}if (this.timer) {clearTimeout(this.timer);this.timer = null;}if (opened !== prevProps.opened) {this.setState({ opened: !!opened });}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.timer) {clearTimeout(this.timer);this.timer = null;}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupPinOffset: theme.hintPinOffset, popupMargin: theme.hintMargin, popupBorder: theme.hintBorder, popupBorderRadius: theme.hintBorderRadius }, _this2.theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this3 = this;var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,useWrapper = _this$getProps2.useWrapper;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, { hasPin: !(0, _ThemeHelpers.isTheme2022)(this.theme), opened: this.state.opened, anchorElement: this.props.children, positions: this.getPositions(), backgroundColor: this.theme.hintBgColor, borderColor: HINT_BORDER_COLOR, onPositionChange: function onPositionChange(position) {return _this3.setState({ position: position });}, disableAnimations: disableAnimations, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper, ref: this.popupRef, withoutMobile: true }, this.renderContent()));};_proto.renderContent = function renderContent() {var _cx;if (!this.props.text) {return null;}var _this$getProps3 = this.getProps(),maxWidth = _this$getProps3.maxWidth;var centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];var className = (0, _Emotion.cx)((_cx = {}, _cx[_Hint.styles.content(this.theme)] = true, _cx[_Hint.styles.contentCenter(this.theme)] = centerAlignPositions.includes(this.state.position), _cx));return /*#__PURE__*/_react.default.createElement("div", { className: className, style: { maxWidth: maxWidth } }, this.props.text);};return Hint;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Hint', _class2.defaultProps = { pos: 'top', manual: false, opened: false, maxWidth: 200, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false }, _temp)) || _class;exports.Hint = Hint;
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["HINT_BORDER_COLOR","Positions","Hint","rootNode","getProps","defaultProps","state","opened","manual","position","DUMMY_LOCATION","timer","popupRef","React","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","props","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","theme","ThemeFactory","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","disableAnimations","useWrapper","setRootNode","children","hintBgColor","renderContent","text","maxWidth","centerAlignPositions","className","styles","content","contentCenter","includes","PureComponent","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DUMMY_LOCATION, Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos?: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations?: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPositionsType;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\ntype DefaultProps = Required<\n Pick<HintProps, 'pos' | 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>\n>;\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps: DefaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const { disableAnimations, useWrapper } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={!isTheme2022(this.theme)}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.getProps().pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -1,8 +1,12 @@
1
1
  import React, { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import { Nullable, Override } from '../../typings/utility-types';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
+ import { SizeProp } from '../../lib/types/props';
4
5
  export declare const inputTypes: readonly ["password", "text", "number", "tel", "search", "time", "date", "url", "email"];
5
- export declare type InputSize = 'small' | 'medium' | 'large';
6
+ /**
7
+ * @deprecated use SizeProp
8
+ */
9
+ export declare type InputSize = SizeProp;
6
10
  export declare type InputAlign = 'left' | 'center' | 'right';
7
11
  export declare type InputType = typeof inputTypes[number];
8
12
  export declare type InputIconType = React.ReactNode | (() => React.ReactNode);
@@ -11,7 +15,7 @@ export declare const selectionErrorMessage: (type: InputType, allowedTypes?: Inp
11
15
  export declare const maskForbiddenTypes: InputType[];
12
16
  export declare const maskAllowedTypes: InputType[];
13
17
  export declare const maskErrorMessage: (type: InputType, allowedTypes?: InputType[]) => string;
14
- export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
18
+ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, 'role'>, Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
15
19
  /**
16
20
  * Иконка слева
17
21
  * Если `ReactNode` применяются дефолтные стили для иконки
@@ -48,7 +52,7 @@ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, '
48
52
  /** Показывать символы маски */
49
53
  alwaysShowMask?: boolean;
50
54
  /** Размер */
51
- size?: InputSize;
55
+ size?: SizeProp;
52
56
  /** onValueChange */
53
57
  onValueChange?: (value: string) => void;
54
58
  /** Вызывается на label */
@@ -88,10 +92,6 @@ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, '
88
92
  onUnexpectedInput?: (value: string) => void;
89
93
  /** @ignore */
90
94
  corners?: Partial<Pick<React.CSSProperties, 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'>>;
91
- /**
92
- * Атрибут для указания id элемента(-ов), описывающих его
93
- */
94
- 'aria-describedby'?: AriaAttributes['aria-describedby'];
95
95
  }> {
96
96
  }
97
97
  export interface InputState {
@@ -18,12 +18,16 @@ var _rootNode = require("../../lib/rootNode");
18
18
  var _createPropsGetter = require("../../lib/createPropsGetter");
19
19
  var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
20
20
 
21
+
21
22
  var _Input = require("./Input.styles");
22
23
  var _InputLayout = require("./InputLayout/InputLayout");
23
- var _PolyfillPlaceholder = require("./InputLayout/PolyfillPlaceholder");var _excluded = ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "mask", "maskChar", "alwaysShowMask", "size", "placeholder", "selectAllOnFocus", "disabled", "onUnexpectedInput", "prefix", "suffix", "formatChars", "corners", "aria-describedby"];var _class, _class2, _temp;
24
+ var _PolyfillPlaceholder = require("./InputLayout/PolyfillPlaceholder");var _excluded = ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "mask", "maskChar", "alwaysShowMask", "size", "placeholder", "selectAllOnFocus", "disabled", "onUnexpectedInput", "prefix", "suffix", "formatChars", "corners", "aria-describedby", "aria-controls", "aria-label"];var _class, _class2, _temp;
24
25
 
25
- var inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'];exports.inputTypes = inputTypes;
26
+ var inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'];
26
27
 
28
+ /**
29
+ * @deprecated use SizeProp
30
+ */exports.inputTypes = inputTypes;
27
31
 
28
32
 
29
33
 
@@ -140,9 +144,6 @@ var maskErrorMessage = function maskErrorMessage(type, allowedTypes) {if (allowe
140
144
 
141
145
 
142
146
 
143
-
144
-
145
-
146
147
 
147
148
 
148
149
 
@@ -363,7 +364,9 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
363
364
 
364
365
 
365
366
 
366
- props.onMouseEnter,onMouseLeave = props.onMouseLeave,onMouseOver = props.onMouseOver,onKeyDown = props.onKeyDown,onKeyPress = props.onKeyPress,onValueChange = props.onValueChange,width = props.width,error = props.error,role = props.role,warning = props.warning,leftIcon = props.leftIcon,rightIcon = props.rightIcon,borderless = props.borderless,value = props.value,align = props.align,type = props.type,mask = props.mask,maskChar = props.maskChar,alwaysShowMask = props.alwaysShowMask,size = props.size,placeholder = props.placeholder,selectAllOnFocus = props.selectAllOnFocus,disabled = props.disabled,onUnexpectedInput = props.onUnexpectedInput,prefix = props.prefix,suffix = props.suffix,formatChars = props.formatChars,corners = props.corners,ariaDescribedby = props['aria-describedby'],rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
367
+
368
+
369
+ props.onMouseEnter,onMouseLeave = props.onMouseLeave,onMouseOver = props.onMouseOver,onKeyDown = props.onKeyDown,onKeyPress = props.onKeyPress,onValueChange = props.onValueChange,width = props.width,error = props.error,role = props.role,warning = props.warning,leftIcon = props.leftIcon,rightIcon = props.rightIcon,borderless = props.borderless,value = props.value,align = props.align,type = props.type,mask = props.mask,maskChar = props.maskChar,alwaysShowMask = props.alwaysShowMask,size = props.size,placeholder = props.placeholder,selectAllOnFocus = props.selectAllOnFocus,disabled = props.disabled,onUnexpectedInput = props.onUnexpectedInput,prefix = props.prefix,suffix = props.suffix,formatChars = props.formatChars,corners = props.corners,ariaDescribedby = props['aria-describedby'],ariaControls = props['aria-controls'],ariaLabel = props['aria-label'],rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
367
370
 
368
371
  var _this$state = _this.state,blinking = _this$state.blinking,focused = _this$state.focused;
369
372
 
@@ -380,6 +383,7 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
380
383
  _Input.styles.warningFallback(_this.theme)] = warning && (_client.isIE11 || _client.isEdge), _cx[
381
384
  _Input.styles.errorFallback(_this.theme)] = error && (_client.isIE11 || _client.isEdge), _cx)),
382
385
 
386
+ 'aria-controls': ariaControls,
383
387
  style: (0, _extends2.default)({ width: width }, corners),
384
388
  onMouseEnter: onMouseEnter,
385
389
  onMouseLeave: onMouseLeave,
@@ -404,7 +408,8 @@ Input = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functio
404
408
  type: type,
405
409
  placeholder: !_this.isMaskVisible && !_needsPolyfillPlaceholder.needsPolyfillPlaceholder ? placeholder : undefined,
406
410
  disabled: disabled,
407
- 'aria-describedby': ariaDescribedby });
411
+ 'aria-describedby': ariaDescribedby,
412
+ 'aria-label': ariaLabel });
408
413
 
409
414
 
410
415
  var input =
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputSize = 'small' | 'medium' | 'large';\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: InputSize;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Input.tsx"],"names":["inputTypes","selectionAllowedTypes","selectionErrorMessage","type","allowedTypes","map","i","join","maskForbiddenTypes","maskAllowedTypes","filter","includes","maskErrorMessage","InputDataTids","root","Input","rootNode","getProps","defaultProps","state","needsPolyfillPlaceholder","blinking","focused","selectAllId","blinkTimeout","input","selectAll","setSelectionRange","value","length","delaySelectAll","cancelDelayedSelectAll","raf","cancel","cancelBlink","callback","clearTimeout","setState","renderMain","props","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onKeyPress","onValueChange","width","error","role","warning","leftIcon","rightIcon","borderless","align","mask","maskChar","alwaysShowMask","size","placeholder","selectAllOnFocus","disabled","onUnexpectedInput","prefix","suffix","formatChars","corners","ariaDescribedby","ariaControls","ariaLabel","rest","labelProps","className","styles","theme","getSizeClassName","focus","hovering","blink","focusFallback","isIE11","isEdge","warningFallback","errorFallback","style","inputProps","inputFocus","inputDisabled","onChange","handleChange","onFocus","handleFocus","handleKeyDown","handleKeyPress","onBlur","handleBlur","textAlign","ref","refInput","isMaskVisible","undefined","canBeUsedWithMask","renderMaskedInput","React","createElement","Boolean","defaultValue","sideContainer","renderLeftIcon","renderPrefix","wrapper","renderPlaceholder","rightContainer","renderSuffix","renderRightIcon","element","MaskedInput","event","fieldIsEmpty","target","e","isDeleteKey","isKeyBackspace","isKeyDelete","currentTarget","repeat","handleUnexpectedInput","maxLength","handleMaskedValueChange","prefixDisabled","suffixDisabled","outputMaskError","componentDidMount","componentDidUpdate","prevProps","componentWillUnmount","blur","getNode","offsetWidth","window","setTimeout","start","end","Error","document","activeElement","render","setRootNode","getIconSizeClassname","right","rightIconLarge","leftIconLarge","rightIconMedium","leftIconMedium","rightIconSmall","leftIconSmall","renderIcon","icon","sizeClassName","iconNode","Function","useDefaultColor","iconFocus","iconDisabled","placeholderDisabled","placeholderFocus","sizeLarge","sizeLargeFallback","sizeMedium","sizeMediumFallback","sizeSmall","sizeSmallFallback","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport invariant from 'invariant';\nimport React, { AriaAttributes, HTMLAttributes } from 'react';\nimport raf from 'raf';\nimport warning from 'warning';\n\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { MaskedInput } from '../../internal/MaskedInput';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Input.styles';\nimport { InputLayout } from './InputLayout/InputLayout';\nimport { PolyfillPlaceholder } from './InputLayout/PolyfillPlaceholder';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\n/**\n * @deprecated use SizeProp\n */\nexport type InputSize = SizeProp;\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type InputType = typeof inputTypes[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes) => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const maskForbiddenTypes: InputType[] = ['number', 'date', 'time'];\nexport const maskAllowedTypes: InputType[] = inputTypes.filter((type) => {\n return !maskForbiddenTypes.includes(type);\n});\nexport const maskErrorMessage = (type: InputType, allowedTypes: InputType[] = maskAllowedTypes) => {\n return `<Input />. Prop \"mask\" does not support type \"${type}\". Supported types: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}.`;\n};\n\nexport interface InputProps\n extends CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Иконка слева\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n leftIcon?: InputIconType;\n /**\n * Иконка справа\n * Если `ReactNode` применяются дефолтные стили для иконки\n * Если `() => ReactNode` применяются только стили для позиционирование\n */\n rightIcon?: InputIconType;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /** Режим прозрачной рамки */\n borderless?: boolean;\n /** Выравнивание текста */\n align?: InputAlign;\n /** Паттерн маски. Доступен для типов `text`, `password`, `email`, `tel`, `search`, `url` */\n mask?: Nullable<string>;\n /** Символ маски */\n maskChar?: Nullable<string>;\n /**\n * Словарь символов-регулярок для задания маски\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' }\n */\n formatChars?: Record<string, string>;\n /** Показывать символы маски */\n alwaysShowMask?: boolean;\n /** Размер */\n size?: SizeProp;\n /** onValueChange */\n onValueChange?: (value: string) => void;\n /** Вызывается на label */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /** Вызывается на label */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Тип. Возможные значения: 'password' | 'text' | 'number' | 'tel' | 'search' | 'time' | 'date' | 'url' | 'email'\n * */\n type?: InputType;\n /** Значение */\n value?: string;\n capture?: boolean;\n\n /**\n * Префикс\n * `ReactNode` перед значением, но после иконки\n */\n prefix?: React.ReactNode;\n /**\n * Суффикс\n * `ReactNode` после значения, но перед правой иконкой\n */\n suffix?: React.ReactNode;\n /** Выделять введенное значение при фокусе. Работает с типами `text`, `password`, `tel`, `search`, `url`. [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange) */\n selectAllOnFocus?: boolean;\n /**\n * Обработчик неправильного ввода.\n * По-умолчанию, инпут вспыхивает синим.\n * Если передан - вызывается переданный обработчик,\n * в таком случае вспыхивание можно вызвать\n * публичным методом инстанса `blink()`.\n *\n * @param value значение инпута.\n */\n onUnexpectedInput?: (value: string) => void;\n /** @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n }\n > {}\n\nexport interface InputState {\n blinking: boolean;\n focused: boolean;\n needsPolyfillPlaceholder: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'size' | 'type'>>;\n\n/**\n * Интерфейс пропсов наследуется от `React.InputHTMLAttributes<HTMLInputElement>`.\n * Все пропсы кроме перечисленных, `className` и `style` передаются в `<input>`\n */\n@rootNode\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n type: 'text',\n };\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n public state: InputState = {\n needsPolyfillPlaceholder,\n blinking: false,\n focused: false,\n };\n\n private selectAllId: number | null = null;\n private theme!: Theme;\n private blinkTimeout = 0;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n private outputMaskError() {\n warning(!(this.props.mask && this.canBeUsedWithMask), maskErrorMessage(this.getProps().type));\n }\n\n public componentDidMount() {\n this.outputMaskError();\n }\n\n public componentDidUpdate(prevProps: Readonly<InputProps>) {\n if (this.props.type !== prevProps.type || this.props.mask !== prevProps.mask) {\n this.outputMaskError();\n }\n }\n\n public componentWillUnmount() {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n }\n this.cancelDelayedSelectAll();\n }\n\n /**\n * @public\n */\n public focus() {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /**\n * @public\n */\n public getNode() {\n return this.input;\n }\n\n /**\n * @public\n */\n public blink() {\n if (this.blinkTimeout) {\n this.cancelBlink(() => {\n // trigger reflow to restart animation\n // @see https://css-tricks.com/restart-css-animation/#article-header-id-0\n void (this.input && this.input.offsetWidth);\n this.blink();\n });\n return;\n }\n this.setState({ blinking: true }, () => {\n this.blinkTimeout = window.setTimeout(this.cancelBlink, 150);\n });\n }\n\n /**\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number) {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n throw new Error('Cannot call \"setSelectionRange\" on unmounted Input');\n }\n\n if (document.activeElement !== this.input) {\n this.focus();\n }\n if (this.props.mask && this.props.value && this.props.value?.length < this.props.mask.length) {\n setTimeout(() => {\n this.input?.setSelectionRange(start, end);\n }, 150);\n } else {\n this.input?.setSelectionRange(start, end);\n }\n }\n\n public get isMaskVisible(): boolean {\n const { mask, alwaysShowMask } = this.props;\n const { focused } = this.state;\n return Boolean(mask && (focused || alwaysShowMask));\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private get canBeUsedWithMask() {\n return maskForbiddenTypes.includes(this.getProps().type);\n }\n\n /**\n * Работает с типами `text`, `password`, `tel`, `search`, `url`\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private delaySelectAll = (): number => (this.selectAllId = raf(this.selectAll));\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n raf.cancel(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private cancelBlink = (callback?: () => void): void => {\n if (this.blinkTimeout) {\n clearTimeout(this.blinkTimeout);\n this.blinkTimeout = 0;\n if (this.state.blinking) {\n this.setState({ blinking: false }, callback);\n return;\n }\n }\n if (callback) {\n callback();\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n mask,\n maskChar,\n alwaysShowMask,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n formatChars,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n const { blinking, focused } = this.state;\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getSizeClassName(), {\n [styles.focus(this.theme)]: focused && !warning && !error,\n [styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [styles.blink(this.theme)]: blinking,\n [styles.borderless()]: borderless && !focused,\n [styles.disabled(this.theme)]: disabled,\n [styles.warning(this.theme)]: warning,\n [styles.error(this.theme)]: error,\n [styles.focusFallback(this.theme)]: focused && (isIE11 || isEdge),\n [styles.warningFallback(this.theme)]: warning && (isIE11 || isEdge),\n [styles.errorFallback(this.theme)]: error && (isIE11 || isEdge),\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n };\n\n const inputProps = {\n ...rest,\n className: cx(styles.input(this.theme), {\n [styles.inputFocus(this.theme)]: focused,\n [styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder: !this.isMaskVisible && !needsPolyfillPlaceholder ? placeholder : undefined,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input =\n mask && !this.canBeUsedWithMask\n ? this.renderMaskedInput(inputProps, mask)\n : React.createElement('input', inputProps);\n\n if (isTheme2022(this.theme)) {\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={rightIcon}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size }}\n >\n {input}\n {this.state.needsPolyfillPlaceholder && (\n <PolyfillPlaceholder\n isMaskVisible={this.isMaskVisible}\n value={value}\n defaultValue={this.props.defaultValue}\n align={align}\n >\n {placeholder}\n </PolyfillPlaceholder>\n )}\n </InputLayout>\n );\n }\n\n return (\n <label data-tid={InputDataTids.root} {...labelProps}>\n <span className={styles.sideContainer()}>\n {this.renderLeftIcon()}\n {this.renderPrefix()}\n </span>\n <span className={styles.wrapper()}>\n {input}\n {this.renderPlaceholder()}\n </span>\n <span className={cx(styles.sideContainer(), styles.rightContainer())}>\n {this.renderSuffix()}\n {this.renderRightIcon()}\n </span>\n </label>\n );\n };\n\n private renderMaskedInput(\n inputProps: React.InputHTMLAttributes<HTMLInputElement> & {\n capture?: boolean;\n },\n mask: string,\n ) {\n return (\n <MaskedInput\n {...inputProps}\n mask={mask}\n maskChar={this.props.maskChar}\n alwaysShowMask={this.props.alwaysShowMask}\n formatChars={this.props.formatChars}\n onChange={this.props.onChange}\n onValueChange={this.handleMaskedValueChange}\n onUnexpectedInput={this.handleUnexpectedInput}\n />\n );\n }\n\n private getIconSizeClassname(right = false) {\n switch (this.getProps().size) {\n case 'large':\n return right ? styles.rightIconLarge(this.theme) : styles.leftIconLarge(this.theme);\n case 'medium':\n return right ? styles.rightIconMedium(this.theme) : styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return right ? styles.rightIconSmall(this.theme) : styles.leftIconSmall(this.theme);\n }\n }\n\n private renderLeftIcon() {\n return this.renderIcon(this.props.leftIcon, this.getIconSizeClassname());\n }\n\n private renderRightIcon() {\n return this.renderIcon(this.props.rightIcon, this.getIconSizeClassname(true));\n }\n\n private renderIcon(icon: InputIconType, sizeClassName: string) {\n if (!icon) {\n return null;\n }\n const { disabled } = this.props;\n const iconNode = icon instanceof Function ? icon() : icon;\n\n return (\n <span\n className={cx(styles.icon(), sizeClassName, styles.useDefaultColor(this.theme), {\n [styles.iconFocus(this.theme)]: this.state.focused,\n [styles.iconDisabled()]: disabled,\n })}\n >\n {iconNode}\n </span>\n );\n }\n\n private renderPlaceholder() {\n const { disabled } = this.props;\n const { focused } = this.state;\n let placeholder = null;\n\n if (\n this.state.needsPolyfillPlaceholder &&\n this.props.placeholder &&\n !this.isMaskVisible &&\n !this.props.value &&\n !this.props.defaultValue\n ) {\n placeholder = (\n <div\n className={cx(styles.placeholder(this.theme), {\n [styles.placeholderDisabled(this.theme)]: disabled,\n [styles.placeholderFocus(this.theme)]: focused,\n })}\n style={{ textAlign: this.props.align || 'inherit' }}\n >\n {this.props.placeholder}\n </div>\n );\n }\n\n return placeholder;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx({\n [styles.sizeLarge(this.theme)]: true,\n [styles.sizeLargeFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'medium':\n return cx({\n [styles.sizeMedium(this.theme)]: true,\n [styles.sizeMediumFallback(this.theme)]: isIE11 || isEdge,\n });\n case 'small':\n default:\n return cx({\n [styles.sizeSmall(this.theme)]: true,\n [styles.sizeSmallFallback(this.theme)]: isIE11 || isEdge,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | MaskedInput | null) => {\n if (element instanceof MaskedInput) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = event.target.value === '';\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && !isIE11 ? this.selectAll() : this.delaySelectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleMaskedValueChange = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({ focused: false });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private renderPrefix = () => {\n const { prefix, disabled } = this.props;\n\n if (!prefix) {\n return null;\n }\n\n return (\n <span className={cx(styles.prefix(this.theme), { [styles.prefixDisabled(this.theme)]: disabled })}>{prefix}</span>\n );\n };\n\n private renderSuffix = () => {\n const { suffix, disabled } = this.props;\n\n if (!suffix) {\n return null;\n }\n\n return (\n <span className={cx(styles.suffix(this.theme), { [styles.suffixDisabled(this.theme)]: disabled })}>{suffix}</span>\n );\n };\n}\n"]}
@@ -28,7 +28,7 @@ var styles = (0, _Emotion.memoizeStyle)({
28
28
  },
29
29
 
30
30
  root: function root(t) {
31
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n align-items: center;\n background-clip: ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ", ";\n\n & * {\n box-sizing: border-box;\n }\n "])),
31
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n align-items: center;\n background-clip: ", ";\n background-color: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n transition: border-color ", " ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ", ";\n\n & * {\n box-sizing: border-box;\n }\n "])),
32
32
  (0, _Mixins.resetText)(),
33
33
 
34
34
 
@@ -36,6 +36,7 @@ var styles = (0, _Emotion.memoizeStyle)({
36
36
  t.inputBg,
37
37
  t.inputBorderWidth, t.inputBorderColor,
38
38
  t.inputBorderTopColor,
39
+ t.transitionDuration, t.transitionTimingFunction,
39
40
  t.inputShadow,
40
41
 
41
42
  t.inputColor,
@@ -74,7 +75,7 @@ var styles = (0, _Emotion.memoizeStyle)({
74
75
  },
75
76
 
76
77
  focus: function focus(t) {
77
- return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n border-color: ", " !important;\n box-shadow: ", ";\n outline: none;\n z-index: 2;\n "])),
78
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n border-color: ", ";\n box-shadow: ", ";\n outline: none;\n z-index: 2;\n "])),
78
79
  t.inputFocusedBg,
79
80
  t.inputBorderColorFocus,
80
81
  t.inputFocusShadow);
@@ -1 +1 @@
1
- {"version":3,"sources":["Input.styles.ts"],"names":["shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","styles","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus} !important;\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Input.styles.ts"],"names":["shouldCompensateFontFamily","fontFamilyCompensation","Boolean","parseInt","styles","wrapper","css","root","t","inputBackgroundClip","inputBg","inputBorderWidth","inputBorderColor","inputBorderTopColor","transitionDuration","transitionTimingFunction","inputShadow","inputColor","inputWidth","hovering","inputBorderColorHover","borderless","useDefaultColor","inputIconColor","focus","inputFocusedBg","inputBorderColorFocus","inputFocusShadow","focusFallback","inputOutlineWidth","inputFocusOutline","placeholder","inputPlaceholderColor","placeholderFocus","inputPlaceholderColorLight","placeholderDisabled","inputPlaceholderColorDisabled","input","inputTextColor","inputColorScheme","inputFocus","inputDisabled","inputTextColorDisabled","warning","inputBorderColorWarning","warningFallback","error","inputBorderColorError","errorFallback","disabled","inputDisabledBg","inputDisabledBorderColor","blink","blinkAnimation","keyframes","inputBlinkColor","sizeSmall","inputFontSizeSmall","inputLineHeightSmall","inputPaddingYSmall","inputPaddingXSmall","inputHeightSmall","inputBorderRadiusSmall","sizeSmallFallback","fontFamilyCompensationBaseline","sizeMedium","inputFontSizeMedium","inputLineHeightMedium","inputPaddingYMedium","inputPaddingXMedium","inputHeightMedium","inputBorderRadiusMedium","sizeMediumFallback","sizeLarge","inputFontSizeLarge","inputLineHeightLarge","inputHeightLarge","inputPaddingYLarge","inputPaddingXLarge","inputBorderRadiusLarge","sizeLargeFallback","prefix","prefixDisabled","suffix","suffixDisabled","sideContainer","rightContainer","icon","iconFocus","inputFocusedIconColor","iconDisabled","leftIconSmall","inputIconSizeSmall","inputIconGapSmall","rightIconSmall","leftIconMedium","inputIconSizeMedium","inputIconGapMedium","rightIconMedium","leftIconLarge","inputIconSizeLarge","inputIconGapLarge","rightIconLarge","hideBlinkingCursor"],"mappings":"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","sourcesContent":["import { css, keyframes, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { shift } from '../../lib/styles/DimensionFunctions';\nimport { resetText } from '../../lib/styles/Mixins';\n\nconst shouldCompensateFontFamily = (fontFamilyCompensation: string): boolean =>\n Boolean(parseInt(fontFamilyCompensation));\n\nexport const styles = memoizeStyle({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n useDefaultColor(t: Theme) {\n return css`\n color: ${t.inputIconColor};\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n focusFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputOutlineWidth} solid ${t.inputFocusOutline};\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n warningFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n errorFallback(t: Theme) {\n return css`\n box-shadow: none;\n outline: ${t.inputBorderWidth} solid ${t.inputBorderColorError};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n blink(t: Theme) {\n const blinkAnimation = keyframes`\n 0% {\n background-color: ${t.inputBlinkColor};\n }\n `;\n return css`\n animation: ${blinkAnimation} 0.15s ease-in;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeSmallFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYSmall,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n line-height: normal;\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeMediumFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYMedium,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n line-height: normal;\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-1' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '1' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n sizeLargeFallback(t: Theme) {\n return css`\n padding-top: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '-2' : '0',\n )};\n padding-bottom: ${shift(\n t.inputPaddingYLarge,\n shouldCompensateFontFamily(t.fontFamilyCompensationBaseline) ? '2' : '0',\n )};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n line-height: normal;\n `;\n },\n\n prefix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n prefixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n suffix(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n\n suffixDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n sideContainer() {\n return css`\n align-items: center;\n display: flex;\n flex-shrink: 0;\n height: 100%;\n\n &::before {\n content: '\\\\a0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n rightContainer() {\n return css`\n justify-self: flex-end;\n margin: 0 0 0 auto;\n padding-left: 0;\n `;\n },\n\n icon() {\n return css`\n flex-shrink: 0;\n cursor: text;\n z-index: 2;\n text-align: center;\n box-sizing: content-box !important; // fix possible \"reset.css\" problem\n `;\n },\n\n iconFocus(t: Theme) {\n return css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n\n iconDisabled() {\n return css`\n cursor: default;\n `;\n },\n\n leftIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-right: ${t.inputIconGapSmall};\n `;\n },\n\n rightIconSmall(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeSmall};\n padding-left: ${t.inputIconGapSmall};\n `;\n },\n\n leftIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-right: ${t.inputIconGapMedium};\n `;\n },\n\n rightIconMedium(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeMedium};\n padding-left: ${t.inputIconGapMedium};\n `;\n },\n\n leftIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-right: ${t.inputIconGapLarge};\n `;\n },\n\n rightIconLarge(t: Theme) {\n return css`\n min-width: ${t.inputIconSizeLarge};\n padding-left: ${t.inputIconGapLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n});\n"]}
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { InputProps } from '../Input';
3
+ import { CommonProps } from '../../../internal/CommonWrapper';
3
4
  import { InputLayoutContextProps } from './InputLayoutContext';
4
5
  declare type InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix'>;
5
- export interface InputLayoutRootProps extends InputLayoutRootFromInputProps {
6
+ export interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {
6
7
  labelProps: React.LabelHTMLAttributes<HTMLLabelElement>;
7
8
  context: Partial<InputLayoutContextProps>;
8
9
  }
9
- export declare const InputLayout: React.FunctionComponent<InputLayoutRootProps>;
10
+ export declare const InputLayout: import("../../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps>;
10
11
  export {};