@skbkontur/react-ui 3.6.0 → 3.8.0

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 (281) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/cjs/components/Button/Button.d.ts +1 -0
  3. package/cjs/components/Button/Button.js +7 -4
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.styles.js +2 -2
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/Checkbox/Checkbox.js +9 -8
  8. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  9. package/cjs/components/Checkbox/Checkbox.styles.js +3 -2
  10. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  11. package/cjs/components/CurrencyLabel/CurrencyLabel.js +14 -5
  12. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  13. package/cjs/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
  14. package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js +9 -0
  15. package/cjs/components/CurrencyLabel/CurrencyLabel.styles.js.map +1 -0
  16. package/cjs/components/FxInput/FxInput.js +1 -1
  17. package/cjs/components/FxInput/FxInput.js.map +1 -1
  18. package/cjs/components/Input/Input.styles.js +1 -1
  19. package/cjs/components/Input/Input.styles.js.map +1 -1
  20. package/cjs/components/Kebab/Kebab.js +2 -2
  21. package/cjs/components/Kebab/Kebab.js.map +1 -1
  22. package/cjs/components/Link/Link.js +2 -2
  23. package/cjs/components/Link/Link.js.map +1 -1
  24. package/cjs/components/Loader/Loader.d.ts +3 -1
  25. package/cjs/components/Loader/Loader.js +20 -1
  26. package/cjs/components/Loader/Loader.js.map +1 -1
  27. package/cjs/components/MenuItem/MenuItem.md +1 -1
  28. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  29. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  30. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  31. package/cjs/components/Modal/Modal.styles.js +24 -21
  32. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  33. package/cjs/components/Modal/ModalClose.js +23 -3
  34. package/cjs/components/Modal/ModalClose.js.map +1 -1
  35. package/cjs/components/Paging/Paging.js +2 -2
  36. package/cjs/components/Paging/Paging.js.map +1 -1
  37. package/cjs/components/Paging/Paging.styles.js +2 -1
  38. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  39. package/cjs/components/Radio/Radio.d.ts +9 -1
  40. package/cjs/components/Radio/Radio.js +37 -4
  41. package/cjs/components/Radio/Radio.js.map +1 -1
  42. package/cjs/components/Radio/Radio.styles.d.ts +1 -1
  43. package/cjs/components/Radio/Radio.styles.js +5 -10
  44. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  45. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  46. package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
  47. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  48. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  49. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  50. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  51. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +38 -23
  52. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  53. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  54. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  55. package/cjs/components/ScrollContainer/ScrollContainer.js +81 -153
  56. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  57. package/cjs/components/ScrollContainer/ScrollContainer.md +62 -13
  58. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
  59. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +72 -9
  60. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  61. package/cjs/components/SidePage/SidePage.d.ts +1 -2
  62. package/cjs/components/SidePage/SidePage.js +1 -5
  63. package/cjs/components/SidePage/SidePage.js.map +1 -1
  64. package/cjs/components/SidePage/SidePage.styles.d.ts +2 -1
  65. package/cjs/components/SidePage/SidePage.styles.js +44 -28
  66. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  67. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -1
  68. package/cjs/components/SidePage/SidePageHeader.js +33 -23
  69. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  70. package/cjs/components/Switcher/Switcher.js +1 -1
  71. package/cjs/components/Switcher/Switcher.js.map +1 -1
  72. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
  73. package/cjs/components/Switcher/Switcher.styles.js +3 -2
  74. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  75. package/cjs/components/Tabs/Tab.d.ts +0 -3
  76. package/cjs/components/Tabs/Tab.js +3 -13
  77. package/cjs/components/Tabs/Tab.js.map +1 -1
  78. package/cjs/components/Tabs/Tab.styles.js +2 -2
  79. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  80. package/cjs/components/Toggle/Toggle.js +6 -5
  81. package/cjs/components/Toggle/Toggle.js.map +1 -1
  82. package/cjs/components/Toggle/Toggle.styles.d.ts +1 -0
  83. package/cjs/components/Toggle/Toggle.styles.js +26 -16
  84. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  85. package/cjs/components/Token/Token.styles.js +8 -9
  86. package/cjs/components/Token/Token.styles.js.map +1 -1
  87. package/cjs/components/TokenInput/TokenInput.d.ts +8 -0
  88. package/cjs/components/TokenInput/TokenInput.js +24 -2
  89. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  90. package/cjs/components/Tooltip/Tooltip.styles.js +2 -1
  91. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  92. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -1
  93. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  94. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +3 -2
  95. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  96. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +5 -7
  97. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  98. package/cjs/internal/InputLikeText/InputLikeText.js +2 -1
  99. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  100. package/cjs/internal/PopupMenu/PopupMenu.js +1 -1
  101. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  102. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  103. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  104. package/cjs/internal/ThemePlayground/darkTheme.js +3 -3
  105. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  106. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  107. package/cjs/internal/icons/CrossIcon.js +8 -1
  108. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  109. package/cjs/internal/themes/DefaultTheme.d.ts +23 -7
  110. package/cjs/internal/themes/DefaultTheme.js +77 -32
  111. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  112. package/cjs/internal/themes/FlatTheme.d.ts +4 -4
  113. package/cjs/internal/themes/FlatTheme.js +16 -8
  114. package/cjs/internal/themes/FlatTheme.js.map +1 -1
  115. package/cjs/internal/themes/Theme8px.d.ts +0 -5
  116. package/cjs/internal/themes/Theme8px.js +2 -12
  117. package/cjs/internal/themes/Theme8px.js.map +1 -1
  118. package/cjs/lib/Upgrades.d.ts +2 -0
  119. package/cjs/lib/Upgrades.js +14 -0
  120. package/cjs/lib/Upgrades.js.map +1 -1
  121. package/cjs/lib/events/keyListener.d.ts +7 -0
  122. package/cjs/lib/events/keyListener.js +22 -0
  123. package/cjs/lib/events/keyListener.js.map +1 -0
  124. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  125. package/cjs/lib/events/keyboard/identifiers.js +6 -1
  126. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  127. package/cjs/lib/events/tabListener.d.ts +1 -6
  128. package/cjs/lib/events/tabListener.js +2 -15
  129. package/cjs/lib/events/tabListener.js.map +1 -1
  130. package/cjs/lib/locale/LOCALECONTEXT.md +1 -1
  131. package/cjs/lib/styles/ColorFunctions.js +1 -1
  132. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  133. package/cjs/lib/theming/Emotion.js +1 -1
  134. package/cjs/lib/theming/Emotion.js.map +1 -1
  135. package/cjs/lib/theming/ThemeContext.md +1 -1
  136. package/cjs/lib/utils.d.ts +7 -0
  137. package/cjs/lib/utils.js +12 -2
  138. package/cjs/lib/utils.js.map +1 -1
  139. package/components/Button/Button/Button.js +5 -4
  140. package/components/Button/Button/Button.js.map +1 -1
  141. package/components/Button/Button.d.ts +1 -0
  142. package/components/Button/Button.styles/Button.styles.js +1 -1
  143. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  144. package/components/Checkbox/Checkbox/Checkbox.js +5 -5
  145. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  146. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +2 -2
  147. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  148. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +11 -5
  149. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  150. package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js +10 -0
  151. package/components/CurrencyLabel/CurrencyLabel.styles/CurrencyLabel.styles.js.map +1 -0
  152. package/components/CurrencyLabel/CurrencyLabel.styles/package.json +6 -0
  153. package/components/CurrencyLabel/CurrencyLabel.styles.d.ts +4 -0
  154. package/components/FxInput/FxInput/FxInput.js +2 -1
  155. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  156. package/components/Input/Input.styles/Input.styles.js +1 -1
  157. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  158. package/components/Kebab/Kebab/Kebab.js +2 -2
  159. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  160. package/components/Link/Link/Link.js +2 -2
  161. package/components/Link/Link/Link.js.map +1 -1
  162. package/components/Loader/Loader/Loader.js +34 -14
  163. package/components/Loader/Loader/Loader.js.map +1 -1
  164. package/components/Loader/Loader.d.ts +3 -1
  165. package/components/MenuItem/MenuItem.md +1 -1
  166. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  167. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  168. package/components/Modal/Modal.styles/Modal.styles.js +18 -15
  169. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  170. package/components/Modal/Modal.styles.d.ts +1 -0
  171. package/components/Modal/ModalClose/ModalClose.js +25 -2
  172. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  173. package/components/Paging/Paging/Paging.js +2 -2
  174. package/components/Paging/Paging/Paging.js.map +1 -1
  175. package/components/Paging/Paging.styles/Paging.styles.js +1 -1
  176. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  177. package/components/Radio/Radio/Radio.js +36 -3
  178. package/components/Radio/Radio/Radio.js.map +1 -1
  179. package/components/Radio/Radio.d.ts +9 -1
  180. package/components/Radio/Radio.styles/Radio.styles.js +3 -3
  181. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  182. package/components/Radio/Radio.styles.d.ts +1 -1
  183. package/components/ScrollContainer/ScrollBar/ScrollBar.js +254 -0
  184. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  185. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  186. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  187. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +121 -205
  188. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  189. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  190. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  191. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  192. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  193. package/components/ScrollContainer/ScrollContainer.d.ts +38 -23
  194. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  195. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  196. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  197. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  198. package/components/ScrollContainer/ScrollContainer.md +62 -13
  199. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +23 -9
  200. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  201. package/components/ScrollContainer/ScrollContainer.styles.d.ts +12 -3
  202. package/components/SidePage/SidePage/SidePage.js +2 -4
  203. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  204. package/components/SidePage/SidePage.d.ts +1 -2
  205. package/components/SidePage/SidePage.styles/SidePage.styles.js +20 -16
  206. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  207. package/components/SidePage/SidePage.styles.d.ts +2 -1
  208. package/components/SidePage/SidePageHeader/SidePageHeader.js +40 -22
  209. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  210. package/components/SidePage/SidePageHeader.d.ts +4 -1
  211. package/components/Switcher/Switcher/Switcher.js +1 -1
  212. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  213. package/components/Switcher/Switcher.styles/Switcher.styles.js +2 -2
  214. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  215. package/components/Switcher/Switcher.styles.d.ts +1 -1
  216. package/components/Tabs/Tab/Tab.js +2 -16
  217. package/components/Tabs/Tab/Tab.js.map +1 -1
  218. package/components/Tabs/Tab.d.ts +0 -3
  219. package/components/Tabs/Tab.styles/Tab.styles.js +1 -1
  220. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  221. package/components/Toggle/Toggle/Toggle.js +5 -5
  222. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  223. package/components/Toggle/Toggle.styles/Toggle.styles.js +15 -12
  224. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  225. package/components/Toggle/Toggle.styles.d.ts +1 -0
  226. package/components/Token/Token.styles/Token.styles.js +2 -2
  227. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  228. package/components/TokenInput/TokenInput/TokenInput.js +24 -2
  229. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  230. package/components/TokenInput/TokenInput.d.ts +8 -0
  231. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +1 -1
  232. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  233. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -1
  234. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  235. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +3 -2
  236. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  237. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +4 -4
  238. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  239. package/internal/InputLikeText/InputLikeText/InputLikeText.js +2 -1
  240. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  241. package/internal/PopupMenu/PopupMenu/PopupMenu.js +2 -2
  242. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  243. package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
  244. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  245. package/internal/ThemePlayground/darkTheme/darkTheme.js +3 -3
  246. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  247. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  248. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  249. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  250. package/internal/themes/DefaultTheme/DefaultTheme.js +100 -19
  251. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  252. package/internal/themes/DefaultTheme.d.ts +23 -7
  253. package/internal/themes/FlatTheme/FlatTheme.js +18 -6
  254. package/internal/themes/FlatTheme/FlatTheme.js.map +1 -1
  255. package/internal/themes/FlatTheme.d.ts +4 -4
  256. package/internal/themes/Theme8px/Theme8px.js +1 -14
  257. package/internal/themes/Theme8px/Theme8px.js.map +1 -1
  258. package/internal/themes/Theme8px.d.ts +0 -5
  259. package/lib/Upgrades/Upgrades.js +13 -0
  260. package/lib/Upgrades/Upgrades.js.map +1 -1
  261. package/lib/Upgrades.d.ts +2 -0
  262. package/lib/events/keyListener/keyListener.js +22 -0
  263. package/lib/events/keyListener/keyListener.js.map +1 -0
  264. package/lib/events/keyListener/package.json +6 -0
  265. package/lib/events/keyListener.d.ts +7 -0
  266. package/lib/events/keyboard/identifiers/identifiers.js +10 -1
  267. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  268. package/lib/events/keyboard/identifiers.d.ts +1 -0
  269. package/lib/events/tabListener/tabListener.js +2 -19
  270. package/lib/events/tabListener/tabListener.js.map +1 -1
  271. package/lib/events/tabListener.d.ts +1 -6
  272. package/lib/locale/LOCALECONTEXT.md +1 -1
  273. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  274. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  275. package/lib/theming/Emotion/Emotion.js +1 -1
  276. package/lib/theming/Emotion/Emotion.js.map +1 -1
  277. package/lib/theming/ThemeContext.md +1 -1
  278. package/lib/utils/utils.js +10 -0
  279. package/lib/utils/utils.js.map +1 -1
  280. package/lib/utils.d.ts +7 -0
  281. package/package.json +2 -2
