@skbkontur/react-ui 4.8.0-revert-datatids → 4.9.0-theme2022.1

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 (801) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +11 -2
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +8 -4
  6. package/cjs/components/Button/Button.js +70 -6
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.mixins.js +5 -4
  9. package/cjs/components/Button/Button.mixins.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.d.ts +28 -0
  11. package/cjs/components/Button/Button.styles.js +366 -69
  12. package/cjs/components/Button/Button.styles.js.map +1 -1
  13. package/cjs/components/Button/ButtonArrow.d.ts +8 -0
  14. package/cjs/components/Button/ButtonArrow.js +114 -0
  15. package/cjs/components/Button/ButtonArrow.js.map +1 -0
  16. package/cjs/components/Button/ButtonIcon.d.ts +7 -0
  17. package/cjs/components/Button/ButtonIcon.js +51 -0
  18. package/cjs/components/Button/ButtonIcon.js.map +1 -0
  19. package/cjs/components/Center/Center.d.ts +3 -0
  20. package/cjs/components/Center/Center.js +7 -2
  21. package/cjs/components/Center/Center.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.d.ts +3 -0
  23. package/cjs/components/Checkbox/Checkbox.js +42 -15
  24. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  25. package/cjs/components/Checkbox/Checkbox.styles.d.ts +2 -1
  26. package/cjs/components/Checkbox/Checkbox.styles.js +13 -7
  27. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  28. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  29. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -2
  30. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  32. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  33. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  34. package/cjs/components/DatePicker/DatePicker.d.ts +16 -12
  35. package/cjs/components/DatePicker/DatePicker.js +12 -3
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/DatePicker/Picker.js +7 -2
  38. package/cjs/components/DatePicker/Picker.js.map +1 -1
  39. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  40. package/cjs/components/Dropdown/Dropdown.js +7 -2
  41. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  42. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  43. package/cjs/components/FileUploader/FileUploader.js +59 -32
  44. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  45. package/cjs/components/FileUploader/FileUploader.styles.d.ts +7 -2
  46. package/cjs/components/FileUploader/FileUploader.styles.js +76 -39
  47. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  48. package/cjs/components/FxInput/FxInput.d.ts +4 -0
  49. package/cjs/components/FxInput/FxInput.js +53 -14
  50. package/cjs/components/FxInput/FxInput.js.map +1 -1
  51. package/cjs/components/FxInput/FxInputRestoreBtn.d.ts +5 -0
  52. package/cjs/components/FxInput/FxInputRestoreBtn.js +83 -0
  53. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -0
  54. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  55. package/cjs/components/Gapped/Gapped.js +8 -3
  56. package/cjs/components/Gapped/Gapped.js.map +1 -1
  57. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  58. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  59. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  60. package/cjs/components/Group/Group.d.ts +6 -0
  61. package/cjs/components/Group/Group.js +41 -18
  62. package/cjs/components/Group/Group.js.map +1 -1
  63. package/cjs/components/Input/Input.d.ts +5 -0
  64. package/cjs/components/Input/Input.js +43 -5
  65. package/cjs/components/Input/Input.js.map +1 -1
  66. package/cjs/components/Input/InputLayout/InputLayout.d.ts +10 -0
  67. package/cjs/components/Input/InputLayout/InputLayout.js +36 -0
  68. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -0
  69. package/cjs/components/Input/InputLayout/InputLayout.styles.d.ts +11 -0
  70. package/cjs/components/Input/InputLayout/InputLayout.styles.js +47 -0
  71. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -0
  72. package/cjs/components/Input/InputLayout/InputLayoutAside.d.ts +8 -0
  73. package/cjs/components/Input/InputLayout/InputLayoutAside.js +29 -0
  74. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -0
  75. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.d.ts +7 -0
  76. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js +61 -0
  77. package/cjs/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -0
  78. package/cjs/components/Input/InputLayout/InputLayoutAsideText.d.ts +6 -0
  79. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js +27 -0
  80. package/cjs/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -0
  81. package/cjs/components/Input/InputLayout/InputLayoutContext.d.ts +9 -0
  82. package/cjs/components/Input/InputLayout/InputLayoutContext.js +17 -0
  83. package/cjs/components/Input/InputLayout/InputLayoutContext.js.map +1 -0
  84. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +10 -0
  85. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +46 -0
  86. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +1 -0
  87. package/cjs/components/Link/Link.d.ts +18 -4
  88. package/cjs/components/Link/Link.js +80 -27
  89. package/cjs/components/Link/Link.js.map +1 -1
  90. package/cjs/components/Link/Link.mixins.d.ts +2 -0
  91. package/cjs/components/Link/Link.mixins.js +20 -2
  92. package/cjs/components/Link/Link.mixins.js.map +1 -1
  93. package/cjs/components/Link/Link.styles.d.ts +9 -0
  94. package/cjs/components/Link/Link.styles.js +99 -17
  95. package/cjs/components/Link/Link.styles.js.map +1 -1
  96. package/cjs/components/Loader/Loader.d.ts +4 -0
  97. package/cjs/components/Loader/Loader.js +7 -2
  98. package/cjs/components/Loader/Loader.js.map +1 -1
  99. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  100. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  101. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  102. package/cjs/components/MenuItem/MenuItem.d.ts +5 -1
  103. package/cjs/components/MenuItem/MenuItem.js +10 -4
  104. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  105. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  106. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  107. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  108. package/cjs/components/Modal/Modal.d.ts +5 -0
  109. package/cjs/components/Modal/Modal.js +8 -2
  110. package/cjs/components/Modal/Modal.js.map +1 -1
  111. package/cjs/components/Modal/Modal.styles.d.ts +3 -0
  112. package/cjs/components/Modal/Modal.styles.js +32 -10
  113. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  114. package/cjs/components/Modal/ModalClose.js +9 -4
  115. package/cjs/components/Modal/ModalClose.js.map +1 -1
  116. package/cjs/components/Modal/ModalFooter.d.ts +17 -0
  117. package/cjs/components/Modal/ModalFooter.js +42 -12
  118. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  119. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  120. package/cjs/components/Modal/ModalHeader.js +28 -16
  121. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  122. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  123. package/cjs/components/Modal/ModalSeparator.js +21 -0
  124. package/cjs/components/Modal/ModalSeparator.js.map +1 -0
  125. package/cjs/components/Paging/Paging.d.ts +7 -0
  126. package/cjs/components/Paging/Paging.js +15 -7
  127. package/cjs/components/Paging/Paging.js.map +1 -1
  128. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -0
  129. package/cjs/components/PasswordInput/PasswordInput.js +16 -5
  130. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  131. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +4 -2
  132. package/cjs/components/PasswordInput/PasswordInputIcon.js +7 -3
  133. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  134. package/cjs/components/Radio/Radio.d.ts +3 -0
  135. package/cjs/components/Radio/Radio.js +6 -2
  136. package/cjs/components/Radio/Radio.js.map +1 -1
  137. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -14
  138. package/cjs/components/RadioGroup/RadioGroup.js +7 -18
  139. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  140. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  141. package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
  142. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  143. package/cjs/components/Select/Select.d.ts +4 -24
  144. package/cjs/components/Select/Select.js +10 -25
  145. package/cjs/components/Select/Select.js.map +1 -1
  146. package/cjs/components/SidePage/SidePage.d.ts +4 -0
  147. package/cjs/components/SidePage/SidePage.js +7 -2
  148. package/cjs/components/SidePage/SidePage.js.map +1 -1
  149. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  150. package/cjs/components/SidePage/SidePageBody.js +10 -3
  151. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  152. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  153. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  154. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  155. package/cjs/components/SidePage/SidePageFooter.d.ts +12 -1
  156. package/cjs/components/SidePage/SidePageFooter.js +26 -3
  157. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  158. package/cjs/components/SidePage/SidePageHeader.d.ts +5 -1
  159. package/cjs/components/SidePage/SidePageHeader.js +9 -4
  160. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  161. package/cjs/components/Spinner/Spinner.d.ts +4 -1
  162. package/cjs/components/Spinner/Spinner.js +10 -3
  163. package/cjs/components/Spinner/Spinner.js.map +1 -1
  164. package/cjs/components/Spinner/Spinner.styles.d.ts +3 -0
  165. package/cjs/components/Spinner/Spinner.styles.js +31 -5
  166. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  167. package/cjs/components/Sticky/Sticky.d.ts +4 -1
  168. package/cjs/components/Sticky/Sticky.js +7 -3
  169. package/cjs/components/Sticky/Sticky.js.map +1 -1
  170. package/cjs/components/Switcher/Switcher.d.ts +10 -0
  171. package/cjs/components/Switcher/Switcher.js +40 -12
  172. package/cjs/components/Switcher/Switcher.js.map +1 -1
  173. package/cjs/components/Switcher/Switcher.md +97 -0
  174. package/cjs/components/Tabs/Indicator.js +4 -2
  175. package/cjs/components/Tabs/Indicator.js.map +1 -1
  176. package/cjs/components/Tabs/Tab.d.ts +3 -8
  177. package/cjs/components/Tabs/Tab.js +7 -11
  178. package/cjs/components/Tabs/Tab.js.map +1 -1
  179. package/cjs/components/Tabs/Tabs.d.ts +4 -8
  180. package/cjs/components/Tabs/Tabs.js +11 -10
  181. package/cjs/components/Tabs/Tabs.js.map +1 -1
  182. package/cjs/components/Textarea/Textarea.d.ts +4 -0
  183. package/cjs/components/Textarea/Textarea.js +11 -4
  184. package/cjs/components/Textarea/Textarea.js.map +1 -1
  185. package/cjs/components/Textarea/TextareaCounter.js +19 -8
  186. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  187. package/cjs/components/Toast/Toast.d.ts +6 -0
  188. package/cjs/components/Toast/Toast.js +9 -2
  189. package/cjs/components/Toast/Toast.js.map +1 -1
  190. package/cjs/components/Toast/ToastStatic.js +1 -1
  191. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  192. package/cjs/components/Toast/ToastView.js +23 -4
  193. package/cjs/components/Toast/ToastView.js.map +1 -1
  194. package/cjs/components/Toggle/Toggle.d.ts +3 -0
  195. package/cjs/components/Toggle/Toggle.js +6 -2
  196. package/cjs/components/Toggle/Toggle.js.map +1 -1
  197. package/cjs/components/Token/Token.d.ts +3 -0
  198. package/cjs/components/Token/Token.js +16 -3
  199. package/cjs/components/Token/Token.js.map +1 -1
  200. package/cjs/components/Token/Token.styles.d.ts +3 -0
  201. package/cjs/components/Token/Token.styles.js +32 -10
  202. package/cjs/components/Token/Token.styles.js.map +1 -1
  203. package/cjs/components/TokenInput/TokenInput.d.ts +4 -0
  204. package/cjs/components/TokenInput/TokenInput.js +14 -2
  205. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  206. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  207. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  208. package/cjs/components/Tooltip/Tooltip.d.ts +4 -0
  209. package/cjs/components/Tooltip/Tooltip.js +14 -4
  210. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  211. package/cjs/components/Tooltip/Tooltip.styles.js +3 -3
  212. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  213. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  214. package/cjs/components/TooltipMenu/TooltipMenu.js +6 -1
  215. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  216. package/cjs/index.d.ts +2 -0
  217. package/cjs/index.js +54 -54
  218. package/cjs/index.js.map +1 -1
  219. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  220. package/cjs/internal/Calendar/Calendar.js +9 -2
  221. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  222. package/cjs/internal/Calendar/MonthView.js +5 -4
  223. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  224. package/cjs/internal/CloseIcon/CloseIcon.d.ts +12 -0
  225. package/cjs/internal/CloseIcon/CloseIcon.js +64 -0
  226. package/cjs/internal/CloseIcon/CloseIcon.js.map +1 -0
  227. package/cjs/internal/CloseIcon/CloseIcon.styles.d.ts +6 -0
  228. package/cjs/internal/CloseIcon/CloseIcon.styles.js +38 -0
  229. package/cjs/internal/CloseIcon/CloseIcon.styles.js.map +1 -0
  230. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  231. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +22 -4
  232. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  233. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  234. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  235. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  236. package/cjs/internal/CustomComboBox/CustomComboBox.js +6 -2
  237. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  238. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  239. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  240. package/cjs/internal/DataTids/DataTids.js +50 -0
  241. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  242. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  243. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  244. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  245. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  246. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  247. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  248. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  249. package/cjs/internal/DateSelect/DateSelect.js +8 -3
  250. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  251. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  252. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +24 -33
  253. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  254. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +10 -0
  255. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js +55 -0
  256. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.js.map +1 -0
  257. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  258. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  259. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  260. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -0
  261. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  262. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  263. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  264. package/cjs/internal/InternalMenu/InternalMenu.js +8 -3
  265. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  266. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  267. package/cjs/internal/MaskedInput/MaskedInput.js +7 -3
  268. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  269. package/cjs/internal/Menu/Menu.d.ts +3 -0
  270. package/cjs/internal/Menu/Menu.js +8 -3
  271. package/cjs/internal/Menu/Menu.js.map +1 -1
  272. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  273. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  274. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  275. package/cjs/internal/Popup/Popup.d.ts +6 -1
  276. package/cjs/internal/Popup/Popup.js +10 -4
  277. package/cjs/internal/Popup/Popup.js.map +1 -1
  278. package/cjs/internal/Popup/PopupPin.js +2 -1
  279. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  280. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  281. package/cjs/internal/PopupMenu/PopupMenu.js +9 -4
  282. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  283. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +1 -1
  284. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  285. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  286. package/cjs/internal/icons/SpinnerIcon.d.ts +17 -2
  287. package/cjs/internal/icons/SpinnerIcon.js +16 -1
  288. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  289. package/cjs/internal/icons2022/ArrowALeftIcon16Light.d.ts +2 -0
  290. package/cjs/internal/icons2022/ArrowALeftIcon16Light.js +15 -0
  291. package/cjs/internal/icons2022/ArrowALeftIcon16Light.js.map +1 -0
  292. package/cjs/internal/icons2022/ArrowALeftIcon20Light.d.ts +2 -0
  293. package/cjs/internal/icons2022/ArrowALeftIcon20Light.js +15 -0
  294. package/cjs/internal/icons2022/ArrowALeftIcon20Light.js.map +1 -0
  295. package/cjs/internal/icons2022/ArrowALeftIcon24Regular.d.ts +2 -0
  296. package/cjs/internal/icons2022/ArrowALeftIcon24Regular.js +15 -0
  297. package/cjs/internal/icons2022/ArrowALeftIcon24Regular.js.map +1 -0
  298. package/cjs/internal/icons2022/ArrowARightIcon16Light.d.ts +2 -0
  299. package/cjs/internal/icons2022/ArrowARightIcon16Light.js +15 -0
  300. package/cjs/internal/icons2022/ArrowARightIcon16Light.js.map +1 -0
  301. package/cjs/internal/icons2022/ArrowARightIcon20Light.d.ts +2 -0
  302. package/cjs/internal/icons2022/ArrowARightIcon20Light.js +15 -0
  303. package/cjs/internal/icons2022/ArrowARightIcon20Light.js.map +1 -0
  304. package/cjs/internal/icons2022/ArrowARightIcon24Regular.d.ts +2 -0
  305. package/cjs/internal/icons2022/ArrowARightIcon24Regular.js +15 -0
  306. package/cjs/internal/icons2022/ArrowARightIcon24Regular.js.map +1 -0
  307. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +2 -0
  308. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light.js +19 -0
  309. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -0
  310. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +2 -0
  311. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light.js +19 -0
  312. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -0
  313. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +2 -0
  314. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular.js +19 -0
  315. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -0
  316. package/cjs/internal/icons2022/BaseIcon.d.ts +12 -0
  317. package/cjs/internal/icons2022/BaseIcon.js +42 -0
  318. package/cjs/internal/icons2022/BaseIcon.js.map +1 -0
  319. package/cjs/internal/icons2022/CheckAIcon16Regular.d.ts +2 -0
  320. package/cjs/internal/icons2022/CheckAIcon16Regular.js +13 -0
  321. package/cjs/internal/icons2022/CheckAIcon16Regular.js.map +1 -0
  322. package/cjs/internal/icons2022/CheckAIcon16Solid.d.ts +2 -0
  323. package/cjs/internal/icons2022/CheckAIcon16Solid.js +13 -0
  324. package/cjs/internal/icons2022/CheckAIcon16Solid.js.map +1 -0
  325. package/cjs/internal/icons2022/EyeClosedIcon16Regular.d.ts +2 -0
  326. package/cjs/internal/icons2022/EyeClosedIcon16Regular.js +15 -0
  327. package/cjs/internal/icons2022/EyeClosedIcon16Regular.js.map +1 -0
  328. package/cjs/internal/icons2022/EyeOpenIcon16Regular.d.ts +2 -0
  329. package/cjs/internal/icons2022/EyeOpenIcon16Regular.js +24 -0
  330. package/cjs/internal/icons2022/EyeOpenIcon16Regular.js.map +1 -0
  331. package/cjs/internal/icons2022/MathFunctionIcon16Light.d.ts +2 -0
  332. package/cjs/internal/icons2022/MathFunctionIcon16Light.js +16 -0
  333. package/cjs/internal/icons2022/MathFunctionIcon16Light.js.map +1 -0
  334. package/cjs/internal/icons2022/MathFunctionIcon16Regular.d.ts +2 -0
  335. package/cjs/internal/icons2022/MathFunctionIcon16Regular.js +16 -0
  336. package/cjs/internal/icons2022/MathFunctionIcon16Regular.js.map +1 -0
  337. package/cjs/internal/icons2022/MathFunctionIcon20Light.d.ts +2 -0
  338. package/cjs/internal/icons2022/MathFunctionIcon20Light.js +16 -0
  339. package/cjs/internal/icons2022/MathFunctionIcon20Light.js.map +1 -0
  340. package/cjs/internal/icons2022/MathFunctionIcon24Regular.d.ts +2 -0
  341. package/cjs/internal/icons2022/MathFunctionIcon24Regular.js +16 -0
  342. package/cjs/internal/icons2022/MathFunctionIcon24Regular.js.map +1 -0
  343. package/cjs/internal/icons2022/MinusCircleIcon16Regular.d.ts +2 -0
  344. package/cjs/internal/icons2022/MinusCircleIcon16Regular.js +20 -0
  345. package/cjs/internal/icons2022/MinusCircleIcon16Regular.js.map +1 -0
  346. package/cjs/internal/icons2022/NetUploadIcon16Regular.d.ts +2 -0
  347. package/cjs/internal/icons2022/NetUploadIcon16Regular.js +16 -0
  348. package/cjs/internal/icons2022/NetUploadIcon16Regular.js.map +1 -0
  349. package/cjs/internal/icons2022/QuestionCircleIcon16Solid.d.ts +2 -0
  350. package/cjs/internal/icons2022/QuestionCircleIcon16Solid.js +19 -0
  351. package/cjs/internal/icons2022/QuestionCircleIcon16Solid.js.map +1 -0
  352. package/cjs/internal/icons2022/SearchLoupeIcon16Regular.d.ts +2 -0
  353. package/cjs/internal/icons2022/SearchLoupeIcon16Regular.js +19 -0
  354. package/cjs/internal/icons2022/SearchLoupeIcon16Regular.js.map +1 -0
  355. package/cjs/internal/icons2022/ShapeSquareIcon16Regular.d.ts +2 -0
  356. package/cjs/internal/icons2022/ShapeSquareIcon16Regular.js +15 -0
  357. package/cjs/internal/icons2022/ShapeSquareIcon16Regular.js.map +1 -0
  358. package/cjs/internal/icons2022/XIcon16Regular.d.ts +2 -0
  359. package/cjs/internal/icons2022/XIcon16Regular.js +13 -0
  360. package/cjs/internal/icons2022/XIcon16Regular.js.map +1 -0
  361. package/cjs/internal/themes/DefaultTheme.d.ts +46 -0
  362. package/cjs/internal/themes/DefaultTheme.js +97 -3
  363. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  364. package/cjs/internal/themes/Theme2022.d.ts +108 -15
  365. package/cjs/internal/themes/Theme2022.js +213 -45
  366. package/cjs/internal/themes/Theme2022.js.map +1 -1
  367. package/cjs/internal/themes/Theme2022Dark.d.ts +10 -1
  368. package/cjs/internal/themes/Theme2022Dark.js +17 -3
  369. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  370. package/cjs/lib/theming/ThemeContext.md +18 -12
  371. package/cjs/lib/theming/ThemeHelpers.d.ts +5 -0
  372. package/cjs/lib/theming/ThemeHelpers.js +22 -1
  373. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  374. package/cjs/lib/theming/themes/Theme2022.js +2 -1
  375. package/cjs/lib/theming/themes/Theme2022.js.map +1 -1
  376. package/cjs/lib/theming/themes/Theme2022Dark.js +4 -3
  377. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -1
  378. package/cjs/lib/utils.d.ts +2 -0
  379. package/cjs/lib/utils.js +15 -2
  380. package/cjs/lib/utils.js.map +1 -1
  381. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -0
  382. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  383. package/components/Autocomplete/Autocomplete.d.ts +3 -0
  384. package/components/Button/Button/Button.js +90 -65
  385. package/components/Button/Button/Button.js.map +1 -1
  386. package/components/Button/Button.d.ts +8 -4
  387. package/components/Button/Button.mixins/Button.mixins.js +2 -2
  388. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  389. package/components/Button/Button.styles/Button.styles.js +144 -61
  390. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  391. package/components/Button/Button.styles.d.ts +28 -0
  392. package/components/Button/ButtonArrow/ButtonArrow.js +84 -0
  393. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -0
  394. package/components/Button/ButtonArrow/package.json +6 -0
  395. package/components/Button/ButtonArrow.d.ts +8 -0
  396. package/components/Button/ButtonIcon/ButtonIcon.js +47 -0
  397. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -0
  398. package/components/Button/ButtonIcon/package.json +6 -0
  399. package/components/Button/ButtonIcon.d.ts +7 -0
  400. package/components/Center/Center/Center.js +6 -1
  401. package/components/Center/Center/Center.js.map +1 -1
  402. package/components/Center/Center.d.ts +3 -0
  403. package/components/Checkbox/Checkbox/Checkbox.js +28 -8
  404. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  405. package/components/Checkbox/Checkbox.d.ts +3 -0
  406. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +9 -6
  407. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  408. package/components/Checkbox/Checkbox.styles.d.ts +2 -1
  409. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +6 -1
  410. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  411. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  412. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  413. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  414. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  415. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  416. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  417. package/components/DatePicker/DatePicker.d.ts +16 -12
  418. package/components/DatePicker/Picker/Picker.js +3 -1
  419. package/components/DatePicker/Picker/Picker.js.map +1 -1
  420. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  421. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  422. package/components/Dropdown/Dropdown.d.ts +3 -0
  423. package/components/FileUploader/FileUploader/FileUploader.js +34 -15
  424. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  425. package/components/FileUploader/FileUploader.d.ts +5 -0
  426. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +48 -34
  427. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  428. package/components/FileUploader/FileUploader.styles.d.ts +7 -2
  429. package/components/FxInput/FxInput/FxInput.js +54 -13
  430. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  431. package/components/FxInput/FxInput.d.ts +4 -0
  432. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +70 -0
  433. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -0
  434. package/components/FxInput/FxInputRestoreBtn/package.json +6 -0
  435. package/components/FxInput/FxInputRestoreBtn.d.ts +5 -0
  436. package/components/Gapped/Gapped/Gapped.js +8 -1
  437. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  438. package/components/Gapped/Gapped.d.ts +4 -0
  439. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -1
  440. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  441. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  442. package/components/Group/Group/Group.js +37 -10
  443. package/components/Group/Group/Group.js.map +1 -1
  444. package/components/Group/Group.d.ts +6 -0
  445. package/components/Input/Input/Input.js +35 -5
  446. package/components/Input/Input/Input.js.map +1 -1
  447. package/components/Input/Input.d.ts +5 -0
  448. package/components/Input/InputLayout/InputLayout/InputLayout.js +33 -0
  449. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -0
  450. package/components/Input/InputLayout/InputLayout/package.json +6 -0
  451. package/components/Input/InputLayout/InputLayout.d.ts +10 -0
  452. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +32 -0
  453. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -0
  454. package/components/Input/InputLayout/InputLayout.styles/package.json +6 -0
  455. package/components/Input/InputLayout/InputLayout.styles.d.ts +11 -0
  456. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +27 -0
  457. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -0
  458. package/components/Input/InputLayout/InputLayoutAside/package.json +6 -0
  459. package/components/Input/InputLayout/InputLayoutAside.d.ts +8 -0
  460. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js +50 -0
  461. package/components/Input/InputLayout/InputLayoutAsideIcon/InputLayoutAsideIcon.js.map +1 -0
  462. package/components/Input/InputLayout/InputLayoutAsideIcon/package.json +6 -0
  463. package/components/Input/InputLayout/InputLayoutAsideIcon.d.ts +7 -0
  464. package/components/Input/InputLayout/InputLayoutAsideText/InputLayoutAsideText.js +18 -0
  465. package/components/Input/InputLayout/InputLayoutAsideText/InputLayoutAsideText.js.map +1 -0
  466. package/components/Input/InputLayout/InputLayoutAsideText/package.json +6 -0
  467. package/components/Input/InputLayout/InputLayoutAsideText.d.ts +6 -0
  468. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js +7 -0
  469. package/components/Input/InputLayout/InputLayoutContext/InputLayoutContext.js.map +1 -0
  470. package/components/Input/InputLayout/InputLayoutContext/package.json +6 -0
  471. package/components/Input/InputLayout/InputLayoutContext.d.ts +9 -0
  472. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +33 -0
  473. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +1 -0
  474. package/components/Input/InputLayout/PolyfillPlaceholder/package.json +6 -0
  475. package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +10 -0
  476. package/components/Link/Link/Link.js +44 -16
  477. package/components/Link/Link/Link.js.map +1 -1
  478. package/components/Link/Link.d.ts +18 -4
  479. package/components/Link/Link.mixins/Link.mixins.js +6 -0
  480. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  481. package/components/Link/Link.mixins.d.ts +2 -0
  482. package/components/Link/Link.styles/Link.styles.js +35 -14
  483. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  484. package/components/Link/Link.styles.d.ts +9 -0
  485. package/components/Loader/Loader/Loader.js +7 -3
  486. package/components/Loader/Loader/Loader.js.map +1 -1
  487. package/components/Loader/Loader.d.ts +4 -0
  488. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  489. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  490. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  491. package/components/MenuItem/MenuItem/MenuItem.js +14 -9
  492. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  493. package/components/MenuItem/MenuItem.d.ts +5 -1
  494. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  495. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  496. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  497. package/components/Modal/Modal/Modal.js +7 -2
  498. package/components/Modal/Modal/Modal.js.map +1 -1
  499. package/components/Modal/Modal.d.ts +5 -0
  500. package/components/Modal/Modal.styles/Modal.styles.js +14 -5
  501. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  502. package/components/Modal/Modal.styles.d.ts +3 -0
  503. package/components/Modal/ModalClose/ModalClose.js +6 -2
  504. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  505. package/components/Modal/ModalFooter/ModalFooter.js +16 -5
  506. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  507. package/components/Modal/ModalFooter.d.ts +17 -0
  508. package/components/Modal/ModalHeader/ModalHeader.js +10 -5
  509. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  510. package/components/Modal/ModalHeader.d.ts +3 -0
  511. package/components/Modal/ModalSeparator/ModalSeparator.js +14 -0
  512. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -0
  513. package/components/Modal/ModalSeparator/package.json +6 -0
  514. package/components/Modal/ModalSeparator.d.ts +5 -0
  515. package/components/Paging/Paging/Paging.js +12 -5
  516. package/components/Paging/Paging/Paging.js.map +1 -1
  517. package/components/Paging/Paging.d.ts +7 -0
  518. package/components/PasswordInput/PasswordInput/PasswordInput.js +11 -3
  519. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  520. package/components/PasswordInput/PasswordInput.d.ts +5 -0
  521. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +11 -3
  522. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  523. package/components/PasswordInput/PasswordInputIcon.d.ts +4 -2
  524. package/components/Radio/Radio/Radio.js +6 -1
  525. package/components/Radio/Radio/Radio.js.map +1 -1
  526. package/components/Radio/Radio.d.ts +3 -0
  527. package/components/RadioGroup/RadioGroup/RadioGroup.js +5 -14
  528. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  529. package/components/RadioGroup/RadioGroup.d.ts +3 -14
  530. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
  531. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  532. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  533. package/components/Select/Select/Select.js +5 -23
  534. package/components/Select/Select/Select.js.map +1 -1
  535. package/components/Select/Select.d.ts +4 -24
  536. package/components/SidePage/SidePage/SidePage.js +6 -2
  537. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  538. package/components/SidePage/SidePage.d.ts +4 -0
  539. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  540. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  541. package/components/SidePage/SidePageBody.d.ts +3 -0
  542. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  543. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  544. package/components/SidePage/SidePageContainer.d.ts +3 -0
  545. package/components/SidePage/SidePageFooter/SidePageFooter.js +16 -7
  546. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  547. package/components/SidePage/SidePageFooter.d.ts +12 -1
  548. package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
  549. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  550. package/components/SidePage/SidePageHeader.d.ts +5 -1
  551. package/components/Spinner/Spinner/Spinner.js +8 -1
  552. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  553. package/components/Spinner/Spinner.d.ts +4 -1
  554. package/components/Spinner/Spinner.styles/Spinner.styles.js +14 -5
  555. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  556. package/components/Spinner/Spinner.styles.d.ts +3 -0
  557. package/components/Sticky/Sticky/Sticky.js +4 -0
  558. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  559. package/components/Sticky/Sticky.d.ts +4 -1
  560. package/components/Switcher/Switcher/Switcher.js +34 -11
  561. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  562. package/components/Switcher/Switcher.d.ts +10 -0
  563. package/components/Switcher/Switcher.md +97 -0
  564. package/components/Tabs/Indicator/Indicator.js +2 -0
  565. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  566. package/components/Tabs/Tab/Tab.js +5 -8
  567. package/components/Tabs/Tab/Tab.js.map +1 -1
  568. package/components/Tabs/Tab.d.ts +3 -8
  569. package/components/Tabs/Tabs/Tabs.js +6 -8
  570. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  571. package/components/Tabs/Tabs.d.ts +4 -8
  572. package/components/Textarea/Textarea/Textarea.js +14 -3
  573. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  574. package/components/Textarea/Textarea.d.ts +4 -0
  575. package/components/Textarea/TextareaCounter/TextareaCounter.js +13 -4
  576. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  577. package/components/Toast/Toast/Toast.js +16 -10
  578. package/components/Toast/Toast/Toast.js.map +1 -1
  579. package/components/Toast/Toast.d.ts +6 -0
  580. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  581. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  582. package/components/Toast/ToastView/ToastView.js +21 -3
  583. package/components/Toast/ToastView/ToastView.js.map +1 -1
  584. package/components/Toggle/Toggle/Toggle.js +4 -0
  585. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  586. package/components/Toggle/Toggle.d.ts +3 -0
  587. package/components/Token/Token/Token.js +21 -13
  588. package/components/Token/Token/Token.js.map +1 -1
  589. package/components/Token/Token.d.ts +3 -0
  590. package/components/Token/Token.styles/Token.styles.js +19 -10
  591. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  592. package/components/Token/Token.styles.d.ts +3 -0
  593. package/components/TokenInput/TokenInput/TokenInput.js +14 -3
  594. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  595. package/components/TokenInput/TokenInput.d.ts +4 -0
  596. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  597. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  598. package/components/Tooltip/Tooltip/Tooltip.js +11 -2
  599. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  600. package/components/Tooltip/Tooltip.d.ts +4 -0
  601. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +1 -1
  602. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  603. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -0
  604. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  605. package/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  606. package/index.d.ts +2 -0
  607. package/index.js +3 -1
  608. package/index.js.map +1 -1
  609. package/internal/Calendar/Calendar/Calendar.js +7 -1
  610. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  611. package/internal/Calendar/Calendar.d.ts +6 -0
  612. package/internal/Calendar/MonthView/MonthView.js +4 -3
  613. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  614. package/internal/CloseIcon/CloseIcon/CloseIcon.js +59 -0
  615. package/internal/CloseIcon/CloseIcon/CloseIcon.js.map +1 -0
  616. package/internal/CloseIcon/CloseIcon/package.json +6 -0
  617. package/internal/CloseIcon/CloseIcon.d.ts +12 -0
  618. package/internal/CloseIcon/CloseIcon.styles/CloseIcon.styles.js +17 -0
  619. package/internal/CloseIcon/CloseIcon.styles/CloseIcon.styles.js.map +1 -0
  620. package/internal/CloseIcon/CloseIcon.styles/package.json +6 -0
  621. package/internal/CloseIcon/CloseIcon.styles.d.ts +6 -0
  622. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +12 -5
  623. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  624. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  625. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  626. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  627. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
  628. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  629. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  630. package/internal/DataTids/DATATIDS.md +12 -0
  631. package/internal/DataTids/DataTids/DataTids.js +69 -0
  632. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  633. package/internal/DataTids/DataTids/package.json +6 -0
  634. package/internal/DataTids/DataTids.d.ts +12 -0
  635. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  636. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  637. package/internal/DataTids/DataTids.styles/package.json +6 -0
  638. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  639. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  640. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  641. package/internal/DataTids/componentsDataTids/package.json +6 -0
  642. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  643. package/internal/DateSelect/DateSelect/DateSelect.js +6 -2
  644. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  645. package/internal/DateSelect/DateSelect.d.ts +4 -0
  646. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +19 -39
  647. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  648. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  649. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js +61 -0
  650. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/FileUploaderFileStatusIcon.js.map +1 -0
  651. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon/package.json +6 -0
  652. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFileStatusIcon.d.ts +10 -0
  653. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  654. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  655. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  656. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  657. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  658. package/internal/InputLikeText/InputLikeText.d.ts +4 -0
  659. package/internal/InternalMenu/InternalMenu/InternalMenu.js +4 -0
  660. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  661. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  662. package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -0
  663. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  664. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  665. package/internal/Menu/Menu/Menu.js +4 -0
  666. package/internal/Menu/Menu/Menu.js.map +1 -1
  667. package/internal/Menu/Menu.d.ts +3 -0
  668. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  669. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  670. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  671. package/internal/Popup/Popup/Popup.js +7 -2
  672. package/internal/Popup/Popup/Popup.js.map +1 -1
  673. package/internal/Popup/Popup.d.ts +6 -1
  674. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  675. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  676. package/internal/PopupMenu/PopupMenu/PopupMenu.js +7 -2
  677. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  678. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  679. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  680. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +1 -1
  681. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  682. package/internal/icons/SpinnerIcon/SpinnerIcon.js +15 -0
  683. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  684. package/internal/icons/SpinnerIcon.d.ts +17 -2
  685. package/internal/icons2022/ArrowALeftIcon16Light/ArrowALeftIcon16Light.js +11 -0
  686. package/internal/icons2022/ArrowALeftIcon16Light/ArrowALeftIcon16Light.js.map +1 -0
  687. package/internal/icons2022/ArrowALeftIcon16Light/package.json +6 -0
  688. package/internal/icons2022/ArrowALeftIcon16Light.d.ts +2 -0
  689. package/internal/icons2022/ArrowALeftIcon20Light/ArrowALeftIcon20Light.js +12 -0
  690. package/internal/icons2022/ArrowALeftIcon20Light/ArrowALeftIcon20Light.js.map +1 -0
  691. package/internal/icons2022/ArrowALeftIcon20Light/package.json +6 -0
  692. package/internal/icons2022/ArrowALeftIcon20Light.d.ts +2 -0
  693. package/internal/icons2022/ArrowALeftIcon24Regular/ArrowALeftIcon24Regular.js +12 -0
  694. package/internal/icons2022/ArrowALeftIcon24Regular/ArrowALeftIcon24Regular.js.map +1 -0
  695. package/internal/icons2022/ArrowALeftIcon24Regular/package.json +6 -0
  696. package/internal/icons2022/ArrowALeftIcon24Regular.d.ts +2 -0
  697. package/internal/icons2022/ArrowARightIcon16Light/ArrowARightIcon16Light.js +11 -0
  698. package/internal/icons2022/ArrowARightIcon16Light/ArrowARightIcon16Light.js.map +1 -0
  699. package/internal/icons2022/ArrowARightIcon16Light/package.json +6 -0
  700. package/internal/icons2022/ArrowARightIcon16Light.d.ts +2 -0
  701. package/internal/icons2022/ArrowARightIcon20Light/ArrowARightIcon20Light.js +12 -0
  702. package/internal/icons2022/ArrowARightIcon20Light/ArrowARightIcon20Light.js.map +1 -0
  703. package/internal/icons2022/ArrowARightIcon20Light/package.json +6 -0
  704. package/internal/icons2022/ArrowARightIcon20Light.d.ts +2 -0
  705. package/internal/icons2022/ArrowARightIcon24Regular/ArrowARightIcon24Regular.js +12 -0
  706. package/internal/icons2022/ArrowARightIcon24Regular/ArrowARightIcon24Regular.js.map +1 -0
  707. package/internal/icons2022/ArrowARightIcon24Regular/package.json +6 -0
  708. package/internal/icons2022/ArrowARightIcon24Regular.d.ts +2 -0
  709. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light/ArrowShapeDRadiusUpLeftIcon16Light.js +13 -0
  710. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -0
  711. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light/package.json +6 -0
  712. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +2 -0
  713. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light/ArrowShapeDRadiusUpLeftIcon20Light.js +14 -0
  714. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -0
  715. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light/package.json +6 -0
  716. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +2 -0
  717. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular/ArrowShapeDRadiusUpLeftIcon24Regular.js +14 -0
  718. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -0
  719. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular/package.json +6 -0
  720. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +2 -0
  721. package/internal/icons2022/BaseIcon/BaseIcon.js +30 -0
  722. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -0
  723. package/internal/icons2022/BaseIcon/package.json +6 -0
  724. package/internal/icons2022/BaseIcon.d.ts +12 -0
  725. package/internal/icons2022/CheckAIcon16Regular/CheckAIcon16Regular.js +11 -0
  726. package/internal/icons2022/CheckAIcon16Regular/CheckAIcon16Regular.js.map +1 -0
  727. package/internal/icons2022/CheckAIcon16Regular/package.json +6 -0
  728. package/internal/icons2022/CheckAIcon16Regular.d.ts +2 -0
  729. package/internal/icons2022/CheckAIcon16Solid/CheckAIcon16Solid.js +11 -0
  730. package/internal/icons2022/CheckAIcon16Solid/CheckAIcon16Solid.js.map +1 -0
  731. package/internal/icons2022/CheckAIcon16Solid/package.json +6 -0
  732. package/internal/icons2022/CheckAIcon16Solid.d.ts +2 -0
  733. package/internal/icons2022/EyeClosedIcon16Regular/EyeClosedIcon16Regular.js +11 -0
  734. package/internal/icons2022/EyeClosedIcon16Regular/EyeClosedIcon16Regular.js.map +1 -0
  735. package/internal/icons2022/EyeClosedIcon16Regular/package.json +6 -0
  736. package/internal/icons2022/EyeClosedIcon16Regular.d.ts +2 -0
  737. package/internal/icons2022/EyeOpenIcon16Regular/EyeOpenIcon16Regular.js +17 -0
  738. package/internal/icons2022/EyeOpenIcon16Regular/EyeOpenIcon16Regular.js.map +1 -0
  739. package/internal/icons2022/EyeOpenIcon16Regular/package.json +6 -0
  740. package/internal/icons2022/EyeOpenIcon16Regular.d.ts +2 -0
  741. package/internal/icons2022/MathFunctionIcon16Light/MathFunctionIcon16Light.js +13 -0
  742. package/internal/icons2022/MathFunctionIcon16Light/MathFunctionIcon16Light.js.map +1 -0
  743. package/internal/icons2022/MathFunctionIcon16Light/package.json +6 -0
  744. package/internal/icons2022/MathFunctionIcon16Light.d.ts +2 -0
  745. package/internal/icons2022/MathFunctionIcon16Regular/MathFunctionIcon16Regular.js +13 -0
  746. package/internal/icons2022/MathFunctionIcon16Regular/MathFunctionIcon16Regular.js.map +1 -0
  747. package/internal/icons2022/MathFunctionIcon16Regular/package.json +6 -0
  748. package/internal/icons2022/MathFunctionIcon16Regular.d.ts +2 -0
  749. package/internal/icons2022/MathFunctionIcon20Light/MathFunctionIcon20Light.js +14 -0
  750. package/internal/icons2022/MathFunctionIcon20Light/MathFunctionIcon20Light.js.map +1 -0
  751. package/internal/icons2022/MathFunctionIcon20Light/package.json +6 -0
  752. package/internal/icons2022/MathFunctionIcon20Light.d.ts +2 -0
  753. package/internal/icons2022/MathFunctionIcon24Regular/MathFunctionIcon24Regular.js +14 -0
  754. package/internal/icons2022/MathFunctionIcon24Regular/MathFunctionIcon24Regular.js.map +1 -0
  755. package/internal/icons2022/MathFunctionIcon24Regular/package.json +6 -0
  756. package/internal/icons2022/MathFunctionIcon24Regular.d.ts +2 -0
  757. package/internal/icons2022/MinusCircleIcon16Regular/MinusCircleIcon16Regular.js +15 -0
  758. package/internal/icons2022/MinusCircleIcon16Regular/MinusCircleIcon16Regular.js.map +1 -0
  759. package/internal/icons2022/MinusCircleIcon16Regular/package.json +6 -0
  760. package/internal/icons2022/MinusCircleIcon16Regular.d.ts +2 -0
  761. package/internal/icons2022/NetUploadIcon16Regular/NetUploadIcon16Regular.js +13 -0
  762. package/internal/icons2022/NetUploadIcon16Regular/NetUploadIcon16Regular.js.map +1 -0
  763. package/internal/icons2022/NetUploadIcon16Regular/package.json +6 -0
  764. package/internal/icons2022/NetUploadIcon16Regular.d.ts +2 -0
  765. package/internal/icons2022/QuestionCircleIcon16Solid/QuestionCircleIcon16Solid.js +13 -0
  766. package/internal/icons2022/QuestionCircleIcon16Solid/QuestionCircleIcon16Solid.js.map +1 -0
  767. package/internal/icons2022/QuestionCircleIcon16Solid/package.json +6 -0
  768. package/internal/icons2022/QuestionCircleIcon16Solid.d.ts +2 -0
  769. package/internal/icons2022/SearchLoupeIcon16Regular/SearchLoupeIcon16Regular.js +13 -0
  770. package/internal/icons2022/SearchLoupeIcon16Regular/SearchLoupeIcon16Regular.js.map +1 -0
  771. package/internal/icons2022/SearchLoupeIcon16Regular/package.json +6 -0
  772. package/internal/icons2022/SearchLoupeIcon16Regular.d.ts +2 -0
  773. package/internal/icons2022/ShapeSquareIcon16Regular/ShapeSquareIcon16Regular.js +11 -0
  774. package/internal/icons2022/ShapeSquareIcon16Regular/ShapeSquareIcon16Regular.js.map +1 -0
  775. package/internal/icons2022/ShapeSquareIcon16Regular/package.json +6 -0
  776. package/internal/icons2022/ShapeSquareIcon16Regular.d.ts +2 -0
  777. package/internal/icons2022/XIcon16Regular/XIcon16Regular.js +11 -0
  778. package/internal/icons2022/XIcon16Regular/XIcon16Regular.js.map +1 -0
  779. package/internal/icons2022/XIcon16Regular/package.json +6 -0
  780. package/internal/icons2022/XIcon16Regular.d.ts +2 -0
  781. package/internal/themes/DefaultTheme/DefaultTheme.js +130 -4
  782. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  783. package/internal/themes/DefaultTheme.d.ts +46 -0
  784. package/internal/themes/Theme2022/Theme2022.js +173 -15
  785. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  786. package/internal/themes/Theme2022.d.ts +108 -15
  787. package/internal/themes/Theme2022Dark/Theme2022Dark.js +11 -2
  788. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  789. package/internal/themes/Theme2022Dark.d.ts +10 -1
  790. package/lib/theming/ThemeContext.md +18 -12
  791. package/lib/theming/ThemeHelpers/ThemeHelpers.js +18 -0
  792. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  793. package/lib/theming/ThemeHelpers.d.ts +5 -0
  794. package/lib/theming/themes/Theme2022/Theme2022.js +2 -1
  795. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -1
  796. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +2 -1
  797. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  798. package/lib/utils/utils.js +2 -1
  799. package/lib/utils/utils.js.map +1 -1
  800. package/lib/utils.d.ts +2 -0
  801. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.9.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.8.0...@skbkontur/react-ui@4.9.0) (2022-11-25)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **RadioGroup,Select,Tabs:** types inference: fix generics usage ([#3033](https://github.com/skbkontur/retail-ui/issues/3033)) ([f13cab1](https://github.com/skbkontur/retail-ui/commit/f13cab1f68f2284cc7ce9fd18ae7d50f99606e13))
12
+ * **Switcher:** deliver `corners` to `Button` when using `renderItem` ([#3046](https://github.com/skbkontur/retail-ui/issues/3046)) ([23f6f99](https://github.com/skbkontur/retail-ui/commit/23f6f995a0fe2de0013719755d09f423c3d4200e))
13
+ * export ColorFunctions and DimensionFunctions ([#3043](https://github.com/skbkontur/retail-ui/issues/3043)) ([b3f2c24](https://github.com/skbkontur/retail-ui/commit/b3f2c242fa07f5d7e11dad292bf34e86c932ef9d))
14
+
15
+
16
+ ### Features
17
+
18
+ * **SidePage.Footer, Modal.Footer:** add prop `gap` ([#3024](https://github.com/skbkontur/retail-ui/issues/3024)) ([2bf7665](https://github.com/skbkontur/retail-ui/commit/2bf7665e9a6868de5ccfb5dc0eac5630024b5762))
19
+ * **Switcher:** add `renderItem` prop ([#3021](https://github.com/skbkontur/retail-ui/issues/3021)) ([2e6e2a9](https://github.com/skbkontur/retail-ui/commit/2e6e2a907673482cb5678e4ae7e88bfd37b60eee))
20
+
21
+
22
+
23
+
24
+
6
25
  # [4.8.0](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@4.7.0...@skbkontur/react-ui@4.8.0) (2022-11-09)
7
26
 
8
27
 
@@ -40,6 +40,9 @@ export interface AutocompleteState {
40
40
  focused: boolean;
41
41
  isMobileOpened: boolean;
42
42
  }
43
+ export declare const AutocompleteDataTids: {
44
+ readonly root: "Autocomplete__root";
45
+ };
43
46
  declare type DefaultProps = Required<Pick<AutocompleteProps, 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'>>;
44
47
  /**
45
48
  * Стандартный инпут с подсказками.
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Autocomplete = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.AutocompleteDataTids = exports.Autocomplete = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
 
3
3
  var _react = _interopRequireDefault(require("react"));
4
4
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -80,6 +80,10 @@ function renderItem(item) {
80
80
 
81
81
 
82
82
 
83
+
84
+
85
+ var AutocompleteDataTids = {
86
+ root: 'Autocomplete__root' };exports.AutocompleteDataTids = AutocompleteDataTids;
83
87
 
84
88
 
85
89
 
@@ -221,7 +225,12 @@ Autocomplete = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)
221
225
 
222
226
  return /*#__PURE__*/(
223
227
  _react.default.createElement(_RenderLayer.RenderLayer, { onFocusOutside: _this.handleBlur, onClickOutside: _this.handleClickOutside, active: focused }, /*#__PURE__*/
224
- _react.default.createElement("span", { className: _Autocomplete.styles.root(_this.theme), style: { width: width }, ref: _this.refRootSpan }, /*#__PURE__*/
228
+ _react.default.createElement("span", {
229
+ "data-tid": AutocompleteDataTids.root,
230
+ className: _Autocomplete.styles.root(_this.theme),
231
+ style: { width: width },
232
+ ref: _this.refRootSpan }, /*#__PURE__*/
233
+
225
234
  _react.default.createElement(_Input.Input, inputProps),
226
235
  isMobile ? _this.renderMobileMenu() : _this.renderMenu())));
227
236
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Autocomplete.tsx"],"names":["match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","Autocomplete","responsiveLayout","rootNode","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","styles","root","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuWidth","menuProps","maxHeight","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":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { 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';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem?: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal?: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow?: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign?: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll?: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size?: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'\n >\n>;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps: DefaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span className={styles.root(this.theme)} style={{ width }} ref={this.refRootSpan}>\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, menuAlign, disablePortal } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer offsetY={1} getParent={this.getAnchor} align={menuAlign} disablePortal={disablePortal}>\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
1
+ {"version":3,"sources":["Autocomplete.tsx"],"names":["match","pattern","items","Promise","resolve","lowerCasedPattern","toLowerCase","itemsMatchingPattern","filter","item","includes","renderItem","AutocompleteDataTids","root","Autocomplete","responsiveLayout","rootNode","state","selected","focused","isMobileOpened","opened","input","requestId","getProps","defaultProps","renderMain","props","isMobile","isMobileLayout","onValueChange","onKeyDown","onFocus","onBlur","_renderItem","disablePortal","hasShadow","menuAlign","menuMaxHeight","preventWindowScroll","source","width","theme","inputWidth","mobileMenuHeaderText","rest","inputProps","handleValueChange","handleKeyDown","handleFocus","ref","refInput","handleBlur","handleClickOutside","styles","refRootSpan","renderMobileMenu","renderMenu","autoFocus","onKeyPress","handleKeyPressMobile","value","placeholder","handleCloseMobile","refMobilePopup","refMenu","mobilePopup","close","length","getItems","map","i","handleMenuItemClick","fireChange","setState","e","key","event","blur","preventDefault","menu","up","down","enter","getAnchor","el","span","rootSpan","focus","componentDidUpdate","prevProps","updateItems","render","setRootNode","menuWidth","menuProps","maxHeight","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":["// TODO: Enable this rule in functional components.\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { KeyboardEvent } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { 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';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Autocomplete.styles';\n\nfunction match(pattern: string, items: string[]) {\n if (!pattern || !items) {\n return Promise.resolve([]);\n }\n\n const lowerCasedPattern = pattern.toLowerCase();\n const itemsMatchingPattern = items.filter((item) => {\n return item.toLowerCase().includes(lowerCasedPattern);\n });\n\n return Promise.resolve(itemsMatchingPattern);\n}\n\nfunction renderItem(item: any) {\n return item;\n}\n\nexport interface AutocompleteProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Функция отрисовки элемента меню */\n renderItem?: (item: string) => React.ReactNode;\n /** Промис, резолвящий элементы меню */\n source?: string[] | ((patter: string) => Promise<string[]>);\n /** Отключает использование портала */\n disablePortal?: boolean;\n /** Отрисовка тени у выпадающего меню */\n hasShadow?: boolean;\n /** Выравнивание выпадающего меню */\n menuAlign?: 'left' | 'right';\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /** Отключить скролл окна, когда меню открыто */\n preventWindowScroll?: boolean;\n /** Вызывается при изменении `value` */\n onValueChange: (value: string) => void;\n /** onBlur */\n onBlur?: () => void;\n /** Размер инпута */\n size?: InputProps['size'];\n /** value */\n value: string;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n }\n > {}\n\nexport interface AutocompleteState {\n items: Nullable<string[]>;\n selected: number;\n focused: boolean;\n isMobileOpened: boolean;\n}\n\nexport const AutocompleteDataTids = {\n root: 'Autocomplete__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n AutocompleteProps,\n 'renderItem' | 'size' | 'disablePortal' | 'hasShadow' | 'menuMaxHeight' | 'menuAlign' | 'preventWindowScroll'\n >\n>;\n\n/**\n * Стандартный инпут с подсказками.\n *\n * Все свойства передаются во внутренний *Input*.\n */\n@responsiveLayout\n@rootNode\nexport class Autocomplete extends React.Component<AutocompleteProps, AutocompleteState> {\n public static __KONTUR_REACT_UI__ = 'Autocomplete';\n\n public static propTypes = {\n /**\n * Функция для отрисовки элемента в выпадающем списке. Единственный аргумент\n * — *item*.\n */\n renderItem: PropTypes.func,\n\n /**\n * Если передан массив, то совпадения ищутся по этому массиву.\n *\n * Если передается функция, то она должна возвращать thenable, который\n * резолвится уже отфильтрованным массивом. Возвращенный thenable может\n * иметь метод cancel, который будет вызван при отмене поиска (пользователь\n * изменил строку поиска, автокомплит потерял фокус).\n * ```\n * function(pattern) {\n * return service.findAll(pattern);\n * }\n * ```\n */\n source: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n };\n\n public static defaultProps: DefaultProps = {\n renderItem,\n size: 'small',\n disablePortal: false,\n hasShadow: true,\n menuMaxHeight: 300,\n menuAlign: 'left',\n preventWindowScroll: true,\n };\n\n public state: AutocompleteState = {\n items: null,\n selected: -1,\n focused: false,\n isMobileOpened: false,\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private opened = false;\n private input: Nullable<Input> = null;\n private menu: Nullable<Menu>;\n private rootSpan: Nullable<HTMLSpanElement>;\n private mobilePopup: Nullable<MobilePopup>;\n\n private requestId = 0;\n\n private getProps = createPropsGetter(Autocomplete.defaultProps);\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n this.handleBlur();\n }\n\n public componentDidUpdate(prevProps: AutocompleteProps) {\n if (prevProps.value !== this.props.value) {\n this.updateItems(this.props.value || '');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public renderMain = (props: CommonWrapperRestProps<AutocompleteProps>) => {\n const { focused } = this.state;\n\n const isMobile = this.isMobileLayout;\n\n const {\n onValueChange,\n onKeyDown,\n onFocus,\n onBlur,\n renderItem: _renderItem,\n disablePortal,\n hasShadow,\n menuAlign,\n menuMaxHeight,\n preventWindowScroll,\n source,\n width = this.theme.inputWidth,\n mobileMenuHeaderText,\n ...rest\n } = props;\n\n const inputProps = {\n ...rest,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n ref: this.refInput,\n };\n\n return (\n <RenderLayer onFocusOutside={this.handleBlur} onClickOutside={this.handleClickOutside} active={focused}>\n <span\n data-tid={AutocompleteDataTids.root}\n className={styles.root(this.theme)}\n style={{ width }}\n ref={this.refRootSpan}\n >\n <Input {...inputProps} />\n {isMobile ? this.renderMobileMenu() : this.renderMenu()}\n </span>\n </RenderLayer>\n );\n };\n\n private renderMenu(): React.ReactNode {\n const items = this.state.items;\n const { menuMaxHeight, hasShadow, menuWidth, width, preventWindowScroll, menuAlign, disablePortal } =\n this.getProps();\n const menuProps = {\n ref: this.refMenu,\n maxHeight: menuMaxHeight,\n hasShadow,\n width: menuWidth || (width && getDOMRect(this.rootSpan).width),\n preventWindowScroll,\n };\n if (!items || items.length === 0) {\n return null;\n }\n\n return (\n <DropdownContainer offsetY={1} getParent={this.getAnchor} align={menuAlign} disablePortal={disablePortal}>\n <Menu {...menuProps}>{this.getItems()}</Menu>\n </DropdownContainer>\n );\n }\n\n private renderMobileMenu = () => {\n const inputProps: InputProps = {\n autoFocus: true,\n width: '100%',\n onValueChange: this.handleValueChange,\n onKeyPress: this.handleKeyPressMobile,\n value: this.props.value,\n placeholder: 'Начните вводить',\n };\n\n const items = this.state.items;\n\n return (\n <MobilePopup\n headerChildComponent={<Input {...inputProps} />}\n caption={this.props.mobileMenuHeaderText}\n useFullHeight\n opened={this.state.isMobileOpened}\n onCloseRequest={this.handleCloseMobile}\n ref={this.refMobilePopup}\n >\n <Menu ref={this.refMenu} onItemClick={this.mobilePopup?.close} disableScrollContainer maxHeight={'auto'}>\n {items && items.length > 0 && this.getItems()}\n </Menu>\n </MobilePopup>\n );\n };\n\n private getItems = () => {\n const items = this.state.items;\n const isMobile = this.isMobileLayout;\n\n return items\n ? items.map((item, i) => {\n return (\n <MenuItem onClick={this.handleMenuItemClick(i)} key={i} isMobile={isMobile}>\n {this.getProps().renderItem(item)}\n </MenuItem>\n );\n })\n : null;\n };\n\n private handleValueChange = (value: string) => {\n this.opened = true;\n\n this.fireChange(value);\n };\n\n private handleCloseMobile = () => {\n this.setState({\n isMobileOpened: false,\n });\n\n this.handleBlur();\n };\n\n private handleKeyPressMobile = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n this.mobilePopup?.close();\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.isMobileLayout) {\n this.setState({ isMobileOpened: true });\n }\n\n if (this.state.focused) {\n return;\n }\n\n this.setState({ focused: true });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = () => {\n if (!this.state.focused) {\n return;\n }\n\n this.opened = false;\n this.setState({ items: null, focused: false });\n\n if (this.input) {\n this.input.blur();\n }\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleClickOutside = (e: Event) => {\n fixClickFocusIE(e);\n this.handleBlur();\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n switch (true) {\n case isKeyEscape(e):\n e.preventDefault();\n this.setState({ items: null });\n return;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n return;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n return;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n return;\n }\n };\n\n private handleMenuItemClick(i: number) {\n return (event: React.SyntheticEvent<HTMLElement>) => this.handleItemClick(event, i);\n }\n\n private getAnchor = () => {\n return getRootNode(this);\n };\n\n private handleItemClick(event: React.SyntheticEvent<HTMLElement> | React.MouseEvent<HTMLElement>, index: number) {\n if ((event as React.MouseEvent<HTMLElement>).button) {\n return;\n }\n\n event.preventDefault();\n this.choose(index);\n }\n\n private choose(index: number) {\n if (!this.state.items) {\n return;\n }\n\n const value = this.state.items[index];\n this.opened = false;\n this.setState({\n selected: -1,\n items: null,\n });\n\n this.fireChange(value);\n this.blur();\n }\n\n private updateItems(value: string) {\n if (!this.opened) {\n return;\n }\n const pattern = value.trim();\n const source = this.props.source;\n\n if (!source) {\n return;\n }\n\n let promise;\n this.requestId += 1;\n const expectingId = this.requestId;\n if (typeof source === 'function') {\n promise = source(pattern);\n } else {\n promise = match(pattern, source);\n }\n promise.then((items) => {\n if (this.opened && expectingId === this.requestId) {\n this.setState({\n items,\n selected: -1,\n });\n }\n });\n }\n\n private fireChange(value: string) {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n }\n\n private refInput = (el: Input | null) => {\n this.input = el;\n };\n\n private refMenu = (menu: Menu | null) => {\n this.menu = menu;\n };\n\n private refRootSpan = (span: HTMLSpanElement) => {\n this.rootSpan = span;\n };\n\n private refMobilePopup = (mobilePopup: MobilePopup | null) => {\n this.mobilePopup = mobilePopup;\n };\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
+ import { ThemeIn } from '../../lib/theming/Theme';
2
3
  import { CommonProps } from '../../internal/CommonWrapper';
3
4
  export declare type ButtonSize = 'small' | 'medium' | 'large';
4
5
  export declare type ButtonType = 'button' | 'submit' | 'reset';
5
- export declare type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';
6
+ export declare type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';
6
7
  export interface ButtonProps extends CommonProps {
7
8
  /** @ignore */
8
9
  _noPadding?: boolean;
@@ -102,7 +103,7 @@ export interface ButtonProps extends CommonProps {
102
103
  /**
103
104
  * Стиль кнопки.
104
105
  *
105
- * **Допустимые значения**: `"default"`, `"primary"`, `"success"`, `"danger"`, `"pay"`, `"link"`.
106
+ * **Допустимые значения**: `"default"`, `"primary"`, `"success"`, `"danger"`, `"pay"`, `"link"`, `"text"`, `"backless"`.
106
107
  */
107
108
  use?: ButtonUse;
108
109
  /** @ignore */
@@ -115,10 +116,14 @@ export interface ButtonProps extends CommonProps {
115
116
  * CSS-свойство `width`.
116
117
  */
117
118
  width?: number | string;
119
+ theme?: ThemeIn;
118
120
  }
119
121
  export interface ButtonState {
120
122
  focusedByTab: boolean;
121
123
  }
124
+ export declare const ButtonDataTids: {
125
+ readonly root: "Button__root";
126
+ };
122
127
  declare type DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;
123
128
  export declare class Button extends React.Component<ButtonProps, ButtonState> {
124
129
  static __KONTUR_REACT_UI__: string;
@@ -145,10 +150,9 @@ export declare class Button extends React.Component<ButtonProps, ButtonState> {
145
150
  blur(): void;
146
151
  render(): JSX.Element;
147
152
  private renderMain;
148
- private getLoadingSpinner;
149
153
  private getSizeClassName;
150
- private getSizeIconClassName;
151
154
  private getSizeWrapClassName;
155
+ private getLinkClassName;
152
156
  private handleFocus;
153
157
  private handleBlur;
154
158
  private _ref;
@@ -1,17 +1,24 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isButton = exports.Button = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isButton = exports.ButtonDataTids = exports.Button = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
3
  var _utils = require("../../lib/utils");
4
4
  var _client = require("../../lib/client");
5
5
  var _keyListener = require("../../lib/events/keyListener");
6
6
 
7
7
  var _ThemeContext = require("../../lib/theming/ThemeContext");
8
- var _Spinner = require("../Spinner");
9
8
  var _CommonWrapper = require("../../internal/CommonWrapper");
10
9
  var _Emotion = require("../../lib/theming/Emotion");
11
10
  var _rootNode = require("../../lib/rootNode");
11
+ var _ThemeFactory = require("../../lib/theming/ThemeFactory");
12
12
  var _createPropsGetter = require("../../lib/createPropsGetter");
13
+ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
14
+ var _Link = require("../Link");
15
+ var _Spinner = require("../Spinner");
16
+
17
+ var _Button = require("./Button.styles");
18
+ var _ButtonIcon = require("./ButtonIcon");
19
+ var _ButtonArrow = require("./ButtonArrow");var _class, _class2, _temp;
20
+
13
21
 
14
- var _Button = require("./Button.styles");var _class, _class2, _temp;var
15
22
 
16
23
 
17
24
 
@@ -162,6 +169,9 @@ var _Button = require("./Button.styles");var _class, _class2, _temp;var
162
169
 
163
170
 
164
171
 
172
+
173
+ var ButtonDataTids = {
174
+ root: 'Button__root' };exports.ButtonDataTids = ButtonDataTids;var
165
175
 
166
176
 
167
177
 
@@ -419,6 +429,59 @@ Button = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
419
429
 
420
430
 
421
431
 
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
422
485
 
423
486
 
424
487
 
@@ -466,8 +529,9 @@ Button = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/functi
466
529
  * @public
467
530
  */;_proto.focus = function focus() {var _this$node;(_this$node = this.node) == null ? void 0 : _this$node.focus();} /**
468
531
  * @public
469
- */;_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 _cx, _cx2, _cx7, _cx8;var _this$props = this.props,corners = _this$props.corners,active = _this$props.active,disabled = _this$props.disabled,borderless = _this$props.borderless,checked = _this$props.checked,error = _this$props.error,warning = _this$props.warning,loading = _this$props.loading,arrow = _this$props.arrow,narrow = _this$props.narrow,icon = _this$props.icon,_noPadding = _this$props._noPadding,_noRightPadding = _this$props._noRightPadding,visuallyFocused = _this$props.visuallyFocused,align = _this$props.align,disableFocus = _this$props.disableFocus,onMouseEnter = _this$props.onMouseEnter,onMouseLeave = _this$props.onMouseLeave,onMouseOver = _this$props.onMouseOver,onKeyDown = _this$props.onKeyDown,onClick = _this$props.onClick,width = _this$props.width,children = _this$props.children;var _this$getProps = this.getProps(),use = _this$getProps.use,type = _this$getProps.type;var sizeClass = this.getSizeClassName();var isFocused = this.state.focusedByTab || visuallyFocused;var isLink = use === 'link';var rootProps = { // By default the type attribute is 'submit'. IE8 will fire a click event
532
+ */;_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 = _this2.props.theme ? _ThemeFactory.ThemeFactory.create(_this2.props.theme, theme) : theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx2, _cx5, _cx6;var _this$props = this.props,corners = _this$props.corners,active = _this$props.active,disabled = _this$props.disabled,borderless = _this$props.borderless,checked = _this$props.checked,error = _this$props.error,warning = _this$props.warning,loading = _this$props.loading,narrow = _this$props.narrow,icon = _this$props.icon,_noPadding = _this$props._noPadding,_noRightPadding = _this$props._noRightPadding,visuallyFocused = _this$props.visuallyFocused,align = _this$props.align,disableFocus = _this$props.disableFocus,onMouseEnter = _this$props.onMouseEnter,onMouseLeave = _this$props.onMouseLeave,onMouseOver = _this$props.onMouseOver,onKeyDown = _this$props.onKeyDown,onClick = _this$props.onClick,width = _this$props.width,children = _this$props.children;var _this$getProps = this.getProps(),use = _this$getProps.use,type = _this$getProps.type;var sizeClass = this.getSizeClassName();var isFocused = this.state.focusedByTab || visuallyFocused;var isLink = use === 'link';var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme); // eslint-disable-next-line react-hooks/rules-of-hooks
533
+ var _useButtonArrow = (0, _ButtonArrow.useButtonArrow)((0, _extends2.default)({}, this.props, { isFocused: Boolean(isFocused) }), this.theme),wrapClassNameWithArrow = _useButtonArrow[0],rootClassNameWithArrow = _useButtonArrow[1],arrowNode = _useButtonArrow[2];var rootClassName = '';if (_isTheme2022) {var trueDisabled = disabled || loading;rootClassName = _Emotion.cx.apply(void 0, [_Button.styles.root(this.theme), _Button.styles[use](this.theme), sizeClass, narrow && _Button.styles.narrow(), _noPadding && _Button.styles.noPadding(), _noRightPadding && _Button.styles.noRightPadding(), rootClassNameWithArrow].concat(trueDisabled ? [_Button.styles.disabled(this.theme), checked && _Button.styles.checkedDisabled(this.theme), checked && _Button.styles.checkedDisabled2022(this.theme)] : [active && !checked && _Button.activeStyles[use](this.theme), isFocused && _Button.styles.focus(this.theme), checked && _Button.styles.checked2022(this.theme), checked && isFocused && _Button.styles.checkedFocused(this.theme), borderless && !checked && !isFocused && !active && _Button.styles.borderless()]));} else {var _cx;rootClassName = (0, _Emotion.cx)((_cx = {}, _cx[_Button.styles.root(this.theme)] = true, _cx[_Button.styles.simulatedPress()] = true, _cx[_Button.styles[use](this.theme)] = true, _cx[_Button.activeStyles[use](this.theme)] = active, _cx[sizeClass] = true, _cx[_Button.styles.focus(this.theme)] = isFocused, _cx[_Button.styles.checked(this.theme)] = checked, _cx[_Button.styles.checkedFocused(this.theme)] = checked && isFocused, _cx[_Button.styles.disabled(this.theme)] = disabled || loading, _cx[_Button.styles.checkedDisabled(this.theme)] = checked && disabled, _cx[_Button.styles.borderless()] = borderless && !disabled && !loading && !checked && !isFocused && !active, _cx[_Button.styles.narrow()] = narrow, _cx[_Button.styles.noPadding()] = _noPadding, _cx[_Button.styles.noRightPadding()] = _noRightPadding, _cx));}var rootProps = { // By default the type attribute is 'submit'. IE8 will fire a click event
470
534
  // on this button if somewhere on the page user presses Enter while some
471
535
  // input is focused. So we set type to 'button' by default.
472
- type: type, className: (0, _Emotion.cx)((_cx = {}, _cx[_Button.styles.root(this.theme)] = true, _cx[_Button.styles[use](this.theme)] = true, _cx[_Button.activeStyles[use](this.theme)] = active, _cx[sizeClass] = true, _cx[_Button.styles.focus(this.theme)] = isFocused, _cx[_Button.styles.checked(this.theme)] = checked, _cx[_Button.styles.checkedFocused(this.theme)] = checked && isFocused, _cx[_Button.styles.disabled(this.theme)] = disabled || loading, _cx[_Button.styles.checkedDisabled(this.theme)] = checked && disabled, _cx[_Button.styles.borderless()] = borderless && !disabled && !loading && !checked && !isFocused && !active, _cx[_Button.styles.narrow()] = narrow, _cx[_Button.styles.noPadding()] = _noPadding, _cx[_Button.styles.noRightPadding()] = _noRightPadding, _cx)), style: (0, _extends2.default)({ textAlign: align }, corners), disabled: disabled || loading, onClick: onClick, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: onKeyDown, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, tabIndex: disableFocus ? -1 : 0, title: this.props.title };var wrapProps = { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Button.styles.wrap(this.theme)] = true, _cx2[_Button.styles.wrapArrow()] = arrow === true, _cx2[_Button.styles.wrapArrowLeft()] = arrow === 'left', _cx2[this.getSizeWrapClassName()] = true, _cx2)), style: { width: width } };var innerShadowNode = /*#__PURE__*/_react.default.createElement("div", { className: _Button.globalClasses.innerShadow });var outlineNode = null;if (!isFocused || isLink) {var _cx3;outlineNode = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.styles.outline(), (_cx3 = {}, _cx3[_Button.styles.outlineWarning(this.theme)] = warning, _cx3[_Button.styles.outlineError(this.theme)] = error, _cx3[_Button.styles.outlineLink()] = isLink, _cx3[_Button.styles.outlineLinkWarning(this.theme)] = isLink && warning, _cx3[_Button.styles.outlineLinkError(this.theme)] = isLink && error, _cx3)) });}var loadingNode = null;if (loading && !icon) {loadingNode = /*#__PURE__*/_react.default.createElement("div", { className: _Button.styles.loading() }, this.getLoadingSpinner());}var iconNode = null;if (icon) {var _cx4;iconNode = /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Button.styles.icon(), this.getSizeIconClassName(), (_cx4 = {}, _cx4[_Button.styles.iconNoRightMargin()] = !children, _cx4[_Button.styles.iconLink(this.theme)] = isLink, _cx4)) }, loading ? this.getLoadingSpinner() : icon);}var arrowNode = null;if (arrow) {var _cx5;arrowNode = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx5 = {}, _cx5[_Button.styles.arrow()] = true, _cx5[_Button.styles.arrowWarning(this.theme)] = !checked && warning, _cx5[_Button.styles.arrowError(this.theme)] = !checked && error, _cx5[_Button.styles.arrowFocus(this.theme)] = !checked && isFocused, _cx5[_Button.styles.arrowLeft()] = arrow === 'left', _cx5)) }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.globalClasses.arrowHelper, _Button.globalClasses.arrowHelperTop) }), /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.globalClasses.arrowHelper, _Button.globalClasses.arrowHelperBottom) }));} // Force disable all props and features, that cannot be use with Link
473
- if (isLink) {var _cx6;rootProps.className = (0, _Emotion.cx)((_cx6 = {}, _cx6[_Button.styles.root(this.theme)] = true, _cx6[sizeClass] = true, _cx6[_Button.styles.link(this.theme)] = true, _cx6[_Button.styles.linkFocus(this.theme)] = isFocused, _cx6[_Button.styles.linkDisabled(this.theme)] = disabled || loading, _cx6));Object.assign(wrapProps, { className: (0, _Emotion.cx)(_Button.styles.wrap(this.theme), _Button.styles.wrapLink()), style: { width: wrapProps.style.width } });rootProps.style.textAlign = undefined;arrowNode = null;}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("span", wrapProps, /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ ref: this._ref }, rootProps), innerShadowNode, outlineNode, loadingNode, arrowNode, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.styles.caption(), _Button.globalClasses.caption, (_cx7 = {}, _cx7[_Button.styles.captionTranslated()] = active || checked, _cx7[_Button.styles.captionLink()] = isLink, _cx7[_Button.styles.captionDisabled()] = !checked && disabled, _cx7)) }, iconNode, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)((_cx8 = {}, _cx8[_Button.styles.visibilityHidden()] = !!loadingNode, _cx8)) }, children)))));};_proto.getLoadingSpinner = function getLoadingSpinner() {return /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { caption: null, dimmed: true, type: "mini" });};_proto.getSizeClassName = function getSizeClassName() {var _cx9, _cx10, _cx11;switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)(_Button.styles.sizeLarge(this.theme), (_cx9 = {}, _cx9[_Button.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx9));case 'medium':return (0, _Emotion.cx)(_Button.styles.sizeMedium(this.theme), (_cx10 = {}, _cx10[_Button.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx10));case 'small':default:return (0, _Emotion.cx)(_Button.styles.sizeSmall(this.theme), (_cx11 = {}, _cx11[_Button.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx11));}};_proto.getSizeIconClassName = function getSizeIconClassName() {switch (this.getProps().size) {case 'large':return _Button.styles.iconLarge(this.theme);case 'medium':return _Button.styles.iconMedium(this.theme);case 'small':default:return _Button.styles.iconSmall(this.theme);}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button.styles.wrapLarge(this.theme);case 'medium':return _Button.styles.wrapMedium(this.theme);case 'small':default:return _Button.styles.wrapSmall(this.theme);}};return Button;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Button', _class2.__BUTTON__ = true, _class2.defaultProps = { use: 'default', size: 'small', type: 'button' }, _temp)) || _class;exports.Button = Button;var isButton = (0, _utils.isReactUIComponent)('Button');exports.isButton = isButton;
536
+ type: type, className: rootClassName, style: (0, _extends2.default)({ textAlign: align }, corners), disabled: disabled || loading, onClick: onClick, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: onKeyDown, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, tabIndex: disableFocus ? -1 : 0, title: this.props.title };var wrapProps = { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Button.styles.wrap(this.theme)] = true, _cx2[wrapClassNameWithArrow] = true, _cx2[this.getSizeWrapClassName()] = true, _cx2)), style: { width: width } };var innerShadowNode = _isTheme2022 ? null : /*#__PURE__*/_react.default.createElement("div", { className: _Button.globalClasses.innerShadow });var outlineNode = null;var isDisabled2022 = _isTheme2022 && (disabled || loading);if ((!isFocused || isLink) && !isDisabled2022) {var _cx3;outlineNode = /*#__PURE__*/_react.default.createElement("div", { style: { zIndex: _isTheme2022 ? -1 : undefined }, className: (0, _Emotion.cx)(_Button.styles.outline(), (_cx3 = {}, _cx3[_Button.styles.outlineWarning(this.theme)] = warning, _cx3[_Button.styles.outlineError(this.theme)] = error, _cx3[_Button.styles.outlineLink()] = isLink, _cx3[_Button.styles.outlineLinkWarning(this.theme)] = isLink && warning, _cx3[_Button.styles.outlineLinkError(this.theme)] = isLink && error, _cx3)) });}var iconNode = icon && /*#__PURE__*/_react.default.createElement(_ButtonIcon.ButtonIcon, { icon: icon, size: this.props.size || Button.defaultProps.size, hasChildren: Boolean(children), disabled: disabled || false, loading: loading || false, use: use });var loadingNode = null;if (loading && !icon) {loadingNode = /*#__PURE__*/_react.default.createElement("div", { className: _Button.styles.loading() }, /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { caption: null, dimmed: true, type: "mini" }));} // Force disable all props and features, that cannot be use with Link
537
+ if (isLink) {var _cx4;rootProps.className = (0, _Emotion.cx)((_cx4 = {}, _cx4[_Button.styles.root(this.theme)] = true, _cx4[sizeClass] = true, _cx4[this.getLinkClassName(!!isFocused, Boolean(disabled || loading))] = true, _cx4));Object.assign(wrapProps, { className: (0, _Emotion.cx)(_Button.styles.wrap(this.theme), _Button.styles.wrapLink()), style: { width: wrapProps.style.width } });rootProps.style.textAlign = undefined;}var captionNode = /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Button.styles.caption(), _Button.globalClasses.caption, (_cx5 = {}, _cx5[_Button.styles.captionTranslated()] = (active || checked) && !loading && !_isTheme2022, _cx5[_Button.styles.captionLink()] = isLink, _cx5[_Button.styles.captionDisabled()] = !checked && disabled, _cx5)) }, loadingNode, iconNode, /*#__PURE__*/_react.default.createElement("span", { className: (0, _Emotion.cx)(_Button.globalClasses.text, (_cx6 = {}, _cx6[_Button.styles.visibilityHidden()] = !!loadingNode, _cx6)) }, children));if (isLink && _isTheme2022) {captionNode = /*#__PURE__*/_react.default.createElement(_Link.Link, { focused: isFocused, loading: loading, disabled: disabled, icon: icon, component: "span", style: { display: 'inline-block', width: '100%' }, tabIndex: -1 }, children);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("span", wrapProps, /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({ "data-tid": ButtonDataTids.root, ref: this._ref }, rootProps), innerShadowNode, outlineNode, arrowNode, captionNode)));};_proto.getSizeClassName = function getSizeClassName() {var _cx7, _cx8, _cx9;var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(this.theme);switch (this.getProps().size) {case 'large':return (0, _Emotion.cx)(_Button.styles.sizeLarge(this.theme), (_cx7 = {}, _cx7[_Button.styles.sizeLargeIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx7[_Button.styles.sizeLargeWithIcon(this.theme)] = !!this.props.icon, _cx7[_Button.styles.sizeLargeWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx7));case 'medium':return (0, _Emotion.cx)(_Button.styles.sizeMedium(this.theme), (_cx8 = {}, _cx8[_Button.styles.sizeMediumIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx8[_Button.styles.sizeMediumWithIcon(this.theme)] = !!this.props.icon, _cx8[_Button.styles.sizeMediumWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx8));case 'small':default:return (0, _Emotion.cx)(_Button.styles.sizeSmall(this.theme), (_cx9 = {}, _cx9[_Button.styles.sizeSmallIE11(this.theme)] = _client.isIE11 || _client.isEdge, _cx9[_Button.styles.sizeSmallWithIcon(this.theme)] = !!this.props.icon, _cx9[_Button.styles.sizeSmallWithIconWithoutText(this.theme)] = _isTheme2022 && !!this.props.icon && !this.props.children, _cx9));}};_proto.getSizeWrapClassName = function getSizeWrapClassName() {switch (this.getProps().size) {case 'large':return _Button.styles.wrapLarge(this.theme);case 'medium':return _Button.styles.wrapMedium(this.theme);case 'small':default:return _Button.styles.wrapSmall(this.theme);}};_proto.getLinkClassName = function getLinkClassName(focused, disabled) {var _cx10, _cx11;var isBorderBottom = parseInt(this.theme.btnLinkLineBorderBottomWidth) > 0;return !isBorderBottom ? (0, _Emotion.cx)(_Button.styles.link(this.theme), (_cx10 = {}, _cx10[_Button.styles.linkFocus(this.theme)] = focused, _cx10[_Button.styles.linkDisabled(this.theme)] = disabled, _cx10)) : (0, _Emotion.cx)(_Button.styles.link(this.theme), _Button.styles.linkLine(this.theme), (_cx11 = {}, _cx11[_Button.styles.linkLineFocus(this.theme)] = focused, _cx11[_Button.styles.linkLineDisabled(this.theme)] = disabled, _cx11));};return Button;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Button', _class2.__BUTTON__ = true, _class2.defaultProps = { use: 'default', size: 'small', type: 'button' }, _temp)) || _class;exports.Button = Button;var isButton = (0, _utils.isReactUIComponent)('Button');exports.isButton = isButton;
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["Button","rootNode","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","keyListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","renderMain","corners","active","borderless","checked","error","warning","arrow","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","use","type","sizeClass","getSizeClassName","isFocused","isLink","rootProps","className","styles","root","activeStyles","checkedFocused","checkedDisabled","noPadding","noRightPadding","style","textAlign","tabIndex","title","wrapProps","wrap","wrapArrow","wrapArrowLeft","getSizeWrapClassName","innerShadowNode","globalClasses","innerShadow","outlineNode","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","loadingNode","getLoadingSpinner","iconNode","getSizeIconClassName","iconNoRightMargin","iconLink","arrowNode","arrowWarning","arrowError","arrowFocus","arrowLeft","arrowHelper","arrowHelperTop","arrowHelperBottom","link","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","setRootNode","caption","captionTranslated","captionLink","captionDisabled","visibilityHidden","size","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeMedium","sizeMediumIE11","sizeSmall","sizeSmallIE11","iconLarge","iconMedium","iconSmall","wrapLarge","wrapMedium","wrapSmall","React","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"uVAAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4JaA,M,OADZC,kB;;;;;;;;;;AAWSC,IAAAA,Q,GAAW,0CAAkBF,MAAM,CAACG,YAAzB,C;;AAEZC,IAAAA,K,GAAQ;AACbC,MAAAA,YAAY,EAAE,KADD,E;;;;AAKPC,IAAAA,I,GAAiC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgQjCC,IAAAA,W,GAAc,UAACC,CAAD,EAA4C;AAChE,UAAI,CAAC,MAAKC,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD;AACA;AACAC,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIC,yBAAYC,YAAhB,EAA8B;AAC5B,kBAAKC,QAAL,CAAc,EAAEV,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKA,cAAKI,KAAL,CAAWO,OAAX,0BAAKP,KAAL,CAAWO,OAAX,CAAqBR,CAArB;AACD;AACF,K;;AAEOS,IAAAA,U,GAAa,UAACT,CAAD,EAA4C;AAC/D,YAAKO,QAAL,CAAc,EAAEV,YAAY,EAAE,KAAhB,EAAd;AACA,UAAI,CAAC,MAAKI,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD,cAAKF,KAAL,CAAWS,MAAX,0BAAKT,KAAL,CAAWS,MAAX,CAAoBV,CAApB;AACD;AACF,K;;AAEOW,IAAAA,I,GAAO,UAACb,IAAD,EAAoC;AACjD,YAAKA,IAAL,GAAYA,IAAZ;AACD,K,oDAnRMc,iB,GAAP,6BAA2B,CACzB,IAAI,KAAKX,KAAL,CAAWY,SAAf,EAA0B,CACxBR,yBAAYC,YAAZ,GAA2B,IAA3B,CACA,KAAKQ,KAAL,GACD,CACF,C,QAEaC,wB,GAAd,kCAAuCd,KAAvC,EAA2D,CACzD,IAAIA,KAAK,CAACe,OAAN,IAAiBf,KAAK,CAACC,QAA3B,EAAqC,CACnC,OAAO,EAAEL,YAAY,EAAE,KAAhB,EAAP,CACD,CACD,OAAO,IAAP,CACD,C,CAED;AACF;AACA,K,QACSiB,K,GAAP,iBAAe,gBACb,mBAAKhB,IAAL,gCAAWgB,KAAX,GACD,C,CAED;AACF;AACA,K,QACSG,I,GAAP,gBAAc,iBACZ,oBAAKnB,IAAL,iCAAWmB,IAAX,GACD,C,QAEMC,M,GAAP,kBAA6B,mBAC3B,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACC,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,2BACnB,kBAwBI,KAAKnB,KAxBT,CACEoB,OADF,eACEA,OADF,CAEEC,MAFF,eAEEA,MAFF,CAGEpB,QAHF,eAGEA,QAHF,CAIEqB,UAJF,eAIEA,UAJF,CAKEC,OALF,eAKEA,OALF,CAMEC,KANF,eAMEA,KANF,CAOEC,OAPF,eAOEA,OAPF,CAQEV,OARF,eAQEA,OARF,CASEW,KATF,eASEA,KATF,CAUEC,MAVF,eAUEA,MAVF,CAWEC,IAXF,eAWEA,IAXF,CAYEC,UAZF,eAYEA,UAZF,CAaEC,eAbF,eAaEA,eAbF,CAcEC,eAdF,eAcEA,eAdF,CAeEC,KAfF,eAeEA,KAfF,CAgBE9B,YAhBF,eAgBEA,YAhBF,CAiBE+B,YAjBF,eAiBEA,YAjBF,CAkBEC,YAlBF,eAkBEA,YAlBF,CAmBEC,WAnBF,eAmBEA,WAnBF,CAoBEC,SApBF,eAoBEA,SApBF,CAqBEC,OArBF,eAqBEA,OArBF,CAsBEC,KAtBF,eAsBEA,KAtBF,CAuBEC,QAvBF,eAuBEA,QAvBF,CAyBA,qBAAsB,KAAK9C,QAAL,EAAtB,CAAQ+C,GAAR,kBAAQA,GAAR,CAAaC,IAAb,kBAAaA,IAAb,CACA,IAAMC,SAAS,GAAG,KAAKC,gBAAL,EAAlB,CAEA,IAAMC,SAAS,GAAG,KAAKjD,KAAL,CAAWC,YAAX,IAA2BmC,eAA7C,CACA,IAAMc,MAAM,GAAGL,GAAG,KAAK,MAAvB,CACA,IAAMM,SAAS,GAAG,EAChB;AACA;AACA;AACAL,MAAAA,IAAI,EAAJA,IAJgB,EAKhBM,SAAS,EAAE,gCACRC,eAAOC,IAAP,CAAY,KAAK/B,KAAjB,CADQ,IACkB,IADlB,MAER8B,eAAOR,GAAP,EAAY,KAAKtB,KAAjB,CAFQ,IAEkB,IAFlB,MAGRgC,qBAAaV,GAAb,EAAkB,KAAKtB,KAAvB,CAHQ,IAGwBG,MAHxB,MAIRqB,SAJQ,IAII,IAJJ,MAKRM,eAAOnC,KAAP,CAAa,KAAKK,KAAlB,CALQ,IAKmB0B,SALnB,MAMRI,eAAOzB,OAAP,CAAe,KAAKL,KAApB,CANQ,IAMqBK,OANrB,MAORyB,eAAOG,cAAP,CAAsB,KAAKjC,KAA3B,CAPQ,IAO4BK,OAAO,IAAIqB,SAPvC,MAQRI,eAAO/C,QAAP,CAAgB,KAAKiB,KAArB,CARQ,IAQsBjB,QAAQ,IAAIc,OARlC,MASRiC,eAAOI,eAAP,CAAuB,KAAKlC,KAA5B,CATQ,IAS6BK,OAAO,IAAItB,QATxC,MAUR+C,eAAO1B,UAAP,EAVQ,IAUcA,UAAU,IAAI,CAACrB,QAAf,IAA2B,CAACc,OAA5B,IAAuC,CAACQ,OAAxC,IAAmD,CAACqB,SAApD,IAAiE,CAACvB,MAVhF,MAWR2B,eAAOrB,MAAP,EAXQ,IAWUA,MAXV,MAYRqB,eAAOK,SAAP,EAZQ,IAYaxB,UAZb,MAaRmB,eAAOM,cAAP,EAbQ,IAakBxB,eAblB,OALK,EAoBhByB,KAAK,2BACHC,SAAS,EAAExB,KADR,IAEAZ,OAFA,CApBW,EAwBhBnB,QAAQ,EAAEA,QAAQ,IAAIc,OAxBN,EAyBhBsB,OAAO,EAAPA,OAzBgB,EA0BhB9B,OAAO,EAAE,KAAKT,WA1BE,EA2BhBW,MAAM,EAAE,KAAKD,UA3BG,EA4BhB4B,SAAS,EAATA,SA5BgB,EA6BhBH,YAAY,EAAZA,YA7BgB,EA8BhBC,YAAY,EAAZA,YA9BgB,EA+BhBC,WAAW,EAAXA,WA/BgB,EAgChBsB,QAAQ,EAAEvD,YAAY,GAAG,CAAC,CAAJ,GAAQ,CAhCd,EAiChBwD,KAAK,EAAE,KAAK1D,KAAL,CAAW0D,KAjCF,EAAlB,CAoCA,IAAMC,SAAS,GAAG,EAChBZ,SAAS,EAAE,kCACRC,eAAOY,IAAP,CAAY,KAAK1C,KAAjB,CADQ,IACkB,IADlB,OAER8B,eAAOa,SAAP,EAFQ,IAEanC,KAAK,KAAK,IAFvB,OAGRsB,eAAOc,aAAP,EAHQ,IAGiBpC,KAAK,KAAK,MAH3B,OAIR,KAAKqC,oBAAL,EAJQ,IAIsB,IAJtB,QADK,EAOhBR,KAAK,EAAE,EACLjB,KAAK,EAALA,KADK,EAPS,EAAlB,CAYA,IAAM0B,eAAe,gBAAG,sCAAK,SAAS,EAAEC,sBAAcC,WAA9B,GAAxB,CAEA,IAAIC,WAAW,GAAG,IAAlB,CACA,IAAI,CAACvB,SAAD,IAAcC,MAAlB,EAA0B,UACxBsB,WAAW,gBACT,sCACE,SAAS,EAAE,iBAAGnB,eAAOoB,OAAP,EAAH,mBACRpB,eAAOqB,cAAP,CAAsB,KAAKnD,KAA3B,CADQ,IAC4BO,OAD5B,OAERuB,eAAOsB,YAAP,CAAoB,KAAKpD,KAAzB,CAFQ,IAE0BM,KAF1B,OAGRwB,eAAOuB,WAAP,EAHQ,IAGe1B,MAHf,OAIRG,eAAOwB,kBAAP,CAA0B,KAAKtD,KAA/B,CAJQ,IAIgC2B,MAAM,IAAIpB,OAJ1C,OAKRuB,eAAOyB,gBAAP,CAAwB,KAAKvD,KAA7B,CALQ,IAK8B2B,MAAM,IAAIrB,KALxC,QADb,GADF,CAWD,CAED,IAAIkD,WAAW,GAAG,IAAlB,CACA,IAAI3D,OAAO,IAAI,CAACa,IAAhB,EAAsB,CACpB8C,WAAW,gBAAG,sCAAK,SAAS,EAAE1B,eAAOjC,OAAP,EAAhB,IAAmC,KAAK4D,iBAAL,EAAnC,CAAd,CACD,CAED,IAAIC,QAAQ,GAAG,IAAf,CACA,IAAIhD,IAAJ,EAAU,UACRgD,QAAQ,gBACN,uCACE,SAAS,EAAE,iBAAG5B,eAAOpB,IAAP,EAAH,EAAkB,KAAKiD,oBAAL,EAAlB,mBACR7B,eAAO8B,iBAAP,EADQ,IACqB,CAACvC,QADtB,OAERS,eAAO+B,QAAP,CAAgB,KAAK7D,KAArB,CAFQ,IAEsB2B,MAFtB,QADb,IAMG9B,OAAO,GAAG,KAAK4D,iBAAL,EAAH,GAA8B/C,IANxC,CADF,CAUD,CAED,IAAIoD,SAAS,GAAG,IAAhB,CACA,IAAItD,KAAJ,EAAW,UACTsD,SAAS,gBACP,sCACE,SAAS,EAAE,kCACRhC,eAAOtB,KAAP,EADQ,IACS,IADT,OAERsB,eAAOiC,YAAP,CAAoB,KAAK/D,KAAzB,CAFQ,IAE0B,CAACK,OAAD,IAAYE,OAFtC,OAGRuB,eAAOkC,UAAP,CAAkB,KAAKhE,KAAvB,CAHQ,IAGwB,CAACK,OAAD,IAAYC,KAHpC,OAIRwB,eAAOmC,UAAP,CAAkB,KAAKjE,KAAvB,CAJQ,IAIwB,CAACK,OAAD,IAAYqB,SAJpC,OAKRI,eAAOoC,SAAP,EALQ,IAKa1D,KAAK,KAAK,MALvB,QADb,iBASE,sCAAK,SAAS,EAAE,iBAAGuC,sBAAcoB,WAAjB,EAA8BpB,sBAAcqB,cAA5C,CAAhB,GATF,eAUE,sCAAK,SAAS,EAAE,iBAAGrB,sBAAcoB,WAAjB,EAA8BpB,sBAAcsB,iBAA5C,CAAhB,GAVF,CADF,CAcD,CAnIkB,CAqInB;AACA,QAAI1C,MAAJ,EAAY,UACVC,SAAS,CAACC,SAAV,GAAsB,kCACnBC,eAAOC,IAAP,CAAY,KAAK/B,KAAjB,CADmB,IACO,IADP,OAEnBwB,SAFmB,IAEP,IAFO,OAGnBM,eAAOwC,IAAP,CAAY,KAAKtE,KAAjB,CAHmB,IAGO,IAHP,OAInB8B,eAAOyC,SAAP,CAAiB,KAAKvE,KAAtB,CAJmB,IAIY0B,SAJZ,OAKnBI,eAAO0C,YAAP,CAAoB,KAAKxE,KAAzB,CALmB,IAKejB,QAAQ,IAAIc,OAL3B,QAAtB,CAOA4E,MAAM,CAACC,MAAP,CAAcjC,SAAd,EAAyB,EACvBZ,SAAS,EAAE,iBAAGC,eAAOY,IAAP,CAAY,KAAK1C,KAAjB,CAAH,EAA4B8B,eAAO6C,QAAP,EAA5B,CADY,EAEvBtC,KAAK,EAAE,EAAEjB,KAAK,EAAEqB,SAAS,CAACJ,KAAV,CAAgBjB,KAAzB,EAFgB,EAAzB,EAIAQ,SAAS,CAACS,KAAV,CAAgBC,SAAhB,GAA4BsC,SAA5B,CACAd,SAAS,GAAG,IAAZ,CACD,CAED,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKe,WAAjC,IAAkD,KAAK/F,KAAvD,gBACE,qCAAU2D,SAAV,eACE,gEAAQ,GAAG,EAAE,KAAKjD,IAAlB,IAA4BoC,SAA5B,GACGkB,eADH,EAEGG,WAFH,EAGGO,WAHH,EAIGM,SAJH,eAKE,sCACE,SAAS,EAAE,iBAAGhC,eAAOgD,OAAP,EAAH,EAAqB/B,sBAAc+B,OAAnC,mBACRhD,eAAOiD,iBAAP,EADQ,IACqB5E,MAAM,IAAIE,OAD/B,OAERyB,eAAOkD,WAAP,EAFQ,IAEerD,MAFf,OAGRG,eAAOmD,eAAP,EAHQ,IAGmB,CAAC5E,OAAD,IAAYtB,QAH/B,QADb,IAOG2E,QAPH,eAQE,uCAAM,SAAS,EAAE,kCAAM5B,eAAOoD,gBAAP,EAAN,IAAkC,CAAC,CAAC1B,WAApC,QAAjB,IAAsEnC,QAAtE,CARF,CALF,CADF,CADF,CADF,CAsBD,C,QAEOoC,iB,GAAR,6BAA4B,CAC1B,oBAAO,6BAAC,gBAAD,IAAS,OAAO,EAAE,IAAlB,EAAwB,MAAM,MAA9B,EAA+B,IAAI,EAAC,MAApC,GAAP,CACD,C,QAEOhC,gB,GAAR,4BAA2B,wBACzB,QAAQ,KAAKlD,QAAL,GAAgB4G,IAAxB,GACE,KAAK,OAAL,CACE,OAAO,iBAAGrD,eAAOsD,SAAP,CAAiB,KAAKpF,KAAtB,CAAH,mBAAoC8B,eAAOuD,aAAP,CAAqB,KAAKrF,KAA1B,CAApC,IAAuEsF,kBAAUC,cAAjF,QAAP,CACF,KAAK,QAAL,CACE,OAAO,iBAAGzD,eAAO0D,UAAP,CAAkB,KAAKxF,KAAvB,CAAH,qBAAqC8B,eAAO2D,cAAP,CAAsB,KAAKzF,KAA3B,CAArC,IAAyEsF,kBAAUC,cAAnF,SAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO,iBAAGzD,eAAO4D,SAAP,CAAiB,KAAK1F,KAAtB,CAAH,qBAAoC8B,eAAO6D,aAAP,CAAqB,KAAK3F,KAA1B,CAApC,IAAuEsF,kBAAUC,cAAjF,SAAP,CAPJ,CASD,C,QAEO5B,oB,GAAR,gCAA+B,CAC7B,QAAQ,KAAKpF,QAAL,GAAgB4G,IAAxB,GACE,KAAK,OAAL,CACE,OAAOrD,eAAO8D,SAAP,CAAiB,KAAK5F,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAO8B,eAAO+D,UAAP,CAAkB,KAAK7F,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO8B,eAAOgE,SAAP,CAAiB,KAAK9F,KAAtB,CAAP,CAPJ,CASD,C,QAEO6C,oB,GAAR,gCAA+B,CAC7B,QAAQ,KAAKtE,QAAL,GAAgB4G,IAAxB,GACE,KAAK,OAAL,CACE,OAAOrD,eAAOiE,SAAP,CAAiB,KAAK/F,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAO8B,eAAOkE,UAAP,CAAkB,KAAKhG,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO8B,eAAOmE,SAAP,CAAiB,KAAKjG,KAAtB,CAAP,CAPJ,CASD,C,iBA/QyBkG,eAAMC,S,WAClBC,mB,GAAsB,Q,UACtBC,U,GAAa,I,UAEb7H,Y,GAA6B,EACzC8C,GAAG,EAAE,SADoC,EAEzC6D,IAAI,EAAE,OAFmC,EAGzC5D,IAAI,EAAE,QAHmC,E,4CAsStC,IAAM+E,QAAQ,GAAG,+BAAgC,QAAhC,CAAjB,C","sourcesContent":["import React from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\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 * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n arrow,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const { use, type } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n className: cx({\n [styles.root(this.theme)]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n }),\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [styles.wrapArrow()]: arrow === true,\n [styles.wrapArrowLeft()]: arrow === 'left',\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n if (!isFocused || isLink) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = <div className={styles.loading()}>{this.getLoadingSpinner()}</div>;\n }\n\n let iconNode = null;\n if (icon) {\n iconNode = (\n <span\n className={cx(styles.icon(), this.getSizeIconClassName(), {\n [styles.iconNoRightMargin()]: !children,\n [styles.iconLink(this.theme)]: isLink,\n })}\n >\n {loading ? this.getLoadingSpinner() : icon}\n </span>\n );\n }\n\n let arrowNode = null;\n if (arrow) {\n arrowNode = (\n <div\n className={cx({\n [styles.arrow()]: true,\n [styles.arrowWarning(this.theme)]: !checked && warning,\n [styles.arrowError(this.theme)]: !checked && error,\n [styles.arrowFocus(this.theme)]: !checked && isFocused,\n [styles.arrowLeft()]: arrow === 'left',\n })}\n >\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperTop)} />\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperBottom)} />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n arrowNode = null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {loadingNode}\n {arrowNode}\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: active || checked,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {iconNode}\n <span className={cx({ [styles.visibilityHidden()]: !!loadingNode })}>{children}</span>\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getLoadingSpinner() {\n return <Spinner caption={null} dimmed type=\"mini\" />;\n }\n\n private getSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), { [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), { [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), { [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge });\n }\n }\n\n private getSizeIconClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["ButtonDataTids","root","Button","rootNode","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","keyListener","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","ThemeFactory","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","use","type","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","rootClassName","trueDisabled","cx","styles","noPadding","noRightPadding","checkedDisabled","checkedDisabled2022","activeStyles","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","globalClasses","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","size","loadingNode","getLinkClassName","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","display","setRootNode","sizeLarge","sizeLargeIE11","isIE11","isEdge","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","focused","isBorderBottom","parseInt","btnLinkLineBorderBottomWidth","link","linkFocus","linkDisabled","linkLine","linkLineFocus","linkLineDisabled","React","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { Link } from '../Link';\nimport { Spinner } from '../Spinner';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`, `\"text\"`, `\"backless\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n theme?: ThemeIn;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ButtonProps, 'use' | 'size' | 'type'>>;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps: DefaultProps = {\n use: 'default',\n size: 'small',\n type: 'button',\n };\n\n private getProps = createPropsGetter(Button.defaultProps);\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = this.props.theme ? ThemeFactory.create(this.props.theme as Theme, theme) : theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const { use, type } = this.getProps();\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const _isTheme2022 = isTheme2022(this.theme);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [wrapClassNameWithArrow, rootClassNameWithArrow, arrowNode] = useButtonArrow(\n { ...this.props, isFocused: Boolean(isFocused) },\n this.theme,\n );\n\n let rootClassName = '';\n if (_isTheme2022) {\n const trueDisabled = disabled || loading;\n rootClassName = cx(\n styles.root(this.theme),\n styles[use](this.theme),\n sizeClass,\n narrow && styles.narrow(),\n _noPadding && styles.noPadding(),\n _noRightPadding && styles.noRightPadding(),\n rootClassNameWithArrow,\n ...(trueDisabled\n ? [\n styles.disabled(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n ]\n : [\n active && !checked && activeStyles[use](this.theme),\n isFocused && styles.focus(this.theme),\n checked && styles.checked2022(this.theme),\n checked && isFocused && styles.checkedFocused(this.theme),\n borderless && !checked && !isFocused && !active && styles.borderless(),\n ]),\n );\n } else {\n rootClassName = cx({\n [styles.root(this.theme)]: true,\n [styles.simulatedPress()]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n });\n }\n\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type,\n className: rootClassName,\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [wrapClassNameWithArrow]: true,\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = _isTheme2022 ? null : <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n const isDisabled2022 = _isTheme2022 && (disabled || loading);\n if ((!isFocused || isLink) && !isDisabled2022) {\n outlineNode = (\n <div\n style={{ zIndex: _isTheme2022 ? -1 : undefined }}\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n const iconNode = icon && (\n <ButtonIcon\n icon={icon}\n size={this.props.size || Button.defaultProps.size}\n hasChildren={Boolean(children)}\n disabled={disabled || false}\n loading={loading || false}\n use={use}\n />\n );\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = (\n <div className={styles.loading()}>\n <Spinner caption={null} dimmed type=\"mini\" />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [this.getLinkClassName(!!isFocused, Boolean(disabled || loading))]: true,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n }\n\n let captionNode = (\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: (active || checked) && !loading && !_isTheme2022,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {loadingNode}\n {iconNode}\n <span\n className={cx(globalClasses.text, {\n [styles.visibilityHidden()]: !!loadingNode,\n })}\n >\n {children}\n </span>\n </div>\n );\n if (isLink && _isTheme2022) {\n captionNode = (\n <Link\n focused={isFocused}\n loading={loading}\n disabled={disabled}\n icon={icon}\n component=\"span\"\n style={{ display: 'inline-block', width: '100%' }}\n tabIndex={-1}\n >\n {children}\n </Link>\n );\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {arrowNode}\n {captionNode}\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getSizeClassName() {\n const _isTheme2022 = isTheme2022(this.theme);\n switch (this.getProps().size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), {\n [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeLargeWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeLargeWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), {\n [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeMediumWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeMediumWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), {\n [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge,\n [styles.sizeSmallWithIcon(this.theme)]: !!this.props.icon,\n [styles.sizeSmallWithIconWithoutText(this.theme)]: _isTheme2022 && !!this.props.icon && !this.props.children,\n });\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private getLinkClassName(focused: boolean, disabled: boolean): string {\n const isBorderBottom = parseInt(this.theme.btnLinkLineBorderBottomWidth) > 0;\n\n return !isBorderBottom\n ? cx(styles.link(this.theme), {\n [styles.linkFocus(this.theme)]: focused,\n [styles.linkDisabled(this.theme)]: disabled,\n })\n : cx(styles.link(this.theme), styles.linkLine(this.theme), {\n [styles.linkLineFocus(this.theme)]: focused,\n [styles.linkLineDisabled(this.theme)]: disabled,\n });\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
@@ -59,8 +59,7 @@ borderBottomColor,
59
59
  borderWidth)
60
60
  {
61
61
  var hasGradient = btnBackgroundStart !== btnBackgroundEnd;
62
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n &:hover:enabled {\n background-color: ", ";\n background-image: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n }\n }\n "])),
63
-
62
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n background-image: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n }\n "])),
64
63
  hasGradient ? "initial" : btnBackground,
65
64
  hasGradient ? "linear-gradient(" + btnBackgroundStart + ", " + btnBackgroundEnd + ")" : "none",
66
65
  borderWidth, borderColor, borderBottomColor ? ", 0 " + borderWidth + " 0 0 " + borderBottomColor : "",
@@ -69,7 +68,6 @@ borderWidth)
69
68
  borderWidth, borderColor);
