@skbkontur/react-ui 0.0.0-5188be76c1 → 0.0.0-53ccdcbfcc

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 (1139) hide show
  1. package/CHANGELOG.md +164 -16
  2. package/cjs/components/Button/Button.d.ts +1 -0
  3. package/cjs/components/Button/Button.js +18 -6
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.md +68 -0
  6. package/cjs/components/Button/Button.mixins.d.ts +6 -6
  7. package/cjs/components/Button/Button.mixins.js +54 -53
  8. package/cjs/components/Button/Button.mixins.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +2 -1
  10. package/cjs/components/Button/Button.styles.js +200 -161
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Button/ButtonArrow.js +1 -1
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Button/ButtonIcon.js +1 -4
  15. package/cjs/components/Button/ButtonIcon.js.map +1 -1
  16. package/cjs/components/Button/getInnerLinkTheme.js +1 -0
  17. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  18. package/cjs/components/Calendar/Calendar.js +8 -6
  19. package/cjs/components/Calendar/Calendar.js.map +1 -1
  20. package/cjs/components/Checkbox/Checkbox.js +8 -7
  21. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  22. package/cjs/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  23. package/cjs/components/Clickable/ArrowLeftIcon.js +15 -0
  24. package/cjs/components/Clickable/ArrowLeftIcon.js.map +1 -0
  25. package/cjs/components/Clickable/ArrowRightIcon.d.ts +3 -0
  26. package/cjs/components/Clickable/ArrowRightIcon.js +15 -0
  27. package/cjs/components/Clickable/ArrowRightIcon.js.map +1 -0
  28. package/cjs/components/Clickable/Clickable.d.ts +95 -0
  29. package/cjs/components/Clickable/Clickable.js +248 -0
  30. package/cjs/components/Clickable/Clickable.js.map +1 -0
  31. package/cjs/components/Clickable/Clickable.md +210 -0
  32. package/cjs/components/Clickable/Clickable.styles.d.ts +11 -0
  33. package/cjs/components/Clickable/Clickable.styles.js +31 -0
  34. package/cjs/components/Clickable/Clickable.styles.js.map +1 -0
  35. package/cjs/components/Clickable/ClickableButton.d.ts +5 -0
  36. package/cjs/components/Clickable/ClickableButton.js +43 -0
  37. package/cjs/components/Clickable/ClickableButton.js.map +1 -0
  38. package/cjs/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  39. package/cjs/components/Clickable/ClickableButton.mixins.js +134 -0
  40. package/cjs/components/Clickable/ClickableButton.mixins.js.map +1 -0
  41. package/cjs/components/Clickable/ClickableButton.styles.d.ts +63 -0
  42. package/cjs/components/Clickable/ClickableButton.styles.js +604 -0
  43. package/cjs/components/Clickable/ClickableButton.styles.js.map +1 -0
  44. package/cjs/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  45. package/cjs/components/Clickable/ClickableButtonArrow.js +32 -0
  46. package/cjs/components/Clickable/ClickableButtonArrow.js.map +1 -0
  47. package/cjs/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  48. package/cjs/components/Clickable/ClickableButtonArrow.styles.js +40 -0
  49. package/cjs/components/Clickable/ClickableButtonArrow.styles.js.map +1 -0
  50. package/cjs/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  51. package/cjs/components/Clickable/ClickableButtonCaption.js +57 -0
  52. package/cjs/components/Clickable/ClickableButtonCaption.js.map +1 -0
  53. package/cjs/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  54. package/cjs/components/Clickable/ClickableButtonCaption.styles.js +23 -0
  55. package/cjs/components/Clickable/ClickableButtonCaption.styles.js.map +1 -0
  56. package/cjs/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  57. package/cjs/components/Clickable/ClickableButtonIcon.js +64 -0
  58. package/cjs/components/Clickable/ClickableButtonIcon.js.map +1 -0
  59. package/cjs/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  60. package/cjs/components/Clickable/ClickableButtonIcon.styles.js +108 -0
  61. package/cjs/components/Clickable/ClickableButtonIcon.styles.js.map +1 -0
  62. package/cjs/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  63. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js +19 -0
  64. package/cjs/components/Clickable/ClickableButtonLoadingIcon.js.map +1 -0
  65. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  66. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js +17 -0
  67. package/cjs/components/Clickable/ClickableButtonLoadingIcon.styles.js.map +1 -0
  68. package/cjs/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  69. package/cjs/components/Clickable/ClickableButtonOutline.js +36 -0
  70. package/cjs/components/Clickable/ClickableButtonOutline.js.map +1 -0
  71. package/cjs/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  72. package/cjs/components/Clickable/ClickableButtonOutline.styles.js +25 -0
  73. package/cjs/components/Clickable/ClickableButtonOutline.styles.js.map +1 -0
  74. package/cjs/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  75. package/cjs/components/Clickable/ClickableButtonWrapper.js +27 -0
  76. package/cjs/components/Clickable/ClickableButtonWrapper.js.map +1 -0
  77. package/cjs/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  78. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js +27 -0
  79. package/cjs/components/Clickable/ClickableButtonWrapper.styles.js.map +1 -0
  80. package/cjs/components/Clickable/ClickableLink.d.ts +5 -0
  81. package/cjs/components/Clickable/ClickableLink.js +28 -0
  82. package/cjs/components/Clickable/ClickableLink.js.map +1 -0
  83. package/cjs/components/Clickable/ClickableLink.styles.d.ts +21 -0
  84. package/cjs/components/Clickable/ClickableLink.styles.js +134 -0
  85. package/cjs/components/Clickable/ClickableLink.styles.js.map +1 -0
  86. package/cjs/components/Clickable/ClickableLinkChild.d.ts +7 -0
  87. package/cjs/components/Clickable/ClickableLinkChild.js +40 -0
  88. package/cjs/components/Clickable/ClickableLinkChild.js.map +1 -0
  89. package/cjs/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  90. package/cjs/components/Clickable/ClickableLinkChild.styles.js +42 -0
  91. package/cjs/components/Clickable/ClickableLinkChild.styles.js.map +1 -0
  92. package/cjs/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  93. package/cjs/components/Clickable/ClickableLinkIcon.js +30 -0
  94. package/cjs/components/Clickable/ClickableLinkIcon.js.map +1 -0
  95. package/cjs/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  96. package/cjs/components/Clickable/ClickableLinkIcon.styles.js +20 -0
  97. package/cjs/components/Clickable/ClickableLinkIcon.styles.js.map +1 -0
  98. package/cjs/components/Clickable/index.d.ts +1 -0
  99. package/cjs/components/Clickable/index.js +1 -0
  100. package/cjs/components/Clickable/index.js.map +1 -0
  101. package/cjs/components/Clickable/utils.d.ts +6 -0
  102. package/cjs/components/Clickable/utils.js +47 -0
  103. package/cjs/components/Clickable/utils.js.map +1 -0
  104. package/cjs/components/CurrencyInput/CurrencyInput.js +3 -1
  105. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  106. package/cjs/components/DateInput/DateFragmentsView.js +2 -1
  107. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  108. package/cjs/components/DateInput/DateInput.js +2 -1
  109. package/cjs/components/DateInput/DateInput.js.map +1 -1
  110. package/cjs/components/DateInput/helpers/SelectionHelpers.js +11 -10
  111. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  112. package/cjs/components/Dropdown/getDropdownTheme.js +21 -22
  113. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  114. package/cjs/components/FileUploader/FileUploader.js +5 -5
  115. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  116. package/cjs/components/FileUploader/FileUploader.styles.d.ts +1 -1
  117. package/cjs/components/FileUploader/FileUploader.styles.js +10 -2
  118. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  119. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  120. package/cjs/components/GlobalLoader/GlobalLoader.js +11 -16
  121. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  122. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  123. package/cjs/components/GlobalLoader/GlobalLoaderView.js +3 -5
  124. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  125. package/cjs/components/Group/Group.js +7 -5
  126. package/cjs/components/Group/Group.js.map +1 -1
  127. package/cjs/components/Group/Group.md +24 -0
  128. package/cjs/components/Hint/Hint.js +5 -5
  129. package/cjs/components/Hint/Hint.js.map +1 -1
  130. package/cjs/components/Input/Input.d.ts +22 -5
  131. package/cjs/components/Input/Input.js +43 -22
  132. package/cjs/components/Input/Input.js.map +1 -1
  133. package/cjs/components/Input/Input.typings.d.ts +7 -0
  134. package/cjs/components/Input/Input.typings.js +1 -0
  135. package/cjs/components/Input/Input.typings.js.map +1 -0
  136. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -1
  137. package/cjs/components/Input/InputLayout/InputLayout.styles.js +7 -2
  138. package/cjs/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  139. package/cjs/components/Input/InputLayout/InputLayoutAside.js +1 -7
  140. package/cjs/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  141. package/cjs/components/Input/index.d.ts +1 -0
  142. package/cjs/components/Input/index.js +2 -1
  143. package/cjs/components/Input/index.js.map +1 -1
  144. package/cjs/components/Kebab/Kebab.js +3 -2
  145. package/cjs/components/Kebab/Kebab.js.map +1 -1
  146. package/cjs/components/Link/Link.js +11 -7
  147. package/cjs/components/Link/Link.js.map +1 -1
  148. package/cjs/components/Link/Link.md +69 -0
  149. package/cjs/components/Link/Link.styles.d.ts +1 -0
  150. package/cjs/components/Link/Link.styles.js +30 -22
  151. package/cjs/components/Link/Link.styles.js.map +1 -1
  152. package/cjs/components/Loader/Loader.js +8 -7
  153. package/cjs/components/Loader/Loader.js.map +1 -1
  154. package/cjs/components/MaskedInput/MaskedInput.d.ts +24 -0
  155. package/cjs/components/MaskedInput/MaskedInput.js +78 -0
  156. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -0
  157. package/cjs/components/MaskedInput/MaskedInput.md +21 -0
  158. package/cjs/components/MaskedInput/index.js.map +1 -0
  159. package/cjs/components/MenuHeader/MenuHeader.js +3 -1
  160. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  161. package/cjs/components/MenuItem/MenuItem.d.ts +21 -0
  162. package/cjs/components/MenuItem/MenuItem.js +113 -15
  163. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  164. package/cjs/components/MenuItem/MenuItem.md +20 -6
  165. package/cjs/components/MiniModal/MiniModal.d.ts +18 -0
  166. package/cjs/components/MiniModal/MiniModal.js +47 -0
  167. package/cjs/components/MiniModal/MiniModal.js.map +1 -0
  168. package/cjs/components/MiniModal/MiniModal.md +233 -0
  169. package/cjs/components/MiniModal/MiniModal.styles.d.ts +14 -0
  170. package/cjs/components/MiniModal/MiniModal.styles.js +87 -0
  171. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -0
  172. package/cjs/components/MiniModal/MiniModalBody.d.ts +7 -0
  173. package/cjs/components/MiniModal/MiniModalBody.js +24 -0
  174. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -0
  175. package/cjs/components/MiniModal/MiniModalFooter.d.ts +18 -0
  176. package/cjs/components/MiniModal/MiniModalFooter.js +60 -0
  177. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -0
  178. package/cjs/components/MiniModal/MiniModalHeader.d.ts +17 -0
  179. package/cjs/components/MiniModal/MiniModalHeader.js +47 -0
  180. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -0
  181. package/cjs/components/MiniModal/MiniModalIndent.d.ts +6 -0
  182. package/cjs/components/MiniModal/MiniModalIndent.js +29 -0
  183. package/cjs/components/MiniModal/MiniModalIndent.js.map +1 -0
  184. package/cjs/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  185. package/cjs/components/MiniModal/getMiniModalTheme.js +24 -0
  186. package/cjs/components/MiniModal/getMiniModalTheme.js.map +1 -0
  187. package/cjs/components/MiniModal/index.d.ts +5 -0
  188. package/cjs/components/MiniModal/index.js +5 -0
  189. package/cjs/components/MiniModal/index.js.map +1 -0
  190. package/cjs/components/Modal/Modal.d.ts +6 -0
  191. package/cjs/components/Modal/Modal.js +15 -1
  192. package/cjs/components/Modal/Modal.js.map +1 -1
  193. package/cjs/components/Modal/Modal.styles.d.ts +5 -0
  194. package/cjs/components/Modal/Modal.styles.js +56 -39
  195. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  196. package/cjs/components/Modal/ModalClose.js +2 -1
  197. package/cjs/components/Modal/ModalClose.js.map +1 -1
  198. package/cjs/components/Modal/ModalHeader.js +1 -1
  199. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  200. package/cjs/components/Modal/ModalSeparator.d.ts +5 -0
  201. package/cjs/components/Modal/ModalSeparator.js +5 -0
  202. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  203. package/cjs/components/Modal/getModalTheme.d.ts +2 -2
  204. package/cjs/components/Modal/getModalTheme.js +6 -2
  205. package/cjs/components/Modal/getModalTheme.js.map +1 -1
  206. package/cjs/components/Paging/NavigationHelper.js +2 -1
  207. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  208. package/cjs/components/Paging/Paging.js +16 -14
  209. package/cjs/components/Paging/Paging.js.map +1 -1
  210. package/cjs/components/Paging/Paging.styles.d.ts +0 -1
  211. package/cjs/components/Paging/Paging.styles.js +3 -9
  212. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  213. package/cjs/components/PasswordInput/PasswordInput.js +4 -2
  214. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  215. package/cjs/components/Radio/Radio.js +2 -1
  216. package/cjs/components/Radio/Radio.js.map +1 -1
  217. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +5 -6
  218. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  219. package/cjs/components/ScrollContainer/ScrollBar.d.ts +4 -7
  220. package/cjs/components/ScrollContainer/ScrollBar.js +15 -45
  221. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  222. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +1 -2
  223. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  224. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  225. package/cjs/components/ScrollContainer/ScrollContainer.js +102 -21
  226. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  227. package/cjs/components/ScrollContainer/ScrollContainer.md +29 -2
  228. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  229. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +8 -30
  230. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  231. package/cjs/components/Select/Item.d.ts +1 -0
  232. package/cjs/components/Select/Item.js +2 -1
  233. package/cjs/components/Select/Item.js.map +1 -1
  234. package/cjs/components/Select/Select.d.ts +2 -0
  235. package/cjs/components/Select/Select.js +25 -8
  236. package/cjs/components/Select/Select.js.map +1 -1
  237. package/cjs/components/Select/Select.md +12 -0
  238. package/cjs/components/SidePage/SidePage.d.ts +3 -1
  239. package/cjs/components/SidePage/SidePage.js +36 -5
  240. package/cjs/components/SidePage/SidePage.js.map +1 -1
  241. package/cjs/components/SidePage/SidePageCloseButton.js +2 -1
  242. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  243. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  244. package/cjs/components/SidePage/SidePageHeader.js +8 -6
  245. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  246. package/cjs/components/SingleToast/SingleToast.d.ts +11 -0
  247. package/cjs/components/SingleToast/SingleToast.js +20 -0
  248. package/cjs/components/SingleToast/SingleToast.js.map +1 -0
  249. package/cjs/components/SingleToast/SingleToast.md +35 -0
  250. package/cjs/components/SingleToast/index.d.ts +1 -0
  251. package/cjs/components/SingleToast/index.js +1 -0
  252. package/cjs/components/SingleToast/index.js.map +1 -0
  253. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  254. package/cjs/components/Spinner/Spinner.js +16 -1
  255. package/cjs/components/Spinner/Spinner.js.map +1 -1
  256. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +6 -2
  257. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  258. package/cjs/components/Sticky/Sticky.js +5 -10
  259. package/cjs/components/Sticky/Sticky.js.map +1 -1
  260. package/cjs/components/Switcher/Switcher.d.ts +1 -1
  261. package/cjs/components/Switcher/Switcher.js.map +1 -1
  262. package/cjs/components/Tabs/Indicator.js +3 -1
  263. package/cjs/components/Tabs/Indicator.js.map +1 -1
  264. package/cjs/components/Tabs/Tab.js +2 -1
  265. package/cjs/components/Tabs/Tab.js.map +1 -1
  266. package/cjs/components/Tabs/Tabs.js +3 -1
  267. package/cjs/components/Tabs/Tabs.js.map +1 -1
  268. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  269. package/cjs/components/Textarea/Textarea.js +38 -11
  270. package/cjs/components/Textarea/Textarea.js.map +1 -1
  271. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -1
  272. package/cjs/components/Textarea/TextareaCounter.js +2 -1
  273. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  274. package/cjs/components/Textarea/TextareaHelpers.d.ts +1 -1
  275. package/cjs/components/Textarea/TextareaHelpers.js +7 -2
  276. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  277. package/cjs/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  278. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js +20 -0
  279. package/cjs/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -0
  280. package/cjs/components/Toast/Toast.d.ts +10 -3
  281. package/cjs/components/Toast/Toast.js +26 -8
  282. package/cjs/components/Toast/Toast.js.map +1 -1
  283. package/cjs/components/Toast/Toast.md +0 -105
  284. package/cjs/components/Toast/ToastStatic.js +4 -3
  285. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  286. package/cjs/components/Token/Token.js +1 -6
  287. package/cjs/components/Token/Token.js.map +1 -1
  288. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  289. package/cjs/components/TokenInput/TokenInput.js +42 -9
  290. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  291. package/cjs/components/TokenInput/TokenInput.md +71 -0
  292. package/cjs/components/Tooltip/Tooltip.d.ts +6 -1
  293. package/cjs/components/Tooltip/Tooltip.js +15 -5
  294. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  295. package/cjs/components/Tooltip/Tooltip.md +24 -0
  296. package/cjs/hooks/useDrop.js +3 -2
  297. package/cjs/hooks/useDrop.js.map +1 -1
  298. package/cjs/index.d.ts +5 -0
  299. package/cjs/index.js +5 -0
  300. package/cjs/index.js.map +1 -1
  301. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js +2 -1
  302. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  303. package/cjs/internal/ComponentCombinator.d.ts +7 -8
  304. package/cjs/internal/ComponentCombinator.js +2 -5
  305. package/cjs/internal/ComponentCombinator.js.map +1 -1
  306. package/cjs/internal/ComponentTable.d.ts +7 -19
  307. package/cjs/internal/ComponentTable.js +50 -77
  308. package/cjs/internal/ComponentTable.js.map +1 -1
  309. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -3
  310. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  311. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
  312. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  313. package/cjs/internal/DateSelect/DateSelect.js +20 -16
  314. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  315. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  316. package/cjs/internal/DropdownContainer/DropdownContainer.js +14 -13
  317. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  318. package/cjs/internal/DropdownContainer/getManualPosition.js +6 -4
  319. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -1
  320. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
  321. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +2 -1
  322. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  323. package/cjs/internal/FocusTrap/FocusTrap.js +8 -6
  324. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  325. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +19 -20
  326. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  327. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  328. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  329. package/cjs/internal/InputLikeText/InputLikeText.js +17 -16
  330. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  331. package/cjs/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  332. package/cjs/internal/{MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput.js} +11 -8
  333. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  334. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +1 -0
  335. package/cjs/internal/InternalMaskedInput/index.d.ts +1 -0
  336. package/cjs/internal/InternalMaskedInput/index.js +1 -0
  337. package/cjs/internal/InternalMaskedInput/index.js.map +1 -0
  338. package/cjs/internal/InternalMenu/InternalMenu.js +8 -7
  339. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  340. package/cjs/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  341. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  342. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js +52 -0
  343. package/cjs/internal/MaskedInputElement/MaskedInputElement.helpers.js.map +1 -0
  344. package/cjs/internal/MaskedInputElement/MaskedInputElement.js +196 -0
  345. package/cjs/internal/MaskedInputElement/MaskedInputElement.js.map +1 -0
  346. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js +29 -0
  347. package/cjs/internal/MaskedInputElement/MaskedInputElement.styles.js.map +1 -0
  348. package/cjs/internal/MaskedInputElement/index.d.ts +1 -0
  349. package/cjs/internal/MaskedInputElement/index.js +1 -0
  350. package/cjs/internal/MaskedInputElement/index.js.map +1 -0
  351. package/cjs/internal/Menu/Menu.d.ts +6 -0
  352. package/cjs/internal/Menu/Menu.js +84 -16
  353. package/cjs/internal/Menu/Menu.js.map +1 -1
  354. package/cjs/internal/Menu/MenuContext.d.ts +10 -0
  355. package/cjs/internal/Menu/MenuContext.js +16 -0
  356. package/cjs/internal/Menu/MenuContext.js.map +1 -0
  357. package/cjs/internal/Menu/MenuNavigation.d.ts +26 -0
  358. package/cjs/internal/Menu/MenuNavigation.js +107 -0
  359. package/cjs/internal/Menu/MenuNavigation.js.map +1 -0
  360. package/cjs/internal/Menu/isActiveElement.js +1 -1
  361. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  362. package/cjs/internal/MenuMessage/MenuMessage.d.ts +1 -1
  363. package/cjs/internal/Popup/Popup.js +12 -8
  364. package/cjs/internal/Popup/Popup.js.map +1 -1
  365. package/cjs/internal/Popup/PopupHelper.js +9 -7
  366. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  367. package/cjs/internal/PopupMenu/PopupMenu.js +3 -2
  368. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  369. package/cjs/internal/RenderContainer/RenderContainer.d.ts +0 -1
  370. package/cjs/internal/RenderContainer/RenderContainer.js +18 -22
  371. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  372. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -1
  373. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  374. package/cjs/internal/RenderLayer/RenderLayer.js +5 -3
  375. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  376. package/cjs/internal/ThemePlayground/VariableValue.js +1 -0
  377. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  378. package/cjs/internal/ThemePlayground/constants.js +1 -0
  379. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  380. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  381. package/cjs/internal/ThemeShowcase/VariablesCollector.js +6 -4
  382. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  383. package/cjs/internal/ZIndex/ZIndex.js +2 -2
  384. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  385. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -2
  386. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  387. package/cjs/internal/icons/16px/index.d.ts +19 -19
  388. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  389. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  390. package/cjs/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  391. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  392. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  393. package/cjs/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  394. package/cjs/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  395. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  396. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  397. package/cjs/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  398. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  399. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  400. package/cjs/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  401. package/cjs/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  402. package/cjs/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  403. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  404. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  405. package/cjs/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  406. package/cjs/internal/icons2022/BaseIcon.d.ts +1 -1
  407. package/cjs/internal/icons2022/BaseIcon.js +3 -7
  408. package/cjs/internal/icons2022/BaseIcon.js.map +1 -1
  409. package/cjs/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  410. package/cjs/internal/icons2022/BaseIcon.styles.js +14 -0
  411. package/cjs/internal/icons2022/BaseIcon.styles.js.map +1 -0
  412. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  413. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  414. package/cjs/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  415. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  416. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  417. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  418. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  419. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  420. package/cjs/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  421. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  422. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  423. package/cjs/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  424. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  425. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  426. package/cjs/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  427. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  428. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js +20 -0
  429. package/cjs/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -0
  430. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  431. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  432. package/cjs/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  433. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  434. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  435. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  436. package/cjs/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  437. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  438. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  439. package/cjs/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  440. package/cjs/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  441. package/cjs/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  442. package/cjs/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  443. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  444. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  445. package/cjs/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  446. package/cjs/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  447. package/cjs/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  448. package/cjs/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  449. package/cjs/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  450. package/cjs/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  451. package/cjs/internal/themes/DefaultTheme.d.ts +67 -2
  452. package/cjs/internal/themes/DefaultTheme.js +134 -7
  453. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  454. package/cjs/internal/themes/Theme2022.d.ts +22 -7
  455. package/cjs/internal/themes/Theme2022.js +40 -11
  456. package/cjs/internal/themes/Theme2022.js.map +1 -1
  457. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -9
  458. package/cjs/internal/themes/Theme2022Dark.js +10 -10
  459. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  460. package/cjs/lib/LayoutEvents.js +5 -4
  461. package/cjs/lib/LayoutEvents.js.map +1 -1
  462. package/cjs/lib/ModalStack.js +2 -3
  463. package/cjs/lib/ModalStack.js.map +1 -1
  464. package/cjs/lib/SSRSafe.d.ts +1 -6
  465. package/cjs/lib/SSRSafe.js +4 -48
  466. package/cjs/lib/SSRSafe.js.map +1 -1
  467. package/cjs/lib/Upgrades.d.ts +1 -0
  468. package/cjs/lib/Upgrades.js +3 -1
  469. package/cjs/lib/Upgrades.js.map +1 -1
  470. package/cjs/lib/animation/index.js +6 -4
  471. package/cjs/lib/animation/index.js.map +1 -1
  472. package/cjs/lib/chars.d.ts +1 -1
  473. package/cjs/lib/chars.js +2 -2
  474. package/cjs/lib/chars.js.map +1 -1
  475. package/cjs/lib/client.d.ts +2 -7
  476. package/cjs/lib/client.js +9 -7
  477. package/cjs/lib/client.js.map +1 -1
  478. package/cjs/lib/dom/getScrollWidth.js +4 -4
  479. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  480. package/cjs/lib/dom/tabbableHelpers.d.ts +2 -1
  481. package/cjs/lib/dom/tabbableHelpers.js +8 -2
  482. package/cjs/lib/dom/tabbableHelpers.js.map +1 -1
  483. package/cjs/lib/events/MouseDrag.js +11 -11
  484. package/cjs/lib/events/MouseDrag.js.map +1 -1
  485. package/cjs/lib/events/fixClickFocusIE.js +6 -3
  486. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  487. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +5 -2
  488. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  489. package/cjs/lib/events/keyListener.js +9 -11
  490. package/cjs/lib/events/keyListener.js.map +1 -1
  491. package/cjs/lib/events/keyboard/identifiers.js +5 -2
  492. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  493. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  494. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  495. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js +5 -0
  496. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -0
  497. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  498. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +20 -0
  499. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  500. package/cjs/lib/featureFlagsContext/index.d.ts +2 -0
  501. package/cjs/lib/featureFlagsContext/index.js +3 -0
  502. package/cjs/lib/featureFlagsContext/index.js.map +1 -0
  503. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  504. package/cjs/lib/forwardRefAndName.js +4 -1
  505. package/cjs/lib/forwardRefAndName.js.map +1 -1
  506. package/cjs/lib/isInstanceOf.d.ts +1 -0
  507. package/cjs/lib/isInstanceOf.js +6 -0
  508. package/cjs/lib/isInstanceOf.js.map +1 -0
  509. package/cjs/lib/listenFocusOutside.js +15 -15
  510. package/cjs/lib/listenFocusOutside.js.map +1 -1
  511. package/cjs/lib/needsPolyfillPlaceholder.js +5 -3
  512. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  513. package/cjs/lib/net/fetch.js +24 -18
  514. package/cjs/lib/net/fetch.js.map +1 -1
  515. package/cjs/lib/rootNode/getRootNode.js +6 -6
  516. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  517. package/cjs/lib/styles/ColorFactory.js +13 -11
  518. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  519. package/cjs/lib/styles/ColorHelpers.d.ts +1 -1
  520. package/cjs/lib/styles/ColorHelpers.js +3 -7
  521. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  522. package/cjs/lib/taskWithDelayAndMinimalDuration.js +5 -5
  523. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  524. package/cjs/lib/theming/Emotion.js +4 -2
  525. package/cjs/lib/theming/Emotion.js.map +1 -1
  526. package/cjs/lib/utils.d.ts +7 -0
  527. package/cjs/lib/utils.js +29 -7
  528. package/cjs/lib/utils.js.map +1 -1
  529. package/cjs/typings/global.d.ts +3 -4
  530. package/cjs/typings/react-ref.d.ts +29 -0
  531. package/cjs/typings/utility-types.d.ts +2 -0
  532. package/components/Button/Button/Button.js +16 -3
  533. package/components/Button/Button/Button.js.map +1 -1
  534. package/components/Button/Button.d.ts +1 -0
  535. package/components/Button/Button.md +68 -0
  536. package/components/Button/Button.mixins/Button.mixins.js +58 -13
  537. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  538. package/components/Button/Button.mixins.d.ts +6 -6
  539. package/components/Button/Button.styles/Button.styles.js +210 -24
  540. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  541. package/components/Button/Button.styles.d.ts +2 -1
  542. package/components/Button/ButtonArrow/ButtonArrow.js +1 -1
  543. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  544. package/components/Button/ButtonIcon/ButtonIcon.js +2 -4
  545. package/components/Button/ButtonIcon/ButtonIcon.js.map +1 -1
  546. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +1 -0
  547. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  548. package/components/Calendar/Calendar/Calendar.js +8 -6
  549. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  550. package/components/Checkbox/Checkbox/Checkbox.js +10 -5
  551. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  552. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js +17 -0
  553. package/components/Clickable/ArrowLeftIcon/ArrowLeftIcon.js.map +1 -0
  554. package/components/Clickable/ArrowLeftIcon/package.json +6 -0
  555. package/components/Clickable/ArrowLeftIcon.d.ts +3 -0
  556. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js +17 -0
  557. package/components/Clickable/ArrowRightIcon/ArrowRightIcon.js.map +1 -0
  558. package/components/Clickable/ArrowRightIcon/package.json +6 -0
  559. package/components/Clickable/ArrowRightIcon.d.ts +3 -0
  560. package/components/Clickable/Clickable/Clickable.js +165 -0
  561. package/components/Clickable/Clickable/Clickable.js.map +1 -0
  562. package/components/Clickable/Clickable/package.json +6 -0
  563. package/components/Clickable/Clickable.d.ts +95 -0
  564. package/components/Clickable/Clickable.md +210 -0
  565. package/components/Clickable/Clickable.styles/Clickable.styles.js +13 -0
  566. package/components/Clickable/Clickable.styles/Clickable.styles.js.map +1 -0
  567. package/components/Clickable/Clickable.styles/package.json +6 -0
  568. package/components/Clickable/Clickable.styles.d.ts +11 -0
  569. package/components/Clickable/ClickableButton/ClickableButton.js +31 -0
  570. package/components/Clickable/ClickableButton/ClickableButton.js.map +1 -0
  571. package/components/Clickable/ClickableButton/package.json +6 -0
  572. package/components/Clickable/ClickableButton.d.ts +5 -0
  573. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js +81 -0
  574. package/components/Clickable/ClickableButton.mixins/ClickableButton.mixins.js.map +1 -0
  575. package/components/Clickable/ClickableButton.mixins/package.json +6 -0
  576. package/components/Clickable/ClickableButton.mixins.d.ts +30 -0
  577. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js +313 -0
  578. package/components/Clickable/ClickableButton.styles/ClickableButton.styles.js.map +1 -0
  579. package/components/Clickable/ClickableButton.styles/package.json +6 -0
  580. package/components/Clickable/ClickableButton.styles.d.ts +63 -0
  581. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js +21 -0
  582. package/components/Clickable/ClickableButtonArrow/ClickableButtonArrow.js.map +1 -0
  583. package/components/Clickable/ClickableButtonArrow/package.json +6 -0
  584. package/components/Clickable/ClickableButtonArrow.d.ts +4 -0
  585. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js +22 -0
  586. package/components/Clickable/ClickableButtonArrow.styles/ClickableButtonArrow.styles.js.map +1 -0
  587. package/components/Clickable/ClickableButtonArrow.styles/package.json +6 -0
  588. package/components/Clickable/ClickableButtonArrow.styles.d.ts +8 -0
  589. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js +37 -0
  590. package/components/Clickable/ClickableButtonCaption/ClickableButtonCaption.js.map +1 -0
  591. package/components/Clickable/ClickableButtonCaption/package.json +6 -0
  592. package/components/Clickable/ClickableButtonCaption.d.ts +2 -0
  593. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js +16 -0
  594. package/components/Clickable/ClickableButtonCaption.styles/ClickableButtonCaption.styles.js.map +1 -0
  595. package/components/Clickable/ClickableButtonCaption.styles/package.json +6 -0
  596. package/components/Clickable/ClickableButtonCaption.styles.d.ts +5 -0
  597. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js +51 -0
  598. package/components/Clickable/ClickableButtonIcon/ClickableButtonIcon.js.map +1 -0
  599. package/components/Clickable/ClickableButtonIcon/package.json +6 -0
  600. package/components/Clickable/ClickableButtonIcon.d.ts +7 -0
  601. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js +58 -0
  602. package/components/Clickable/ClickableButtonIcon.styles/ClickableButtonIcon.styles.js.map +1 -0
  603. package/components/Clickable/ClickableButtonIcon.styles/package.json +6 -0
  604. package/components/Clickable/ClickableButtonIcon.styles.d.ts +19 -0
  605. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js +18 -0
  606. package/components/Clickable/ClickableButtonLoadingIcon/ClickableButtonLoadingIcon.js.map +1 -0
  607. package/components/Clickable/ClickableButtonLoadingIcon/package.json +6 -0
  608. package/components/Clickable/ClickableButtonLoadingIcon.d.ts +6 -0
  609. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js +10 -0
  610. package/components/Clickable/ClickableButtonLoadingIcon.styles/ClickableButtonLoadingIcon.styles.js.map +1 -0
  611. package/components/Clickable/ClickableButtonLoadingIcon.styles/package.json +6 -0
  612. package/components/Clickable/ClickableButtonLoadingIcon.styles.d.ts +3 -0
  613. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js +22 -0
  614. package/components/Clickable/ClickableButtonOutline/ClickableButtonOutline.js.map +1 -0
  615. package/components/Clickable/ClickableButtonOutline/package.json +6 -0
  616. package/components/Clickable/ClickableButtonOutline.d.ts +4 -0
  617. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js +16 -0
  618. package/components/Clickable/ClickableButtonOutline.styles/ClickableButtonOutline.styles.js.map +1 -0
  619. package/components/Clickable/ClickableButtonOutline.styles/package.json +6 -0
  620. package/components/Clickable/ClickableButtonOutline.styles.d.ts +6 -0
  621. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js +18 -0
  622. package/components/Clickable/ClickableButtonWrapper/ClickableButtonWrapper.js.map +1 -0
  623. package/components/Clickable/ClickableButtonWrapper/package.json +6 -0
  624. package/components/Clickable/ClickableButtonWrapper.d.ts +3 -0
  625. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js +19 -0
  626. package/components/Clickable/ClickableButtonWrapper.styles/ClickableButtonWrapper.styles.js.map +1 -0
  627. package/components/Clickable/ClickableButtonWrapper.styles/package.json +6 -0
  628. package/components/Clickable/ClickableButtonWrapper.styles.d.ts +7 -0
  629. package/components/Clickable/ClickableLink/ClickableLink.js +24 -0
  630. package/components/Clickable/ClickableLink/ClickableLink.js.map +1 -0
  631. package/components/Clickable/ClickableLink/package.json +6 -0
  632. package/components/Clickable/ClickableLink.d.ts +5 -0
  633. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js +52 -0
  634. package/components/Clickable/ClickableLink.styles/ClickableLink.styles.js.map +1 -0
  635. package/components/Clickable/ClickableLink.styles/package.json +6 -0
  636. package/components/Clickable/ClickableLink.styles.d.ts +21 -0
  637. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js +20 -0
  638. package/components/Clickable/ClickableLinkChild/ClickableLinkChild.js.map +1 -0
  639. package/components/Clickable/ClickableLinkChild/package.json +6 -0
  640. package/components/Clickable/ClickableLinkChild.d.ts +7 -0
  641. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js +24 -0
  642. package/components/Clickable/ClickableLinkChild.styles/ClickableLinkChild.styles.js.map +1 -0
  643. package/components/Clickable/ClickableLinkChild.styles/package.json +6 -0
  644. package/components/Clickable/ClickableLinkChild.styles.d.ts +7 -0
  645. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js +21 -0
  646. package/components/Clickable/ClickableLinkIcon/ClickableLinkIcon.js.map +1 -0
  647. package/components/Clickable/ClickableLinkIcon/package.json +6 -0
  648. package/components/Clickable/ClickableLinkIcon.d.ts +7 -0
  649. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js +16 -0
  650. package/components/Clickable/ClickableLinkIcon.styles/ClickableLinkIcon.styles.js.map +1 -0
  651. package/components/Clickable/ClickableLinkIcon.styles/package.json +6 -0
  652. package/components/Clickable/ClickableLinkIcon.styles.d.ts +6 -0
  653. package/components/Clickable/index/index.js +1 -0
  654. package/components/Clickable/index/index.js.map +1 -0
  655. package/{internal/MaskedInput → components/Clickable}/index/package.json +1 -1
  656. package/components/Clickable/index.d.ts +1 -0
  657. package/{internal/MaskedInput → components/Clickable}/package.json +1 -1
  658. package/components/Clickable/utils/package.json +6 -0
  659. package/components/Clickable/utils/utils.js +44 -0
  660. package/components/Clickable/utils/utils.js.map +1 -0
  661. package/components/Clickable/utils.d.ts +6 -0
  662. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +3 -1
  663. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  664. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +4 -1
  665. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  666. package/components/DateInput/DateInput/DateInput.js +2 -1
  667. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  668. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +10 -10
  669. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  670. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +21 -22
  671. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  672. package/components/FileUploader/FileUploader/FileUploader.js +5 -5
  673. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  674. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +2 -2
  675. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  676. package/components/FileUploader/FileUploader.styles.d.ts +1 -1
  677. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +30 -34
  678. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  679. package/components/GlobalLoader/GlobalLoader.d.ts +1 -2
  680. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +2 -3
  681. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  682. package/components/GlobalLoader/GlobalLoaderView.d.ts +1 -2
  683. package/components/Group/Group/Group.js +9 -10
  684. package/components/Group/Group/Group.js.map +1 -1
  685. package/components/Group/Group.md +24 -0
  686. package/components/Hint/Hint/Hint.js +6 -7
  687. package/components/Hint/Hint/Hint.js.map +1 -1
  688. package/components/Input/Input/Input.js +28 -16
  689. package/components/Input/Input/Input.js.map +1 -1
  690. package/components/Input/Input.d.ts +22 -5
  691. package/components/Input/Input.typings/Input.typings.js +1 -0
  692. package/components/Input/Input.typings/Input.typings.js.map +1 -0
  693. package/components/Input/Input.typings/package.json +6 -0
  694. package/components/Input/Input.typings.d.ts +7 -0
  695. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  696. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js +2 -1
  697. package/components/Input/InputLayout/InputLayout.styles/InputLayout.styles.js.map +1 -1
  698. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js +1 -2
  699. package/components/Input/InputLayout/InputLayoutAside/InputLayoutAside.js.map +1 -1
  700. package/components/Input/index/index.js +2 -1
  701. package/components/Input/index/index.js.map +1 -1
  702. package/components/Input/index.d.ts +1 -0
  703. package/components/Kebab/Kebab/Kebab.js +3 -2
  704. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  705. package/components/Link/Link/Link.js +5 -4
  706. package/components/Link/Link/Link.js.map +1 -1
  707. package/components/Link/Link.md +69 -0
  708. package/components/Link/Link.styles/Link.styles.js +25 -22
  709. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  710. package/components/Link/Link.styles.d.ts +1 -0
  711. package/components/Loader/Loader/Loader.js +9 -6
  712. package/components/Loader/Loader/Loader.js.map +1 -1
  713. package/components/MaskedInput/MaskedInput/MaskedInput.js +62 -0
  714. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -0
  715. package/{internal → components}/MaskedInput/MaskedInput/package.json +1 -1
  716. package/components/MaskedInput/MaskedInput.d.ts +24 -0
  717. package/components/MaskedInput/MaskedInput.md +21 -0
  718. package/components/MaskedInput/index/index.js.map +1 -0
  719. package/components/MaskedInput/index/package.json +6 -0
  720. package/components/MaskedInput/package.json +6 -0
  721. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -1
  722. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  723. package/components/MenuItem/MenuItem/MenuItem.js +129 -19
  724. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  725. package/components/MenuItem/MenuItem.d.ts +21 -0
  726. package/components/MenuItem/MenuItem.md +20 -6
  727. package/components/MiniModal/MiniModal/MiniModal.js +38 -0
  728. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -0
  729. package/components/MiniModal/MiniModal/package.json +6 -0
  730. package/components/MiniModal/MiniModal.d.ts +18 -0
  731. package/components/MiniModal/MiniModal.md +233 -0
  732. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +41 -0
  733. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -0
  734. package/components/MiniModal/MiniModal.styles/package.json +6 -0
  735. package/components/MiniModal/MiniModal.styles.d.ts +14 -0
  736. package/components/MiniModal/MiniModalBody/MiniModalBody.js +23 -0
  737. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -0
  738. package/components/MiniModal/MiniModalBody/package.json +6 -0
  739. package/components/MiniModal/MiniModalBody.d.ts +7 -0
  740. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js +35 -0
  741. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -0
  742. package/components/MiniModal/MiniModalFooter/package.json +6 -0
  743. package/components/MiniModal/MiniModalFooter.d.ts +18 -0
  744. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js +33 -0
  745. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -0
  746. package/components/MiniModal/MiniModalHeader/package.json +6 -0
  747. package/components/MiniModal/MiniModalHeader.d.ts +17 -0
  748. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js +27 -0
  749. package/components/MiniModal/MiniModalIndent/MiniModalIndent.js.map +1 -0
  750. package/components/MiniModal/MiniModalIndent/package.json +6 -0
  751. package/components/MiniModal/MiniModalIndent.d.ts +6 -0
  752. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js +23 -0
  753. package/components/MiniModal/getMiniModalTheme/getMiniModalTheme.js.map +1 -0
  754. package/components/MiniModal/getMiniModalTheme/package.json +6 -0
  755. package/components/MiniModal/getMiniModalTheme.d.ts +16 -0
  756. package/components/MiniModal/index/index.js +5 -0
  757. package/components/MiniModal/index/index.js.map +1 -0
  758. package/components/MiniModal/index/package.json +6 -0
  759. package/components/MiniModal/index.d.ts +5 -0
  760. package/components/MiniModal/package.json +6 -0
  761. package/components/Modal/Modal/Modal.js +18 -14
  762. package/components/Modal/Modal/Modal.js.map +1 -1
  763. package/components/Modal/Modal.d.ts +6 -0
  764. package/components/Modal/Modal.styles/Modal.styles.js +44 -37
  765. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  766. package/components/Modal/Modal.styles.d.ts +5 -0
  767. package/components/Modal/ModalClose/ModalClose.js +2 -1
  768. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  769. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  770. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  771. package/components/Modal/ModalSeparator/ModalSeparator.js +6 -0
  772. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  773. package/components/Modal/ModalSeparator.d.ts +5 -0
  774. package/components/Modal/getModalTheme/getModalTheme.js +8 -3
  775. package/components/Modal/getModalTheme/getModalTheme.js.map +1 -1
  776. package/components/Modal/getModalTheme.d.ts +2 -2
  777. package/components/Paging/NavigationHelper/NavigationHelper.js +2 -1
  778. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  779. package/components/Paging/Paging/Paging.js +16 -10
  780. package/components/Paging/Paging/Paging.js.map +1 -1
  781. package/components/Paging/Paging.styles/Paging.styles.js +2 -5
  782. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  783. package/components/Paging/Paging.styles.d.ts +0 -1
  784. package/components/PasswordInput/PasswordInput/PasswordInput.js +4 -2
  785. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  786. package/components/Radio/Radio/Radio.js +2 -1
  787. package/components/Radio/Radio/Radio.js.map +1 -1
  788. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +5 -6
  789. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  790. package/components/ScrollContainer/ScrollBar/ScrollBar.js +17 -50
  791. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  792. package/components/ScrollContainer/ScrollBar.d.ts +4 -7
  793. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +109 -22
  794. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  795. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +1 -2
  796. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  797. package/components/ScrollContainer/ScrollContainer.d.ts +18 -3
  798. package/components/ScrollContainer/ScrollContainer.md +29 -2
  799. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +6 -18
  800. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  801. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -4
  802. package/components/Select/Item/Item.js +3 -1
  803. package/components/Select/Item/Item.js.map +1 -1
  804. package/components/Select/Item.d.ts +1 -0
  805. package/components/Select/Select/Select.js +23 -16
  806. package/components/Select/Select/Select.js.map +1 -1
  807. package/components/Select/Select.d.ts +2 -0
  808. package/components/Select/Select.md +12 -0
  809. package/components/SidePage/SidePage/SidePage.js +34 -9
  810. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  811. package/components/SidePage/SidePage.d.ts +3 -1
  812. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +2 -1
  813. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  814. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -4
  815. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  816. package/components/SidePage/SidePageHeader.d.ts +1 -0
  817. package/components/SingleToast/SingleToast/SingleToast.js +53 -0
  818. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -0
  819. package/components/SingleToast/SingleToast/package.json +6 -0
  820. package/components/SingleToast/SingleToast.d.ts +11 -0
  821. package/components/SingleToast/SingleToast.md +35 -0
  822. package/components/SingleToast/index/index.js +1 -0
  823. package/components/SingleToast/index/index.js.map +1 -0
  824. package/components/SingleToast/index/package.json +6 -0
  825. package/components/SingleToast/index.d.ts +1 -0
  826. package/components/SingleToast/package.json +6 -0
  827. package/components/Spinner/Spinner/Spinner.js +10 -4
  828. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  829. package/components/Spinner/Spinner.d.ts +1 -0
  830. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +5 -2
  831. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  832. package/components/Sticky/Sticky/Sticky.js +5 -6
  833. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  834. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  835. package/components/Switcher/Switcher.d.ts +1 -1
  836. package/components/Tabs/Indicator/Indicator.js +3 -1
  837. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  838. package/components/Tabs/Tab/Tab.js +2 -1
  839. package/components/Tabs/Tab/Tab.js.map +1 -1
  840. package/components/Tabs/Tabs/Tabs.js +3 -1
  841. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  842. package/components/Textarea/Textarea/Textarea.js +33 -19
  843. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  844. package/components/Textarea/Textarea.d.ts +1 -0
  845. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -3
  846. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  847. package/components/Textarea/TextareaCounter.d.ts +1 -1
  848. package/components/Textarea/TextareaHelpers/TextareaHelpers.js +6 -1
  849. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  850. package/components/Textarea/TextareaHelpers.d.ts +1 -1
  851. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js +21 -0
  852. package/components/Textarea/TextareaWithSafari17Workaround/TextareaWithSafari17Workaround.js.map +1 -0
  853. package/components/Textarea/TextareaWithSafari17Workaround/package.json +6 -0
  854. package/components/Textarea/TextareaWithSafari17Workaround.d.ts +6 -0
  855. package/components/Toast/Toast/Toast.js +16 -7
  856. package/components/Toast/Toast/Toast.js.map +1 -1
  857. package/components/Toast/Toast.d.ts +10 -3
  858. package/components/Toast/Toast.md +0 -105
  859. package/components/Toast/ToastStatic/ToastStatic.js +4 -4
  860. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  861. package/components/Token/Token/Token.js +4 -3
  862. package/components/Token/Token/Token.js.map +1 -1
  863. package/components/TokenInput/TokenInput/TokenInput.js +51 -11
  864. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  865. package/components/TokenInput/TokenInput.d.ts +2 -0
  866. package/components/TokenInput/TokenInput.md +71 -0
  867. package/components/Tooltip/Tooltip/Tooltip.js +10 -7
  868. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  869. package/components/Tooltip/Tooltip.d.ts +6 -1
  870. package/components/Tooltip/Tooltip.md +24 -0
  871. package/hooks/useDrop/useDrop.js +3 -2
  872. package/hooks/useDrop/useDrop.js.map +1 -1
  873. package/index.d.ts +5 -0
  874. package/index.js +5 -0
  875. package/index.js.map +1 -1
  876. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js +2 -1
  877. package/internal/CloseButtonIcon/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  878. package/internal/ComponentCombinator/ComponentCombinator.js +4 -8
  879. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  880. package/internal/ComponentCombinator.d.ts +7 -8
  881. package/internal/ComponentTable/ComponentTable.js +66 -103
  882. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  883. package/internal/ComponentTable.d.ts +7 -19
  884. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +4 -3
  885. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  886. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
  887. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  888. package/internal/DateSelect/DateSelect/DateSelect.js +20 -20
  889. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  890. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +19 -17
  891. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  892. package/internal/DropdownContainer/DropdownContainer.d.ts +0 -1
  893. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +4 -3
  894. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -1
  895. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +2 -1
  896. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  897. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -1
  898. package/internal/FocusTrap/FocusTrap/FocusTrap.js +9 -3
  899. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  900. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +25 -26
  901. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  902. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +3 -1
  903. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  904. package/internal/InputLikeText/InputLikeText/InputLikeText.js +29 -19
  905. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  906. package/internal/{MaskedInput/MaskedInput/MaskedInput.js → InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js} +13 -9
  907. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +1 -0
  908. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +6 -0
  909. package/internal/{MaskedInput/MaskedInput.d.ts → InternalMaskedInput/InternalMaskedInput.d.ts} +8 -5
  910. package/{cjs/internal/MaskedInput/MaskedInput.styles.js.map → internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map} +1 -1
  911. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +6 -0
  912. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +6 -0
  913. package/internal/InternalMaskedInput/index/index.js +1 -0
  914. package/internal/InternalMaskedInput/index/index.js.map +1 -0
  915. package/internal/InternalMaskedInput/index/package.json +6 -0
  916. package/internal/InternalMaskedInput/index.d.ts +1 -0
  917. package/internal/InternalMaskedInput/package.json +6 -0
  918. package/internal/InternalMenu/InternalMenu/InternalMenu.js +10 -9
  919. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  920. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js +206 -0
  921. package/internal/MaskedInputElement/MaskedInputElement/MaskedInputElement.js.map +1 -0
  922. package/internal/MaskedInputElement/MaskedInputElement/package.json +6 -0
  923. package/internal/MaskedInputElement/MaskedInputElement.d.ts +14 -0
  924. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js +43 -0
  925. package/internal/MaskedInputElement/MaskedInputElement.helpers/MaskedInputElement.helpers.js.map +1 -0
  926. package/internal/MaskedInputElement/MaskedInputElement.helpers/package.json +6 -0
  927. package/internal/MaskedInputElement/MaskedInputElement.helpers.d.ts +16 -0
  928. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js +16 -0
  929. package/internal/MaskedInputElement/MaskedInputElement.styles/MaskedInputElement.styles.js.map +1 -0
  930. package/internal/MaskedInputElement/MaskedInputElement.styles/package.json +6 -0
  931. package/internal/MaskedInputElement/MaskedInputElement.styles.d.ts +6 -0
  932. package/internal/MaskedInputElement/index/index.js +1 -0
  933. package/internal/MaskedInputElement/index/index.js.map +1 -0
  934. package/internal/MaskedInputElement/index/package.json +6 -0
  935. package/internal/MaskedInputElement/index.d.ts +1 -0
  936. package/internal/MaskedInputElement/package.json +6 -0
  937. package/internal/Menu/Menu/Menu.js +144 -62
  938. package/internal/Menu/Menu/Menu.js.map +1 -1
  939. package/internal/Menu/Menu.d.ts +6 -0
  940. package/internal/Menu/MenuContext/MenuContext.js +5 -0
  941. package/internal/Menu/MenuContext/MenuContext.js.map +1 -0
  942. package/internal/Menu/MenuContext/package.json +6 -0
  943. package/internal/Menu/MenuContext.d.ts +10 -0
  944. package/internal/Menu/MenuNavigation/MenuNavigation.js +123 -0
  945. package/internal/Menu/MenuNavigation/MenuNavigation.js.map +1 -0
  946. package/internal/Menu/MenuNavigation/package.json +6 -0
  947. package/internal/Menu/MenuNavigation.d.ts +26 -0
  948. package/internal/Menu/isActiveElement/isActiveElement.js +1 -1
  949. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  950. package/internal/MenuMessage/MenuMessage.d.ts +1 -1
  951. package/internal/Popup/Popup/Popup.js +12 -13
  952. package/internal/Popup/Popup/Popup.js.map +1 -1
  953. package/internal/Popup/PopupHelper/PopupHelper.js +8 -5
  954. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  955. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -2
  956. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  957. package/internal/RenderContainer/RenderContainer/RenderContainer.js +26 -16
  958. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  959. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  960. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  961. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  962. package/internal/RenderLayer/RenderLayer/RenderLayer.js +11 -5
  963. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  964. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  965. package/internal/ThemePlayground/constants/constants.js +3 -0
  966. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  967. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +5 -2
  968. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  969. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  970. package/internal/ZIndex/ZIndex/ZIndex.js +2 -2
  971. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  972. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -2
  973. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  974. package/internal/icons/16px/index.d.ts +19 -19
  975. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.d.ts +1 -1
  976. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.d.ts +1 -1
  977. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.d.ts +1 -1
  978. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.d.ts +1 -1
  979. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.d.ts +1 -1
  980. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.d.ts +1 -1
  981. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.d.ts +1 -1
  982. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.d.ts +1 -1
  983. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.d.ts +1 -1
  984. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.d.ts +1 -1
  985. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.d.ts +1 -1
  986. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.d.ts +1 -1
  987. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.d.ts +1 -1
  988. package/internal/icons2022/ArrowCUpIcon/ArrowCUpIcon16Regular.d.ts +1 -1
  989. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.d.ts +1 -1
  990. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.d.ts +1 -1
  991. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.d.ts +1 -1
  992. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.d.ts +1 -1
  993. package/internal/icons2022/BaseIcon/BaseIcon.js +3 -6
  994. package/internal/icons2022/BaseIcon/BaseIcon.js.map +1 -1
  995. package/internal/icons2022/BaseIcon.d.ts +1 -1
  996. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js +11 -0
  997. package/internal/icons2022/BaseIcon.styles/BaseIcon.styles.js.map +1 -0
  998. package/internal/icons2022/BaseIcon.styles/package.json +6 -0
  999. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  1000. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.d.ts +1 -1
  1001. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.d.ts +1 -1
  1002. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.d.ts +1 -1
  1003. package/internal/icons2022/CheckAIcon/CheckAIcon16Light.d.ts +1 -1
  1004. package/internal/icons2022/CheckAIcon/CheckAIcon16Regular.d.ts +1 -1
  1005. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.d.ts +1 -1
  1006. package/internal/icons2022/CheckAIcon/CheckAIcon20Light.d.ts +1 -1
  1007. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.d.ts +1 -1
  1008. package/internal/icons2022/CheckAIcon/CheckAIcon24Regular.d.ts +1 -1
  1009. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.d.ts +1 -1
  1010. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.d.ts +1 -1
  1011. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.d.ts +1 -1
  1012. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.d.ts +1 -1
  1013. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.d.ts +1 -1
  1014. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.d.ts +1 -1
  1015. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js +18 -0
  1016. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/InfoCircleIcon64Regular.js.map +1 -0
  1017. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular/package.json +6 -0
  1018. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.d.ts +2 -0
  1019. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.d.ts +1 -1
  1020. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.d.ts +1 -1
  1021. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.d.ts +1 -1
  1022. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Light.d.ts +1 -1
  1023. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon16Regular.d.ts +1 -1
  1024. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon20Light.d.ts +1 -1
  1025. package/internal/icons2022/MinusCircleIcon/MinusCircleIcon24Regular.d.ts +1 -1
  1026. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.d.ts +1 -1
  1027. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Light.d.ts +1 -1
  1028. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.d.ts +1 -1
  1029. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.d.ts +1 -1
  1030. package/internal/icons2022/SearchLoupeIcon/SearchLoupeIcon16Regular.d.ts +1 -1
  1031. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.d.ts +1 -1
  1032. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.d.ts +1 -1
  1033. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.d.ts +1 -1
  1034. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.d.ts +1 -1
  1035. package/internal/icons2022/XIcon/XIcon16Light.d.ts +1 -1
  1036. package/internal/icons2022/XIcon/XIcon16Regular.d.ts +1 -1
  1037. package/internal/icons2022/XIcon/XIcon20Light.d.ts +1 -1
  1038. package/internal/icons2022/XIcon/XIcon20Regular.d.ts +1 -1
  1039. package/internal/icons2022/XIcon/XIcon24Regular.d.ts +1 -1
  1040. package/internal/themes/DefaultTheme/DefaultTheme.js +178 -6
  1041. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1042. package/internal/themes/DefaultTheme.d.ts +67 -2
  1043. package/internal/themes/Theme2022/Theme2022.js +62 -15
  1044. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1045. package/internal/themes/Theme2022.d.ts +22 -7
  1046. package/internal/themes/Theme2022Dark/Theme2022Dark.js +18 -13
  1047. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1048. package/internal/themes/Theme2022Dark.d.ts +5 -9
  1049. package/lib/LayoutEvents/LayoutEvents.js +5 -4
  1050. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1051. package/lib/ModalStack/ModalStack.js +2 -2
  1052. package/lib/ModalStack/ModalStack.js.map +1 -1
  1053. package/lib/SSRSafe/SSRSafe.js +3 -35
  1054. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1055. package/lib/SSRSafe.d.ts +1 -6
  1056. package/lib/Upgrades/Upgrades.js +3 -1
  1057. package/lib/Upgrades/Upgrades.js.map +1 -1
  1058. package/lib/Upgrades.d.ts +1 -0
  1059. package/lib/animation/index/index.js +6 -3
  1060. package/lib/animation/index/index.js.map +1 -1
  1061. package/lib/chars/chars.js +1 -1
  1062. package/lib/chars/chars.js.map +1 -1
  1063. package/lib/chars.d.ts +1 -1
  1064. package/lib/client/client.js +9 -7
  1065. package/lib/client/client.js.map +1 -1
  1066. package/lib/client.d.ts +2 -7
  1067. package/lib/dom/getScrollWidth/getScrollWidth.js +4 -5
  1068. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1069. package/lib/dom/tabbableHelpers/tabbableHelpers.js +4 -2
  1070. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -1
  1071. package/lib/dom/tabbableHelpers.d.ts +2 -1
  1072. package/lib/events/MouseDrag/MouseDrag.js +15 -11
  1073. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1074. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +4 -2
  1075. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1076. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +7 -2
  1077. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  1078. package/lib/events/keyListener/keyListener.js +9 -12
  1079. package/lib/events/keyListener/keyListener.js.map +1 -1
  1080. package/lib/events/keyboard/identifiers/identifiers.js +3 -1
  1081. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1082. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +185 -0
  1083. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js +5 -0
  1084. package/lib/featureFlagsContext/FeatureFlagsHelpers/FeatureFlagsHelpers.js.map +1 -0
  1085. package/lib/featureFlagsContext/FeatureFlagsHelpers/package.json +6 -0
  1086. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +8 -0
  1087. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +10 -0
  1088. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -0
  1089. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/package.json +6 -0
  1090. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +10 -0
  1091. package/lib/featureFlagsContext/index/index.js +2 -0
  1092. package/lib/featureFlagsContext/index/index.js.map +1 -0
  1093. package/lib/featureFlagsContext/index/package.json +6 -0
  1094. package/lib/featureFlagsContext/index.d.ts +2 -0
  1095. package/lib/featureFlagsContext/package.json +6 -0
  1096. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  1097. package/lib/forwardRefAndName.d.ts +1 -1
  1098. package/lib/isInstanceOf/isInstanceOf.js +3 -0
  1099. package/lib/isInstanceOf/isInstanceOf.js.map +1 -0
  1100. package/lib/isInstanceOf/package.json +6 -0
  1101. package/lib/isInstanceOf.d.ts +1 -0
  1102. package/lib/listenFocusOutside/listenFocusOutside.js +19 -10
  1103. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1104. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +4 -3
  1105. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  1106. package/lib/net/fetch/fetch.js +29 -21
  1107. package/lib/net/fetch/fetch.js.map +1 -1
  1108. package/lib/rootNode/getRootNode/getRootNode.js +6 -6
  1109. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1110. package/lib/styles/ColorFactory/ColorFactory.js +13 -9
  1111. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1112. package/lib/styles/ColorHelpers/ColorHelpers.js +3 -7
  1113. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1114. package/lib/styles/ColorHelpers.d.ts +1 -1
  1115. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +5 -4
  1116. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
  1117. package/lib/theming/Emotion/Emotion.js +6 -1
  1118. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1119. package/lib/utils/utils.js +31 -6
  1120. package/lib/utils/utils.js.map +1 -1
  1121. package/lib/utils.d.ts +7 -0
  1122. package/package.json +4 -4
  1123. package/typings/global.d.ts +3 -4
  1124. package/typings/react-ref.d.ts +29 -0
  1125. package/typings/utility-types.d.ts +2 -0
  1126. package/cjs/internal/MaskedInput/MaskedInput.js.map +0 -1
  1127. package/cjs/internal/MaskedInput/index.js.map +0 -1
  1128. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +0 -1
  1129. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +0 -1
  1130. package/internal/MaskedInput/MaskedInput.styles/package.json +0 -6
  1131. package/internal/MaskedInput/index/index.js.map +0 -1
  1132. /package/cjs/{internal → components}/MaskedInput/index.d.ts +0 -0
  1133. /package/cjs/{internal → components}/MaskedInput/index.js +0 -0
  1134. /package/cjs/internal/{MaskedInput/MaskedInput.styles.d.ts → InternalMaskedInput/InternalMaskedInput.styles.d.ts} +0 -0
  1135. /package/cjs/internal/{MaskedInput/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles.js} +0 -0
  1136. /package/{internal/MaskedInput/MaskedInput.styles.d.ts → cjs/internal/MaskedInputElement/MaskedInputElement.styles.d.ts} +0 -0
  1137. /package/{internal → components}/MaskedInput/index/index.js +0 -0
  1138. /package/{internal → components}/MaskedInput/index.d.ts +0 -0
  1139. /package/internal/{MaskedInput/MaskedInput.styles/MaskedInput.styles.js → InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js} +0 -0