@@ -218,4 +218,4 @@ class LocalizationControls extends React.Component {
218
218
  ### Локализация @skbkontur/react-ui-addons
219
219
 
220
220
  Компоненты `@skbkontur/react-ui-addons` так же поддерживают локализацию через `LocaleContext` из `@skbkontur/react-ui`.
221
- См. пример с кастомной локализацией. Дефолтные локали описаны для каждого компонента в [докумендации аддонов](http://ui.gitlab-pages.kontur.host/docs/#/react-ui-addons).
221
+ См. пример с кастомной локализацией. Дефолтные локали описаны для каждого компонента в [докумендации аддонов](https://ui.gitlab-pages.kontur.host/docs/#/react-ui-addons).
@@ -5,7 +5,7 @@ var _ColorFactory = require("./ColorFactory");
5
5
 
6
6
 
7
7
 
8
- var DEFAULT_DARK = _ColorFactory.ColorFactory.create('#000');
8
+ var DEFAULT_DARK = _ColorFactory.ColorFactory.create('#333333');
9
9
  var DEFAULT_LIGHT = _ColorFactory.ColorFactory.create('#fff');
10
10
  var ColorFunctionsCache = Object.create(null);
11
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFunctions.ts"],"names":["DEFAULT_DARK","ColorFactory","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#000');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key]!;\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}
1
+ {"version":3,"sources":["ColorFunctions.ts"],"names":["DEFAULT_DARK","ColorFactory","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#333333');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key]!;\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}
@@ -5,7 +5,7 @@ var _Upgrades = require("../Upgrades");
5
5
 
6
6
 
7
7
 
8
- var REACT_UI_PREFIX = 'react-ui';
8
+ var REACT_UI_PREFIX = _Upgrades.Upgrade.getSpecificityClassName();
9
9
 
10
10
  var scope = new Array(_Upgrades.Upgrade.getSpecificityLevel()).fill("." + REACT_UI_PREFIX).join('');var _createEmotion =
11
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","scope","Array","Upgrade","getSpecificityLevel","fill","join","key","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAG,UAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUC,kBAAQC,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDL,eAAlD,EAAqEM,IAArE,CAA0E,EAA1E,CAAd,C;;;AAGE,6BAAc;AACZC,EAAAA,GAAG,EAAEP,eADO;AAEZQ,EAAAA,aAAa,EAAEP,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BQ,SAFvC,EAAd,C,CADaC,K,kBAAAA,K,CAAOC,O,kBAAAA,O,CAASC,E,kBAAAA,E,CAAIC,K,kBAAAA,K,CAAOC,mB,kBAAAA,mB,CAAqBC,Y,kBAAAA,Y,CAAcC,S,kBAAAA,S,CAAWC,G,kBAAAA,G,CAAKC,K,kBAAAA,K,CAAOC,K,kBAAAA,K;;;AAMpG,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,IAAa,CAApB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqBR,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACrB,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAHD;AAID,CAlBD;;AAoBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BvC,eAA1B;AACA,cAAmCwC,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMnC,GAAN,EAAc;AACxC,4CAAYmC,GAAZ,6BAAkBnC,GAAlB,IAA2BgC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAACjC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = 'react-ui';\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length == 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) cache.set(arg, fn(arg));\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
1
+ {"version":3,"sources":["Emotion.ts"],"names":["REACT_UI_PREFIX","Upgrade","getSpecificityClassName","scope","Array","getSpecificityLevel","fill","join","key","stylisPlugins","undefined","flush","hydrate","cx","merge","getRegisteredStyles","injectGlobal","keyframes","css","sheet","cache","isZeroArgs","fn","length","memoize","isCalled","result","WeakMap","arg","has","set","get","memoizeStyle","styles","Object","keys","forEach","className","prefix","component","app","classes","reduce","acc"],"mappings":"mbAAA;AACA;;AAEA;;;;AAIA,IAAMA,eAAe,GAAGC,kBAAQC,uBAAR,EAAxB;;AAEA,IAAMC,KAAK,GAAG,IAAIC,KAAJ,CAAUH,kBAAQI,mBAAR,EAAV,EAAyCC,IAAzC,OAAkDN,eAAlD,EAAqEO,IAArE,CAA0E,EAA1E,CAAd,C;;;AAGE,6BAAc;AACZC,EAAAA,GAAG,EAAER,eADO;AAEZS,EAAAA,aAAa,EAAEN,KAAK,GAAG,CAAC,qCAAiBA,KAAjB,CAAD,CAAH,GAA+BO,SAFvC,EAAd,C,CADaC,K,kBAAAA,K,CAAOC,O,kBAAAA,O,CAASC,E,kBAAAA,E,CAAIC,K,kBAAAA,K,CAAOC,mB,kBAAAA,mB,CAAqBC,Y,kBAAAA,Y,CAAcC,S,kBAAAA,S,CAAWC,G,kBAAAA,G,CAAKC,K,kBAAAA,K,CAAOC,K,kBAAAA,K;;;AAMpG,SAASC,UAAT,CAAwDC,EAAxD,EAAyF;AACvF,SAAOA,EAAE,CAACC,MAAH,IAAa,CAApB;AACD;;AAED,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAAsBF,EAAtB,EAAuF;AACrG,MAAID,UAAU,CAACC,EAAD,CAAd,EAAoB;AAClB,QAAIG,QAAQ,GAAG,KAAf;AACA,QAAIC,MAAJ;AACA,WAAO,YAAM;AACX,UAAI,CAACD,QAAL,EAAe;AACbA,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,MAAM,GAAGJ,EAAE,EAAX;AACD;AACD,aAAOI,MAAP;AACD,KAND;AAOD;;AAED,MAAMN,KAAK,GAAG,IAAIO,OAAJ,EAAd;AACA,SAAO,UAACC,GAAD,EAAY;AACjB,QAAI,CAACR,KAAK,CAACS,GAAN,CAAUD,GAAV,CAAL,EAAqBR,KAAK,CAACU,GAAN,CAAUF,GAAV,EAAeN,EAAE,CAACM,GAAD,CAAjB;AACrB,WAAOR,KAAK,CAACW,GAAN,CAAUH,GAAV,CAAP;AACD,GAHD;AAID,CAlBD;;AAoBO,IAAMI,YAAY,GAAG,SAAfA,YAAe;AAC1BC,MAD0B;AAEpB;AACNC,EAAAA,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,OAApB,CAA4B,UAACC,SAAD,UAAgBJ,MAAM,CAACI,SAAD,CAAN,GAA+Bb,OAAO,CAACS,MAAM,CAACI,SAAD,CAAP,CAAtD,EAA5B;AACA,SAAOJ,MAAP;AACD,CALM,C;;AAOA,IAAMK,MAAM;AACjB,SADWA,MACX,CAACC,SAAD,EAAoBC,GAApB,OAAoBA,GAApB,cAAoBA,GAApB,GAA0BxC,eAA1B;AACA,cAAmCyC,OAAnC;AACEP,QAAAA,MAAM,CAACC,IAAP,CAAYM,OAAZ,EAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMnC,GAAN,EAAc;AACxC,4CAAYmC,GAAZ,6BAAkBnC,GAAlB,IAA2BgC,GAA3B,SAAkCD,SAAlC,SAA+CE,OAAO,CAACjC,GAAD,CAAtD;AACD,SAFD,EAEG,EAFH,CADF,GADA,GADK,C","sourcesContent":["import createEmotion from '@emotion/css/create-instance';\nimport extraScopePlugin from 'stylis-plugin-extra-scope';\n\nimport { Upgrade } from '../Upgrades';\n\nimport { Theme } from './Theme';\n\nconst REACT_UI_PREFIX = Upgrade.getSpecificityClassName();\n\nconst scope = new Array(Upgrade.getSpecificityLevel()).fill(`.${REACT_UI_PREFIX}`).join('');\n\nexport const { flush, hydrate, cx, merge, getRegisteredStyles, injectGlobal, keyframes, css, sheet, cache } =\n createEmotion({\n key: REACT_UI_PREFIX,\n stylisPlugins: scope ? [extraScopePlugin(scope)] : undefined,\n });\n\nfunction isZeroArgs<R, T extends (...args: any[]) => R>(fn: T | Function): fn is () => R {\n return fn.length == 0;\n}\n\nconst memoize = <A extends object, R>(fn: (() => R) | ((arg: A) => R)): (() => R) | ((arg: A) => R) => {\n if (isZeroArgs(fn)) {\n let isCalled = false;\n let result: R;\n return () => {\n if (!isCalled) {\n isCalled = true;\n result = fn();\n }\n return result;\n };\n }\n\n const cache = new WeakMap();\n return (arg: A) => {\n if (!cache.has(arg)) cache.set(arg, fn(arg));\n return cache.get(arg);\n };\n};\n\nexport const memoizeStyle = <S extends { [className: string]: (() => string) | ((t: Theme) => string) }>(\n styles: S,\n): S => {\n Object.keys(styles).forEach((className) => (styles[className as keyof S] = memoize(styles[className]) as S[keyof S]));\n return styles;\n};\n\nexport const prefix =\n (component: string, app = REACT_UI_PREFIX) =>\n <T extends Record<string, string>>(classes: T): T =>\n Object.keys(classes).reduce((acc, key) => {\n return { ...acc, [key]: `${app}-${component}-${classes[key]}` };\n }, {} as T);\n"]}
@@ -196,7 +196,7 @@ const NestedThemes = () => (
196
196
 
197
197
  ## Кастомизация @skbkontur/react-ui-addons
198
198
 
199
- Компоненты `@skbkontur/react-ui-addons` так же поддерживают кастомизацию через `ThemeContext` из `@skbkontur/react-ui`. Достаточно переопределить нужные переменные, которые перечислены на страницах компонентов в [докумендации аддонов](http://ui.gitlab-pages.kontur.host/docs/#/react-ui-addons).
199
+ Компоненты `@skbkontur/react-ui-addons` так же поддерживают кастомизацию через `ThemeContext` из `@skbkontur/react-ui`. Достаточно переопределить нужные переменные, которые перечислены на страницах компонентов в [докумендации аддонов](https://ui.gitlab-pages.kontur.host/docs/#/react-ui-addons).
200
200
 
201
201
  ```tsx static
202
202
  import { ThemeContext, ThemeFactory } from '@skbkontur/react-ui';
@@ -19,3 +19,10 @@ export declare const isExternalLink: (link: string) => boolean;
19
19
  * Check if the given ReactNode is an element of the specified ReactUI component
20
20
  */
21
21
  export declare const isReactUINode: (componentName: string, node: React.ReactNode) => boolean;
22
+ /**
23
+ * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
24
+ *
25
+ * @param value Значение, которое нужно проверить и исключить из него типы
26
+ * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
27
+ */
28
+ export declare const isNonNullable: <T>(value: T) => value is NonNullable<T>;
package/cjs/lib/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.taskWithDelay = taskWithDelay;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isReactUINode = exports.isExternalLink = exports.getRandomID = exports.CancelationError = exports.emptyHandler = exports.delay = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.taskWithDelay = taskWithDelay;exports.isFunction = isFunction;exports.isFunctionalComponent = isFunctionalComponent;exports.escapeRegExpSpecChars = escapeRegExpSpecChars;exports.isNonNullable = exports.isReactUINode = exports.isExternalLink = exports.getRandomID = exports.CancelationError = exports.emptyHandler = exports.delay = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
3
 
4
4
  var _client = require("./client");
@@ -68,4 +68,14 @@ var isReactUINode = function isReactUINode(componentName, node) {
68
68
  }
69
69
 
70
70
  return false;
71
- };exports.isReactUINode = isReactUINode;
71
+ };
72
+
73
+ /**
74
+ * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента
75
+ *
76
+ * @param value Значение, которое нужно проверить и исключить из него типы
77
+ * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false
78
+ */exports.isReactUINode = isReactUINode;
79
+ var isNonNullable = function isNonNullable(value) {
80
+ return value !== null && value !== undefined;
81
+ };exports.isNonNullable = isNonNullable;
@@ -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","prototype","isReactComponent","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","isBrowser","window","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","type","__KONTUR_REACT_UI__"],"mappings":";AACA;;AAEA;;;;;;;;;;;;;AAaO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,EAAD,UAAgB,IAAIC,OAAJ,CAAY,UAACC,OAAD,UAAaC,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAvB,EAAZ,CAAhB,EAAd,C;;AAEA,IAAMI,YAAY,GAAG,SAAfA,YAAe,GAAM;AAChC;AACD,CAFM,C;;AAIMC,gB;AACJC,IAAAA,I,GAAO,kB,sFADsBC,K;;;AAI/B,SAASC,aAAT,CAAuBC,IAAvB,EAAyCT,EAAzC,EAAqD;AAC1D,MAAIU,gBAA4B,GAAG,oCAAM,IAAN,EAAnC;;AAEA,MAAIT,OAAJ,CAAY,UAACC,OAAD,EAAUS,MAAV,EAAqB;AAC/BD,IAAAA,gBAAgB,GAAGC,MAAnB;AACAR,IAAAA,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAV;AACD,GAHD;AAIGY,EAAAA,IAJH,CAIQH,IAJR;AAKGI,EAAAA,KALH,CAKS,oBAAM,IAAN,EALT;;AAOA,SAAOH,gBAAP;AACD;;AAEM,SAASI,UAAT,CAAuBC,CAAvB,EAAuD;AAC5D,SAAO,OAAOA,CAAP,KAAa,UAApB;AACD;;AAEM,SAASC,qBAAT,CAA+BC,SAA/B,EAA8D;AACnE,SAAO,OAAOA,SAAP,KAAqB,UAArB,IAAmC,EAAEA,SAAS,CAACC,SAAV,IAAuBD,SAAS,CAACC,SAAV,CAAoBC,gBAA7C,CAA1C;AACD;;AAEM,SAASC,qBAAT,CAA+BC,CAA/B,EAAkD;AACvD,SAAOA,CAAC,CAACC,OAAF,CAAU,qBAAV,EAAiC,MAAjC,CAAP;AACD;;AAEM,IAAMC,WAAW,GAAG,SAAdA,WAAc,WAAcC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,KAA3B,CAAiC,CAAjC,CAAd,EAApB,C;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAA2B;AACvD,SAAO,IAAIC,MAAJ,oBAA2BC,4BAAkBC,MAAM,CAACC,QAAP,CAAgBC,IAAlC,WAA3B,YAAiF,IAAjF,EAAuFC,IAAvF,CAA4FN,IAA5F,CAAP;AACD,CAFM;;AAIP;AACA;AACA,G;AACO,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAACC,aAAD,EAAwBC,IAAxB,EAA2D;AACtF,oBAAIC,eAAMC,cAAN,CAAqBF,IAArB,CAAJ,EAAgC;AAC9B;AACEG,MAAAA,MAAM,CAACvB,SAAP,CAAiBwB,cAAjB,CAAgCC,IAAhC,CAAqCL,IAAI,CAACM,IAA1C,EAAgD,qBAAhD;AACA;AACAN,MAAAA,IAAI,CAACM,IAAL,CAAUC,mBAAV,KAAkCR,aAHpC;;AAKD;;AAED,SAAO,KAAP;AACD,CAVM,C","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\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 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 function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike) {\n return typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent);\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-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n"]}
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","prototype","isReactComponent","escapeRegExpSpecChars","s","replace","getRandomID","Math","random","toString","slice","isExternalLink","link","RegExp","isBrowser","window","location","host","test","isReactUINode","componentName","node","React","isValidElement","Object","hasOwnProperty","call","type","__KONTUR_REACT_UI__","isNonNullable","value","undefined"],"mappings":";AACA;;AAEA;;;;;;;;;;;;;AAaO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,EAAD,UAAgB,IAAIC,OAAJ,CAAY,UAACC,OAAD,UAAaC,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAvB,EAAZ,CAAhB,EAAd,C;;AAEA,IAAMI,YAAY,GAAG,SAAfA,YAAe,GAAM;AAChC;AACD,CAFM,C;;AAIMC,gB;AACJC,IAAAA,I,GAAO,kB,sFADsBC,K;;;AAI/B,SAASC,aAAT,CAAuBC,IAAvB,EAAyCT,EAAzC,EAAqD;AAC1D,MAAIU,gBAA4B,GAAG,oCAAM,IAAN,EAAnC;;AAEA,MAAIT,OAAJ,CAAY,UAACC,OAAD,EAAUS,MAAV,EAAqB;AAC/BD,IAAAA,gBAAgB,GAAGC,MAAnB;AACAR,IAAAA,UAAU,CAACD,OAAD,EAAUF,EAAV,CAAV;AACD,GAHD;AAIGY,EAAAA,IAJH,CAIQH,IAJR;AAKGI,EAAAA,KALH,CAKS,oBAAM,IAAN,EALT;;AAOA,SAAOH,gBAAP;AACD;;AAEM,SAASI,UAAT,CAAuBC,CAAvB,EAAuD;AAC5D,SAAO,OAAOA,CAAP,KAAa,UAApB;AACD;;AAEM,SAASC,qBAAT,CAA+BC,SAA/B,EAA8D;AACnE,SAAO,OAAOA,SAAP,KAAqB,UAArB,IAAmC,EAAEA,SAAS,CAACC,SAAV,IAAuBD,SAAS,CAACC,SAAV,CAAoBC,gBAA7C,CAA1C;AACD;;AAEM,SAASC,qBAAT,CAA+BC,CAA/B,EAAkD;AACvD,SAAOA,CAAC,CAACC,OAAF,CAAU,qBAAV,EAAiC,MAAjC,CAAP;AACD;;AAEM,IAAMC,WAAW,GAAG,SAAdA,WAAc,WAAcC,IAAI,CAACC,MAAL,GAAcC,QAAd,CAAuB,EAAvB,EAA2BC,KAA3B,CAAiC,CAAjC,CAAd,EAApB,C;;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAA2B;AACvD,SAAO,IAAIC,MAAJ,oBAA2BC,4BAAkBC,MAAM,CAACC,QAAP,CAAgBC,IAAlC,WAA3B,YAAiF,IAAjF,EAAuFC,IAAvF,CAA4FN,IAA5F,CAAP;AACD,CAFM;;AAIP;AACA;AACA,G;AACO,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAACC,aAAD,EAAwBC,IAAxB,EAA2D;AACtF,oBAAIC,eAAMC,cAAN,CAAqBF,IAArB,CAAJ,EAAgC;AAC9B;AACEG,MAAAA,MAAM,CAACvB,SAAP,CAAiBwB,cAAjB,CAAgCC,IAAhC,CAAqCL,IAAI,CAACM,IAA1C,EAAgD,qBAAhD;AACA;AACAN,MAAAA,IAAI,CAACM,IAAL,CAAUC,mBAAV,KAAkCR,aAHpC;;AAKD;;AAED,SAAO,KAAP;AACD,CAVM;;AAYP;AACA;AACA;AACA;AACA;AACA,G;AACO,IAAMS,aAAa,GAAG,SAAhBA,aAAgB,CAAIC,KAAJ,EAA0C;AACrE,SAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKC,SAAnC;AACD,CAFM,C","sourcesContent":["import { ReactComponentLike } from 'prop-types';\nimport React from 'react';\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 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 function isFunction<T>(x: T | Function): x is Function {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: ReactComponentLike) {\n return typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent);\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-ignore\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\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"]}
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
3
  import React from 'react';
4
4
  import { isIE11, isEdge } from "../../../lib/client";
5
- import { tabListener } from "../../../lib/events/tabListener";
5
+ import { keyListener } from "../../../lib/events/keyListener";
6
6
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
7
7
  import { Spinner } from "../../Spinner";
8
8
  import { CommonWrapper } from "../../../internal/CommonWrapper";
@@ -31,7 +31,7 @@ export var Button = /*#__PURE__*/function (_React$Component) {
31
31
  // focus event fires before keyDown eventlistener
32
32
  // so we should check tabPressed in async way
33
33
  requestAnimationFrame(function () {
34
- if (tabListener.isTabPressed) {
34
+ if (keyListener.isTabPressed) {
35
35
  _this.setState({
36
36
  focusedByTab: true
37
37
  });
@@ -62,7 +62,7 @@ export var Button = /*#__PURE__*/function (_React$Component) {
62
62
 
63
63
  _proto.componentDidMount = function componentDidMount() {
64
64
  if (this.props.autoFocus) {
65
- tabListener.isTabPressed = true;
65
+ keyListener.isTabPressed = true;
66
66
  this.focus();
67
67
  }
68
68
  }
@@ -150,7 +150,8 @@ export var Button = /*#__PURE__*/function (_React$Component) {
150
150
  onMouseEnter: onMouseEnter,
151
151
  onMouseLeave: onMouseLeave,
152
152
  onMouseOver: onMouseOver,
153
- tabIndex: disableFocus ? -1 : 0
153
+ tabIndex: disableFocus ? -1 : 0,
154
+ title: this.props.title
154
155
  };
155
156
  var wrapProps = {
156
157
  className: cx((_cx2 = {}, _cx2[styles.wrap()] = true, _cx2[styles.wrapArrow()] = arrow === true, _cx2[styles.wrapArrowLeft()] = arrow === 'left', _cx2)),
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["React","isIE11","isEdge","tabListener","ThemeContext","Spinner","CommonWrapper","cx","styles","activeStyles","globalClasses","Corners","Button","state","focusedByTab","theme","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","blur","render","renderMain","corners","active","borderless","checked","error","warning","loading","arrow","narrow","icon","_noPadding","_noRightPadding","use","defaultProps","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","sizeClass","getSizeClassName","isFocused","isLink","rootProps","type","className","root","checkedDisabled","noPadding","noRightPadding","style","borderTopLeftRadius","TOP_LEFT","undefined","borderTopRightRadius","TOP_RIGHT","borderBottomRightRadius","BOTTOM_RIGHT","borderBottomLeftRadius","BOTTOM_LEFT","textAlign","tabIndex","wrapProps","wrap","wrapArrow","wrapArrowLeft","outlineNode","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","loadingNode","getLoadingSpinner","iconNode","getSizeIconClassName","iconNoRightPadding","iconLink","arrowNode","arrowWarning","arrowError","arrowFocus","arrowLeft","arrowHelper","arrowHelperTop","arrowHelperBottom","link","linkFocus","linkDisabled","Object","assign","wrapLink","caption","captionTranslated","captionLink","captionDisabled","visibilityHidden","size","sizeLarge","sizeLargeIE11","sizeMedium","sizeMediumIE11","sizeSmall","sizeSmallIE11","iconLarge","iconMedium","iconSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton","child","isValidElement","prototype","hasOwnProperty","call"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { tabListener } from '../../lib/events/tabListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { Corners } from './Corners';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Визуально нажатое состояние.\n */\n active?: boolean;\n\n /** `type TextAlignProperty = \"inherit\" | \"initial\" | \"unset\" | \"center\" | \"end\" | \"justify\" | \"left\" | \"match-parent\" | \"right\" | \"start\"` */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Кнопка со стрелкой.\n *\n * `type ButtonArrow = boolean | \"left\"`\n */\n arrow?: boolean | 'left';\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: number;\n\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n error?: boolean;\n\n focused?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n loading?: boolean;\n\n narrow?: boolean;\n\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /** `type ButtonSize = \"small\" | \"medium\" | \"large\"` */\n size?: ButtonSize;\n\n /** `type ButtonType = \"button\" | \"submit\" | \"reset\"` */\n type?: ButtonType;\n\n /**\n * Вариант использования. Влияет на цвет кнопки.\n *\n * `type ButtonUse = \"default\" | \"primary\" | \"success\" | \"danger\" | \"pay\" | \"link\"`\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n warning?: boolean;\n\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n public static TOP_LEFT = Corners.TOP_LEFT;\n public static TOP_RIGHT = Corners.TOP_RIGHT;\n public static BOTTOM_RIGHT = Corners.BOTTOM_RIGHT;\n public static BOTTOM_LEFT = Corners.BOTTOM_LEFT;\n\n public static defaultProps = {\n use: 'default' as ButtonUse,\n size: 'small' as ButtonSize,\n type: 'button' as ButtonType,\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n tabListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners = 0,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n arrow,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n use = Button.defaultProps.use,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: this.props.type,\n className: cx({\n [styles.root(this.theme)]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused && !checked,\n [styles.checked(this.theme)]: checked,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n }),\n style: {\n borderTopLeftRadius: corners & Corners.TOP_LEFT ? 0 : undefined,\n borderTopRightRadius: corners & Corners.TOP_RIGHT ? 0 : undefined,\n borderBottomRightRadius: corners & Corners.BOTTOM_RIGHT ? 0 : undefined,\n borderBottomLeftRadius: corners & Corners.BOTTOM_LEFT ? 0 : undefined,\n textAlign: align,\n },\n disabled: disabled || loading,\n onClick: onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown: onKeyDown,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseOver: onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap()]: true,\n [styles.wrapArrow()]: arrow === true,\n [styles.wrapArrowLeft()]: arrow === 'left',\n }),\n style: {\n width: width,\n },\n };\n\n let outlineNode = null;\n if (!isFocused || isLink) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = <div className={styles.loading()}>{this.getLoadingSpinner()}</div>;\n }\n\n let iconNode = null;\n if (icon) {\n iconNode = (\n <span\n className={cx(styles.icon(), this.getSizeIconClassName(), {\n [styles.iconNoRightPadding()]: !children,\n [styles.iconLink(this.theme)]: isLink,\n })}\n >\n {loading ? this.getLoadingSpinner() : icon}\n </span>\n );\n }\n\n let arrowNode = null;\n if (arrow) {\n arrowNode = (\n <div\n className={cx({\n [styles.arrow()]: true,\n [styles.arrowWarning(this.theme)]: !checked && warning,\n [styles.arrowError(this.theme)]: !checked && error,\n [styles.arrowFocus(this.theme)]: !checked && isFocused,\n [styles.arrowLeft()]: arrow === 'left',\n })}\n >\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperTop)} />\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperBottom)} />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n arrowNode = null;\n }\n\n return (\n <CommonWrapper {...this.props}>\n <span {...wrapProps}>\n <button ref={this._ref} {...rootProps}>\n {outlineNode}\n {loadingNode}\n {arrowNode}\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: active || checked,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {iconNode}\n <span className={cx({ [styles.visibilityHidden()]: !!loadingNode })}>{children}</span>\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getLoadingSpinner() {\n return <Spinner caption={null} dimmed type=\"mini\" />;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), { [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), { [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), { [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge });\n }\n }\n\n private getSizeIconClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private 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 (tabListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = (child: React.ReactChild): child is React.ReactElement<ButtonProps> => {\n return React.isValidElement<ButtonProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__BUTTON__')\n : false;\n};\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["React","isIE11","isEdge","keyListener","ThemeContext","Spinner","CommonWrapper","cx","styles","activeStyles","globalClasses","Corners","Button","state","focusedByTab","theme","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","blur","render","renderMain","corners","active","borderless","checked","error","warning","loading","arrow","narrow","icon","_noPadding","_noRightPadding","use","defaultProps","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","sizeClass","getSizeClassName","isFocused","isLink","rootProps","type","className","root","checkedDisabled","noPadding","noRightPadding","style","borderTopLeftRadius","TOP_LEFT","undefined","borderTopRightRadius","TOP_RIGHT","borderBottomRightRadius","BOTTOM_RIGHT","borderBottomLeftRadius","BOTTOM_LEFT","textAlign","tabIndex","title","wrapProps","wrap","wrapArrow","wrapArrowLeft","outlineNode","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","loadingNode","getLoadingSpinner","iconNode","getSizeIconClassName","iconNoRightPadding","iconLink","arrowNode","arrowWarning","arrowError","arrowFocus","arrowLeft","arrowHelper","arrowHelperTop","arrowHelperBottom","link","linkFocus","linkDisabled","Object","assign","wrapLink","caption","captionTranslated","captionLink","captionDisabled","visibilityHidden","size","sizeLarge","sizeLargeIE11","sizeMedium","sizeMediumIE11","sizeSmall","sizeSmallIE11","iconLarge","iconMedium","iconSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton","child","isValidElement","prototype","hasOwnProperty","call"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isIE11, isEdge } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\nimport { Corners } from './Corners';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Визуально нажатое состояние.\n */\n active?: boolean;\n\n /** `type TextAlignProperty = \"inherit\" | \"initial\" | \"unset\" | \"center\" | \"end\" | \"justify\" | \"left\" | \"match-parent\" | \"right\" | \"start\"` */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Кнопка со стрелкой.\n *\n * `type ButtonArrow = boolean | \"left\"`\n */\n arrow?: boolean | 'left';\n\n autoFocus?: boolean;\n\n borderless?: boolean;\n\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: number;\n\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n error?: boolean;\n\n focused?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n loading?: boolean;\n\n narrow?: boolean;\n\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /** `type ButtonSize = \"small\" | \"medium\" | \"large\"` */\n size?: ButtonSize;\n\n /** `type ButtonType = \"button\" | \"submit\" | \"reset\"` */\n type?: ButtonType;\n\n title?: string;\n\n /**\n * Вариант использования. Влияет на цвет кнопки.\n *\n * `type ButtonUse = \"default\" | \"primary\" | \"success\" | \"danger\" | \"pay\" | \"link\"`\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n warning?: boolean;\n\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n public static TOP_LEFT = Corners.TOP_LEFT;\n public static TOP_RIGHT = Corners.TOP_RIGHT;\n public static BOTTOM_RIGHT = Corners.BOTTOM_RIGHT;\n public static BOTTOM_LEFT = Corners.BOTTOM_LEFT;\n\n public static defaultProps = {\n use: 'default' as ButtonUse,\n size: 'small' as ButtonSize,\n type: 'button' as ButtonType,\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners = 0,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n arrow,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n use = Button.defaultProps.use,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: this.props.type,\n className: cx({\n [styles.root(this.theme)]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused && !checked,\n [styles.checked(this.theme)]: checked,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n }),\n style: {\n borderTopLeftRadius: corners & Corners.TOP_LEFT ? 0 : undefined,\n borderTopRightRadius: corners & Corners.TOP_RIGHT ? 0 : undefined,\n borderBottomRightRadius: corners & Corners.BOTTOM_RIGHT ? 0 : undefined,\n borderBottomLeftRadius: corners & Corners.BOTTOM_LEFT ? 0 : undefined,\n textAlign: align,\n },\n disabled: disabled || loading,\n onClick: onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown: onKeyDown,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseOver: onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap()]: true,\n [styles.wrapArrow()]: arrow === true,\n [styles.wrapArrowLeft()]: arrow === 'left',\n }),\n style: {\n width: width,\n },\n };\n\n let outlineNode = null;\n if (!isFocused || isLink) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = <div className={styles.loading()}>{this.getLoadingSpinner()}</div>;\n }\n\n let iconNode = null;\n if (icon) {\n iconNode = (\n <span\n className={cx(styles.icon(), this.getSizeIconClassName(), {\n [styles.iconNoRightPadding()]: !children,\n [styles.iconLink(this.theme)]: isLink,\n })}\n >\n {loading ? this.getLoadingSpinner() : icon}\n </span>\n );\n }\n\n let arrowNode = null;\n if (arrow) {\n arrowNode = (\n <div\n className={cx({\n [styles.arrow()]: true,\n [styles.arrowWarning(this.theme)]: !checked && warning,\n [styles.arrowError(this.theme)]: !checked && error,\n [styles.arrowFocus(this.theme)]: !checked && isFocused,\n [styles.arrowLeft()]: arrow === 'left',\n })}\n >\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperTop)} />\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperBottom)} />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n arrowNode = null;\n }\n\n return (\n <CommonWrapper {...this.props}>\n <span {...wrapProps}>\n <button ref={this._ref} {...rootProps}>\n {outlineNode}\n {loadingNode}\n {arrowNode}\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: active || checked,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {iconNode}\n <span className={cx({ [styles.visibilityHidden()]: !!loadingNode })}>{children}</span>\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getLoadingSpinner() {\n return <Spinner caption={null} dimmed type=\"mini\" />;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), { [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), { [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), { [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge });\n }\n }\n\n private getSizeIconClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private 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 = (child: React.ReactChild): child is React.ReactElement<ButtonProps> => {\n return React.isValidElement<ButtonProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__BUTTON__')\n : false;\n};\n"]}
@@ -48,6 +48,7 @@ export interface ButtonProps extends CommonProps {
48
48
  size?: ButtonSize;
49
49
  /** `type ButtonType = "button" | "submit" | "reset"` */
50
50
  type?: ButtonType;
51
+ title?: string;
51
52
  /**
52
53
  * Вариант использования. Влияет на цвет кнопки.
53
54
  *
@@ -14,7 +14,7 @@ export var globalClasses = prefix('button')({
14
14
  });
15
15
  export var styles = memoizeStyle({
16
16
  root: function root(t) {
17
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", ";\n\n background-clip: padding-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ", " solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .", " {\n transform: translateY(1px);\n }\n "])), resetButton(), resetText(), t.btnBorderWidth, globalClasses.caption);
17
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n ", ";\n ", ";\n\n background-clip: ", ";\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ", " solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .", " {\n transform: translateY(1px);\n }\n "])), resetButton(), resetText(), t.btnBackgroundClip, t.btnBorderWidth, globalClasses.caption);
18
18
  },
19
19
  outline: function outline() {
20
20
  return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n "])));
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","styles","root","t","btnBorderWidth","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnHeightSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnHeightMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnHeightLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnCheckedShadow","btnCheckedBg","btnCheckedTextColor","btnDefaultCheckedBorderColor","btnArrowBgImageChecked","checkedDisabled","btnCheckedDisabledShadow","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledBorderColor","captionLink","captionTranslated","captionDisabled","wrap","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","linkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: padding-box;\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ${t.btnBorderWidth} solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnHeightSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnHeightMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnHeightLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n border-color: ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n box-shadow: none;\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: ${t.btnCheckedShadow};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n border-color: ${t.btnDefaultCheckedBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: ${t.btnCheckedDisabledShadow};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n border-color: ${t.btnCheckedDisabledBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap() {\n return css`\n box-sizing: border-box;\n display: inline-block;\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.linkActiveColor};\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","styles","root","t","btnBackgroundClip","btnBorderWidth","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnHeightSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnHeightMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnHeightLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnCheckedShadow","btnCheckedBg","btnCheckedTextColor","btnDefaultCheckedBorderColor","btnArrowBgImageChecked","checkedDisabled","btnCheckedDisabledShadow","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledBorderColor","captionLink","captionTranslated","captionDisabled","wrap","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","linkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ${t.btnBorderWidth} solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnHeightSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnHeightMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnHeightLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n border-color: ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n box-shadow: none;\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: ${t.btnCheckedShadow};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n border-color: ${t.btnDefaultCheckedBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: ${t.btnCheckedDisabledShadow};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n border-color: ${t.btnCheckedDisabledBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap() {\n return css`\n box-sizing: border-box;\n display: inline-block;\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.linkActiveColor};\n }\n `;\n },\n});\n"]}
@@ -3,7 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  import React from 'react';
5
5
  import PropTypes from 'prop-types';
6
- import { tabListener } from "../../../lib/events/tabListener";
6
+ import { keyListener } from "../../../lib/events/keyListener";
7
7
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
8
8
  import { OkIcon, SquareIcon } from "../../../internal/icons/16px";
9
9
  import { isEdge, isFirefox, isIE11 } from "../../../lib/client";
@@ -89,7 +89,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
89
89
  if (_this.props.children) {
90
90
  var _cx2;
91
91
 
92
- var captionClass = cx((_cx2 = {}, _cx2[styles.caption(_this.theme)] = true, _cx2[styles.captionIE11()] = isIE11 || isEdge, _cx2));
92
+ var captionClass = cx((_cx2 = {}, _cx2[styles.caption(_this.theme)] = true, _cx2[styles.captionIE11()] = isIE11 || isEdge, _cx2[styles.disabled(_this.theme)] = Boolean(props.disabled), _cx2));
93
93
  caption = /*#__PURE__*/React.createElement("span", {
94
94
  className: captionClass
95
95
  }, _this.props.children);
@@ -97,7 +97,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
97
97
 
98
98
  var iconClass = cx((_cx3 = {}, _cx3[styles.iconUnchecked()] = !props.checked && !isIndeterminate, _cx3[styles.iconFixBaseline()] = isFirefox || isIE11 || isEdge, _cx3));
99
99
  var box = /*#__PURE__*/React.createElement("span", {
100
- className: cx(styles.box(_this.theme), globalClasses.box, (_cx4 = {}, _cx4[styles.boxChecked(_this.theme)] = Boolean(props.checked) || isIndeterminate, _cx4[styles.boxWarning(_this.theme)] = Boolean(props.warning), _cx4[styles.boxError(_this.theme)] = Boolean(props.error), _cx4[styles.boxFocus(_this.theme)] = _this.state.focusedByTab, _cx4[styles.boxDisabled(_this.theme)] = Boolean(props.disabled), _cx4))
100
+ className: cx(styles.box(_this.theme), globalClasses.box, (_cx4 = {}, _cx4[styles.boxChecked(_this.theme)] = props.checked || isIndeterminate, _cx4[styles.boxFocus(_this.theme)] = _this.state.focusedByTab, _cx4[styles.boxError(_this.theme)] = props.error, _cx4[styles.boxWarning(_this.theme)] = props.warning, _cx4[styles.boxDisabled(_this.theme)] = props.disabled, _cx4))
101
101
  }, isIndeterminate && /*#__PURE__*/React.createElement(SquareIcon, {
102
102
  className: iconClass
103
103
  }) || /*#__PURE__*/React.createElement(OkIcon, {
@@ -116,7 +116,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
116
116
  // focus event fires before keyDown eventlistener
117
117
  // so we should check tabPressed in async way
118
118
  requestAnimationFrame(function () {
119
- if (tabListener.isTabPressed) {
119
+ if (keyListener.isTabPressed) {
120
120
  _this.setState({
121
121
  focusedByTab: true
122
122
  });
@@ -199,7 +199,7 @@ export var Checkbox = /*#__PURE__*/function (_React$Component) {
199
199
  _proto.focus = function focus() {
200
200
  var _this$input;
201
201
 
202
- tabListener.isTabPressed = true;
202
+ keyListener.isTabPressed = true;
203
203
  (_this$input = this.input) == null ? void 0 : _this$input.focus();
204
204
  }
205
205
  /**