70
69
 
71
70
 
72
-
73
71
  };exports.buttonHoverMixin = buttonHoverMixin;
74
72
 
75
73
  var buttonActiveMixin = function buttonActiveMixin(
@@ -80,7 +78,9 @@ borderTopColor,
80
78
  borderWidth,
81
79
  arrowBgImage)
82
80
  {
83
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-image: none;\n background-color: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", ";\n }\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n\n &.", " {\n background-image: ", ";\n }\n }\n "])),
81
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ", " !important; // override :hover styles\n box-shadow: 0 0 0 ", " ", "", " !important; // override :hover styles\n\n .", " {\n box-shadow: ", ";\n }\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n\n &.", " {\n background-image: ", ";\n }\n }\n }\n "])),
82
+
83
+
84
84
 
85
85
  btnBackground,
86
86
  borderWidth, borderColor, borderTopColor ? ", 0 -" + borderWidth + " 0 0 " + borderTopColor : "",
@@ -97,6 +97,7 @@ arrowBgImage)
97
97
 
98
98
 
99
99
 
100
+
100
101
  };exports.buttonActiveMixin = buttonActiveMixin;
101
102
 
102
103
  var buttonSizeMixin = function buttonSizeMixin(
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.mixins.ts"],"names":["getBtnPadding","fontSize","paddingY","paddingX","fontFamilyCompensation","additionalOffset","paddingTop","paddingBottom","offset","parseInt","shiftUp","top","bottom","buttonUseMixin","btnBackground","btnBackgroundStart","btnBackgroundEnd","color","borderColor","borderBottomColor","borderWidth","hasGradient","css","globalClasses","arrowHelper","buttonHoverMixin","buttonActiveMixin","btnShadow","borderTopColor","arrowBgImage","innerShadow","arrowHelperTop","buttonSizeMixin","lineHeight","buttonSizeMixinIE11","arrowOutlineMixin","insetWidth","outlineColor","outlineWidth","insetColor","arrowHelperBottom"],"mappings":"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","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { shift } from '../../lib/styles/DimensionFunctions';\n\nimport { globalClasses } from './Button.styles';\n\nconst getBtnPadding = (\n fontSize: string,\n paddingY: string,\n paddingX: string,\n fontFamilyCompensation: string,\n additionalOffset = 0,\n): string => {\n let paddingTop = paddingY;\n let paddingBottom = paddingY;\n const offset = parseInt(fontFamilyCompensation) || 0;\n\n const shiftUp = (top: string, bottom: string, offset: number) => {\n return [shift(top, `${-offset}`), shift(bottom, `${offset}`)];\n };\n\n if (fontSize === '16px' && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, offset);\n }\n if (additionalOffset && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, additionalOffset);\n }\n\n return `${paddingTop} ${paddingX} ${paddingBottom}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 0 ${borderColor};\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n &:hover:enabled {\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n }\n }\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderTopColor: string,\n borderWidth: string,\n arrowBgImage: string,\n) => {\n return css`\n background-image: none;\n background-color: ${btnBackground};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderTopColor ? `, 0 -${borderWidth} 0 0 ${borderTopColor}` : ``};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${arrowBgImage};\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation)};\n line-height: ${lineHeight};\n `;\n};\n\nexport const buttonSizeMixinIE11 = (\n fontSize: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, 1)};\n line-height: normal;\n `;\n};\n\nexport const arrowOutlineMixin = (\n insetWidth: string,\n outlineColor: string,\n outlineWidth: string,\n insetColor: string,\n) => {\n return css`\n .${globalClasses.arrowHelper} {\n &.${globalClasses.arrowHelperTop} {\n box-shadow: inset -${insetWidth} ${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n &.${globalClasses.arrowHelperBottom} {\n box-shadow: inset -${insetWidth} -${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n // don't hide inner outline\n // and keep the middle-line fix\n &:before {\n top: ${insetWidth};\n right: ${insetWidth};\n left: ${insetWidth};\n }\n &.${globalClasses.arrowHelperBottom}:before {\n bottom: ${insetWidth};\n }\n }\n `;\n};\n"]}
1
+ {"version":3,"sources":["Button.mixins.ts"],"names":["getBtnPadding","fontSize","paddingY","paddingX","fontFamilyCompensation","additionalOffset","paddingTop","paddingBottom","offset","parseInt","shiftUp","top","bottom","buttonUseMixin","btnBackground","btnBackgroundStart","btnBackgroundEnd","color","borderColor","borderBottomColor","borderWidth","hasGradient","css","globalClasses","arrowHelper","buttonHoverMixin","buttonActiveMixin","btnShadow","borderTopColor","arrowBgImage","innerShadow","arrowHelperTop","buttonSizeMixin","lineHeight","buttonSizeMixinIE11","arrowOutlineMixin","insetWidth","outlineColor","outlineWidth","insetColor","arrowHelperBottom"],"mappings":"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","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { shift } from '../../lib/styles/DimensionFunctions';\n\nimport { globalClasses } from './Button.styles';\n\nconst getBtnPadding = (\n fontSize: string,\n paddingY: string,\n paddingX: string,\n fontFamilyCompensation: string,\n additionalOffset = 0,\n): string => {\n let paddingTop = paddingY;\n let paddingBottom = paddingY;\n const offset = parseInt(fontFamilyCompensation) || 0;\n\n const shiftUp = (top: string, bottom: string, offset: number) => {\n return [shift(top, `${-offset}`), shift(bottom, `${offset}`)];\n };\n\n if (fontSize === '16px' && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, offset);\n }\n if (additionalOffset && offset) {\n [paddingTop, paddingBottom] = shiftUp(paddingTop, paddingBottom, additionalOffset);\n }\n\n return `${paddingTop} ${paddingX} ${paddingBottom}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 0 ${borderColor};\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n borderColor: string,\n borderBottomColor: string,\n borderWidth: string,\n) => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return css`\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderBottomColor ? `, 0 ${borderWidth} 0 0 ${borderBottomColor}` : ``};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n }\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderTopColor: string,\n borderWidth: string,\n arrowBgImage: string,\n) => {\n return css`\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${borderTopColor ? `, 0 -${borderWidth} 0 0 ${borderTopColor}` : ``} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${borderWidth} 0 0 ${borderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${arrowBgImage};\n }\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation)};\n line-height: ${lineHeight};\n `;\n};\n\nexport const buttonSizeMixinIE11 = (\n fontSize: string,\n paddingX: string,\n paddingY: string,\n fontFamilyCompensation: string,\n) => {\n return css`\n padding: ${getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, 1)};\n line-height: normal;\n `;\n};\n\nexport const arrowOutlineMixin = (\n insetWidth: string,\n outlineColor: string,\n outlineWidth: string,\n insetColor: string,\n) => {\n return css`\n .${globalClasses.arrowHelper} {\n &.${globalClasses.arrowHelperTop} {\n box-shadow: inset -${insetWidth} ${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n &.${globalClasses.arrowHelperBottom} {\n box-shadow: inset -${insetWidth} -${insetWidth} 0 0 ${insetColor}, ${outlineWidth} 0 0 0 ${outlineColor} !important; // override :active styles\n }\n\n // don't hide inner outline\n // and keep the middle-line fix\n &:before {\n top: ${insetWidth};\n right: ${insetWidth};\n left: ${insetWidth};\n }\n &.${globalClasses.arrowHelperBottom}:before {\n bottom: ${insetWidth};\n }\n }\n `;\n};\n"]}