package/cjs/lib/utils.js CHANGED
@@ -1,5 +1,6 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.emptyHandler = exports.delay = exports.CancelationError = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.getRandomID = exports.formatBytes = exports.extractDataProps = void 0;exports.isClassComponent = isClassComponent;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInputLike = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isNullable = exports.isNonNullable = exports.isKonturIcon = void 0;exports.isRefableElement = isRefableElement;exports.mergeRefs = mergeRefs;exports.startsWithOneOf = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.emptyHandler = exports.delay = exports.CancelationError = void 0;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.formatBytes = exports.extractDataProps = void 0;exports.getChildrenText = getChildrenText;exports.getRandomID = void 0;exports.isClassComponent = isClassComponent;exports.isExternalLink = void 0;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.isInputLike = void 0;exports.isIntrinsicElement = isIntrinsicElement;exports.isReactUINode = exports.isReactUIComponent = exports.isNullable = exports.isNonNullable = exports.isKonturIcon = void 0;exports.isRefableElement = isRefableElement;exports.mergeRefs = mergeRefs;exports.startsWithOneOf = void 0;exports.taskWithDelay = taskWithDelay;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));var _react = _interopRequireDefault(require("react"));
2
2
  var _reactIs = require("react-is");
3
+ var _globalObject = require("@skbkontur/global-object");
3
4
 
