@skbkontur/react-ui 2.17.6 → 2.17.7-sidepage-header

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 (1099) hide show
  1. package/CHANGELOG.md +2194 -2183
  2. package/README.md +61 -61
  3. package/cjs/components/Autocomplete/Autocomplete.js +23 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  6. package/cjs/components/Autocomplete/index.js.map +1 -1
  7. package/cjs/components/Button/Button.js +4 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.md +89 -89
  10. package/cjs/components/Button/Button.mixins.js.map +1 -1
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/Corners.js.map +1 -1
  13. package/cjs/components/Button/index.js.map +1 -1
  14. package/cjs/components/Center/Center.js +3 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Center/Center.md +5 -5
  17. package/cjs/components/Center/Center.styles.js.map +1 -1
  18. package/cjs/components/Center/index.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.js +9 -9
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/Checkbox/Checkbox.md +63 -63
  22. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  23. package/cjs/components/Checkbox/index.js.map +1 -1
  24. package/cjs/components/ComboBox/ComboBox.js +20 -20
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/ComboBox/ComboBox.md +432 -432
  27. package/cjs/components/ComboBox/index.js.map +1 -1
  28. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -7
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyInput/CurrencyInput.md +20 -20
  32. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  33. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  34. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  35. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  36. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  37. package/cjs/components/CurrencyInput/index.js.map +1 -1
  38. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  39. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  40. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  41. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  42. package/cjs/components/DateInput/DateInput.js.map +1 -1
  43. package/cjs/components/DateInput/DateInput.md +104 -104
  44. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  45. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  46. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  47. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  48. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  49. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  50. package/cjs/components/DateInput/index.js.map +1 -1
  51. package/cjs/components/DatePicker/DatePicker.js +15 -15
  52. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.md +310 -310
  54. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  55. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  56. package/cjs/components/DatePicker/Picker.js.map +1 -1
  57. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  58. package/cjs/components/DatePicker/index.js.map +1 -1
  59. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  60. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  61. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  62. package/cjs/components/Dropdown/Dropdown.js +24 -24
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/Dropdown/Dropdown.md +12 -12
  65. package/cjs/components/Dropdown/index.js.map +1 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js +2 -2
  67. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  68. package/cjs/components/DropdownMenu/DropdownMenu.md +73 -73
  69. package/cjs/components/DropdownMenu/index.js.map +1 -1
  70. package/cjs/components/Fias/Fias.js +2 -2
  71. package/cjs/components/Fias/Fias.js.map +1 -1
  72. package/cjs/components/Fias/Fias.md +451 -451
  73. package/cjs/components/Fias/Fias.styles.js.map +1 -1
  74. package/cjs/components/Fias/FiasModal.js.map +1 -1
  75. package/cjs/components/Fias/FiasSearch/FiasSearch.js +2 -2
  76. package/cjs/components/Fias/FiasSearch/FiasSearch.js.map +1 -1
  77. package/cjs/components/Fias/FiasSearch/FiasSearch.md +78 -78
  78. package/cjs/components/Fias/Form/FiasComboBox.js.map +1 -1
  79. package/cjs/components/Fias/Form/FiasCountrySelector.js.map +1 -1
  80. package/cjs/components/Fias/Form/FiasForm.js.map +1 -1
  81. package/cjs/components/Fias/Form/FiasForm.styles.js.map +1 -1
  82. package/cjs/components/Fias/api/FiasAPI.js.map +1 -1
  83. package/cjs/components/Fias/api/FiasAPIResultFactory.js.map +1 -1
  84. package/cjs/components/Fias/api/FiasMockAPI.js.map +1 -1
  85. package/cjs/components/Fias/api/data.json +285 -285
  86. package/cjs/components/Fias/constants/abbreviations.js.map +1 -1
  87. package/cjs/components/Fias/index.js.map +1 -1
  88. package/cjs/components/Fias/locale/index.js.map +1 -1
  89. package/cjs/components/Fias/locale/locales/ru.js.map +1 -1
  90. package/cjs/components/Fias/logger/FiasLogger.js.map +1 -1
  91. package/cjs/components/Fias/models/FiasAddress.js.map +1 -1
  92. package/cjs/components/Fias/models/FiasAddressElement.js.map +1 -1
  93. package/cjs/components/Fias/models/FiasData.js.map +1 -1
  94. package/cjs/components/Fias/types.js.map +1 -1
  95. package/cjs/components/FxInput/FxInput.js.map +1 -1
  96. package/cjs/components/FxInput/FxInput.md +13 -13
  97. package/cjs/components/FxInput/index.js.map +1 -1
  98. package/cjs/components/Gapped/Gapped.js +8 -8
  99. package/cjs/components/Gapped/Gapped.js.map +1 -1
  100. package/cjs/components/Gapped/index.js.map +1 -1
  101. package/cjs/components/Group/Group.js.map +1 -1
  102. package/cjs/components/Group/Group.md +26 -26
  103. package/cjs/components/Group/Group.styles.js.map +1 -1
  104. package/cjs/components/Group/index.js.map +1 -1
  105. package/cjs/components/Hint/Hint.js.map +1 -1
  106. package/cjs/components/Hint/Hint.md +3 -3
  107. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  108. package/cjs/components/Hint/index.js.map +1 -1
  109. package/cjs/components/Input/Input.js +13 -13
  110. package/cjs/components/Input/Input.js.map +1 -1
  111. package/cjs/components/Input/Input.styles.js.map +1 -1
  112. package/cjs/components/Input/index.js.map +1 -1
  113. package/cjs/components/Kebab/Kebab.js +6 -6
  114. package/cjs/components/Kebab/Kebab.js.map +1 -1
  115. package/cjs/components/Kebab/Kebab.md +45 -45
  116. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  117. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  118. package/cjs/components/Kebab/index.js.map +1 -1
  119. package/cjs/components/Link/Link.js +5 -5
  120. package/cjs/components/Link/Link.js.map +1 -1
  121. package/cjs/components/Link/Link.md +11 -11
  122. package/cjs/components/Link/Link.mixins.js.map +1 -1
  123. package/cjs/components/Link/Link.styles.js.map +1 -1
  124. package/cjs/components/Link/index.js.map +1 -1
  125. package/cjs/components/Loader/Loader.js +20 -20
  126. package/cjs/components/Loader/Loader.js.map +1 -1
  127. package/cjs/components/Loader/Loader.md +25 -25
  128. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  129. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  130. package/cjs/components/Loader/index.js.map +1 -1
  131. package/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  132. package/cjs/components/LocaleProvider/index.js.map +1 -1
  133. package/cjs/components/Logotype/Logotype.js +2 -2
  134. package/cjs/components/Logotype/Logotype.js.map +1 -1
  135. package/cjs/components/Logotype/Logotype.md +33 -33
  136. package/cjs/components/Logotype/Logotype.styles.js.map +1 -1
  137. package/cjs/components/Logotype/ProductWidget.js.map +1 -1
  138. package/cjs/components/Logotype/index.js.map +1 -1
  139. package/cjs/components/Logotype/locale/index.js.map +1 -1
  140. package/cjs/components/Logotype/locale/locales/en.js.map +1 -1
  141. package/cjs/components/Logotype/locale/locales/ru.js.map +1 -1
  142. package/cjs/components/MenuHeader/MenuHeader.js +2 -2
  143. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  144. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  145. package/cjs/components/MenuHeader/index.js.map +1 -1
  146. package/cjs/components/MenuItem/MenuItem.js +2 -2
  147. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  148. package/cjs/components/MenuItem/MenuItem.md +7 -7
  149. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  150. package/cjs/components/MenuItem/index.js.map +1 -1
  151. package/cjs/components/MenuSeparator/MenuSeparator.js +2 -2
  152. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  153. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  154. package/cjs/components/MenuSeparator/index.js.map +1 -1
  155. package/cjs/components/Modal/Modal.js +13 -13
  156. package/cjs/components/Modal/Modal.js.map +1 -1
  157. package/cjs/components/Modal/Modal.md +37 -37
  158. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  159. package/cjs/components/Modal/ModalBody.js +4 -4
  160. package/cjs/components/Modal/ModalBody.js.map +1 -1
  161. package/cjs/components/Modal/ModalClose.js.map +1 -1
  162. package/cjs/components/Modal/ModalContext.js.map +1 -1
  163. package/cjs/components/Modal/ModalFooter.js +4 -4
  164. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  165. package/cjs/components/Modal/ModalHeader.js +4 -4
  166. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  167. package/cjs/components/Modal/helpers.js.map +1 -1
  168. package/cjs/components/Modal/index.js.map +1 -1
  169. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  170. package/cjs/components/Paging/Paging.js +10 -10
  171. package/cjs/components/Paging/Paging.js.map +1 -1
  172. package/cjs/components/Paging/Paging.md +43 -43
  173. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  174. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  175. package/cjs/components/Paging/index.js.map +1 -1
  176. package/cjs/components/Paging/locale/index.js.map +1 -1
  177. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  178. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  179. package/cjs/components/PasswordInput/PasswordInput.js +6 -6
  180. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  181. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  182. package/cjs/components/PasswordInput/index.js.map +1 -1
  183. package/cjs/components/Radio/Radio.js +4 -4
  184. package/cjs/components/Radio/Radio.js.map +1 -1
  185. package/cjs/components/Radio/Radio.md +14 -14
  186. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  187. package/cjs/components/Radio/index.js.map +1 -1
  188. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  189. package/cjs/components/RadioGroup/RadioGroup.js +46 -46
  190. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  191. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  192. package/cjs/components/RadioGroup/index.js.map +1 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.js +6 -6
  194. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  195. package/cjs/components/ScrollContainer/ScrollContainer.md +94 -94
  196. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  197. package/cjs/components/ScrollContainer/index.js.map +1 -1
  198. package/cjs/components/Select/Item.js.map +1 -1
  199. package/cjs/components/Select/Select.js +2 -2
  200. package/cjs/components/Select/Select.js.map +1 -1
  201. package/cjs/components/Select/Select.md +23 -23
  202. package/cjs/components/Select/Select.styles.js.map +1 -1
  203. package/cjs/components/Select/index.js.map +1 -1
  204. package/cjs/components/Select/locale/index.js.map +1 -1
  205. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  206. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  207. package/cjs/components/Select/selectTheme.js.map +1 -1
  208. package/cjs/components/SidePage/SidePage.d.ts +2 -0
  209. package/cjs/components/SidePage/SidePage.js +21 -16
  210. package/cjs/components/SidePage/SidePage.js.map +1 -1
  211. package/cjs/components/SidePage/SidePage.md +48 -48
  212. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  213. package/cjs/components/SidePage/SidePageBody.js +4 -4
  214. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageContainer.js +4 -4
  216. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  217. package/cjs/components/SidePage/SidePageContext.d.ts +2 -0
  218. package/cjs/components/SidePage/SidePageContext.js +3 -0
  219. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  220. package/cjs/components/SidePage/SidePageFooter.js +4 -4
  221. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  222. package/cjs/components/SidePage/SidePageHeader.d.ts +5 -0
  223. package/cjs/components/SidePage/SidePageHeader.js +24 -7
  224. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  225. package/cjs/components/SidePage/helpers.js.map +1 -1
  226. package/cjs/components/SidePage/index.js.map +1 -1
  227. package/cjs/components/Spinner/Spinner.js +16 -16
  228. package/cjs/components/Spinner/Spinner.js.map +1 -1
  229. package/cjs/components/Spinner/Spinner.md +34 -34
  230. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  231. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  232. package/cjs/components/Spinner/index.js.map +1 -1
  233. package/cjs/components/Spinner/locale/index.js.map +1 -1
  234. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  235. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  236. package/cjs/components/Sticky/Sticky.d.ts +1 -1
  237. package/cjs/components/Sticky/Sticky.js +4 -4
  238. package/cjs/components/Sticky/Sticky.js.map +1 -1
  239. package/cjs/components/Sticky/Sticky.md +27 -27
  240. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  241. package/cjs/components/Sticky/index.js.map +1 -1
  242. package/cjs/components/Switcher/Switcher.js.map +1 -1
  243. package/cjs/components/Switcher/Switcher.md +10 -10
  244. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  245. package/cjs/components/Switcher/index.js.map +1 -1
  246. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  247. package/cjs/components/Tabs/Indicator.js.map +1 -1
  248. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  249. package/cjs/components/Tabs/Tab.js +14 -14
  250. package/cjs/components/Tabs/Tab.js.map +1 -1
  251. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  252. package/cjs/components/Tabs/Tabs.js +4 -4
  253. package/cjs/components/Tabs/Tabs.js.map +1 -1
  254. package/cjs/components/Tabs/Tabs.md +36 -36
  255. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  256. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  257. package/cjs/components/Tabs/index.js.map +1 -1
  258. package/cjs/components/Textarea/Textarea.js +12 -12
  259. package/cjs/components/Textarea/Textarea.js.map +1 -1
  260. package/cjs/components/Textarea/Textarea.md +25 -25
  261. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  262. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  263. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  264. package/cjs/components/Textarea/index.js.map +1 -1
  265. package/cjs/components/ThemeConsumer/ThemeConsumer.js.map +1 -1
  266. package/cjs/components/ThemeConsumer/index.js.map +1 -1
  267. package/cjs/components/ThemeProvider/ThemeProvider.js.map +1 -1
  268. package/cjs/components/ThemeProvider/index.js.map +1 -1
  269. package/cjs/components/Toast/Toast.js +19 -19
  270. package/cjs/components/Toast/Toast.js.map +1 -1
  271. package/cjs/components/Toast/Toast.md +41 -41
  272. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  273. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  274. package/cjs/components/Toast/ToastView.js +4 -4
  275. package/cjs/components/Toast/ToastView.js.map +1 -1
  276. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  277. package/cjs/components/Toast/index.js.map +1 -1
  278. package/cjs/components/Toggle/Toggle.js +2 -2
  279. package/cjs/components/Toggle/Toggle.js.map +1 -1
  280. package/cjs/components/Toggle/Toggle.md +24 -24
  281. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  282. package/cjs/components/Toggle/index.js.map +1 -1
  283. package/cjs/components/Token/Token.js.map +1 -1
  284. package/cjs/components/Token/Token.styles.js.map +1 -1
  285. package/cjs/components/Token/index.js.map +1 -1
  286. package/cjs/components/TokenInput/TextWidthHelper.js +3 -3
  287. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  288. package/cjs/components/TokenInput/TokenInput.js +17 -17
  289. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  290. package/cjs/components/TokenInput/TokenInput.md +77 -77
  291. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  292. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  293. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  294. package/cjs/components/TokenInput/index.js.map +1 -1
  295. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  296. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  297. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  298. package/cjs/components/Tooltip/Tooltip.js +8 -8
  299. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  300. package/cjs/components/Tooltip/Tooltip.md +301 -301
  301. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  302. package/cjs/components/Tooltip/index.js.map +1 -1
  303. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -7
  304. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  305. package/cjs/components/TooltipMenu/TooltipMenu.md +115 -115
  306. package/cjs/components/TooltipMenu/index.js.map +1 -1
  307. package/cjs/components/TopBar/TopBar.js +38 -38
  308. package/cjs/components/TopBar/TopBar.js.map +1 -1
  309. package/cjs/components/TopBar/TopBar.md +111 -111
  310. package/cjs/components/TopBar/TopBar.styles.js.map +1 -1
  311. package/cjs/components/TopBar/TopBarButtonItem.js +4 -4
  312. package/cjs/components/TopBar/TopBarButtonItem.js.map +1 -1
  313. package/cjs/components/TopBar/TopBarDivider.js +4 -4
  314. package/cjs/components/TopBar/TopBarDivider.js.map +1 -1
  315. package/cjs/components/TopBar/TopBarDropdown.js +4 -4
  316. package/cjs/components/TopBar/TopBarDropdown.js.map +1 -1
  317. package/cjs/components/TopBar/TopBarEnd.js +4 -4
  318. package/cjs/components/TopBar/TopBarEnd.js.map +1 -1
  319. package/cjs/components/TopBar/TopBarItem.js +4 -4
  320. package/cjs/components/TopBar/TopBarItem.js.map +1 -1
  321. package/cjs/components/TopBar/TopBarLogout.js +4 -4
  322. package/cjs/components/TopBar/TopBarLogout.js.map +1 -1
  323. package/cjs/components/TopBar/TopBarOrganizations.js +4 -4
  324. package/cjs/components/TopBar/TopBarOrganizations.js.map +1 -1
  325. package/cjs/components/TopBar/TopBarStart.js +4 -4
  326. package/cjs/components/TopBar/TopBarStart.js.map +1 -1
  327. package/cjs/components/TopBar/TopBarUser.js +6 -6
  328. package/cjs/components/TopBar/TopBarUser.js.map +1 -1
  329. package/cjs/components/TopBar/index.js.map +1 -1
  330. package/cjs/components/TopBar/locale/index.js.map +1 -1
  331. package/cjs/components/TopBar/locale/locales/en.js.map +1 -1
  332. package/cjs/components/TopBar/locale/locales/ru.js.map +1 -1
  333. package/cjs/index.js.map +1 -1
  334. package/cjs/internal/BGRuler.js +5 -5
  335. package/cjs/internal/BGRuler.js.map +1 -1
  336. package/cjs/internal/Calendar/Calendar.js +3 -3
  337. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  338. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  339. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  340. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  341. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  342. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  343. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  344. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  345. package/cjs/internal/Calendar/Month.js.map +1 -1
  346. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  347. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  348. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  349. package/cjs/internal/Calendar/config.js.map +1 -1
  350. package/cjs/internal/Calendar/index.js.map +1 -1
  351. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  352. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  353. package/cjs/internal/ComponentCombinator.js.map +1 -1
  354. package/cjs/internal/ComponentTable.js.map +1 -1
  355. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  356. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  357. package/cjs/internal/CustomComboBox/CustomComboBox.js +10 -10
  358. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  359. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  360. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  361. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  362. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  363. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  364. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  365. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  366. package/cjs/internal/DateSelect/DateSelect.js +2 -2
  367. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  368. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  369. package/cjs/internal/DateSelect/index.js.map +1 -1
  370. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  371. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  372. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  373. package/cjs/internal/FocusTrap/index.js.map +1 -1
  374. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  375. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  376. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  377. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  378. package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
  379. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  380. package/cjs/internal/InputLikeText/InputLikeText.js +6 -6
  381. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  382. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  383. package/cjs/internal/InputLikeText/index.js.map +1 -1
  384. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  385. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  386. package/cjs/internal/InternalMenu/index.js.map +1 -1
  387. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  388. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +6 -6
  389. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  390. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  391. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  392. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  393. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  394. package/cjs/internal/MaskedInput/index.js.map +1 -1
  395. package/cjs/internal/Menu/Menu.js +10 -10
  396. package/cjs/internal/Menu/Menu.js.map +1 -1
  397. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  398. package/cjs/internal/Menu/index.js.map +1 -1
  399. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  400. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  401. package/cjs/internal/Popup/Popup.js +31 -31
  402. package/cjs/internal/Popup/Popup.js.map +1 -1
  403. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  404. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  405. package/cjs/internal/Popup/PopupPin.js +16 -16
  406. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  407. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  408. package/cjs/internal/Popup/index.js.map +1 -1
  409. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  410. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  411. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  412. package/cjs/internal/PopupMenu/index.js.map +1 -1
  413. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  414. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  415. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  416. package/cjs/internal/RenderContainer/index.js.map +1 -1
  417. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  418. package/cjs/internal/RenderLayer/index.js.map +1 -1
  419. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  420. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  421. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  422. package/cjs/internal/SpinnerOld/SpinnerOld.js +12 -12
  423. package/cjs/internal/SpinnerOld/SpinnerOld.js.map +1 -1
  424. package/cjs/internal/SpinnerOld/SpinnerOld.styles.js.map +1 -1
  425. package/cjs/internal/SpinnerOld/SpinnerOldCloudIcon.js.map +1 -1
  426. package/cjs/internal/SpinnerOld/index.js.map +1 -1
  427. package/cjs/internal/SpinnerOld/locale/index.js.map +1 -1
  428. package/cjs/internal/SpinnerOld/locale/locales/en.js.map +1 -1
  429. package/cjs/internal/SpinnerOld/locale/locales/ru.js.map +1 -1
  430. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  431. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  432. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  433. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  434. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  435. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  436. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  437. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  438. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  439. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  440. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  442. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  444. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  445. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  446. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  447. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  448. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  449. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  450. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  451. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  452. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  453. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  454. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  455. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  456. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  457. package/cjs/internal/ZIndex/index.js.map +1 -1
  458. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  459. package/cjs/internal/icons/16px/index.js.map +1 -1
  460. package/cjs/internal/icons/20px/Icon.js +2 -2
  461. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  462. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  463. package/cjs/internal/icons/20px/index.js.map +1 -1
  464. package/cjs/internal/icons/20px/svg.js.map +1 -1
  465. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  466. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  467. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  468. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  469. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  470. package/cjs/internal/themes/FlatTheme.js.map +1 -1
  471. package/cjs/internal/themes/Theme8px.js.map +1 -1
  472. package/cjs/lib/ConditionalHandler.js +2 -2
  473. package/cjs/lib/ConditionalHandler.js.map +1 -1
  474. package/cjs/lib/LayoutEvents.js.map +1 -1
  475. package/cjs/lib/MockDate.js.map +1 -1
  476. package/cjs/lib/ModalStack.js +4 -4
  477. package/cjs/lib/ModalStack.js.map +1 -1
  478. package/cjs/lib/SSRSafe.js.map +1 -1
  479. package/cjs/lib/Supports.js.map +1 -1
  480. package/cjs/lib/Upgrades.js.map +1 -1
  481. package/cjs/lib/animation/index.js.map +1 -1
  482. package/cjs/lib/animation/presets.js.map +1 -1
  483. package/cjs/lib/animation/stepper.js.map +1 -1
  484. package/cjs/lib/client.js.map +1 -1
  485. package/cjs/lib/createPropsGetter.js.map +1 -1
  486. package/cjs/lib/currentEnvironment.js.map +1 -1
  487. package/cjs/lib/date/InternalDate.js +3 -3
  488. package/cjs/lib/date/InternalDate.js.map +1 -1
  489. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  490. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  491. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  492. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  493. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  494. package/cjs/lib/date/constants.js.map +1 -1
  495. package/cjs/lib/date/localeSets.js.map +1 -1
  496. package/cjs/lib/date/types.js.map +1 -1
  497. package/cjs/lib/dom/getFocusableElements.js +33 -33
  498. package/cjs/lib/dom/getFocusableElements.js.map +1 -1
  499. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  500. package/cjs/lib/events/MouseDrag.js +26 -26
  501. package/cjs/lib/events/MouseDrag.js.map +1 -1
  502. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  503. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  504. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  505. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  506. package/cjs/lib/events/stopPropagation.js.map +1 -1
  507. package/cjs/lib/events/tabListener.js.map +1 -1
  508. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  509. package/cjs/lib/filterProps.js.map +1 -1
  510. package/cjs/lib/listenFocusOutside.js +9 -9
  511. package/cjs/lib/listenFocusOutside.js.map +1 -1
  512. package/cjs/lib/locale/LOCALECONTEXT.md +246 -246
  513. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  514. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  515. package/cjs/lib/locale/constants.js.map +1 -1
  516. package/cjs/lib/locale/decorators.js.map +1 -1
  517. package/cjs/lib/locale/index.js.map +1 -1
  518. package/cjs/lib/locale/types.js.map +1 -1
  519. package/cjs/lib/memo.js.map +1 -1
  520. package/cjs/lib/net/fetch.js.map +1 -1
  521. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  522. package/cjs/lib/reactGetTextContent.js.map +1 -1
  523. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  524. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  525. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  526. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  527. package/cjs/lib/styles/ColorObject.js.map +1 -1
  528. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  529. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  530. package/cjs/lib/styles/Mixins.js.map +1 -1
  531. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  532. package/cjs/lib/theming/Emotion.js.map +1 -1
  533. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  534. package/cjs/lib/theming/ThemeContext.md +248 -248
  535. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  536. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  537. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  538. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +1 -1
  539. package/cjs/lib/theming/themes/FlatTheme.js.map +1 -1
  540. package/cjs/lib/theming/themes/FlatTheme8px.js.map +1 -1
  541. package/cjs/lib/utils.js +2 -2
  542. package/cjs/lib/utils.js.map +1 -1
  543. package/cjs/typings/console.d.ts +3 -3
  544. package/cjs/typings/event-types.d.ts +4 -4
  545. package/cjs/typings/fonts.d.ts +12 -12
  546. package/cjs/typings/global.d.ts +6 -6
  547. package/cjs/typings/images.d.ts +1 -1
  548. package/cjs/typings/normalize-wheel.d.ts +5 -5
  549. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  550. package/cjs/typings/utility-types.d.ts +14 -14
  551. package/components/Autocomplete/Autocomplete/Autocomplete.js +23 -23
  552. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  553. package/components/Autocomplete/Autocomplete.md +7 -7
  554. package/components/Autocomplete/index/index.js.map +1 -1
  555. package/components/Button/Button/Button.js +4 -4
  556. package/components/Button/Button/Button.js.map +1 -1
  557. package/components/Button/Button.md +89 -89
  558. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  559. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  560. package/components/Button/Corners/Corners.js.map +1 -1
  561. package/components/Button/index/index.js.map +1 -1
  562. package/components/Center/Center/Center.js +3 -3
  563. package/components/Center/Center/Center.js.map +1 -1
  564. package/components/Center/Center.md +5 -5
  565. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  566. package/components/Center/index/index.js.map +1 -1
  567. package/components/Checkbox/Checkbox/Checkbox.js +9 -9
  568. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  569. package/components/Checkbox/Checkbox.md +63 -63
  570. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  571. package/components/Checkbox/index/index.js.map +1 -1
  572. package/components/ComboBox/ComboBox/ComboBox.js +20 -20
  573. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  574. package/components/ComboBox/ComboBox.md +432 -432
  575. package/components/ComboBox/index/index.js.map +1 -1
  576. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  577. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +7 -7
  578. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  579. package/components/CurrencyInput/CurrencyInput.md +20 -20
  580. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  581. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  582. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  583. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  584. package/components/CurrencyInput/constants/constants.js.map +1 -1
  585. package/components/CurrencyInput/index/index.js.map +1 -1
  586. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  587. package/components/CurrencyLabel/index/index.js.map +1 -1
  588. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  589. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  590. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  591. package/components/DateInput/DateInput.md +104 -104
  592. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  593. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  594. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  595. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  596. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  597. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  598. package/components/DateInput/index/index.js.map +1 -1
  599. package/components/DatePicker/DatePicker/DatePicker.js +15 -15
  600. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  601. package/components/DatePicker/DatePicker.md +310 -310
  602. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  603. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  604. package/components/DatePicker/Picker/Picker.js.map +1 -1
  605. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  606. package/components/DatePicker/index/index.js.map +1 -1
  607. package/components/DatePicker/locale/index/index.js.map +1 -1
  608. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  609. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  610. package/components/Dropdown/Dropdown/Dropdown.js +24 -24
  611. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  612. package/components/Dropdown/Dropdown.md +12 -12
  613. package/components/Dropdown/index/index.js.map +1 -1
  614. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +2 -2
  615. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  616. package/components/DropdownMenu/DropdownMenu.md +73 -73
  617. package/components/DropdownMenu/index/index.js.map +1 -1
  618. package/components/Fias/Fias/Fias.js +2 -2
  619. package/components/Fias/Fias/Fias.js.map +1 -1
  620. package/components/Fias/Fias.md +451 -451
  621. package/components/Fias/Fias.styles/Fias.styles.js.map +1 -1
  622. package/components/Fias/FiasModal/FiasModal.js.map +1 -1
  623. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js +2 -2
  624. package/components/Fias/FiasSearch/FiasSearch/FiasSearch.js.map +1 -1
  625. package/components/Fias/FiasSearch/FiasSearch.md +78 -78
  626. package/components/Fias/Form/FiasComboBox/FiasComboBox.js.map +1 -1
  627. package/components/Fias/Form/FiasCountrySelector/FiasCountrySelector.js.map +1 -1
  628. package/components/Fias/Form/FiasForm/FiasForm.js.map +1 -1
  629. package/components/Fias/Form/FiasForm.styles/FiasForm.styles.js.map +1 -1
  630. package/components/Fias/api/FiasAPI/FiasAPI.js.map +1 -1
  631. package/components/Fias/api/FiasAPIResultFactory/FiasAPIResultFactory.js.map +1 -1
  632. package/components/Fias/api/FiasMockAPI/FiasMockAPI.js.map +1 -1
  633. package/components/Fias/api/data.json +285 -285
  634. package/components/Fias/constants/abbreviations/abbreviations.js.map +1 -1
  635. package/components/Fias/index/index.js.map +1 -1
  636. package/components/Fias/locale/index/index.js.map +1 -1
  637. package/components/Fias/locale/locales/ru/ru.js.map +1 -1
  638. package/components/Fias/logger/FiasLogger/FiasLogger.js.map +1 -1
  639. package/components/Fias/models/FiasAddress/FiasAddress.js.map +1 -1
  640. package/components/Fias/models/FiasAddressElement/FiasAddressElement.js.map +1 -1
  641. package/components/Fias/models/FiasData/FiasData.js.map +1 -1
  642. package/components/Fias/types/types.js.map +1 -1
  643. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  644. package/components/FxInput/FxInput.md +13 -13
  645. package/components/FxInput/index/index.js.map +1 -1
  646. package/components/Gapped/Gapped/Gapped.js +8 -8
  647. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  648. package/components/Gapped/index/index.js.map +1 -1
  649. package/components/Group/Group/Group.js.map +1 -1
  650. package/components/Group/Group.md +26 -26
  651. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  652. package/components/Group/index/index.js.map +1 -1
  653. package/components/Hint/Hint/Hint.js.map +1 -1
  654. package/components/Hint/Hint.md +3 -3
  655. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  656. package/components/Hint/index/index.js.map +1 -1
  657. package/components/Input/Input/Input.js +13 -13
  658. package/components/Input/Input/Input.js.map +1 -1
  659. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  660. package/components/Input/index/index.js.map +1 -1
  661. package/components/Kebab/Kebab/Kebab.js +6 -6
  662. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  663. package/components/Kebab/Kebab.md +45 -45
  664. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  665. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  666. package/components/Kebab/index/index.js.map +1 -1
  667. package/components/Link/Link/Link.js +5 -5
  668. package/components/Link/Link/Link.js.map +1 -1
  669. package/components/Link/Link.md +11 -11
  670. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  671. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  672. package/components/Link/index/index.js.map +1 -1
  673. package/components/Loader/Loader/Loader.js +20 -20
  674. package/components/Loader/Loader/Loader.js.map +1 -1
  675. package/components/Loader/Loader.md +25 -25
  676. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  677. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  678. package/components/Loader/index/index.js.map +1 -1
  679. package/components/LocaleProvider/LocaleProvider/LocaleProvider.js.map +1 -1
  680. package/components/LocaleProvider/index/index.js.map +1 -1
  681. package/components/Logotype/Logotype/Logotype.js +2 -2
  682. package/components/Logotype/Logotype/Logotype.js.map +1 -1
  683. package/components/Logotype/Logotype.md +33 -33
  684. package/components/Logotype/Logotype.styles/Logotype.styles.js.map +1 -1
  685. package/components/Logotype/ProductWidget/ProductWidget.js.map +1 -1
  686. package/components/Logotype/index/index.js.map +1 -1
  687. package/components/Logotype/locale/index/index.js.map +1 -1
  688. package/components/Logotype/locale/locales/en/en.js.map +1 -1
  689. package/components/Logotype/locale/locales/ru/ru.js.map +1 -1
  690. package/components/MenuHeader/MenuHeader/MenuHeader.js +2 -2
  691. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  692. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  693. package/components/MenuHeader/index/index.js.map +1 -1
  694. package/components/MenuItem/MenuItem/MenuItem.js +2 -2
  695. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  696. package/components/MenuItem/MenuItem.md +7 -7
  697. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  698. package/components/MenuItem/index/index.js.map +1 -1
  699. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +2 -2
  700. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  701. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  702. package/components/MenuSeparator/index/index.js.map +1 -1
  703. package/components/Modal/Modal/Modal.js +13 -13
  704. package/components/Modal/Modal/Modal.js.map +1 -1
  705. package/components/Modal/Modal.md +37 -37
  706. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  707. package/components/Modal/ModalBody/ModalBody.js +4 -4
  708. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  709. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  710. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  711. package/components/Modal/ModalFooter/ModalFooter.js +4 -4
  712. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  713. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  714. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  715. package/components/Modal/helpers/helpers.js.map +1 -1
  716. package/components/Modal/index/index.js.map +1 -1
  717. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  718. package/components/Paging/Paging/Paging.js +10 -10
  719. package/components/Paging/Paging/Paging.js.map +1 -1
  720. package/components/Paging/Paging.md +43 -43
  721. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  722. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  723. package/components/Paging/index/index.js.map +1 -1
  724. package/components/Paging/locale/index/index.js.map +1 -1
  725. package/components/Paging/locale/locales/en/en.js.map +1 -1
  726. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  727. package/components/PasswordInput/PasswordInput/PasswordInput.js +6 -6
  728. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  729. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  730. package/components/PasswordInput/index/index.js.map +1 -1
  731. package/components/Radio/Radio/Radio.js +4 -4
  732. package/components/Radio/Radio/Radio.js.map +1 -1
  733. package/components/Radio/Radio.md +14 -14
  734. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  735. package/components/Radio/index/index.js.map +1 -1
  736. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  737. package/components/RadioGroup/RadioGroup/RadioGroup.js +46 -46
  738. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  739. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  740. package/components/RadioGroup/index/index.js.map +1 -1
  741. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -6
  742. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  743. package/components/ScrollContainer/ScrollContainer.md +94 -94
  744. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  745. package/components/ScrollContainer/index/index.js.map +1 -1
  746. package/components/Select/Item/Item.js.map +1 -1
  747. package/components/Select/Select/Select.js +2 -2
  748. package/components/Select/Select/Select.js.map +1 -1
  749. package/components/Select/Select.md +23 -23
  750. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  751. package/components/Select/index/index.js.map +1 -1
  752. package/components/Select/locale/index/index.js.map +1 -1
  753. package/components/Select/locale/locales/en/en.js.map +1 -1
  754. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  755. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  756. package/components/SidePage/SidePage/SidePage.js +22 -15
  757. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  758. package/components/SidePage/SidePage.d.ts +2 -0
  759. package/components/SidePage/SidePage.md +48 -48
  760. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  761. package/components/SidePage/SidePageBody/SidePageBody.js +4 -4
  762. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  763. package/components/SidePage/SidePageContainer/SidePageContainer.js +4 -4
  764. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  765. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  766. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  767. package/components/SidePage/SidePageContext.d.ts +2 -0
  768. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  769. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  770. package/components/SidePage/SidePageHeader/SidePageHeader.js +23 -6
  771. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  772. package/components/SidePage/SidePageHeader.d.ts +5 -0
  773. package/components/SidePage/helpers/helpers.js.map +1 -1
  774. package/components/SidePage/index/index.js.map +1 -1
  775. package/components/Spinner/Spinner/Spinner.js +16 -16
  776. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  777. package/components/Spinner/Spinner.md +34 -34
  778. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  779. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  780. package/components/Spinner/index/index.js.map +1 -1
  781. package/components/Spinner/locale/index/index.js.map +1 -1
  782. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  783. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  784. package/components/Sticky/Sticky/Sticky.js +4 -4
  785. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  786. package/components/Sticky/Sticky.d.ts +1 -1
  787. package/components/Sticky/Sticky.md +27 -27
  788. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  789. package/components/Sticky/index/index.js.map +1 -1
  790. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  791. package/components/Switcher/Switcher.md +10 -10
  792. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  793. package/components/Switcher/index/index.js.map +1 -1
  794. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  795. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  796. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  797. package/components/Tabs/Tab/Tab.js +14 -14
  798. package/components/Tabs/Tab/Tab.js.map +1 -1
  799. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  800. package/components/Tabs/Tabs/Tabs.js +4 -4
  801. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  802. package/components/Tabs/Tabs.md +36 -36
  803. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  804. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  805. package/components/Tabs/index/index.js.map +1 -1
  806. package/components/Textarea/Textarea/Textarea.js +12 -12
  807. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  808. package/components/Textarea/Textarea.md +25 -25
  809. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  810. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  811. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  812. package/components/Textarea/index/index.js.map +1 -1
  813. package/components/ThemeConsumer/ThemeConsumer/ThemeConsumer.js.map +1 -1
  814. package/components/ThemeConsumer/index/index.js.map +1 -1
  815. package/components/ThemeProvider/ThemeProvider/ThemeProvider.js.map +1 -1
  816. package/components/ThemeProvider/index/index.js.map +1 -1
  817. package/components/Toast/Toast/Toast.js +19 -19
  818. package/components/Toast/Toast/Toast.js.map +1 -1
  819. package/components/Toast/Toast.md +41 -41
  820. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  821. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  822. package/components/Toast/ToastView/ToastView.js +4 -4
  823. package/components/Toast/ToastView/ToastView.js.map +1 -1
  824. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  825. package/components/Toast/index/index.js.map +1 -1
  826. package/components/Toggle/Toggle/Toggle.js +2 -2
  827. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  828. package/components/Toggle/Toggle.md +24 -24
  829. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  830. package/components/Toggle/index/index.js.map +1 -1
  831. package/components/Token/Token/Token.js.map +1 -1
  832. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  833. package/components/Token/index/index.js.map +1 -1
  834. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -3
  835. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  836. package/components/TokenInput/TokenInput/TokenInput.js +28 -17
  837. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  838. package/components/TokenInput/TokenInput.md +77 -77
  839. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  840. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  841. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  842. package/components/TokenInput/index/index.js.map +1 -1
  843. package/components/TokenInput/locale/index/index.js.map +1 -1
  844. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  845. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  846. package/components/Tooltip/Tooltip/Tooltip.js +8 -8
  847. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  848. package/components/Tooltip/Tooltip.md +301 -301
  849. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  850. package/components/Tooltip/index/index.js.map +1 -1
  851. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -7
  852. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  853. package/components/TooltipMenu/TooltipMenu.md +115 -115
  854. package/components/TooltipMenu/index/index.js.map +1 -1
  855. package/components/TopBar/TopBar/TopBar.js +38 -38
  856. package/components/TopBar/TopBar/TopBar.js.map +1 -1
  857. package/components/TopBar/TopBar.md +111 -111
  858. package/components/TopBar/TopBar.styles/TopBar.styles.js.map +1 -1
  859. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js +4 -4
  860. package/components/TopBar/TopBarButtonItem/TopBarButtonItem.js.map +1 -1
  861. package/components/TopBar/TopBarDivider/TopBarDivider.js +4 -4
  862. package/components/TopBar/TopBarDivider/TopBarDivider.js.map +1 -1
  863. package/components/TopBar/TopBarDropdown/TopBarDropdown.js +4 -4
  864. package/components/TopBar/TopBarDropdown/TopBarDropdown.js.map +1 -1
  865. package/components/TopBar/TopBarEnd/TopBarEnd.js +4 -4
  866. package/components/TopBar/TopBarEnd/TopBarEnd.js.map +1 -1
  867. package/components/TopBar/TopBarItem/TopBarItem.js +4 -4
  868. package/components/TopBar/TopBarItem/TopBarItem.js.map +1 -1
  869. package/components/TopBar/TopBarLogout/TopBarLogout.js +4 -4
  870. package/components/TopBar/TopBarLogout/TopBarLogout.js.map +1 -1
  871. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js +4 -4
  872. package/components/TopBar/TopBarOrganizations/TopBarOrganizations.js.map +1 -1
  873. package/components/TopBar/TopBarStart/TopBarStart.js +4 -4
  874. package/components/TopBar/TopBarStart/TopBarStart.js.map +1 -1
  875. package/components/TopBar/TopBarUser/TopBarUser.js +6 -6
  876. package/components/TopBar/TopBarUser/TopBarUser.js.map +1 -1
  877. package/components/TopBar/index/index.js.map +1 -1
  878. package/components/TopBar/locale/index/index.js.map +1 -1
  879. package/components/TopBar/locale/locales/en/en.js.map +1 -1
  880. package/components/TopBar/locale/locales/ru/ru.js.map +1 -1
  881. package/index.js.map +1 -1
  882. package/internal/BGRuler/BGRuler.js +5 -5
  883. package/internal/BGRuler/BGRuler.js.map +1 -1
  884. package/internal/Calendar/Calendar/Calendar.js +3 -3
  885. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  886. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  887. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  888. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  889. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  890. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  891. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  892. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  893. package/internal/Calendar/Month/Month.js.map +1 -1
  894. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  895. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  896. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  897. package/internal/Calendar/config/config.js.map +1 -1
  898. package/internal/Calendar/index/index.js.map +1 -1
  899. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  900. package/internal/CommonWrapper/index/index.js.map +1 -1
  901. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  902. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  903. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  904. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  905. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +10 -10
  906. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  907. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  908. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  909. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  910. package/internal/CustomComboBox/index/index.js.map +1 -1
  911. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  912. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  913. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  914. package/internal/DateSelect/DateSelect/DateSelect.js +2 -2
  915. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  916. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  917. package/internal/DateSelect/index/index.js.map +1 -1
  918. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  919. package/internal/DropdownContainer/index/index.js.map +1 -1
  920. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  921. package/internal/FocusTrap/index/index.js.map +1 -1
  922. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  923. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  924. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  925. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  926. package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
  927. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  928. package/internal/InputLikeText/InputLikeText/InputLikeText.js +6 -6
  929. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  930. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  931. package/internal/InputLikeText/index/index.js.map +1 -1
  932. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  933. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  934. package/internal/InternalMenu/index/index.js.map +1 -1
  935. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  936. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +6 -6
  937. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  938. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  939. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  940. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  941. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  942. package/internal/MaskedInput/index/index.js.map +1 -1
  943. package/internal/Menu/Menu/Menu.js +10 -10
  944. package/internal/Menu/Menu/Menu.js.map +1 -1
  945. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  946. package/internal/Menu/index/index.js.map +1 -1
  947. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  948. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  949. package/internal/Popup/Popup/Popup.js +31 -31
  950. package/internal/Popup/Popup/Popup.js.map +1 -1
  951. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  952. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  953. package/internal/Popup/PopupPin/PopupPin.js +16 -16
  954. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  955. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  956. package/internal/Popup/index/index.js.map +1 -1
  957. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  958. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  959. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  960. package/internal/PopupMenu/index/index.js.map +1 -1
  961. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  962. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  963. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  964. package/internal/RenderContainer/index/index.js.map +1 -1
  965. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  966. package/internal/RenderLayer/index/index.js.map +1 -1
  967. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  968. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  969. package/internal/ResizeDetector/index/index.js.map +1 -1
  970. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js +12 -12
  971. package/internal/SpinnerOld/SpinnerOld/SpinnerOld.js.map +1 -1
  972. package/internal/SpinnerOld/SpinnerOld.styles/SpinnerOld.styles.js.map +1 -1
  973. package/internal/SpinnerOld/SpinnerOldCloudIcon/SpinnerOldCloudIcon.js.map +1 -1
  974. package/internal/SpinnerOld/index/index.js.map +1 -1
  975. package/internal/SpinnerOld/locale/index/index.js.map +1 -1
  976. package/internal/SpinnerOld/locale/locales/en/en.js.map +1 -1
  977. package/internal/SpinnerOld/locale/locales/ru/ru.js.map +1 -1
  978. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  979. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  980. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  981. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  982. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  983. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  984. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  985. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  986. package/internal/ThemePlayground/Playground.md +7 -7
  987. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  988. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  989. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  990. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  991. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  992. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  993. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  994. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  995. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  996. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  997. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  998. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  999. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1000. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1001. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1002. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1003. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1004. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1005. package/internal/ZIndex/index/index.js.map +1 -1
  1006. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1007. package/internal/icons/16px/index/index.js.map +1 -1
  1008. package/internal/icons/20px/Icon/Icon.js +2 -2
  1009. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1010. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1011. package/internal/icons/20px/index/index.js.map +1 -1
  1012. package/internal/icons/20px/svg/svg.js.map +1 -1
  1013. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1014. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1015. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1016. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1017. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1018. package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
  1019. package/internal/themes/Theme8px/Theme8px.js.map +1 -1
  1020. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1021. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1022. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1023. package/lib/MockDate/MockDate.js.map +1 -1
  1024. package/lib/ModalStack/ModalStack.js +4 -4
  1025. package/lib/ModalStack/ModalStack.js.map +1 -1
  1026. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1027. package/lib/Supports/Supports.js.map +1 -1
  1028. package/lib/Upgrades/Upgrades.js.map +1 -1
  1029. package/lib/animation/index/index.js.map +1 -1
  1030. package/lib/animation/presets/presets.js.map +1 -1
  1031. package/lib/animation/stepper/stepper.js.map +1 -1
  1032. package/lib/client/client.js.map +1 -1
  1033. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1034. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1035. package/lib/date/InternalDate/InternalDate.js +3 -3
  1036. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1037. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1038. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1039. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1040. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1041. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1042. package/lib/date/constants/constants.js.map +1 -1
  1043. package/lib/date/localeSets/localeSets.js.map +1 -1
  1044. package/lib/date/types/types.js.map +1 -1
  1045. package/lib/dom/getFocusableElements/getFocusableElements.js +33 -33
  1046. package/lib/dom/getFocusableElements/getFocusableElements.js.map +1 -1
  1047. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1048. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1049. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1050. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1051. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1052. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1053. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1054. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1055. package/lib/events/tabListener/tabListener.js.map +1 -1
  1056. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1057. package/lib/filterProps/filterProps.js.map +1 -1
  1058. package/lib/listenFocusOutside/listenFocusOutside.js +9 -9
  1059. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1060. package/lib/locale/LOCALECONTEXT.md +246 -246
  1061. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1062. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1063. package/lib/locale/constants/constants.js.map +1 -1
  1064. package/lib/locale/decorators/decorators.js.map +1 -1
  1065. package/lib/locale/index/index.js.map +1 -1
  1066. package/lib/locale/types/types.js.map +1 -1
  1067. package/lib/memo/memo.js.map +1 -1
  1068. package/lib/net/fetch/fetch.js.map +1 -1
  1069. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1070. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1071. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1072. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1073. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1074. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1075. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1076. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1077. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1078. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1079. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1080. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1081. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1082. package/lib/theming/ThemeContext.md +248 -248
  1083. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1084. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1085. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1086. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +1 -1
  1087. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +1 -1
  1088. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +1 -1
  1089. package/lib/utils/utils.js +2 -2
  1090. package/lib/utils/utils.js.map +1 -1
  1091. package/package.json +2 -5
  1092. package/typings/console.d.ts +3 -3
  1093. package/typings/event-types.d.ts +4 -4
  1094. package/typings/fonts.d.ts +12 -12
  1095. package/typings/global.d.ts +6 -6
  1096. package/typings/images.d.ts +1 -1
  1097. package/typings/normalize-wheel.d.ts +5 -5
  1098. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1099. package/typings/utility-types.d.ts +14 -14