4
5
 
5
6
 
@@ -7,7 +8,6 @@ var _reactIs = require("react-is");
7
8
 
8
9
 
9
10
 
10
- var _client = require("./client");
11
11
 
12
12
 
13
13
 
@@ -21,8 +21,7 @@ var _client = require("./client");
21
21
 
22
22
 
23
23
 
24
-
25
- var delay = function delay(ms) {return new Promise(function (resolve) {return setTimeout(resolve, ms);});};exports.delay = delay;
24
+ var delay = function delay(ms) {return new Promise(function (resolve) {return _globalObject.globalObject.setTimeout(resolve, ms);});};exports.delay = delay;
26
25
 
27
26
  var emptyHandler = function emptyHandler() {
28
27
  /* noop */
@@ -37,7 +36,7 @@ function taskWithDelay(task, ms) {
37
36
 
38
37
  new Promise(function (resolve, reject) {
39
38
  cancelationToken = reject;
40
- setTimeout(resolve, ms);
39
+ _globalObject.globalObject.setTimeout(resolve, ms);
41
40
  }).
42
41
  then(task).
43
42
  catch(function () {return null;});
@@ -73,7 +72,7 @@ function escapeRegExpSpecChars(s) {
73
72
  var getRandomID = function getRandomID() {return Math.random().toString(16).slice(2);};exports.getRandomID = getRandomID;
74
73
 
75
74
  var isExternalLink = function isExternalLink(link) {
76
- return new RegExp("^(https?:)?//" + (_client.isBrowser ? "(?!" + window.location.host + ")" : "") + "\\S+", 'gi').test(link);
75
+ return (0, _globalObject.isBrowser)(_globalObject.globalObject) && new RegExp("^(https?:)?//(?!" + _globalObject.globalObject.location.host + ")\\S+", 'gi').test(link);
77
76
  };
78
77
 
79
78
  /**
@@ -223,4 +222,27 @@ isReactUIComponent('CurrencyInput');exports.isInputLike = isInputLike;
223
222
 
224
223
  var isKonturIcon = function isKonturIcon(icon) {
225
224
  return Object.prototype.hasOwnProperty.call(icon == null ? void 0 : icon.type, '__KONTUR_ICON__');
226
- };exports.isKonturIcon = isKonturIcon;
225
+ };
226
+
227
+ /**
228
+ * Allows to get text of all nested children as a string
229
+ *
230
+ * @param children React's children
231
+ * @returns Nested child text or an empty string
232
+ */exports.isKonturIcon = isKonturIcon;
233
+ function getChildrenText(children) {
234
+ if (typeof children === 'string' || typeof children === 'number') {
235
+ return children.toString();
236
+ }
237
+
238
+ if (Array.isArray(children)) {
239
+ return children.map(function (entry) {return getChildrenText(entry);}).join('');
240
+ }
241
+
242
+ var nextChild = children == null ? void 0 : children.props.children;
243
+ if (!nextChild) {
244
+ return '';
245
+ }
246
+
247
+ return getChildrenText(nextChild);
248
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["delay","ms","Promise","resolve","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","isBrowser","window","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isInputLike","isKonturIcon","icon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { isForwardRef } from 'react-is';\n\nimport { CurrencyInputProps } from '../components/CurrencyInput';\nimport { PasswordInputProps } from '../components/PasswordInput';\nimport { InputProps } from '../components/Input';\nimport { AutocompleteProps } from '../components/Autocomplete';\nimport { FxInputProps } from '../components/FxInput';\n\nimport { isBrowser } from './client';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return new RegExp(`^(https?:)?//${isBrowser ? `(?!${window.location.host})` : ``}\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isInputLike =\n isReactUIComponent<InputProps>('Input') ||\n isReactUIComponent<FxInputProps>('FxInput') ||\n isReactUIComponent<AutocompleteProps>('Autocomplete') ||\n isReactUIComponent<PasswordInputProps>('PasswordInput') ||\n isReactUIComponent<CurrencyInputProps>('CurrencyInput');\n\nexport const isKonturIcon = (icon: React.ReactElement) => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n"]}
1
+ {"version":3,"sources":["utils.ts"],"names":["delay","ms","Promise","resolve","globalObject","setTimeout","emptyHandler","CancelationError","code","Error","taskWithDelay","task","cancelationToken","reject","then","catch","isFunction","x","isFunctionalComponent","Component","Boolean","prototype","isReactComponent","isClassComponent","isIntrinsicElement","element","type","isRefableElement","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","__KONTUR_REACT_UI__","KB","UNITS","calculateDecimals","decimals","formatBytes","bytes","calculatedDecimals","i","floor","log2","formattedBytes","parseFloat","pow","toFixed","isNonNullable","value","undefined","isNullable","isReactUIComponent","name","child","mergeRefs","refs","forEach","ref","current","extractDataProps","props","dataProps","restWithoutDataProps","entries","map","startsWith","startsWithOneOf","searchKeys","inputString","keyIndex","findIndex","key","isInputLike","isKonturIcon","icon","getChildrenText","children","Array","isArray","entry","join","nextChild"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { isForwardRef } from 'react-is';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { CurrencyInputProps } from '../components/CurrencyInput';\nimport { PasswordInputProps } from '../components/PasswordInput';\nimport { InputProps } from '../components/Input';\nimport { AutocompleteProps } from '../components/Autocomplete';\nimport { FxInputProps } from '../components/FxInput';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport const delay = (ms: number) => new Promise((resolve) => globalObject.setTimeout(resolve, ms));\n\nexport const emptyHandler = () => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number) {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n globalObject.setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement): boolean {\n return Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element));\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (React.isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Merges two or more refs into one.\n *\n * @param refs Array of refs.\n * @returns A single ref composing all the refs passed.\n *\n * @example\n * const SomeComponent = forwardRef((props, ref) => {\n * const localRef = useRef();\n *\n * return <div ref={mergeRefs([localRef, ref])} />;\n * });\n */\nexport function mergeRefs<T = any>(refs: Array<React.MutableRefObject<T> | React.LegacyRef<T>>): React.RefCallback<T> {\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (isNonNullable(ref)) {\n return ((ref as React.MutableRefObject<T | null>).current = value);\n }\n });\n };\n}\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T>(props: T) => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string) => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isInputLike =\n isReactUIComponent<InputProps>('Input') ||\n isReactUIComponent<FxInputProps>('FxInput') ||\n isReactUIComponent<AutocompleteProps>('Autocomplete') ||\n isReactUIComponent<PasswordInputProps>('PasswordInput') ||\n isReactUIComponent<CurrencyInputProps>('CurrencyInput');\n\nexport const isKonturIcon = (icon: React.ReactElement) => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\n/**\n * Allows to get text of all nested children as a string\n *\n * @param children React's children\n * @returns Nested child text or an empty string\n */\nexport function getChildrenText(children: React.ReactNode): string {\n if (typeof children === 'string' || typeof children === 'number') {\n return children.toString();\n }\n\n if (Array.isArray(children)) {\n return children.map((entry) => getChildrenText(entry)).join('');\n }\n\n const nextChild = (children as React.ReactElement)?.props.children;\n if (!nextChild) {\n return '';\n }\n\n return getChildrenText(nextChild);\n}\n"]}
@@ -1,8 +1,7 @@
1
- declare interface Window {
2
- RetailUIVerticalScrollCounter: number;
3
- ReactTesting: any;
4
- }
1
+ /* eslint-disable no-var */
5
2
 
3
+ declare var RetailUIVerticalScrollCounter: number;
4
+ declare var ReactTesting: any;
6
5
  declare var __RetailUiZIndexes: number[];
7
6
 
8
7
  // XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+
3
+ import { Merge } from './utility-types';
4
+
5
+ type PropsWithAs<P, T extends React.ElementType> = P & { as?: T };
6
+
7
+ export type PolymorphicPropsWithoutRef<P, T extends React.ElementType> = Merge<
8
+ T extends keyof JSX.IntrinsicElements
9
+ ? React.PropsWithoutRef<JSX.IntrinsicElements[T]>
10
+ : React.ComponentPropsWithoutRef<T>,
11
+ PropsWithAs<P, T>
12
+ >;
13
+
14
+ export type PolymorphicPropsWithRef<P, T extends React.ElementType> = Merge<
15
+ T extends keyof JSX.IntrinsicElements ? React.PropsWithRef<JSX.IntrinsicElements[T]> : React.ComponentPropsWithRef<T>,
16
+ PropsWithAs<P, T>
17
+ >;
18
+
19
+ type PolymorphicExoticComponent<P = Record<string, unknown>, T extends React.ElementType = React.ElementType> = Merge<
20
+ React.ExoticComponent<P & { [key: string]: unknown }>,
21
+ {
22
+ <InstanceT extends React.ElementType = T>(props: PolymorphicPropsWithRef<P, InstanceT>): React.ReactElement | null;
23
+ }
24
+ >;
25
+
26
+ export type PolymorphicForwardRefExoticComponent<P, T extends React.ElementType> = Merge<
27
+ React.ForwardRefExoticComponent<P & { [key: string]: unknown }>,
28
+ PolymorphicExoticComponent<P, T>
29
+ >;
@@ -18,3 +18,5 @@ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] exte
18
18
  : Enumerate<N, [...Acc, Acc['length']]>;