package/README.md CHANGED
@@ -1,61 +1,61 @@
1
- # React UI
2
-
3
- [![Build Status](https://tc.skbkontur.ru/app/rest/builds/buildType:FrontendInfrastructure_Packages_RunAll/statusIcon)](https://tc.skbkontur.ru/project.html?projectId=FrontendInfrastructure_Packages_ReactUI&tab=projectOverview)
4
-
5
- - [Как использовать](#как-использовать)
6
- - [FAQ](#faq)
7
-
8
- ### Как использовать
9
-
10
- ```bash
11
- yarn add @skbkontur/react-ui
12
- ```
13
-
14
- ```jsx harmony static
15
- import { Button, Toast } from '@skbkontur/react-ui';
16
-
17
- const MyApp = () => (
18
- <div>
19
- Click this button <Button onClick={() => Toast.push('Hey!')}>Click me</Button>
20
- </div>
21
- );
22
- ```
23
-
24
- ### Хотим другой цвет кнопки!
25
-
26
- Нужно использовать [ThemeContext](https://tech.skbkontur.ru/react-ui/#/Customization/ThemeContext). Список переменных можно глянуть в [ThemeShowcase](https://tech.skbkontur.ru/react-ui/#/Customization/ThemeShowcase)
27
-
28
- ### Глобальные css-стили приложения портят внешний вид контролов
29
-
30
- Если библиотека используется в проекте с легаси, где стилизация сделана прямо по названиям тегов, то внешний вид контролов из библиотеки может сильно испортиться
31
-
32
- Если нет возможности разобрать легаси, то можно увеличить специфичность селекторов в библиотеке, тогда стили контролов будут приоритетнее стилей из легаси проекта
33
-
34
- Специфичность достигается за счет n-кратного повторения css-класса `react-ui` в селекторе стилей. Количество повторений задается через переменную `specificityLevel`, значение по умолчанию равно нулю, то есть по умолчанию css-класс `react-ui` никак ни на что не будет влиять
35
-
36
- Чтобы специфичность заработала в легаси проекте, react-блок, в котором используются компоненты из библиотеки, должен быть обернут в тег с css-классом `react-ui`
37
-
38
- Пример настройки специфичности:
39
-
40
- ```js static
41
- import { Upgrade } from '@skbkontur/react-ui/lib/Upgrades';
42
-
43
- Upgrade.setSpecificityLevel(1);
44
- ```
45
-
46
- Специфичность должна устанавливаться в коде раньше импорта любых компонентов из библиотеки.
47
-
48
- ## FAQ
49
-
50
- ### Есть ли способ отключить анимации во время тестирования?
51
-
52
- Анимации в компонентах отключаются переменной окружения `process.env.NODE_ENV === 'test'`.
53
-
54
- ### Прокидывание className и style компонентам
55
-
56
- Начиная с версии 2.14.0, стало возможным передавать в компоненты свои css-классы для дополнительной стилизации. Однако, не стоит пользоваться этой возможностью для вмешательства во внутренние стили компонентов. Верстка компонентов может быть изменена в любой момент без предупреждения, что приведет к поломке ваших переопределенных стилей.
57
-
58
- ### Помощь в развитии
59
-
60
- Мы рады любой сторонней помощи. Не стесняйтесь писать в [issues](https://github.com/skbkontur/retail-ui/issues)
61
- баги и идеи для развития библиотеки.<br />
1
+ # React UI
2
+
3
+ [![Build Status](https://tc.skbkontur.ru/app/rest/builds/buildType:FrontendInfrastructure_Packages_RunAll/statusIcon)](https://tc.skbkontur.ru/project.html?projectId=FrontendInfrastructure_Packages_ReactUI&tab=projectOverview)
4
+
5
+ - [Как использовать](#как-использовать)
6
+ - [FAQ](#faq)
7
+
8
+ ### Как использовать
9
+
10
+ ```bash
11
+ yarn add @skbkontur/react-ui
12
+ ```
13
+
14
+ ```jsx harmony static
15
+ import { Button, Toast } from '@skbkontur/react-ui';
16
+
17
+ const MyApp = () => (
18
+ <div>
19
+ Click this button <Button onClick={() => Toast.push('Hey!')}>Click me</Button>
20
+ </div>
21
+ );
22
+ ```
23
+
24
+ ### Хотим другой цвет кнопки!
25
+
26
+ Нужно использовать [ThemeContext](https://tech.skbkontur.ru/react-ui/#/Customization/ThemeContext). Список переменных можно глянуть в [ThemeShowcase](https://tech.skbkontur.ru/react-ui/#/Customization/ThemeShowcase)
27
+
28
+ ### Глобальные css-стили приложения портят внешний вид контролов
29
+
30
+ Если библиотека используется в проекте с легаси, где стилизация сделана прямо по названиям тегов, то внешний вид контролов из библиотеки может сильно испортиться
31
+
32
+ Если нет возможности разобрать легаси, то можно увеличить специфичность селекторов в библиотеке, тогда стили контролов будут приоритетнее стилей из легаси проекта
33
+
34
+ Специфичность достигается за счет n-кратного повторения css-класса `react-ui` в селекторе стилей. Количество повторений задается через переменную `specificityLevel`, значение по умолчанию равно нулю, то есть по умолчанию css-класс `react-ui` никак ни на что не будет влиять
35
+
36
+ Чтобы специфичность заработала в легаси проекте, react-блок, в котором используются компоненты из библиотеки, должен быть обернут в тег с css-классом `react-ui`
37
+
38
+ Пример настройки специфичности:
39
+
40
+ ```js static
41
+ import { Upgrade } from '@skbkontur/react-ui/lib/Upgrades';
42
+
43
+ Upgrade.setSpecificityLevel(1);
44
+ ```
45
+
46
+ Специфичность должна устанавливаться в коде раньше импорта любых компонентов из библиотеки.
47
+
48
+ ## FAQ
49
+
50
+ ### Есть ли способ отключить анимации во время тестирования?
51
+
52
+ Анимации в компонентах отключаются переменной окружения `process.env.NODE_ENV === 'test'`.
53
+
54
+ ### Прокидывание className и style компонентам
55
+
56
+ Начиная с версии 2.14.0, стало возможным передавать в компоненты свои css-классы для дополнительной стилизации. Однако, не стоит пользоваться этой возможностью для вмешательства во внутренние стили компонентов. Верстка компонентов может быть изменена в любой момент без предупреждения, что приведет к поломке ваших переопределенных стилей.
57
+
58
+ ### Помощь в развитии
59
+
60
+ Мы рады любой сторонней помощи. Не стесняйтесь писать в [issues](https://github.com/skbkontur/retail-ui/issues)
61
+ баги и идеи для развития библиотеки.<br />
@@ -67,10 +67,10 @@ function renderItem(item) {
67
67
 
68
68
 
69
69
 
70
- /**
71
- * Стандартный инпут с подсказками.
72
- *
73
- * Все свойства передаются во внутренний *Input*.
70
+ /**
71
+ * Стандартный инпут с подсказками.
72
+ *
73
+ * Все свойства передаются во внутренний *Input*.
74
74
  */var
75
75
  Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Autocomplete, _React$Component);function Autocomplete() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
76
76
 
@@ -382,23 +382,23 @@ Autocomplete = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.def
382
382
 
383
383
  refRootSpan = function (span) {
384
384
  _this.rootSpan = span;
385
- };return _this;}var _proto = Autocomplete.prototype; /**
386
- * @public
387
- */_proto.focus = function focus() {if (this.input) {this.input.focus();}} /**
388
- * @public
389
- */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_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(_CommonWrapper.CommonWrapper, _this2.props, _this2.renderMain);});};_proto.renderMenu = function renderMenu() {var _this3 = this;var items = this.state.items;var menuProps = { ref: this.refMenu, maxHeight: this.props.menuMaxHeight, hasShadow: this.props.hasShadow, width: this.props.menuWidth || this.props.width && this.getInputWidth(this.rootSpan), preventWindowScroll: this.props.preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { offsetY: 1, getParent: this.getAnchor, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, items.map(function (item, i) {return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { onClick: _this3.handleMenuItemClick(i), key: i }, _this3.getProps().renderItem(item));})));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this4 = this;return function (event) {return _this4.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value);this.blur();};_proto.updateItems = function updateItems(value) {var _this5 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;var expectingId = this.requestId += 1;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this5.opened && expectingId === _this5.requestId) {_this5.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component);exports.Autocomplete = Autocomplete;Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete';Autocomplete.propTypes = { /**
390
- * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
391
- * — *item*.
392
- */renderItem: _propTypes.default.func, /**
393
- * Если передан массив, то совпадения ищутся по этому массиву.
394
- *
395
- * Если передается функция, то она должна возвращать thenable, который
396
- * резолвится уже отфильтрованным массивом. Возвращенный thenable может
397
- * иметь метод cancel, который будет вызван при отмене поиска (пользователь
398
- * изменил строку поиска, автокомплит потерял фокус).
399
- * ```
400
- * function(pattern) {
401
- * return service.findAll(pattern);
402
- * }
403
- * ```
385
+ };return _this;}var _proto = Autocomplete.prototype; /**
386
+ * @public
387
+ */_proto.focus = function focus() {if (this.input) {this.input.focus();}} /**
388
+ * @public
389
+ */;_proto.blur = function blur() {this.handleBlur();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.value !== this.props.value) {this.updateItems(this.props.value || '');}};_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(_CommonWrapper.CommonWrapper, _this2.props, _this2.renderMain);});};_proto.renderMenu = function renderMenu() {var _this3 = this;var items = this.state.items;var menuProps = { ref: this.refMenu, maxHeight: this.props.menuMaxHeight, hasShadow: this.props.hasShadow, width: this.props.menuWidth || this.props.width && this.getInputWidth(this.rootSpan), preventWindowScroll: this.props.preventWindowScroll };if (!items || items.length === 0) {return null;}return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { offsetY: 1, getParent: this.getAnchor, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, menuProps, items.map(function (item, i) {return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { onClick: _this3.handleMenuItemClick(i), key: i }, _this3.getProps().renderItem(item));})));};_proto.handleMenuItemClick = function handleMenuItemClick(i) {var _this4 = this;return function (event) {return _this4.handleItemClick(event, i);};};_proto.handleItemClick = function handleItemClick(event, index) {if (event.button) {return;}event.preventDefault();this.choose(index);};_proto.choose = function choose(index) {if (!this.state.items) {return;}var value = this.state.items[index];this.opened = false;this.setState({ selected: -1, items: null });this.fireChange(value);this.blur();};_proto.updateItems = function updateItems(value) {var _this5 = this;if (!this.opened) {return;}var pattern = value.trim();var source = this.props.source;if (!source) {return;}var promise;var expectingId = this.requestId += 1;if (typeof source === 'function') {promise = source(pattern);} else {promise = match(pattern, source);}promise.then(function (items) {if (_this5.opened && expectingId === _this5.requestId) {_this5.setState({ items: items, selected: -1 });}});};_proto.fireChange = function fireChange(value) {if (this.props.onValueChange) {this.props.onValueChange(value);}};return Autocomplete;}(_react.default.Component);exports.Autocomplete = Autocomplete;Autocomplete.__KONTUR_REACT_UI__ = 'Autocomplete';Autocomplete.propTypes = { /**
390
+ * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент
391
+ * — *item*.
392
+ */renderItem: _propTypes.default.func, /**
393
+ * Если передан массив, то совпадения ищутся по этому массиву.
394
+ *
395
+ * Если передается функция, то она должна возвращать thenable, который
396
+ * резолвится уже отфильтрованным массивом. Возвращенный thenable может
397
+ * иметь метод cancel, который будет вызван при отмене поиска (пользователь
398
+ * изменил строку поиска, автокомплит потерял фокус).
399
+ * ```
400
+ * function(pattern) {
401
+ * return service.findAll(pattern);
402
+ * }
403
+ * ```
404
404
  */source: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func]) };Autocomplete.defaultProps = { renderItem: renderItem, size: 'small', disablePortal: false, hasShadow: true, menuMaxHeight: 300, menuAlign: 'left', preventWindowScroll: true };
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","theme","opened","input","menu","rootSpan","requestId","getProps","defaultProps","renderMain","props","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","inputWidth","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","display","refRootSpan","renderMenu","getInputWidth","target","Element","getBoundingClientRect","value","fireChange","event","setState","blur","e","preventDefault","up","down","enter","getAnchor","el","refMenu","span","focus","componentDidUpdate","prevProps","updateItems","render","menuProps","maxHeight","menuWidth","length","map","i","handleMenuItemClick","handleItemClick","index","button","choose","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { findDOMNode } from 'react-dom';\r\n\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\r\nimport { Input, InputProps } from '../Input';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable, Override } from '../../typings/utility-types';\r\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\r\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\r\n\r\nfunction match(pattern: string, items: string[]) {\r\n if (!pattern || !items) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n pattern = pattern.toLowerCase();\r\n const filteredItems = items.filter(item => item.toLowerCase().includes(pattern));\r\n return Promise.resolve(filteredItems);\r\n}\r\n\r\nfunction renderItem(item: any) {\r\n return item;\r\n}\r\n\r\nexport interface AutocompleteProps\r\n extends CommonProps,\r\n Override<\r\n InputProps,\r\n {\r\n /** Функция отрисовки элемента меню */\r\n renderItem: (item: string) => React.ReactNode;\r\n /** Промис, резолвящий элементы меню */\r\n source?: string[] | ((patter: string) => Promise<string[]>);\r\n /** Отключает использование портала */\r\n disablePortal: boolean;\r\n /** Отрисовка тени у выпадающего меню */\r\n hasShadow: boolean;\r\n /** Выравнивание выпадающего меню */\r\n menuAlign: 'left' | 'right';\r\n /** Максимальная высота меню */\r\n menuMaxHeight: number | string;\r\n /** Ширина меню */\r\n menuWidth?: number | string;\r\n /** Отключить скролл окна, когда меню открыто */\r\n preventWindowScroll: boolean;\r\n /** Вызывается при изменении `value` */\r\n onValueChange: (value: string) => void;\r\n /** onBlur */\r\n onBlur?: () => void;\r\n /** Размер инпута */\r\n size: InputProps['size'];\r\n /** value */\r\n value: string;\r\n }\r\n > {}\r\n\r\nexport interface AutocompleteState {\r\n items: Nullable<string[]>;\r\n selected: number;\r\n focused: boolean;\r\n}\r\n\r\n/**\r\n * Стандартный инпут с подсказками.\r\n *\r\n * Все свойства передаются во внутренний *Input*.\r\n */\r\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\r\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\r\n\r\n public static propTypes = {\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\r\n * — *item*.\r\n */\r\n renderItem: PropTypes.func,\r\n\r\n /**\r\n * Если передан массив, то совпадения ищутся по этому массиву.\r\n *\r\n * Если передается функция, то она должна возвращать thenable, который\r\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\r\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\r\n * изменил строку поиска, автокомплит потерял фокус).\r\n * ```\r\n * function(pattern) {\r\n * return service.findAll(pattern);\r\n * }\r\n * ```\r\n */\r\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\r\n };\r\n\r\n public static defaultProps = {\r\n renderItem,\r\n size: 'small',\r\n disablePortal: false,\r\n hasShadow: true,\r\n menuMaxHeight: 300,\r\n menuAlign: 'left',\r\n preventWindowScroll: true,\r\n };\r\n\r\n public state: AutocompleteState = {\r\n items: null,\r\n selected: -1,\r\n focused: false,\r\n };\r\n\r\n private theme!: Theme;\r\n private opened = false;\r\n private input: Nullable<Input> = null;\r\n private menu: Nullable<Menu>;\r\n private rootSpan: Nullable<HTMLSpanElement>;\r\n\r\n private requestId = 0;\r\n\r\n private getProps = createPropsGetter(Autocomplete.defaultProps);\r\n\r\n /**\r\n * @public\r\n */\r\n public focus() {\r\n if (this.input) {\r\n this.input.focus();\r\n }\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public blur() {\r\n this.handleBlur();\r\n }\r\n\r\n public componentDidUpdate(prevProps: AutocompleteProps) {\r\n if (prevProps.value !== this.props.value) {\r\n this.updateItems(this.props.value || '');\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\r\n const { focused } = this.state;\r\n\r\n const {\r\n onValueChange,\r\n onKeyDown,\r\n onFocus,\r\n onBlur,\r\n renderItem: _renderItem,\r\n disablePortal,\r\n hasShadow,\r\n menuAlign,\r\n menuMaxHeight,\r\n preventWindowScroll,\r\n source,\r\n width = this.theme.inputWidth,\r\n ...rest\r\n } = props;\r\n\r\n const inputProps = {\r\n ...rest,\r\n width: '100%',\r\n onValueChange: this.handleValueChange,\r\n onKeyDown: this.handleKeyDown,\r\n onFocus: this.handleFocus,\r\n ref: this.refInput,\r\n };\r\n\r\n return (\r\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\r\n <span style={{ display: 'inline-block', width }} ref={this.refRootSpan}>\r\n <Input {...inputProps} />\r\n {this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n );\r\n };\r\n\r\n private renderMenu(): React.ReactNode {\r\n const items = this.state.items;\r\n const menuProps = {\r\n ref: this.refMenu,\r\n maxHeight: this.props.menuMaxHeight,\r\n hasShadow: this.props.hasShadow,\r\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\r\n preventWindowScroll: this.props.preventWindowScroll,\r\n };\r\n if (!items || items.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n <DropdownContainer\r\n offsetY={1}\r\n getParent={this.getAnchor}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu {...menuProps}>\r\n {items.map((item, i) => {\r\n return (\r\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i}>\r\n {this.getProps().renderItem(item)}\r\n </MenuItem>\r\n );\r\n })}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\r\n if (target instanceof Element) {\r\n return target.getBoundingClientRect().width;\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n private handleValueChange = (value: string) => {\r\n this.opened = true;\r\n\r\n this.fireChange(value);\r\n };\r\n\r\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\r\n if (this.state.focused) {\r\n return;\r\n }\r\n\r\n this.setState({ focused: true });\r\n\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = () => {\r\n if (!this.state.focused) {\r\n return;\r\n }\r\n\r\n this.opened = false;\r\n this.setState({ items: null, focused: false });\r\n\r\n if (this.input) {\r\n this.input.blur();\r\n }\r\n\r\n if (this.props.onBlur) {\r\n this.props.onBlur();\r\n }\r\n };\r\n\r\n private handleClickOutside = (e: Event) => {\r\n fixClickFocusIE(e);\r\n this.handleBlur();\r\n };\r\n\r\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n switch (true) {\r\n case isKeyEscape(e):\r\n e.preventDefault();\r\n this.setState({ items: null });\r\n return;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n return;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n return;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n return;\r\n }\r\n };\r\n\r\n private handleMenuItemClick(i: number) {\r\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\r\n }\r\n\r\n private getAnchor = () => {\r\n return findDOMNode(this);\r\n };\r\n\r\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\r\n if ((event as React.MouseEvent<HTMLElement>).button) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n this.choose(index);\r\n }\r\n\r\n private choose(index: number) {\r\n if (!this.state.items) {\r\n return;\r\n }\r\n\r\n const value = this.state.items[index];\r\n this.opened = false;\r\n this.setState({\r\n selected: -1,\r\n items: null,\r\n });\r\n\r\n this.fireChange(value);\r\n this.blur();\r\n }\r\n\r\n private updateItems(value: string) {\r\n if (!this.opened) {\r\n return;\r\n }\r\n const pattern = value.trim();\r\n const source = this.props.source;\r\n\r\n if (!source) {\r\n return;\r\n }\r\n\r\n let promise;\r\n const expectingId = (this.requestId += 1);\r\n if (typeof source === 'function') {\r\n promise = source(pattern);\r\n } else {\r\n promise = match(pattern, source);\r\n }\r\n promise.then(items => {\r\n if (this.opened && expectingId === this.requestId) {\r\n this.setState({\r\n items,\r\n selected: -1,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private fireChange(value: string) {\r\n if (this.props.onValueChange) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private refInput = (el: Input | null) => {\r\n this.input = el;\r\n };\r\n\r\n private refMenu = (menu: Menu | null) => {\r\n this.menu = menu;\r\n };\r\n\r\n private refRootSpan = (span: HTMLSpanElement) => {\r\n this.rootSpan = span;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["match","pattern","items","Promise","resolve","toLowerCase","filteredItems","filter","item","includes","renderItem","Autocomplete","state","selected","focused","theme","opened","input","menu","rootSpan","requestId","getProps","defaultProps","renderMain","props","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","inputWidth","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","display","refRootSpan","renderMenu","getInputWidth","target","Element","getBoundingClientRect","value","fireChange","event","setState","blur","e","preventDefault","up","down","enter","getAnchor","el","refMenu","span","focus","componentDidUpdate","prevProps","updateItems","render","menuProps","maxHeight","menuWidth","length","map","i","handleMenuItemClick","handleItemClick","index","button","choose","trim","promise","expectingId","then","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","oneOfType","array","size"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode } from 'react-dom';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter, isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { Input, InputProps } from '../Input';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem } from '../MenuItem';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { fixClickFocusIE } from '../../lib/events/fixClickFocusIE';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n pattern = pattern.toLowerCase();\n const filteredItems = items.filter(item => item.toLowerCase().includes(pattern));\n return Promise.resolve(filteredItems);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size: InputProps['size'];\n /** value */\n value: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n}\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n };\n\n private theme!: Theme;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {theme => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span style={{ display: 'inline-block', width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const menuProps = {\n ref: this.refMenu,\n maxHeight: this.props.menuMaxHeight,\n hasShadow: this.props.hasShadow,\n width: this.props.menuWidth || (this.props.width && this.getInputWidth(this.rootSpan)),\n preventWindowScroll: this.props.preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer\n offsetY={1}\n getParent={this.getAnchor}\n align={this.props.menuAlign}\n disablePortal={this.props.disablePortal}\n >\n <Menu {...menuProps}>\n {items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })}\n </Menu>\n </DropdownContainer>\n );\n }\n\n private getInputWidth = (target: Nullable<HTMLSpanElement>) => {\n if (target instanceof Element) {\n return target.getBoundingClientRect().width;\n }\n\n return 0;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return findDOMNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n const expectingId = (this.requestId += 1);\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then(items => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
- ```jsx
2
- let items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
3
-
4
- let initialState = { value: 'Kappa' };
5
-
6
- <Autocomplete source={items} value={state.value} onValueChange={value => setState({ value })} />;
7
- ```
1
+ ```jsx
2
+ let items = ['Grey Face', 'Grey Space', 'Kappa', 'Keepo', 'Resident Sleeper'];
3
+
4
+ let initialState = { value: 'Kappa' };
5
+
6
+ <Autocomplete source={items} value={state.value} onValueChange={value => setState({ value })} />;
7
+ ```
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Autocomplete';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"uCAAA","sourcesContent":["export * from './Autocomplete';\n"]}
@@ -331,10 +331,10 @@ Button = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
331
331
 
332
332
  _ref = function (node) {
333
333
  _this.node = node;
334
- };return _this;}var _proto = Button.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.autoFocus) {_tabListener.tabListener.isTabPressed = true;this.focus();}} /**
335
- * @public
336
- */;_proto.focus = function focus() {var _this$node;(_this$node = this.node) == null ? void 0 : _this$node.focus();} /**
337
- * @public
334
+ };return _this;}var _proto = Button.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.autoFocus) {_tabListener.tabListener.isTabPressed = true;this.focus();}} /**
335
+ * @public
336
+ */;_proto.focus = function focus() {var _this$node;(_this$node = this.node) == null ? void 0 : _this$node.focus();} /**
337
+ * @public
338
338
  */;_proto.blur = function blur() {var _this$node2;(_this$node2 = this.node) == null ? void 0 : _this$node2.blur();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cn, _cn2;var _this$props$corners = this.props.corners,corners = _this$props$corners === void 0 ? 0 : _this$props$corners;var sizeClass = this.getSizeClassName();var isError = !!this.props.error;var isWarning = !!this.props.warning;var rootProps = { // By default the type attribute is 'submit'. IE8 will fire a click event
339
339
  // on this button if somewhere on the page user presses Enter while some
340
340
  // input is focused. So we set type to 'button' by default.
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["Button","state","focusedByTab","theme","node","handleFocus","e","props","disabled","disableFocus","process","nextTick","tabListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","blur","render","renderMain","corners","sizeClass","getSizeClassName","isError","error","isWarning","warning","rootProps","type","className","jsStyles","root","use","default","active","validationRoot","narrow","noPadding","_noPadding","noRightPadding","_noRightPadding","borderless","visuallyFocused","checked","loading","fallback","isIE11","isEdge","style","borderTopLeftRadius","Corners","TOP_LEFT","undefined","borderTopRightRadius","TOP_RIGHT","borderBottomRightRadius","BOTTOM_RIGHT","borderBottomLeftRadius","BOTTOM_LEFT","textAlign","align","onClick","onKeyDown","onMouseEnter","onMouseLeave","onMouseOver","tabIndex","wrapProps","wrap","wrapArrow","arrow","wrapArrowLeft","width","icon","getSizeIconClassName","arrowWarning","arrowError","arrowLeft","link","Object","assign","wrapLink","caption","children","size","sizeLarge","sizeLargeLoading","sizeMedium","sizeMediumLoading","sizeSmall","sizeSmallLoading","iconLarge","iconMedium","iconSmall","React","Component","__KONTUR_REACT_UI__","__BUTTON__","defaultProps","isButton","child","isValidElement","prototype","hasOwnProperty","call"],"mappings":"uVAAA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGaA,M;;;;;;;;;;;;;;AAcJC,IAAAA,K,GAAQ;AACbC,MAAAA,YAAY,EAAE,KADD,E;;;AAIPC,IAAAA,K;AACAC,IAAAA,I,GAAiC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0LjCC,IAAAA,W,GAAc,UAACC,CAAD,EAA4C;AAChE,UAAI,CAAC,MAAKC,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD;AACA;AACAC,QAAAA,OAAO,CAACC,QAAR,CAAiB,YAAM;AACrB,cAAIC,yBAAYC,YAAhB,EAA8B;AAC5B,kBAAKC,QAAL,CAAc,EAAEZ,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJD;AAKA,cAAKK,KAAL,CAAWQ,OAAX,0BAAKR,KAAL,CAAWQ,OAAX,CAAqBT,CAArB;AACD;AACF,K;;AAEOU,IAAAA,U,GAAa,UAACV,CAAD,EAA4C;AAC/D,YAAKQ,QAAL,CAAc,EAAEZ,YAAY,EAAE,KAAhB,EAAd;AACA,UAAI,CAAC,MAAKK,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD,cAAKF,KAAL,CAAWU,MAAX,0BAAKV,KAAL,CAAWU,MAAX,CAAoBX,CAApB;AACD;AACF,K;;AAEOY,IAAAA,I,GAAO,UAACd,IAAD,EAAoC;AACjD,YAAKA,IAAL,GAAYA,IAAZ;AACD,K,oDA9MMe,iB,GAAP,6BAA2B,CACzB,IAAI,KAAKZ,KAAL,CAAWa,SAAf,EAA0B,CACxBR,yBAAYC,YAAZ,GAA2B,IAA3B,CACA,KAAKQ,KAAL,GACD,CACF,C,CAED;AACF;AACA,K,QACSA,K,GAAP,iBAAe,gBACb,mBAAKjB,IAAL,gCAAWiB,KAAX,GACD,C,CAED;AACF;AACA,K,QACSC,I,GAAP,gBAAc,iBACZ,oBAAKlB,IAAL,iCAAWkB,IAAX,GACD,C,QAEMC,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAAApB,KAAK,EAAI,CACR,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACqB,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,yCACK,KAAKjB,KADV,CACXkB,OADW,CACXA,OADW,oCACD,CADC,uBAEnB,IAAMC,SAAS,GAAG,KAAKC,gBAAL,EAAlB,CAEA,IAAMC,OAAO,GAAG,CAAC,CAAC,KAAKrB,KAAL,CAAWsB,KAA7B,CACA,IAAMC,SAAS,GAAG,CAAC,CAAC,KAAKvB,KAAL,CAAWwB,OAA/B,CACA,IAAMC,SAAS,GAAG,EAChB;AACA;AACA;AACAC,MAAAA,IAAI,EAAE,KAAK1B,KAAL,CAAW0B,IAJD,EAKhBC,SAAS,EAAE,wCACRC,iBAASC,IAAT,CAAc,KAAKjC,KAAnB,CADQ,IACoB,IADpB,MAEPgC,iBAAS,KAAK5B,KAAL,CAAW8B,GAApB,KAA6BF,iBAAS,KAAK5B,KAAL,CAAW8B,GAApB,EAA0B,KAAKlC,KAA/B,CAA9B,IAAwEgC,iBAASG,OAAT,CAAiB,KAAKnC,KAAtB,CAFhE,IAE+F,IAF/F,MAGRgC,iBAASI,MAAT,CAAgB,KAAKpC,KAArB,CAHQ,IAGsB,CAAC,CAAC,KAAKI,KAAL,CAAWgC,MAHnC,MAIRJ,iBAASK,cAAT,CAAwB,KAAKrC,KAA7B,CAJQ,IAI8ByB,OAAO,IAAIE,SAJzC,MAKRK,iBAASM,MAAT,EALQ,IAKY,CAAC,CAAC,KAAKlC,KAAL,CAAWkC,MALzB,MAMRN,iBAASO,SAAT,EANQ,IAMe,CAAC,CAAC,KAAKnC,KAAL,CAAWoC,UAN5B,MAORR,iBAASS,cAAT,EAPQ,IAOoB,CAAC,CAAC,KAAKrC,KAAL,CAAWsC,eAPjC,MAQRnB,SARQ,IAQI,IARJ,MASRS,iBAASW,UAAT,CAAoB,KAAK3C,KAAzB,CATQ,IAS0B,CAAC,CAAC,KAAKI,KAAL,CAAWuC,UATvC,MAURX,iBAASd,KAAT,CAAe,KAAKlB,KAApB,CAVQ,IAUqB,KAAKF,KAAL,CAAWC,YAAX,IAA2B,CAAC,CAAC,KAAKK,KAAL,CAAWwC,eAV7D,MAWRZ,iBAASa,OAAT,CAAiB,KAAK7C,KAAtB,CAXQ,IAWuB,CAAC,CAAC,KAAKI,KAAL,CAAWyC,OAXpC,MAYRb,iBAAS3B,QAAT,CAAkB,KAAKL,KAAvB,CAZQ,IAYwB,CAAC,CAAC,KAAKI,KAAL,CAAWC,QAAb,IAAyB,CAAC,CAAC,KAAKD,KAAL,CAAW0C,OAZ9D,MAaRd,iBAASe,QAAT,CAAkB,KAAK/C,KAAvB,CAbQ,IAawBgD,kBAAUC,cAblC,OALK,EAoBhBC,KAAK,EAAE,EACLC,mBAAmB,EAAE7B,OAAO,GAAG8B,iBAAQC,QAAlB,GAA6B,CAA7B,GAAiCC,SADjD,EAELC,oBAAoB,EAAEjC,OAAO,GAAG8B,iBAAQI,SAAlB,GAA8B,CAA9B,GAAkCF,SAFnD,EAGLG,uBAAuB,EAAEnC,OAAO,GAAG8B,iBAAQM,YAAlB,GAAiC,CAAjC,GAAqCJ,SAHzD,EAILK,sBAAsB,EAAErC,OAAO,GAAG8B,iBAAQQ,WAAlB,GAAgC,CAAhC,GAAoCN,SAJvD,EAKLO,SAAS,EAAE,KAAKzD,KAAL,CAAW0D,KALjB,EApBS,EA2BhBzD,QAAQ,EAAE,KAAKD,KAAL,CAAWC,QAAX,IAAuB,KAAKD,KAAL,CAAW0C,OA3B5B,EA4BhBiB,OAAO,EAAE,KAAK3D,KAAL,CAAW2D,OA5BJ,EA6BhBnD,OAAO,EAAE,KAAKV,WA7BE,EA8BhBY,MAAM,EAAE,KAAKD,UA9BG,EA+BhBmD,SAAS,EAAE,KAAK5D,KAAL,CAAW4D,SA/BN,EAgChBC,YAAY,EAAE,KAAK7D,KAAL,CAAW6D,YAhCT,EAiChBC,YAAY,EAAE,KAAK9D,KAAL,CAAW8D,YAjCT,EAkChBC,WAAW,EAAE,KAAK/D,KAAL,CAAW+D,WAlCR,EAmChBC,QAAQ,EAAE,KAAKhE,KAAL,CAAWE,YAAX,GAA0B,CAAC,CAA3B,GAA+B,CAnCzB,EAAlB,CAsCA,IAAM+D,SAAS,GAAG,EAChBtC,SAAS,EAAE,0CACRC,iBAASsC,IAAT,CAAc,KAAKtE,KAAnB,CADQ,IACoB,IADpB,OAERgC,iBAASuC,SAAT,EAFQ,IAEe,KAAKnE,KAAL,CAAWoE,KAAX,KAAqB,IAFpC,OAGRxC,iBAASyC,aAAT,EAHQ,IAGmB,KAAKrE,KAAL,CAAWoE,KAAX,KAAqB,MAHxC,QADK,EAMhBtB,KAAK,EAAE,EACLwB,KAAK,EAAE,KAAKtE,KAAL,CAAWsE,KADb,EANS,EAAlB,CAWA,IAAIhD,KAAK,GAAG,IAAZ,CACA,IAAI,KAAKtB,KAAL,CAAWsB,KAAf,EAAsB,CACpBA,KAAK,gBAAG,sCAAK,SAAS,EAAEM,iBAASN,KAAT,CAAe,KAAK1B,KAApB,CAAhB,GAAR,CACD,CAFD,MAEO,IAAI,KAAKI,KAAL,CAAWwB,OAAf,EAAwB,CAC7BF,KAAK,gBAAG,sCAAK,SAAS,EAAEM,iBAASJ,OAAT,CAAiB,KAAK5B,KAAtB,CAAhB,GAAR,CACD,CAED,IAAI8C,OAAO,GAAG,IAAd,CACA,IAAI,KAAK1C,KAAL,CAAW0C,OAAf,EAAwB,CACtBA,OAAO,gBAAG,sCAAK,SAAS,EAAEd,iBAASc,OAAT,EAAhB,GAAV,CACD,CAED,IAAI6B,IAAI,GAAG,KAAKvE,KAAL,CAAWuE,IAAtB,CACA,IAAI,KAAKvE,KAAL,CAAWuE,IAAf,EAAqB,CACnBA,IAAI,gBAAG,uCAAM,SAAS,EAAE,yBAAG3C,iBAAS2C,IAAT,EAAH,EAAoB,KAAKC,oBAAL,EAApB,CAAjB,IAAoE,KAAKxE,KAAL,CAAWuE,IAA/E,CAAP,CACD,CAED,IAAIH,KAAK,GAAG,IAAZ,CACA,IAAI,KAAKpE,KAAL,CAAWoE,KAAf,EAAsB,UACpBA,KAAK,gBACH,sCACE,SAAS,EAAE,0CACRxC,iBAAS6C,YAAT,CAAsB,KAAK7E,KAA3B,CADQ,IAC4B2B,SAD5B,OAERK,iBAAS8C,UAAT,CAAoB,KAAK9E,KAAzB,CAFQ,IAE0ByB,OAF1B,OAGRO,iBAASwC,KAAT,EAHQ,IAGW,IAHX,OAIRxC,iBAAS+C,SAAT,CAAmB,KAAK/E,KAAxB,CAJQ,IAIyB,KAAKI,KAAL,CAAWoE,KAAX,KAAqB,MAJ9C,QADb,GADF,CAUD,CApFkB,CAsFnB;AACA,QAAI,KAAKpE,KAAL,CAAW8B,GAAX,KAAmB,MAAvB,EAA+B,gBAC7BL,SAAS,CAACE,SAAV,GAAsB,0CACnBC,iBAASC,IAAT,CAAc,KAAKjC,KAAnB,CADmB,IACS,IADT,OAEnBuB,SAFmB,IAEP,IAFO,OAGnBS,iBAASd,KAAT,CAAe,KAAKlB,KAApB,CAHmB,IAGU,KAAKF,KAAL,CAAWC,YAAX,IAA2B,CAAC,CAAC,KAAKK,KAAL,CAAWwC,eAHlD,OAInBZ,iBAASgD,IAAT,CAAc,KAAKhF,KAAnB,CAJmB,IAIS,IAJT,OAKnBgC,iBAAS3B,QAAT,CAAkB,KAAKL,KAAvB,CALmB,IAKa,CAAC,CAAC,KAAKI,KAAL,CAAWC,QAL1B,QAAtB,CAOA4E,MAAM,CAACC,MAAP,CAAcb,SAAd,EAAyB,EACvBtC,SAAS,EAAE,yBAAGC,iBAASsC,IAAT,CAAc,KAAKtE,KAAnB,CAAH,mBACRgC,iBAASmD,QAAT,CAAkB,KAAKnF,KAAvB,CADQ,IACwB,KAAKI,KAAL,CAAW8B,GAAX,KAAmB,MAD3C,QADY,EAIvBgB,KAAK,EAAE,EAAEwB,KAAK,EAAEL,SAAS,CAACnB,KAAV,CAAgBwB,KAAzB,EAJgB,EAAzB,EAMA7C,SAAS,CAACqB,KAAV,CAAgBW,SAAhB,GAA4BP,SAA5B,CACAR,OAAO,GAAG,IAAV,CACA0B,KAAK,GAAG,IAAR,CACD,CAED,oBACE,6BAAC,4BAAD,EAAmB,KAAKpE,KAAxB,eACE,qCAAUiE,SAAV,eACE,gEAAQ,GAAG,EAAE,KAAKtD,IAAlB,IAA4Bc,SAA5B,GACGH,KADH,EAEGoB,OAFH,EAGG0B,KAHH,eAIE,sCAAK,SAAS,EAAExC,iBAASoD,OAAT,EAAhB,IACGT,IADH,EAEG,KAAKvE,KAAL,CAAWiF,QAFd,CAJF,CADF,CADF,CADF,CAeD,C,QAEO7D,gB,GAAR,4BAA2B,sBACzB,QAAQ,KAAKpB,KAAL,CAAWkF,IAAnB,GACE,KAAK,OAAL,CACE,OAAO,yBAAGtD,iBAASuD,SAAT,CAAmB,KAAKvF,KAAxB,CAAH,mBACJgC,iBAASwD,gBAAT,CAA0B,KAAKxF,KAA/B,CADI,IACoC,KAAKI,KAAL,CAAW0C,OAD/C,QAAP,CAGF,KAAK,QAAL,CACE,OAAO,yBAAGd,iBAASyD,UAAT,CAAoB,KAAKzF,KAAzB,CAAH,mBACJgC,iBAAS0D,iBAAT,CAA2B,KAAK1F,KAAhC,CADI,IACqC,KAAKI,KAAL,CAAW0C,OADhD,QAAP,CAGF,KAAK,OAAL,CACA,QACE,OAAO,yBAAGd,iBAAS2D,SAAT,CAAmB,KAAK3F,KAAxB,CAAH,mBACJgC,iBAAS4D,gBAAT,CAA0B,KAAK5F,KAA/B,CADI,IACoC,KAAKI,KAAL,CAAW0C,OAD/C,QAAP,CAXJ,CAeD,C,QACO8B,oB,GAAR,gCAA+B,CAC7B,QAAQ,KAAKxE,KAAL,CAAWkF,IAAnB,GACE,KAAK,OAAL,CACE,OAAOtD,iBAAS6D,SAAT,CAAmB,KAAK7F,KAAxB,CAAP,CACF,KAAK,QAAL,CACE,OAAOgC,iBAAS8D,UAAT,CAAoB,KAAK9F,KAAzB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAOgC,iBAAS+D,SAAT,CAAmB,KAAK/F,KAAxB,CAAP,CAPJ,CASD,C,iBA3MyBgG,eAAMC,S,0BAArBpG,M,CACGqG,mB,GAAsB,Q,CADzBrG,M,CAEGsG,U,GAAa,I,CAFhBtG,M,CAGGwD,Q,GAAWD,iBAAQC,Q,CAHtBxD,M,CAIG2D,S,GAAYJ,iBAAQI,S,CAJvB3D,M,CAKG6D,Y,GAAeN,iBAAQM,Y,CAL1B7D,M,CAMG+D,W,GAAcR,iBAAQQ,W,CANzB/D,M,CAQGuG,Y,GAAe,EAC3BlE,GAAG,EAAE,SADsB,EAE3BoD,IAAI,EAAE,OAFqB,EAG3BxD,IAAI,EAAE,QAHqB,E,CA8NxB,IAAMuE,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAuE,CAC7F,OAAO,4BAAMC,cAAN,CAAkCD,KAAlC,IACHrB,MAAM,CAACuB,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCJ,KAAK,CAACxE,IAA3C,EAAiD,YAAjD,CADG,GAEH,KAFJ,CAGD,CAJM,C","sourcesContent":["import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport { isIE11, isEdge } from '../../lib/client';\r\nimport { tabListener } from '../../lib/events/tabListener';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\r\n\r\nimport { jsStyles } from './Button.styles';\r\nimport { Corners } from './Corners';\r\n\r\nexport type ButtonSize = 'small' | 'medium' | 'large';\r\nexport type ButtonType = 'button' | 'submit' | 'reset';\r\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\r\n\r\nexport interface ButtonProps extends CommonProps {\r\n /** @ignore */\r\n _noPadding?: boolean;\r\n\r\n /** @ignore */\r\n _noRightPadding?: boolean;\r\n\r\n /**\r\n * Визуально нажатое состояние.\r\n */\r\n active?: boolean;\r\n\r\n /** `type TextAlignProperty = \"inherit\" | \"initial\" | \"unset\" | \"center\" | \"end\" | \"justify\" | \"left\" | \"match-parent\" | \"right\" | \"start\"` */\r\n align?: React.CSSProperties['textAlign'];\r\n\r\n /**\r\n * Кнопка со стрелкой.\r\n *\r\n * `type ButtonArrow = boolean | \"left\"`\r\n */\r\n arrow?: boolean | 'left';\r\n\r\n autoFocus?: boolean;\r\n\r\n borderless?: boolean;\r\n\r\n checked?: boolean;\r\n\r\n children?: React.ReactNode;\r\n\r\n /** @ignore */\r\n corners?: number;\r\n\r\n disabled?: boolean;\r\n\r\n /** @ignore */\r\n disableFocus?: boolean;\r\n\r\n error?: boolean;\r\n\r\n focused?: boolean;\r\n\r\n /**\r\n * Иконка слева от текста кнопки.\r\n */\r\n icon?: React.ReactElement<any>;\r\n\r\n loading?: boolean;\r\n\r\n narrow?: boolean;\r\n\r\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\r\n\r\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\r\n\r\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\r\n\r\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\r\n\r\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\r\n\r\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\r\n\r\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\r\n\r\n /** `type ButtonSize = \"small\" | \"medium\" | \"large\"` */\r\n size?: ButtonSize;\r\n\r\n /** `type ButtonType = \"button\" | \"submit\" | \"reset\"` */\r\n type?: ButtonType;\r\n\r\n /**\r\n * Вариант использования. Влияет на цвет кнопки.\r\n *\r\n * `type ButtonUse = \"default\" | \"primary\" | \"success\" | \"danger\" | \"pay\" | \"link\"`\r\n */\r\n use?: ButtonUse;\r\n\r\n /** @ignore */\r\n visuallyFocused?: boolean;\r\n\r\n warning?: boolean;\r\n\r\n width?: number | string;\r\n}\r\n\r\nexport interface ButtonState {\r\n focusedByTab: boolean;\r\n}\r\n\r\nexport class Button extends React.Component<ButtonProps, ButtonState> {\r\n public static __KONTUR_REACT_UI__ = 'Button';\r\n public static __BUTTON__ = true;\r\n public static TOP_LEFT = Corners.TOP_LEFT;\r\n public static TOP_RIGHT = Corners.TOP_RIGHT;\r\n public static BOTTOM_RIGHT = Corners.BOTTOM_RIGHT;\r\n public static BOTTOM_LEFT = Corners.BOTTOM_LEFT;\r\n\r\n public static defaultProps = {\r\n use: 'default',\r\n size: 'small',\r\n type: 'button',\r\n };\r\n\r\n public state = {\r\n focusedByTab: false,\r\n };\r\n\r\n private theme!: Theme;\r\n private node: HTMLButtonElement | null = null;\r\n\r\n public componentDidMount() {\r\n if (this.props.autoFocus) {\r\n tabListener.isTabPressed = true;\r\n this.focus();\r\n }\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public focus() {\r\n this.node?.focus();\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public blur() {\r\n this.node?.blur();\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n const { corners = 0 } = this.props;\r\n const sizeClass = this.getSizeClassName();\r\n\r\n const isError = !!this.props.error;\r\n const isWarning = !!this.props.warning;\r\n const rootProps = {\r\n // By default the type attribute is 'submit'. IE8 will fire a click event\r\n // on this button if somewhere on the page user presses Enter while some\r\n // input is focused. So we set type to 'button' by default.\r\n type: this.props.type,\r\n className: cn({\r\n [jsStyles.root(this.theme)]: true,\r\n [(jsStyles[this.props.use!] && jsStyles[this.props.use!](this.theme)) || jsStyles.default(this.theme)]: true,\r\n [jsStyles.active(this.theme)]: !!this.props.active,\r\n [jsStyles.validationRoot(this.theme)]: isError || isWarning,\r\n [jsStyles.narrow()]: !!this.props.narrow,\r\n [jsStyles.noPadding()]: !!this.props._noPadding,\r\n [jsStyles.noRightPadding()]: !!this.props._noRightPadding,\r\n [sizeClass]: true,\r\n [jsStyles.borderless(this.theme)]: !!this.props.borderless,\r\n [jsStyles.focus(this.theme)]: this.state.focusedByTab || !!this.props.visuallyFocused,\r\n [jsStyles.checked(this.theme)]: !!this.props.checked,\r\n [jsStyles.disabled(this.theme)]: !!this.props.disabled || !!this.props.loading,\r\n [jsStyles.fallback(this.theme)]: isIE11 || isEdge,\r\n }),\r\n style: {\r\n borderTopLeftRadius: corners & Corners.TOP_LEFT ? 0 : undefined,\r\n borderTopRightRadius: corners & Corners.TOP_RIGHT ? 0 : undefined,\r\n borderBottomRightRadius: corners & Corners.BOTTOM_RIGHT ? 0 : undefined,\r\n borderBottomLeftRadius: corners & Corners.BOTTOM_LEFT ? 0 : undefined,\r\n textAlign: this.props.align,\r\n },\r\n disabled: this.props.disabled || this.props.loading,\r\n onClick: this.props.onClick,\r\n onFocus: this.handleFocus,\r\n onBlur: this.handleBlur,\r\n onKeyDown: this.props.onKeyDown,\r\n onMouseEnter: this.props.onMouseEnter,\r\n onMouseLeave: this.props.onMouseLeave,\r\n onMouseOver: this.props.onMouseOver,\r\n tabIndex: this.props.disableFocus ? -1 : 0,\r\n };\r\n\r\n const wrapProps = {\r\n className: cn({\r\n [jsStyles.wrap(this.theme)]: true,\r\n [jsStyles.wrapArrow()]: this.props.arrow === true,\r\n [jsStyles.wrapArrowLeft()]: this.props.arrow === 'left',\r\n }),\r\n style: {\r\n width: this.props.width,\r\n },\r\n };\r\n\r\n let error = null;\r\n if (this.props.error) {\r\n error = <div className={jsStyles.error(this.theme)} />;\r\n } else if (this.props.warning) {\r\n error = <div className={jsStyles.warning(this.theme)} />;\r\n }\r\n\r\n let loading = null;\r\n if (this.props.loading) {\r\n loading = <div className={jsStyles.loading()} />;\r\n }\r\n\r\n let icon = this.props.icon;\r\n if (this.props.icon) {\r\n icon = <span className={cn(jsStyles.icon(), this.getSizeIconClassName())}>{this.props.icon}</span>;\r\n }\r\n\r\n let arrow = null;\r\n if (this.props.arrow) {\r\n arrow = (\r\n <div\r\n className={cn({\r\n [jsStyles.arrowWarning(this.theme)]: isWarning,\r\n [jsStyles.arrowError(this.theme)]: isError,\r\n [jsStyles.arrow()]: true,\r\n [jsStyles.arrowLeft(this.theme)]: this.props.arrow === 'left',\r\n })}\r\n />\r\n );\r\n }\r\n\r\n // Force disable all props and features, that cannot be use with Link\r\n if (this.props.use === 'link') {\r\n rootProps.className = cn({\r\n [jsStyles.root(this.theme)]: true,\r\n [sizeClass]: true,\r\n [jsStyles.focus(this.theme)]: this.state.focusedByTab || !!this.props.visuallyFocused,\r\n [jsStyles.link(this.theme)]: true,\r\n [jsStyles.disabled(this.theme)]: !!this.props.disabled,\r\n });\r\n Object.assign(wrapProps, {\r\n className: cn(jsStyles.wrap(this.theme), {\r\n [jsStyles.wrapLink(this.theme)]: this.props.use === 'link',\r\n }),\r\n style: { width: wrapProps.style.width },\r\n });\r\n rootProps.style.textAlign = undefined;\r\n loading = null;\r\n arrow = null;\r\n }\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <span {...wrapProps}>\r\n <button ref={this._ref} {...rootProps}>\r\n {error}\r\n {loading}\r\n {arrow}\r\n <div className={jsStyles.caption()}>\r\n {icon}\r\n {this.props.children}\r\n </div>\r\n </button>\r\n </span>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private getSizeClassName() {\r\n switch (this.props.size) {\r\n case 'large':\r\n return cn(jsStyles.sizeLarge(this.theme), {\r\n [jsStyles.sizeLargeLoading(this.theme)]: this.props.loading,\r\n });\r\n case 'medium':\r\n return cn(jsStyles.sizeMedium(this.theme), {\r\n [jsStyles.sizeMediumLoading(this.theme)]: this.props.loading,\r\n });\r\n case 'small':\r\n default:\r\n return cn(jsStyles.sizeSmall(this.theme), {\r\n [jsStyles.sizeSmallLoading(this.theme)]: this.props.loading,\r\n });\r\n }\r\n }\r\n private getSizeIconClassName() {\r\n switch (this.props.size) {\r\n case 'large':\r\n return jsStyles.iconLarge(this.theme);\r\n case 'medium':\r\n return jsStyles.iconMedium(this.theme);\r\n case 'small':\r\n default:\r\n return jsStyles.iconSmall(this.theme);\r\n }\r\n }\r\n\r\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\r\n if (!this.props.disabled && !this.props.disableFocus) {\r\n // focus event fires before keyDown eventlistener\r\n // so we should check tabPressed in async way\r\n process.nextTick(() => {\r\n if (tabListener.isTabPressed) {\r\n this.setState({ focusedByTab: true });\r\n }\r\n });\r\n this.props.onFocus?.(e);\r\n }\r\n };\r\n\r\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\r\n this.setState({ focusedByTab: false });\r\n if (!this.props.disabled && !this.props.disableFocus) {\r\n this.props.onBlur?.(e);\r\n }\r\n };\r\n\r\n private _ref = (node: HTMLButtonElement | null) => {\r\n this.node = node;\r\n };\r\n}\r\n\r\nexport const isButton = (child: React.ReactChild): child is React.ReactElement<ButtonProps> => {\r\n return React.isValidElement<ButtonProps>(child)\r\n ? Object.prototype.hasOwnProperty.call(child.type, '__BUTTON__')\r\n : false;\r\n};\r\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["Button","state","focusedByTab","theme","node","handleFocus","e","props","disabled","disableFocus","process","nextTick","tabListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","blur","render","renderMain","corners","sizeClass","getSizeClassName","isError","error","isWarning","warning","rootProps","type","className","jsStyles","root","use","default","active","validationRoot","narrow","noPadding","_noPadding","noRightPadding","_noRightPadding","borderless","visuallyFocused","checked","loading","fallback","isIE11","isEdge","style","borderTopLeftRadius","Corners","TOP_LEFT","undefined","borderTopRightRadius","TOP_RIGHT","borderBottomRightRadius","BOTTOM_RIGHT","borderBottomLeftRadius","BOTTOM_LEFT","textAlign","align","onClick","onKeyDown","onMouseEnter","onMouseLeave","onMouseOver","tabIndex","wrapProps","wrap","wrapArrow","arrow","wrapArrowLeft","width","icon","getSizeIconClassName","arrowWarning","arrowError","arrowLeft","link","Object","assign","wrapLink","caption","children","size","sizeLarge","sizeLargeLoading","sizeMedium","sizeMediumLoading","sizeSmall","sizeSmallLoading","iconLarge","iconMedium","iconSmall","React","Component","__KONTUR_REACT_UI__","__BUTTON__","defaultProps","isButton","child","isValidElement","prototype","hasOwnProperty","call"],"mappings":"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","sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { tabListener } from '../../lib/events/tabListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\n\nimport { jsStyles } from './Button.styles';\nimport { Corners } from './Corners';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Визуально нажатое состояние.\n */\n active?: boolean;\n\n /** `type TextAlignProperty = \"inherit\" | \"initial\" | \"unset\" | \"center\" | \"end\" | \"justify\" | \"left\" | \"match-parent\" | \"right\" | \"start\"` */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Кнопка со стрелкой.\n *\n * `type ButtonArrow = boolean | \"left\"`\n */\n arrow?: boolean | 'left';\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: number;\n\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n error?: boolean;\n\n focused?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n loading?: boolean;\n\n narrow?: boolean;\n\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /** `type ButtonSize = \"small\" | \"medium\" | \"large\"` */\n size?: ButtonSize;\n\n /** `type ButtonType = \"button\" | \"submit\" | \"reset\"` */\n type?: ButtonType;\n\n /**\n * Вариант использования. Влияет на цвет кнопки.\n *\n * `type ButtonUse = \"default\" | \"primary\" | \"success\" | \"danger\" | \"pay\" | \"link\"`\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n warning?: boolean;\n\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n public static TOP_LEFT = Corners.TOP_LEFT;\n public static TOP_RIGHT = Corners.TOP_RIGHT;\n public static BOTTOM_RIGHT = Corners.BOTTOM_RIGHT;\n public static BOTTOM_LEFT = Corners.BOTTOM_LEFT;\n\n public static defaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n tabListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {theme => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { corners = 0 } = this.props;\n const sizeClass = this.getSizeClassName();\n\n const isError = !!this.props.error;\n const isWarning = !!this.props.warning;\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: this.props.type,\n className: cn({\n [jsStyles.root(this.theme)]: true,\n [(jsStyles[this.props.use!] && jsStyles[this.props.use!](this.theme)) || jsStyles.default(this.theme)]: true,\n [jsStyles.active(this.theme)]: !!this.props.active,\n [jsStyles.validationRoot(this.theme)]: isError || isWarning,\n [jsStyles.narrow()]: !!this.props.narrow,\n [jsStyles.noPadding()]: !!this.props._noPadding,\n [jsStyles.noRightPadding()]: !!this.props._noRightPadding,\n [sizeClass]: true,\n [jsStyles.borderless(this.theme)]: !!this.props.borderless,\n [jsStyles.focus(this.theme)]: this.state.focusedByTab || !!this.props.visuallyFocused,\n [jsStyles.checked(this.theme)]: !!this.props.checked,\n [jsStyles.disabled(this.theme)]: !!this.props.disabled || !!this.props.loading,\n [jsStyles.fallback(this.theme)]: isIE11 || isEdge,\n }),\n style: {\n borderTopLeftRadius: corners & Corners.TOP_LEFT ? 0 : undefined,\n borderTopRightRadius: corners & Corners.TOP_RIGHT ? 0 : undefined,\n borderBottomRightRadius: corners & Corners.BOTTOM_RIGHT ? 0 : undefined,\n borderBottomLeftRadius: corners & Corners.BOTTOM_LEFT ? 0 : undefined,\n textAlign: this.props.align,\n },\n disabled: this.props.disabled || this.props.loading,\n onClick: this.props.onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown: this.props.onKeyDown,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n onMouseOver: this.props.onMouseOver,\n tabIndex: this.props.disableFocus ? -1 : 0,\n };\n\n const wrapProps = {\n className: cn({\n [jsStyles.wrap(this.theme)]: true,\n [jsStyles.wrapArrow()]: this.props.arrow === true,\n [jsStyles.wrapArrowLeft()]: this.props.arrow === 'left',\n }),\n style: {\n width: this.props.width,\n },\n };\n\n let error = null;\n if (this.props.error) {\n error = <div className={jsStyles.error(this.theme)} />;\n } else if (this.props.warning) {\n error = <div className={jsStyles.warning(this.theme)} />;\n }\n\n let loading = null;\n if (this.props.loading) {\n loading = <div className={jsStyles.loading()} />;\n }\n\n let icon = this.props.icon;\n if (this.props.icon) {\n icon = <span className={cn(jsStyles.icon(), this.getSizeIconClassName())}>{this.props.icon}</span>;\n }\n\n let arrow = null;\n if (this.props.arrow) {\n arrow = (\n <div\n className={cn({\n [jsStyles.arrowWarning(this.theme)]: isWarning,\n [jsStyles.arrowError(this.theme)]: isError,\n [jsStyles.arrow()]: true,\n [jsStyles.arrowLeft(this.theme)]: this.props.arrow === 'left',\n })}\n />\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (this.props.use === 'link') {\n rootProps.className = cn({\n [jsStyles.root(this.theme)]: true,\n [sizeClass]: true,\n [jsStyles.focus(this.theme)]: this.state.focusedByTab || !!this.props.visuallyFocused,\n [jsStyles.link(this.theme)]: true,\n [jsStyles.disabled(this.theme)]: !!this.props.disabled,\n });\n Object.assign(wrapProps, {\n className: cn(jsStyles.wrap(this.theme), {\n [jsStyles.wrapLink(this.theme)]: this.props.use === 'link',\n }),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n loading = null;\n arrow = null;\n }\n\n return (\n <CommonWrapper {...this.props}>\n <span {...wrapProps}>\n <button ref={this._ref} {...rootProps}>\n {error}\n {loading}\n {arrow}\n <div className={jsStyles.caption()}>\n {icon}\n {this.props.children}\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cn(jsStyles.sizeLarge(this.theme), {\n [jsStyles.sizeLargeLoading(this.theme)]: this.props.loading,\n });\n case 'medium':\n return cn(jsStyles.sizeMedium(this.theme), {\n [jsStyles.sizeMediumLoading(this.theme)]: this.props.loading,\n });\n case 'small':\n default:\n return cn(jsStyles.sizeSmall(this.theme), {\n [jsStyles.sizeSmallLoading(this.theme)]: this.props.loading,\n });\n }\n }\n private getSizeIconClassName() {\n switch (this.props.size) {\n case 'large':\n return jsStyles.iconLarge(this.theme);\n case 'medium':\n return jsStyles.iconMedium(this.theme);\n case 'small':\n default:\n return jsStyles.iconSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n process.nextTick(() => {\n if (tabListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = (child: React.ReactChild): child is React.ReactElement<ButtonProps> => {\n return React.isValidElement<ButtonProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__BUTTON__')\n : false;\n};\n"]}
@@ -1,89 +1,89 @@
1
- Button example
2
-
3
- ```jsx harmony
4
- import OkIcon from '@skbkontur/react-icons/Ok';
5
- import { Button } from '@skbkontur/react-ui';
6
-
7
- <Button icon={<OkIcon />}>Ok</Button>;
8
- ```
9
-
10
- Button has different use styles
11
-
12
- ```jsx harmony
13
- import { Gapped } from '@skbkontur/react-ui';
14
-
15
- <Gapped>
16
- <Button use="default">Default</Button>
17
- <Button use="primary">Primary</Button>
18
- <Button use="success">Success</Button>
19
- <Button use="danger">Danger</Button>
20
- <Button use="pay">Pay</Button>
21
- <Button use="link">Link</Button>
22
- </Gapped>;
23
- ```
24
-
25
- Button can have different sizes
26
-
27
- ```jsx harmony
28
- import { Gapped } from '@skbkontur/react-ui';
29
-
30
- <Gapped>
31
- <Button size="small">Small</Button>
32
- <Button size="medium">Medium</Button>
33
- <Button size="large">Large</Button>
34
- </Gapped>;
35
- ```
36
-
37
- Кнопки-стрелки
38
-
39
- ```jsx harmony
40
- import { Gapped, Button } from '@skbkontur/react-ui';
41
-
42
- <Gapped gap={25}>
43
- <Gapped gap={5}>
44
- <Button arrow="left" size="medium">
45
- Назад
46
- </Button>
47
- <Button arrow size="medium">
48
- Далее
49
- </Button>
50
- </Gapped>
51
- <Gapped gap={5}>
52
- <Button arrow="left" size="large">
53
- Назад
54
- </Button>
55
- <Button arrow size="large">
56
- Далее
57
- </Button>
58
- </Gapped>
59
- </Gapped>;
60
- ```
61
-
62
- Кнопка в сочетании со спиннером
63
-
64
- ```jsx harmony
65
- import OkIcon from '@skbkontur/react-icons/Ok';
66
- import { Button, Spinner } from '@skbkontur/react-ui';
67
-
68
- const initialState = {
69
- loading: false,
70
- success: false,
71
- };
72
-
73
- const delay = (time = 0) => data => new Promise(resolve => setTimeout(resolve, time, data));
74
-
75
- const handleLoadingStart = () => {
76
- delay(2000)()
77
- .then(() => new Promise(resolve => setState({ loading: false, success: true }, resolve)))
78
- .then(delay(1000))
79
- .then(() => setState({ success: false }));
80
- };
81
-
82
- const handleClick = () => {
83
- setState({ loading: true, success: false }, handleLoadingStart);
84
- };
85
-
86
- <Button width={150} onClick={handleClick} disabled={state.loading}>
87
- {state.loading ? <Spinner type="mini" caption={null} /> : state.success ? <OkIcon /> : 'Сохранить'}
88
- </Button>;
89
- ```
1
+ Button example
2
+
3
+ ```jsx harmony
4
+ import OkIcon from '@skbkontur/react-icons/Ok';
5
+ import { Button } from '@skbkontur/react-ui';
6
+
7
+ <Button icon={<OkIcon />}>Ok</Button>;
8
+ ```
9
+
10
+ Button has different use styles
11
+
12
+ ```jsx harmony
13
+ import { Gapped } from '@skbkontur/react-ui';
14
+
15
+ <Gapped>
16
+ <Button use="default">Default</Button>
17
+ <Button use="primary">Primary</Button>
18
+ <Button use="success">Success</Button>
19
+ <Button use="danger">Danger</Button>
20
+ <Button use="pay">Pay</Button>
21
+ <Button use="link">Link</Button>
22
+ </Gapped>;
23
+ ```
24
+
25
+ Button can have different sizes
26
+
27
+ ```jsx harmony
28
+ import { Gapped } from '@skbkontur/react-ui';
29
+
30
+ <Gapped>
31
+ <Button size="small">Small</Button>
32
+ <Button size="medium">Medium</Button>
33
+ <Button size="large">Large</Button>
34
+ </Gapped>;
35
+ ```
36
+
37
+ Кнопки-стрелки
38
+
39
+ ```jsx harmony
40
+ import { Gapped, Button } from '@skbkontur/react-ui';
41
+
42
+ <Gapped gap={25}>
43
+ <Gapped gap={5}>
44
+ <Button arrow="left" size="medium">
45
+ Назад
46
+ </Button>
47
+ <Button arrow size="medium">
48
+ Далее
49
+ </Button>
50
+ </Gapped>
51
+ <Gapped gap={5}>
52
+ <Button arrow="left" size="large">
53
+ Назад
54
+ </Button>
55
+ <Button arrow size="large">
56
+ Далее
57
+ </Button>
58
+ </Gapped>
59
+ </Gapped>;
60
+ ```
61
+
62
+ Кнопка в сочетании со спиннером
63
+
64
+ ```jsx harmony
65
+ import OkIcon from '@skbkontur/react-icons/Ok';
66
+ import { Button, Spinner } from '@skbkontur/react-ui';
67
+
68
+ const initialState = {
69
+ loading: false,
70
+ success: false,
71
+ };
72
+
73
+ const delay = (time = 0) => data => new Promise(resolve => setTimeout(resolve, time, data));
74
+
75
+ const handleLoadingStart = () => {
76
+ delay(2000)()
77
+ .then(() => new Promise(resolve => setState({ loading: false, success: true }, resolve)))
78
+ .then(delay(1000))
79
+ .then(() => setState({ success: false }));
80
+ };
81
+
82
+ const handleClick = () => {
83
+ setState({ loading: true, success: false }, handleLoadingStart);
84
+ };
85
+
86
+ <Button width={150} onClick={handleClick} disabled={state.loading}>
87
+ {state.loading ? <Spinner type="mini" caption={null} /> : state.success ? <OkIcon /> : 'Сохранить'}
88
+ </Button>;
89
+ ```