19
19
 
20
20
  export type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
21
+
22
+ export type Merge<T, U> = Omit<T, keyof U> & U;
@@ -1,9 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+ var _excluded = ["onClick", "onFocus", "onBlur", "children"];
3
5
 
4
6
  var _class, _class2, _temp;
5
7
 
6
8
  import React from 'react';
9
+ import { globalObject } from '@skbkontur/global-object';
7
10
  import { isKonturIcon, isReactUIComponent } from "../../../lib/utils";
8
11
  import { isIE11, isEdge, isSafari } from "../../../lib/client";
9
12
  import { keyListener } from "../../../lib/events/keyListener";
@@ -50,7 +53,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
50
53
  if (!_this.props.disabled && !_this.props.disableFocus) {
51
54
  // focus event fires before keyDown eventlistener
52
55
  // so we should check tabPressed in async way
53
- requestAnimationFrame(function () {
56
+ globalObject.requestAnimationFrame == null ? void 0 : globalObject.requestAnimationFrame(function () {
54
57
  if (keyListener.isTabPressed) {
55
58
  _this.setState({
56
59
  focusedByTab: true
@@ -126,6 +129,16 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
126
129
  });
127
130
  };
128
131
 
132
+ _proto.renderLinkRootWithoutHandlers = function renderLinkRootWithoutHandlers(props) {
133
+ var onClick = props.onClick,
134
+ onFocus = props.onFocus,
135
+ onBlur = props.onBlur,
136
+ children = props.children,
137
+ rest = _objectWithoutPropertiesLoose(props, _excluded);
138
+
139
+ return /*#__PURE__*/React.createElement("span", rest, children);
140
+ };
141
+
129
142
  _proto.renderMain = function renderMain() {
130
143
  var _cx2, _cx5, _cx6;
131
144
 
@@ -225,7 +238,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
225
238
  title: this.props.title
226
239
  };
227
240
  var wrapProps = {
228
- className: cx((_cx2 = {}, _cx2[styles.wrap(this.theme)] = true, _cx2[wrapClassNameWithArrow] = true, _cx2[this.getSizeWrapClassName()] = true, _cx2)),
241
+ className: cx(globalClasses.root, (_cx2 = {}, _cx2[styles.wrap(this.theme)] = true, _cx2[wrapClassNameWithArrow] = true, _cx2[this.getSizeWrapClassName()] = true, _cx2)),
229
242
  style: {
230
243
  width: width
231
244
  }
@@ -298,7 +311,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
298
311
  focused: isFocused,
299
312
  disabled: disabled,
300
313
  icon: this.renderIcon2022(icon),
301
- as: "span",
314
+ as: this.renderLinkRootWithoutHandlers,
302
315
  tabIndex: -1
303
316
  }, children));
304
317
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["React","isKonturIcon","isReactUIComponent","isIE11","isEdge","isSafari","keyListener","ThemeContext","CommonWrapper","cx","rootNode","ThemeFactory","createPropsGetter","isTheme2022","Link","Spinner","LoadingIcon","styles","activeStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","ButtonDataTids","root","spinner","Button","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","create","renderMain","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onMouseDown","onMouseUp","onKeyDown","onClick","onClickCapture","width","children","ariaDescribedby","ariaHasPopup","ariaControls","ariaLabel","ariaChecked","ariaExpanded","role","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","rootClassName","trueDisabled","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","checkedDisabled2022","borderless2022","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","renderIcon2022","setRootNode","sizes","cloneElement","sizeLarge","sizeLargeIE11","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\n\nimport { HTMLProps } from '../../typings/html';\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } 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';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\n/**\n * @deprecated use SizeProp\n */\nexport type ButtonSize = SizeProp;\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps\n extends CommonProps,\n Pick<\n AriaAttributes,\n 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked' | 'aria-expanded'\n >,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<HTMLProps['button'], 'onClickCapture' | 'onMouseUp' | 'onMouseDown'> {\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?: SizeProp;\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\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n spinner: 'Button__spinner',\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 onMouseDown,\n onMouseUp,\n onKeyDown,\n onClick,\n onClickCapture,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\n role,\n } = this.props;\n const { use, type, size } = 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 const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\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 isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\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 && styles.borderless2022(),\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 role,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\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 onMouseDown,\n onMouseUp,\n onClickCapture,\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 && isLink ? -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={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 const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = (\n <div data-tid={ButtonDataTids.spinner} className={styles.loading()}>\n {loadingIcon}\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.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\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 }\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 (_isTheme2022 && isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link focused={isFocused} disabled={disabled} icon={this.renderIcon2022(icon)} as=\"span\" tabIndex={-1}>\n {children}\n </Link>\n </ThemeContext.Provider>\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 renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\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 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":["React","globalObject","isKonturIcon","isReactUIComponent","isIE11","isEdge","isSafari","keyListener","ThemeContext","CommonWrapper","cx","rootNode","ThemeFactory","createPropsGetter","isTheme2022","Link","Spinner","LoadingIcon","styles","activeStyles","globalClasses","ButtonIcon","getButtonIconSizes","useButtonArrow","getInnerLinkTheme","ButtonDataTids","root","spinner","Button","getProps","defaultProps","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","create","renderMain","renderLinkRootWithoutHandlers","onClick","children","rest","corners","active","borderless","checked","error","warning","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onMouseDown","onMouseUp","onKeyDown","onClickCapture","width","ariaDescribedby","ariaHasPopup","ariaControls","ariaLabel","ariaChecked","ariaExpanded","role","use","type","size","sizeClass","getSizeClassName","isFocused","isLink","_isTheme2022","Boolean","wrapClassNameWithArrow","rootClassNameWithArrow","arrowNode","isUseStateWithoutOutlineInDisabledState","includes","rootClassName","trueDisabled","noPadding","noRightPadding","disabledWithoutOutline","checkedDisabled","checkedDisabled2022","borderless2022","checked2022","checkedFocused","simulatedPress","rootProps","className","style","textAlign","tabIndex","title","wrapProps","wrap","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","isDisabled2022","zIndex","undefined","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","iconNode","loadingNode","loadingIcon","link","linkLineHeight","linkLineHeightSafariFallback","linkFocus","linkDisabled","Object","assign","wrapLink","captionNode","caption","captionTranslated","captionLink","captionDisabled","text","visibilityHidden","renderIcon2022","setRootNode","sizes","cloneElement","sizeLarge","sizeLargeIE11","sizeLargeWithIcon","sizeLargeWithIconWithoutText","sizeMedium","sizeMediumIE11","sizeMediumWithIcon","sizeMediumWithIconWithoutText","sizeSmall","sizeSmallIE11","sizeSmallWithIcon","sizeSmallWithIconWithoutText","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React, { AriaAttributes, HTMLAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { HTMLProps } from '../../typings/html';\nimport { isKonturIcon, isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge, isSafari } 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, LinkProps } from '../Link';\nimport { Spinner } from '../Spinner';\nimport { LoadingIcon } from '../../internal/icons2022/LoadingIcon';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { ButtonIcon, getButtonIconSizes } from './ButtonIcon';\nimport { useButtonArrow } from './ButtonArrow';\nimport { getInnerLinkTheme } from './getInnerLinkTheme';\n\n/**\n * @deprecated use SizeProp\n */\nexport type ButtonSize = SizeProp;\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link' | 'text' | 'backless';\n\nexport interface ButtonProps\n extends CommonProps,\n Pick<\n AriaAttributes,\n 'aria-haspopup' | 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-checked' | 'aria-expanded'\n >,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<HTMLProps['button'], 'onClickCapture' | 'onMouseUp' | 'onMouseDown'> {\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?: SizeProp;\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\n /**\n * Обычный объект с переменными темы.\n * Он будет объединён с темой из контекста.\n */\n theme?: ThemeIn;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n spinner: 'Button__spinner',\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 renderLinkRootWithoutHandlers(props: LinkProps) {\n const { onClick, onFocus, onBlur, children, ...rest } = props;\n return <span {...rest}>{children}</span>;\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 onMouseDown,\n onMouseUp,\n onKeyDown,\n onClick,\n onClickCapture,\n width,\n children,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\n role,\n } = this.props;\n const { use, type, size } = 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 const isUseStateWithoutOutlineInDisabledState = !['default', 'backless'].includes(use);\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 isUseStateWithoutOutlineInDisabledState && styles.disabledWithoutOutline(this.theme),\n checked && styles.checkedDisabled(this.theme),\n checked && styles.checkedDisabled2022(this.theme),\n borderless && styles.borderless2022(),\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 && styles.borderless2022(),\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 role,\n 'aria-describedby': ariaDescribedby,\n 'aria-haspopup': ariaHasPopup,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n 'aria-expanded': ariaExpanded,\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 onMouseDown,\n onMouseUp,\n onClickCapture,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx(globalClasses.root, {\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 && isLink ? -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={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 const loadingIcon = _isTheme2022 ? <LoadingIcon size={size} /> : <Spinner caption={null} dimmed type=\"mini\" />;\n loadingNode = (\n <div data-tid={ButtonDataTids.spinner} className={styles.loading()}>\n {loadingIcon}\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.linkLineHeight()]: !isSafari || (isSafari && !_isTheme2022),\n [styles.linkLineHeightSafariFallback()]: isSafari && _isTheme2022,\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 }\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 (_isTheme2022 && isLink && !loading) {\n captionNode = (\n <ThemeContext.Provider value={getInnerLinkTheme(this.theme)}>\n <Link\n focused={isFocused}\n disabled={disabled}\n icon={this.renderIcon2022(icon)}\n as={this.renderLinkRootWithoutHandlers}\n tabIndex={-1}\n >\n {children}\n </Link>\n </ThemeContext.Provider>\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 renderIcon2022(icon: React.ReactElement | undefined) {\n if (icon && isKonturIcon(icon)) {\n const sizes = getButtonIconSizes(this.theme);\n return React.cloneElement(icon, { size: icon.props.size ?? sizes[this.getProps().size] });\n }\n\n return icon;\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 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 globalObject.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"]}
@@ -159,6 +159,7 @@ export declare class Button extends React.Component<ButtonProps, ButtonState> {
159
159
  */
160
160
  blur(): void;
161
161
  render(): JSX.Element;
162
+ private renderLinkRootWithoutHandlers;
162
163
  private renderMain;
163
164
  private renderIcon2022;
164
165
  private getSizeClassName;
@@ -136,3 +136,71 @@ import { Button, Gapped } from '@skbkontur/react-ui';
136
136
  <Button>Ok</Button>
137
137
  </Gapped>
138
138
  ```
139
+
140
+
141
+ Пример кастомизации кнопки-ссылки
142
+
143
+ ```jsx harmony
144
+ import { Toast } from "@skbkontur/react-ui";
145
+ import { Copy } from "@skbkontur/react-icons"
146
+
147
+ const textDecorationStyles = {
148
+ btnLinkLineBorderBottomWidth: '0',
149
+ btnLinkHoverTextDecoration: 'underline'
150
+ }
151
+
152
+ const underlineOnHoverStyles = {
153
+ btnLinkLineBorderBottomColor: 'transparent',
154
+ }
155
+
156
+ const differentColorStyles = {
157
+ btnLinkColor: 'blue',
158
+ btnLinkHoverColor: 'blue',
159
+ btnLinkActiveColor: 'blue',
160
+ }
161
+
162
+ const stringify = (styles) => {
163
+ return `${Object.entries(styles).map(([key, value]) => `${key}: "${value}"`).join(", ")}`
164
+ }
165
+
166
+ const copyStyles = (styles) => {
167
+ navigator.clipboard.writeText(stringify(styles));
168
+ Toast.push('Copied');
169
+ }
170
+
171
+ const tableStyle = {
172
+ borderCollapse: 'collapse',
173
+ width: '100%',
174
+ };
175
+
176
+ const tdStyle = {
177
+ border: '1px solid',
178
+ padding: '8px',
179
+ };
180
+
181
+ const renderExampleRow = (title, styles, index) => {
182
+ return (
183
+ <tr>
184
+ <td style={tdStyle}>{title}</td>
185
+ <td style={tdStyle}><Button use={'link'} theme={styles}>Button-link</Button></td>
186
+ <td style={tdStyle}>
187
+ <div style={{display: 'flex'}}>
188
+ <div style={{width: '80%', whiteSpace: 'pre-line'}}>{stringify(styles).replace(/, /g, '\n')}</div>
189
+ <Button icon={<Copy />} use={'text'} onClick={() => copyStyles(styles)}/>
190
+ </div>
191
+ </td>
192
+ </tr>
193
+ )
194
+ }
195
+
196
+ <table style={tableStyle}>
197
+ <tr style={{textAlign: 'left'}}>
198
+ <th style={tdStyle}></th>
199
+ <th style={tdStyle}>Пример</th>
200
+ <th style={tdStyle}>Переменные темы</th>
201
+ </tr>
202
+ {renderExampleRow('Ссылка с подчеркиванием через text-decoration', textDecorationStyles)}
203
+ {renderExampleRow('Ссылка с подчеркиванием при наведении', underlineOnHoverStyles)}
204
+ {renderExampleRow('Изменение цвета ссылки', differentColorStyles)}
205
+ </table>
206
+ ```
@@ -6,11 +6,13 @@ import { css } from "../../../lib/theming/Emotion";
6
6
  import { shift } from "../../../lib/styles/DimensionFunctions";
7
7
  import { globalClasses } from "../Button.styles";
8
8
 
9
- var getBtnPadding = function getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, additionalOffset) {
10
- if (additionalOffset === void 0) {
11
- additionalOffset = 0;
12
- }
13
-
9
+ var getBtnPadding = function getBtnPadding(_ref) {
10
+ var fontSize = _ref.fontSize,
11
+ paddingY = _ref.paddingY,
12
+ paddingX = _ref.paddingX,
13
+ fontFamilyCompensation = _ref.fontFamilyCompensation,
14
+ _ref$additionalOffset = _ref.additionalOffset,
15
+ additionalOffset = _ref$additionalOffset === void 0 ? 0 : _ref$additionalOffset;
14
16
  var paddingTop = paddingY;
15
17
  var paddingBottom = paddingY;
16
18
  var offset = parseInt(fontFamilyCompensation) || 0;
@@ -36,23 +38,66 @@ var getBtnPadding = function getBtnPadding(fontSize, paddingY, paddingX, fontFam
36
38
  return paddingTop + " " + paddingX + " " + paddingBottom;
37
39
  };
38
40
 
39
- export var buttonUseMixin = function buttonUseMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd, color, borderColor, borderBottomColor, borderWidth) {
41
+ export var buttonUseMixin = function buttonUseMixin(_ref2) {
42
+ var btnBackground = _ref2.btnBackground,
43
+ btnBackgroundStart = _ref2.btnBackgroundStart,
44
+ btnBackgroundEnd = _ref2.btnBackgroundEnd,
45
+ color = _ref2.color,
46
+ borderColor = _ref2.borderColor,
47
+ borderBottomColor = _ref2.borderBottomColor,
48
+ borderWidth = _ref2.borderWidth;
40
49
  var hasGradient = btnBackgroundStart !== btnBackgroundEnd;
41
50
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n background-image: ", ";\n color: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 0 ", ";\n }\n\n :enabled:hover,\n :enabled {\n .", " svg,\n .", " svg {\n color: ", ";\n }\n }\n "])), hasGradient ? "initial" : btnBackground, hasGradient ? "linear-gradient(" + btnBackgroundStart + ", " + btnBackgroundEnd + ")" : "none", color, borderWidth, borderColor, borderBottomColor ? ", 0 " + borderWidth + " 0 0 " + borderBottomColor : "", globalClasses.arrowHelper, borderWidth, borderColor, globalClasses.icon, globalClasses.arrow, color);
42
51
  };
43
- export var buttonHoverMixin = function buttonHoverMixin(btnBackground, btnBackgroundStart, btnBackgroundEnd, borderColor, borderBottomColor, borderWidth) {
52
+ export var buttonHoverMixin = function buttonHoverMixin(_ref3) {
53
+ var btnBackground = _ref3.btnBackground,
54
+ btnBackgroundStart = _ref3.btnBackgroundStart,
55
+ btnBackgroundEnd = _ref3.btnBackgroundEnd,
56
+ borderColor = _ref3.borderColor,
57
+ borderBottomColor = _ref3.borderBottomColor,
58
+ borderWidth = _ref3.borderWidth;
44
59
  var hasGradient = btnBackgroundStart !== btnBackgroundEnd;
45
60
  return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n background-image: ", ";\n box-shadow: 0 0 0 ", " ", "", ";\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n }\n "])), hasGradient ? "initial" : btnBackground, hasGradient ? "linear-gradient(" + btnBackgroundStart + ", " + btnBackgroundEnd + ")" : "none", borderWidth, borderColor, borderBottomColor ? ", 0 " + borderWidth + " 0 0 " + borderBottomColor : "", globalClasses.arrowHelper, borderWidth, borderColor);
46
61
  };
47
- export var buttonActiveMixin = function buttonActiveMixin(btnBackground, btnShadow, borderColor, borderTopColor, borderWidth, arrowBgImage) {
62
+ export var buttonActiveMixin = function buttonActiveMixin(_ref4) {
63
+ var btnBackground = _ref4.btnBackground,
64
+ btnShadow = _ref4.btnShadow,
65
+ borderColor = _ref4.borderColor,
66
+ borderTopColor = _ref4.borderTopColor,
67
+ borderWidth = _ref4.borderWidth,
68
+ arrowBgImage = _ref4.arrowBgImage;
48
69
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\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 "])), btnBackground, borderWidth, borderColor, borderTopColor ? ", 0 -" + borderWidth + " 0 0 " + borderTopColor : "", globalClasses.innerShadow, btnShadow, globalClasses.arrowHelper, borderWidth, borderColor, globalClasses.arrowHelperTop, arrowBgImage);
49
70
  };
50
- export var buttonSizeMixin = function buttonSizeMixin(fontSize, lineHeight, paddingX, paddingY, fontFamilyCompensation) {
51
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n font-size: ", ";\n box-sizing: border-box;\n padding: ", ";\n line-height: ", ";\n "])), fontSize, getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation), lineHeight);
71
+ export var buttonSizeMixin = function buttonSizeMixin(_ref5) {
72
+ var fontSize = _ref5.fontSize,
73
+ lineHeight = _ref5.lineHeight,
74
+ paddingX = _ref5.paddingX,
75
+ paddingY = _ref5.paddingY,
76
+ fontFamilyCompensation = _ref5.fontFamilyCompensation;
77
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n font-size: ", ";\n box-sizing: border-box;\n padding: ", ";\n line-height: ", ";\n "])), fontSize, getBtnPadding({
78
+ fontSize: fontSize,
79
+ paddingY: paddingY,
80
+ paddingX: paddingX,
81
+ fontFamilyCompensation: fontFamilyCompensation
82
+ }), lineHeight);
52
83
  };
53
- export var buttonSizeMixinIE11 = function buttonSizeMixinIE11(fontSize, paddingX, paddingY, fontFamilyCompensation) {
54
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n line-height: normal;\n "])), getBtnPadding(fontSize, paddingY, paddingX, fontFamilyCompensation, 1));
84
+ export var buttonSizeMixinIE11 = function buttonSizeMixinIE11(_ref6) {
85
+ var fontSize = _ref6.fontSize,
86
+ paddingX = _ref6.paddingX,
87
+ paddingY = _ref6.paddingY,
88
+ fontFamilyCompensation = _ref6.fontFamilyCompensation;
89
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n line-height: normal;\n "])), getBtnPadding({
90
+ fontSize: fontSize,
91
+ paddingY: paddingY,
92
+ paddingX: paddingX,
93
+ fontFamilyCompensation: fontFamilyCompensation,
94
+ additionalOffset: 1
95
+ }));
55
96
  };
56
- export var arrowOutlineMixin = function arrowOutlineMixin(insetWidth, outlineColor, outlineWidth, insetColor) {
97
+ export var arrowOutlineMixin = function arrowOutlineMixin(_ref7) {
98
+ var insetWidth = _ref7.insetWidth,
99
+ outlineColor = _ref7.outlineColor,
100
+ outlineWidth = _ref7.outlineWidth,
101
+ insetColor = _ref7.insetColor;
57
102
  return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n .", " {\n &.", " {\n box-shadow: inset -", " ", " 0 0 ", ", ", " 0 0 0 ", " !important; // override :active styles\n }\n\n &.", " {\n box-shadow: inset -", " -", " 0 0 ", ", ", " 0 0 0 ", " !important; // override :active styles\n }\n\n // don't hide inner outline\n // and keep the middle-line fix\n &:before {\n top: ", ";\n right: ", ";\n left: ", ";\n }\n &.", ":before {\n bottom: ", ";\n }\n }\n "])), globalClasses.arrowHelper, globalClasses.arrowHelperTop, insetWidth, insetWidth, insetColor, outlineWidth, outlineColor, globalClasses.arrowHelperBottom, insetWidth, insetWidth, insetColor, outlineWidth, outlineColor, insetWidth, insetWidth, insetWidth, globalClasses.arrowHelperBottom, insetWidth);
58
103
  };