@skbkontur/react-ui 4.0.0-beta.2 → 4.0.0-beta.3

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 (449) hide show
  1. package/cjs/components/Button/Button.d.ts +1 -1
  2. package/cjs/components/Button/Button.js +4 -3
  3. package/cjs/components/Button/Button.js.map +1 -1
  4. package/cjs/components/Button/Button.styles.d.ts +1 -0
  5. package/cjs/components/Button/Button.styles.js +41 -31
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  8. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  9. package/cjs/components/FileUploader/FileUploader.d.ts +31 -0
  10. package/cjs/components/FileUploader/FileUploader.js +266 -0
  11. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  12. package/cjs/components/FileUploader/FileUploader.md +67 -0
  13. package/cjs/components/FileUploader/FileUploader.styles.d.ts +20 -0
  14. package/cjs/components/FileUploader/FileUploader.styles.js +161 -0
  15. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  16. package/cjs/components/FileUploader/index.d.ts +4 -0
  17. package/cjs/components/FileUploader/index.js +4 -0
  18. package/cjs/components/FileUploader/index.js.map +1 -0
  19. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  20. package/cjs/components/FileUploader/locale/index.js +11 -0
  21. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  22. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  23. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  24. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  25. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  26. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  27. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  28. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  29. package/cjs/components/FileUploader/locale/types.js +1 -0
  30. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  31. package/cjs/components/GlobalLoader/GlabalLoaderView.d.ts +8 -0
  32. package/cjs/components/GlobalLoader/GlabalLoaderView.js +44 -0
  33. package/cjs/components/GlobalLoader/GlabalLoaderView.js.map +1 -0
  34. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +102 -0
  35. package/cjs/components/GlobalLoader/GlobalLoader.js +260 -0
  36. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -0
  37. package/cjs/components/GlobalLoader/GlobalLoader.md +92 -0
  38. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +13 -0
  39. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +130 -0
  40. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  41. package/cjs/components/GlobalLoader/index.d.ts +1 -0
  42. package/cjs/components/GlobalLoader/index.js +1 -0
  43. package/cjs/components/GlobalLoader/index.js.map +1 -0
  44. package/cjs/components/Hint/Hint.d.ts +2 -1
  45. package/cjs/components/Hint/Hint.js +0 -16
  46. package/cjs/components/Hint/Hint.js.map +1 -1
  47. package/cjs/components/Kebab/Kebab.d.ts +2 -2
  48. package/cjs/components/Kebab/Kebab.js.map +1 -1
  49. package/cjs/components/Link/Link.js +1 -1
  50. package/cjs/components/Link/Link.js.map +1 -1
  51. package/cjs/components/Link/Link.styles.d.ts +1 -1
  52. package/cjs/components/Link/Link.styles.js +3 -3
  53. package/cjs/components/Link/Link.styles.js.map +1 -1
  54. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  55. package/cjs/components/MenuItem/MenuItem.js +1 -4
  56. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  57. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  58. package/cjs/components/Modal/Modal.styles.js +16 -8
  59. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  60. package/cjs/components/Modal/ModalFooter.js +1 -0
  61. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  62. package/cjs/components/SidePage/SidePage.styles.d.ts +1 -0
  63. package/cjs/components/SidePage/SidePage.styles.js +14 -6
  64. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  65. package/cjs/components/SidePage/SidePageFooter.js +2 -1
  66. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  67. package/cjs/components/Spinner/Spinner.d.ts +8 -0
  68. package/cjs/components/Spinner/Spinner.js +22 -3
  69. package/cjs/components/Spinner/Spinner.js.map +1 -1
  70. package/cjs/components/Spinner/Spinner.md +1 -0
  71. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  72. package/cjs/components/Spinner/Spinner.styles.js +14 -11
  73. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  74. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  75. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  76. package/cjs/components/Tooltip/Tooltip.d.ts +8 -21
  77. package/cjs/components/Tooltip/Tooltip.js +15 -28
  78. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  79. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  80. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  81. package/cjs/hooks/useDrop.d.ts +11 -0
  82. package/cjs/hooks/useDrop.js +75 -0
  83. package/cjs/hooks/useDrop.js.map +1 -0
  84. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  85. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  86. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  87. package/cjs/hooks/useMemoObject.d.ts +1 -0
  88. package/cjs/hooks/useMemoObject.js +5 -0
  89. package/cjs/hooks/useMemoObject.js.map +1 -0
  90. package/cjs/index.d.ts +2 -0
  91. package/cjs/index.js +3 -1
  92. package/cjs/index.js.map +1 -1
  93. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  94. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  95. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  96. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  97. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +106 -0
  98. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  99. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  100. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +183 -0
  101. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  102. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  103. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  104. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  105. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  106. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +24 -0
  107. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  108. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  109. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +17 -0
  110. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  111. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  112. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  113. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  114. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  115. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  116. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  117. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  118. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  119. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  120. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  121. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  122. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  123. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  124. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +19 -0
  125. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  126. package/cjs/internal/Popup/Popup.d.ts +5 -4
  127. package/cjs/internal/Popup/Popup.js +13 -24
  128. package/cjs/internal/Popup/Popup.js.map +1 -1
  129. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  130. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  131. package/cjs/internal/Popup/types.d.ts +1 -0
  132. package/cjs/internal/Popup/types.js +1 -0
  133. package/cjs/internal/Popup/types.js.map +1 -0
  134. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -3
  135. package/cjs/internal/PopupMenu/PopupMenu.js +18 -4
  136. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  137. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  138. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  139. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  140. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  141. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +34 -0
  142. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  143. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  144. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  145. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  146. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -0
  147. package/cjs/internal/ThemePlayground/Playground.js +11 -4
  148. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  149. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -2
  150. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +2 -8
  151. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  152. package/cjs/internal/ThemePlayground/constants.d.ts +1 -2
  153. package/cjs/internal/ThemePlayground/constants.js +3 -3
  154. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  155. package/cjs/internal/ThemePlayground/darkTheme.d.ts +14 -0
  156. package/cjs/internal/ThemePlayground/darkTheme.js +14 -0
  157. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  158. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +9 -6
  159. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  160. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  161. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +37 -22
  162. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  163. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  164. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  165. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -0
  166. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  167. package/cjs/internal/icons/16px/index.d.ts +3 -0
  168. package/cjs/internal/icons/16px/index.js +44 -2
  169. package/cjs/internal/icons/16px/index.js.map +1 -1
  170. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  171. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  172. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  173. package/cjs/internal/themes/DarkTheme.d.ts +34 -0
  174. package/cjs/internal/themes/DarkTheme.js +55 -3
  175. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  176. package/cjs/internal/themes/DefaultTheme.d.ts +39 -3
  177. package/cjs/internal/themes/DefaultTheme.js +76 -15
  178. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  179. package/cjs/internal/themes/OldColors.d.ts +6 -0
  180. package/cjs/internal/themes/OldColors.js +35 -17
  181. package/cjs/internal/themes/OldColors.js.map +1 -1
  182. package/cjs/lib/ModalStack.js +16 -17
  183. package/cjs/lib/ModalStack.js.map +1 -1
  184. package/cjs/lib/locale/types.d.ts +2 -0
  185. package/cjs/lib/locale/types.js +2 -0
  186. package/cjs/lib/locale/types.js.map +1 -1
  187. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  188. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  189. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  190. package/cjs/lib/stringUtils.d.ts +1 -0
  191. package/cjs/lib/stringUtils.js +13 -0
  192. package/cjs/lib/stringUtils.js.map +1 -0
  193. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  194. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  195. package/cjs/lib/theming/useTheme.d.ts +1 -0
  196. package/cjs/lib/theming/useTheme.js +7 -0
  197. package/cjs/lib/theming/useTheme.js.map +1 -0
  198. package/cjs/lib/uidUtils.d.ts +1 -0
  199. package/cjs/lib/uidUtils.js +5 -0
  200. package/cjs/lib/uidUtils.js.map +1 -0
  201. package/cjs/lib/utils.d.ts +33 -0
  202. package/cjs/lib/utils.js +81 -3
  203. package/cjs/lib/utils.js.map +1 -1
  204. package/cjs/typings/html-props.d.ts +123 -0
  205. package/components/Button/Button/Button.js +3 -7
  206. package/components/Button/Button/Button.js.map +1 -1
  207. package/components/Button/Button.d.ts +1 -1
  208. package/components/Button/Button.styles/Button.styles.js +34 -31
  209. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  210. package/components/Button/Button.styles.d.ts +1 -0
  211. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  212. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  213. package/components/FileUploader/FileUploader/FileUploader.js +258 -0
  214. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  215. package/components/FileUploader/FileUploader/package.json +6 -0
  216. package/components/FileUploader/FileUploader.d.ts +31 -0
  217. package/components/FileUploader/FileUploader.md +67 -0
  218. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +59 -0
  219. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  220. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  221. package/components/FileUploader/FileUploader.styles.d.ts +20 -0
  222. package/components/FileUploader/index/index.js +3 -0
  223. package/components/FileUploader/index/index.js.map +1 -0
  224. package/components/FileUploader/index/package.json +6 -0
  225. package/components/FileUploader/index.d.ts +4 -0
  226. package/components/FileUploader/locale/index/index.js +8 -0
  227. package/components/FileUploader/locale/index/index.js.map +1 -0
  228. package/components/FileUploader/locale/index/package.json +6 -0
  229. package/components/FileUploader/locale/index.d.ts +4 -0
  230. package/components/FileUploader/locale/locales/en/en.js +6 -0
  231. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  232. package/components/FileUploader/locale/locales/en/package.json +6 -0
  233. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  234. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  235. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  236. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  237. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  238. package/components/FileUploader/locale/package.json +6 -0
  239. package/components/FileUploader/locale/types/package.json +6 -0
  240. package/components/FileUploader/locale/types/types.js +1 -0
  241. package/components/FileUploader/locale/types/types.js.map +1 -0
  242. package/components/FileUploader/locale/types.d.ts +6 -0
  243. package/components/FileUploader/package.json +6 -0
  244. package/components/GlobalLoader/GlabalLoaderView/GlabalLoaderView.js +30 -0
  245. package/components/GlobalLoader/GlabalLoaderView/GlabalLoaderView.js.map +1 -0
  246. package/components/GlobalLoader/GlabalLoaderView/package.json +6 -0
  247. package/components/GlobalLoader/GlabalLoaderView.d.ts +8 -0
  248. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +225 -0
  249. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -0
  250. package/components/GlobalLoader/GlobalLoader/package.json +6 -0
  251. package/components/GlobalLoader/GlobalLoader.d.ts +102 -0
  252. package/components/GlobalLoader/GlobalLoader.md +92 -0
  253. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +40 -0
  254. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -0
  255. package/components/GlobalLoader/GlobalLoaderView.styles/package.json +6 -0
  256. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +13 -0
  257. package/components/GlobalLoader/index/index.js +1 -0
  258. package/components/GlobalLoader/index/index.js.map +1 -0
  259. package/components/GlobalLoader/index/package.json +6 -0
  260. package/components/GlobalLoader/index.d.ts +1 -0
  261. package/components/GlobalLoader/package.json +6 -0
  262. package/components/Hint/Hint/Hint.js.map +1 -1
  263. package/components/Hint/Hint.d.ts +2 -1
  264. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  265. package/components/Kebab/Kebab.d.ts +2 -2
  266. package/components/Link/Link/Link.js +1 -1
  267. package/components/Link/Link/Link.js.map +1 -1
  268. package/components/Link/Link.styles/Link.styles.js +2 -2
  269. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  270. package/components/Link/Link.styles.d.ts +1 -1
  271. package/components/MenuItem/MenuItem/MenuItem.js +2 -7
  272. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  273. package/components/MenuItem/MenuItem.d.ts +1 -1
  274. package/components/Modal/Modal.styles/Modal.styles.js +11 -8
  275. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  276. package/components/Modal/Modal.styles.d.ts +1 -0
  277. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  278. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  279. package/components/SidePage/SidePage.styles/SidePage.styles.js +9 -6
  280. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  281. package/components/SidePage/SidePage.styles.d.ts +1 -0
  282. package/components/SidePage/SidePageFooter/SidePageFooter.js +1 -1
  283. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  284. package/components/Spinner/Spinner/Spinner.js +5 -2
  285. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  286. package/components/Spinner/Spinner.d.ts +8 -0
  287. package/components/Spinner/Spinner.md +1 -0
  288. package/components/Spinner/Spinner.styles/Spinner.styles.js +13 -10
  289. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  290. package/components/Spinner/Spinner.styles.d.ts +2 -1
  291. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  292. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  293. package/components/Tooltip/Tooltip/Tooltip.js +3 -3
  294. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  295. package/components/Tooltip/Tooltip.d.ts +8 -21
  296. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  297. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  298. package/hooks/useDrop/package.json +6 -0
  299. package/hooks/useDrop/useDrop.js +57 -0
  300. package/hooks/useDrop/useDrop.js.map +1 -0
  301. package/hooks/useDrop.d.ts +11 -0
  302. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  303. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  304. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  305. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  306. package/hooks/useMemoObject/package.json +6 -0
  307. package/hooks/useMemoObject/useMemoObject.js +6 -0
  308. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  309. package/hooks/useMemoObject.d.ts +1 -0
  310. package/index.d.ts +2 -0
  311. package/index.js +3 -1
  312. package/index.js.map +1 -1
  313. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  314. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  315. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  316. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  317. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +85 -0
  318. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  319. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  320. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  321. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +177 -0
  322. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  323. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  324. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +10 -0
  325. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  326. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  327. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  328. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  329. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +23 -0
  330. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  331. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  332. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +4 -0
  333. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +11 -0
  334. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  335. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  336. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +4 -0
  337. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +16 -0
  338. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  339. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  340. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  341. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  342. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  343. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  344. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  345. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  346. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  347. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  348. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  349. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  350. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  351. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  352. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  353. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  354. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +17 -0
  355. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  356. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  357. package/internal/Popup/Popup/Popup.js +3 -2
  358. package/internal/Popup/Popup/Popup.js.map +1 -1
  359. package/internal/Popup/Popup.d.ts +5 -4
  360. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  361. package/internal/Popup/PopupHelper.d.ts +2 -2
  362. package/internal/Popup/types/package.json +6 -0
  363. package/internal/Popup/types/types.js +1 -0
  364. package/internal/Popup/types/types.js.map +1 -0
  365. package/internal/Popup/types.d.ts +1 -0
  366. package/internal/PopupMenu/PopupMenu/PopupMenu.js +4 -4
  367. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  368. package/internal/PopupMenu/PopupMenu.d.ts +3 -3
  369. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  370. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  371. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  372. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +51 -0
  373. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  374. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  375. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  376. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  377. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  378. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  379. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  380. package/internal/ThemePlayground/Playground/Playground.js +13 -8
  381. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  382. package/internal/ThemePlayground/Playground.d.ts +1 -0
  383. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +0 -6
  384. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  385. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -2
  386. package/internal/ThemePlayground/constants/constants.js +3 -1
  387. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  388. package/internal/ThemePlayground/constants.d.ts +1 -2
  389. package/internal/ThemePlayground/darkTheme/darkTheme.js +14 -0
  390. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  391. package/internal/ThemePlayground/darkTheme.d.ts +14 -0
  392. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +7 -5
  393. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  394. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +26 -20
  395. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  396. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +4 -2
  397. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  398. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -0
  399. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  400. package/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  401. package/internal/icons/16px/index/index.js +42 -0
  402. package/internal/icons/16px/index/index.js.map +1 -1
  403. package/internal/icons/16px/index.d.ts +3 -0
  404. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  405. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  406. package/internal/icons/SpinnerIcon.d.ts +4 -1
  407. package/internal/themes/DarkTheme/DarkTheme.js +65 -3
  408. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  409. package/internal/themes/DarkTheme.d.ts +34 -0
  410. package/internal/themes/DefaultTheme/DefaultTheme.js +104 -20
  411. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  412. package/internal/themes/DefaultTheme.d.ts +39 -3
  413. package/internal/themes/OldColors/OldColors.js +31 -19
  414. package/internal/themes/OldColors/OldColors.js.map +1 -1
  415. package/internal/themes/OldColors.d.ts +6 -0
  416. package/lib/ModalStack/ModalStack.js +9 -13
  417. package/lib/ModalStack/ModalStack.js.map +1 -1
  418. package/lib/locale/types/types.js.map +1 -1
  419. package/lib/locale/types.d.ts +2 -0
  420. package/lib/locale/useLocaleForControl/package.json +6 -0
  421. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  422. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  423. package/lib/locale/useLocaleForControl.d.ts +3 -0
  424. package/lib/stringUtils/package.json +6 -0
  425. package/lib/stringUtils/stringUtils.js +12 -0
  426. package/lib/stringUtils/stringUtils.js.map +1 -0
  427. package/lib/stringUtils.d.ts +1 -0
  428. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  429. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  430. package/lib/theming/useTheme/package.json +6 -0
  431. package/lib/theming/useTheme/useTheme.js +5 -0
  432. package/lib/theming/useTheme/useTheme.js.map +1 -0
  433. package/lib/theming/useTheme.d.ts +1 -0
  434. package/lib/uidUtils/package.json +6 -0
  435. package/lib/uidUtils/uidUtils.js +4 -0
  436. package/lib/uidUtils/uidUtils.js.map +1 -0
  437. package/lib/uidUtils.d.ts +1 -0
  438. package/lib/utils/utils.js +84 -0
  439. package/lib/utils/utils.js.map +1 -1
  440. package/lib/utils.d.ts +33 -0
  441. package/package.json +4 -1
  442. package/typings/html-props.d.ts +123 -0
  443. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  444. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  445. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  446. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  447. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  448. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  449. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.styles.ts"],"names":["globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","innerShadow","styles","root","t","css","btnBackgroundClip","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnBorderWidth","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","isFirefox","arrowLeft","default","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","btnDefaultCheckedBorderColor","btnCheckedBg","btnCheckedTextColor","btnCheckedShadow","btnArrowBgImageChecked","checkedDisabled","btnCheckedDisabledBorderColor","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledShadow","captionLink","captionTranslated","captionDisabled","wrap","wrapSmall","btnHeightSmall","wrapMedium","btnHeightMedium","wrapLarge","btnHeightLarge","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 innerShadow: 'inner-shadow',\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 height: 100%; // fix height in ie11\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\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.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.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.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 }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\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: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\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: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\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(t: Theme) {\n return css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return css`\n height: ${t.btnHeightLarge};\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 box-shadow: none;\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":["globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","innerShadow","styles","root","t","css","btnBackgroundClip","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnBorderWidth","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","isFirefox","arrowLeft","default","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","btnDefaultCheckedBorderColor","btnCheckedBg","btnCheckedTextColor","btnCheckedShadow","btnArrowBgImageChecked","checkedFocused","checkedDisabled","btnCheckedDisabledBorderColor","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledShadow","captionLink","captionTranslated","captionDisabled","wrap","wrapSmall","btnHeightSmall","wrapMedium","btnHeightMedium","wrapLarge","btnHeightLarge","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":"2TAAA;;AAEA;AACA;;AAEA,yC;;;;;;;;;AASO,IAAMA,aAAa,GAAG,qBAAO,QAAP,EAAiB;AAC5CC,EAAAA,WAAW,EAAE,cAD+B;AAE5CC,EAAAA,cAAc,EAAE,kBAF4B;AAG5CC,EAAAA,iBAAiB,EAAE,qBAHyB;AAI5CC,EAAAA,OAAO,EAAE,SAJmC;AAK5CC,EAAAA,WAAW,EAAE,cAL+B,EAAjB,CAAtB,C;;;AAQA,IAAMC,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACI,8BADJ;AAEI,4BAFJ;;AAIqBD,IAAAA,CAAC,CAACE,iBAJvB;;;;;;;;;;;AAeKV,IAAAA,aAAa,CAACK,WAfnB;;;;;;;;;;;;;;;;;;;;;AAoCcL,IAAAA,aAAa,CAACI,OApC5B;;;;AAwCD,GA1CgC;;AA4CjCO,EAAAA,OA5CiC,qBA4CvB;AACR,eAAOF,YAAP;;;;;;;;AAQD,GArDgC;;AAuDjCG,EAAAA,cAvDiC,0BAuDlBJ,CAvDkB,EAuDR;AACvB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACK,eADxB,EAC2CL,CAAC,CAACM,qBAD7C;AAEkBN,IAAAA,CAAC,CAACO,aAFpB,EAEqCP,CAAC,CAACQ,aAFvC;;AAID,GA5DgC;;AA8DjCC,EAAAA,YA9DiC,wBA8DpBT,CA9DoB,EA8DV;AACrB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACK,eADxB,EAC2CL,CAAC,CAACU,mBAD7C,EACiFV,CAAC,CAACO,aADnF,EACoGP,CAAC,CAACQ,aADtG;;AAGD,GAlEgC;;AAoEjCG,EAAAA,WApEiC,yBAoEnB;AACZ,eAAOV,YAAP;;;;;;AAMD,GA3EgC;;AA6EjCW,EAAAA,kBA7EiC,8BA6EdZ,CA7Ec,EA6EJ;AAC3B,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACa,mBADxB;;AAGD,GAjFgC;;AAmFjCC,EAAAA,gBAnFiC,4BAmFhBd,CAnFgB,EAmFN;AACzB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACe,iBADxB;;AAGD,GAvFgC;;AAyFjCC,EAAAA,SAzFiC,qBAyFvBhB,CAzFuB,EAyFb;AAClB,eAAOC,YAAP;AACmBD,IAAAA,CAAC,CAACiB,oBADrB;;AAGI;AACAjB,IAAAA,CAAC,CAACkB,gBADF;AAEAlB,IAAAA,CAAC,CAACmB,kBAFF;AAGAnB,IAAAA,CAAC,CAACoB,gBAHF;AAIApB,IAAAA,CAAC,CAACqB,gBAJF;AAKArB,IAAAA,CAAC,CAACsB,8BALF,CAHJ;;;AAWD,GArGgC;;AAuGjCC,EAAAA,aAvGiC,yBAuGnBvB,CAvGmB,EAuGT;AACtB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAACkB,gBADF;AAEAlB,IAAAA,CAAC,CAACoB,gBAFF;AAGApB,IAAAA,CAAC,CAACqB,gBAHF;AAIArB,IAAAA,CAAC,CAACsB,8BAJF,CADJ;;;AAQD,GAhHgC;;AAkHjCE,EAAAA,UAlHiC,sBAkHtBxB,CAlHsB,EAkHZ;AACnB,eAAOC,YAAP;AACmBD,IAAAA,CAAC,CAACyB,qBADrB;;AAGI;AACAzB,IAAAA,CAAC,CAAC0B,iBADF;AAEA1B,IAAAA,CAAC,CAAC2B,mBAFF;AAGA3B,IAAAA,CAAC,CAAC4B,iBAHF;AAIA5B,IAAAA,CAAC,CAAC6B,iBAJF;AAKA7B,IAAAA,CAAC,CAACsB,8BALF,CAHJ;;;AAWD,GA9HgC;;AAgIjCQ,EAAAA,cAhIiC,0BAgIlB9B,CAhIkB,EAgIR;AACvB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAAC0B,iBADF;AAEA1B,IAAAA,CAAC,CAAC4B,iBAFF;AAGA5B,IAAAA,CAAC,CAAC6B,iBAHF;AAIA7B,IAAAA,CAAC,CAACsB,8BAJF,CADJ;;;AAQD,GAzIgC;;AA2IjCS,EAAAA,SA3IiC,qBA2IvB/B,CA3IuB,EA2Ib;AAClB,eAAOC,YAAP;AACmBD,IAAAA,CAAC,CAACgC,oBADrB;;AAGI;AACAhC,IAAAA,CAAC,CAACiC,gBADF;AAEAjC,IAAAA,CAAC,CAACkC,kBAFF;AAGAlC,IAAAA,CAAC,CAACmC,gBAHF;AAIAnC,IAAAA,CAAC,CAACoC,gBAJF;AAKApC,IAAAA,CAAC,CAACsB,8BALF,CAHJ;;;AAWD,GAvJgC;;AAyJjCe,EAAAA,aAzJiC,yBAyJnBrC,CAzJmB,EAyJT;AACtB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAACiC,gBADF;AAEAjC,IAAAA,CAAC,CAACmC,gBAFF;AAGAnC,IAAAA,CAAC,CAACoC,gBAHF;AAIApC,IAAAA,CAAC,CAACsB,8BAJF,CADJ;;;AAQD,GAlKgC;;AAoKjCgB,EAAAA,IApKiC,gBAoK5BtC,CApK4B,EAoKlB;AACb,eAAOC,YAAP;;AAEmBD,IAAAA,CAAC,CAACuC,mBAFrB;;;;AAMWvC,IAAAA,CAAC,CAACwC,YANb;;;;;;;;AAcaxC,IAAAA,CAAC,CAACyC,iBAdf;AAeuBzC,IAAAA,CAAC,CAAC0C,0BAfzB;;;AAkBMC,IAAAA,YAAY,CAACL,IAAb,CAAkBtC,CAAlB,CAlBN;;;AAqBD,GA1LgC;;AA4LjC4C,EAAAA,SA5LiC,qBA4LvB5C,CA5LuB,EA4Lb;AAClB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACwC,YADb;AAEqBxC,IAAAA,CAAC,CAAC0C,0BAFvB;;AAID,GAjMgC;;AAmMjCG,EAAAA,YAnMiC,wBAmMpB7C,CAnMoB,EAmMV;AACrB,eAAOC,YAAP;;;;;;;AAOaD,IAAAA,CAAC,CAAC8C,oBAPf;;;AAUD,GA9MgC;;AAgNjCC,EAAAA,KAhNiC,iBAgN3B/C,CAhN2B,EAgNjB;AACd,eAAOC,YAAP;;;;;;;;AAQ8BD,IAAAA,CAAC,CAACO,aARhC,EAQiDP,CAAC,CAACgD,oBARnD;AASchD,IAAAA,CAAC,CAACiD,mBAThB,EASuCjD,CAAC,CAACkD,mBATzC;;;AAYD,GA7NgC;;AA+NjCC,EAAAA,QA/NiC,oBA+NxBnD,CA/NwB,EA+Nd;AACjB,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACoD,cAHxB,EAG0CpD,CAAC,CAACqD,sBAH5C;;;AAMsBrD,IAAAA,CAAC,CAACsD,aANxB;AAOWtD,IAAAA,CAAC,CAACuD,oBAPb;;AASK/D,IAAAA,aAAa,CAACC,WATnB;AAUkBO,IAAAA,CAAC,CAACoD,cAVpB,EAU4CpD,CAAC,CAACqD,sBAV9C;;;AAaD,GA7OgC;;AA+OjCG,EAAAA,YA/OiC,wBA+OpBxD,CA/OoB,EA+OV;AACrB,eAAOC,YAAP;AAC4BD,IAAAA,CAAC,CAACO,aAD9B,EAC+CP,CAAC,CAACQ,aADjD;;AAGI,mCAAkBR,CAAC,CAACO,aAApB,EAAmCP,CAAC,CAACM,qBAArC,EAA4DN,CAAC,CAACK,eAA9D,EAA+EL,CAAC,CAACQ,aAAjF,CAHJ;;AAKD,GArPgC;;AAuPjCiD,EAAAA,UAvPiC,sBAuPtBzD,CAvPsB,EAuPZ;AACnB,eAAOC,YAAP;AAC4BD,IAAAA,CAAC,CAACO,aAD9B,EAC+CP,CAAC,CAACQ,aADjD;;AAGI,mCAAkBR,CAAC,CAACO,aAApB,EAAmCP,CAAC,CAACU,mBAArC,EAA0DV,CAAC,CAACK,eAA5D,EAA6EL,CAAC,CAACQ,aAA/E,CAHJ;;AAKD,GA7PgC;;AA+PjCkD,EAAAA,UA/PiC,sBA+PtB1D,CA/PsB,EA+PZ;AACnB,eAAOC,YAAP;AAC4BD,IAAAA,CAAC,CAACO,aAD9B,EAC+CP,CAAC,CAACgD,oBADjD;;AAGI,mCAAkBhD,CAAC,CAACO,aAApB,EAAmCP,CAAC,CAACkD,mBAArC,EAA0DlD,CAAC,CAACK,eAA5D,EAA6EL,CAAC,CAACgD,oBAA/E,CAHJ;;AAKD,GArQgC;;AAuQjCW,EAAAA,KAvQiC,mBAuQzB;AACN,eAAO1D,YAAP;;;;;;;;;AASKT,IAAAA,aAAa,CAACC,WATnB;;;;;;;;;;;;;;;;;;;;;AA8B8BmE,yCA9B9B;;;;AAkCKpE,IAAAA,aAAa,CAACE,cAlCnB;;;;;;;;;;;;;;AAgDKF,IAAAA,aAAa,CAACG,iBAhDnB;;;;;;;;;;;;;;AA8DD,GAtUgC;;AAwUjCkE,EAAAA,SAxUiC,uBAwUrB;AACV,eAAO5D,YAAP;;;AAGD,GA5UgC;;AA8UjC6D,EAAAA,OA9UiC,oBA8UzB9D,CA9UyB,EA8Uf;AAChB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAAC+D,YADF;AAEA/D,IAAAA,CAAC,CAACgE,iBAFF;AAGAhE,IAAAA,CAAC,CAACiE,eAHF;AAIAjE,IAAAA,CAAC,CAACkE,mBAJF;AAKAlE,IAAAA,CAAC,CAACmE,qBALF;AAMAnE,IAAAA,CAAC,CAACoE,2BANF;AAOApE,IAAAA,CAAC,CAACoD,cAPF,CADJ;;;AAWI;AACApD,IAAAA,CAAC,CAACqE,iBADF;AAEArE,IAAAA,CAAC,CAACsE,sBAFF;AAGAtE,IAAAA,CAAC,CAACuE,oBAHF;AAIAvE,IAAAA,CAAC,CAACwE,0BAJF;AAKAxE,IAAAA,CAAC,CAACyE,gCALF;AAMAzE,IAAAA,CAAC,CAACoD,cANF,CAXJ;;;;AAqBMT,IAAAA,YAAY,CAACmB,OAAb,CAAqB9D,CAArB,CArBN;;;AAwBD,GAvWgC;;AAyWjC0E,EAAAA,OAzWiC,mBAyWzB1E,CAzWyB,EAyWf;AAChB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAAC2E,YADF;AAEA3E,IAAAA,CAAC,CAAC4E,iBAFF;AAGA5E,IAAAA,CAAC,CAAC6E,eAHF;AAIA7E,IAAAA,CAAC,CAAC8E,mBAJF;AAKA9E,IAAAA,CAAC,CAAC+E,qBALF;AAMA/E,IAAAA,CAAC,CAACgF,2BANF;AAOAhF,IAAAA,CAAC,CAACoD,cAPF,CADJ;;;AAWI;AACApD,IAAAA,CAAC,CAACiF,iBADF;AAEAjF,IAAAA,CAAC,CAACkF,sBAFF;AAGAlF,IAAAA,CAAC,CAACmF,oBAHF;AAIAnF,IAAAA,CAAC,CAACoF,0BAJF;AAKApF,IAAAA,CAAC,CAACqF,gCALF;AAMArF,IAAAA,CAAC,CAACoD,cANF,CAXJ;;;;AAqBMT,IAAAA,YAAY,CAAC+B,OAAb,CAAqB1E,CAArB,CArBN;;;AAwBD,GAlYgC;;AAoYjCsF,EAAAA,OApYiC,mBAoYzBtF,CApYyB,EAoYf;AAChB,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAACuF,YADF;AAEAvF,IAAAA,CAAC,CAACwF,iBAFF;AAGAxF,IAAAA,CAAC,CAACyF,eAHF;AAIAzF,IAAAA,CAAC,CAAC0F,mBAJF;AAKA1F,IAAAA,CAAC,CAAC2F,qBALF;AAMA3F,IAAAA,CAAC,CAAC4F,2BANF;AAOA5F,IAAAA,CAAC,CAACoD,cAPF,CADJ;;;AAWI;AACApD,IAAAA,CAAC,CAAC6F,iBADF;AAEA7F,IAAAA,CAAC,CAAC8F,sBAFF;AAGA9F,IAAAA,CAAC,CAAC+F,oBAHF;AAIA/F,IAAAA,CAAC,CAACgG,0BAJF;AAKAhG,IAAAA,CAAC,CAACiG,gCALF;AAMAjG,IAAAA,CAAC,CAACoD,cANF,CAXJ;;;;AAqBMT,IAAAA,YAAY,CAAC2C,OAAb,CAAqBtF,CAArB,CArBN;;;AAwBD,GA7ZgC;;AA+ZjCkG,EAAAA,MA/ZiC,kBA+Z1BlG,CA/Z0B,EA+ZhB;AACf,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAACmG,WADF;AAEAnG,IAAAA,CAAC,CAACoG,gBAFF;AAGApG,IAAAA,CAAC,CAACqG,cAHF;AAIArG,IAAAA,CAAC,CAACsG,kBAJF;AAKAtG,IAAAA,CAAC,CAACuG,oBALF;AAMAvG,IAAAA,CAAC,CAACwG,0BANF;AAOAxG,IAAAA,CAAC,CAACoD,cAPF,CADJ;;;AAWI;AACApD,IAAAA,CAAC,CAACyG,gBADF;AAEAzG,IAAAA,CAAC,CAAC0G,qBAFF;AAGA1G,IAAAA,CAAC,CAAC2G,mBAHF;AAIA3G,IAAAA,CAAC,CAAC4G,yBAJF;AAKA5G,IAAAA,CAAC,CAAC6G,+BALF;AAMA7G,IAAAA,CAAC,CAACoD,cANF,CAXJ;;;;AAqBMT,IAAAA,YAAY,CAACuD,MAAb,CAAoBlG,CAApB,CArBN;;;AAwBD,GAxbgC;;AA0bjC8G,EAAAA,GA1biC,eA0b7B9G,CA1b6B,EA0bnB;AACZ,eAAOC,YAAP;AACI;AACAD,IAAAA,CAAC,CAAC+G,QADF;AAEA/G,IAAAA,CAAC,CAACgH,aAFF;AAGAhH,IAAAA,CAAC,CAACiH,WAHF;AAIAjH,IAAAA,CAAC,CAACkH,eAJF;AAKAlH,IAAAA,CAAC,CAACmH,iBALF;AAMAnH,IAAAA,CAAC,CAACoH,uBANF;AAOApH,IAAAA,CAAC,CAACoD,cAPF,CADJ;;;AAWI;AACApD,IAAAA,CAAC,CAACqH,aADF;AAEArH,IAAAA,CAAC,CAACsH,kBAFF;AAGAtH,IAAAA,CAAC,CAACuH,gBAHF;AAIAvH,IAAAA,CAAC,CAACwH,sBAJF;AAKAxH,IAAAA,CAAC,CAACyH,4BALF;AAMAzH,IAAAA,CAAC,CAACoD,cANF,CAXJ;;;;AAqBMT,IAAAA,YAAY,CAACmE,GAAb,CAAiB9G,CAAjB,CArBN;;;AAwBD,GAndgC;;AAqdjC0H,EAAAA,OArdiC,mBAqdzB1H,CArdyB,EAqdf;AAChB,QAAM2H,aAAa;;AAEG3H,IAAAA,CAAC,CAACoD,cAFL,SAEuBpD,CAAC,CAAC4H,4BAFzB;AAGG5H,IAAAA,CAAC,CAAC6H,YAHL;AAIR7H,IAAAA,CAAC,CAAC8H,mBAJM;;AAMdtI,IAAAA,aAAa,CAACK,WANA;AAODG,IAAAA,CAAC,CAAC+H,gBAPD;;;AAUdvI,IAAAA,aAAa,CAACC,WAVA;AAWDO,IAAAA,CAAC,CAACoD,cAXD,aAWuBpD,CAAC,CAAC4H,4BAXzB;;AAaXpI,IAAAA,aAAa,CAACE,cAbH;AAcOM,IAAAA,CAAC,CAACgI,sBAdT,gCAAnB;;;;;AAmBA,eAAO/H,YAAP;AACI0H,IAAAA,aADJ;;;;;AAMMA,IAAAA,aANN;;;AASD,GAlfgC;;AAofjCM,EAAAA,cApfiC,0BAoflBjI,CApfkB,EAofR;AACvB,eAAOC,YAAP;;AAE8BD,IAAAA,CAAC,CAACO,aAFhC,EAEiDP,CAAC,CAACgD,oBAFnD;AAGchD,IAAAA,CAAC,CAACiD,mBAHhB,EAGuCjD,CAAC,CAACkD,mBAHzC;AAIoBlD,IAAAA,CAAC,CAACkD,mBAJtB;;;AAOD,GA5fgC;;AA8fjCgF,EAAAA,eA9fiC,2BA8fjBlI,CA9fiB,EA8fP;AACxB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACoD,cADxB,EAC0CpD,CAAC,CAACmI,6BAD5C;AAEsBnI,IAAAA,CAAC,CAACoI,oBAFxB;AAGWpI,IAAAA,CAAC,CAACqI,uBAHb;;AAKK7I,IAAAA,aAAa,CAACK,WALnB;AAMkBG,IAAAA,CAAC,CAACsI,wBANpB;;;AASK9I,IAAAA,aAAa,CAACC,WATnB;AAUkBO,IAAAA,CAAC,CAACoD,cAVpB,EAU0CpD,CAAC,CAACmI,6BAV5C;;AAYQ3I,IAAAA,aAAa,CAACE,cAZtB;;;;;AAiBD,GAhhBgC;;AAkhBjCE,EAAAA,OAlhBiC,qBAkhBvB;AACR,eAAOK,YAAP;;;;;;;AAOD,GA1hBgC;;AA4hBjCsI,EAAAA,WA5hBiC,yBA4hBnB;AACZ,eAAOtI,YAAP;;;;AAID,GAjiBgC;;AAmiBjCuI,EAAAA,iBAniBiC,+BAmiBb;AAClB,eAAOvI,YAAP;;;AAGD,GAviBgC;;AAyiBjCwI,EAAAA,eAziBiC,6BAyiBf;AAChB,eAAOxI,YAAP;;;AAGD,GA7iBgC;;AA+iBjCyI,EAAAA,IA/iBiC,gBA+iB5B1I,CA/iB4B,EA+iBlB;AACb,eAAOC,YAAP;;;;AAIaD,IAAAA,CAAC,CAACoD,cAJf;;AAMD,GAtjBgC;;AAwjBjCuF,EAAAA,SAxjBiC,qBAwjBvB3I,CAxjBuB,EAwjBb;AAClB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAAC4I,cADd;;AAGD,GA5jBgC;;AA8jBjCC,EAAAA,UA9jBiC,sBA8jBtB7I,CA9jBsB,EA8jBZ;AACnB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAAC8I,eADd;;AAGD,GAlkBgC;;AAokBjCC,EAAAA,SApkBiC,qBAokBvB/I,CApkBuB,EAokBb;AAClB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACgJ,cADd;;AAGD,GAxkBgC;;AA0kBjCC,EAAAA,MA1kBiC,oBA0kBxB;AACP,eAAOhJ,YAAP;;;;AAID,GA/kBgC;;AAilBjCiJ,EAAAA,SAjlBiC,uBAilBrB;AACV,eAAOjJ,YAAP;;;;AAID,GAtlBgC;;AAwlBjCkJ,EAAAA,cAxlBiC,4BAwlBhB;AACf,eAAOlJ,YAAP;;;AAGD,GA5lBgC;;AA8lBjCmJ,EAAAA,kBA9lBiC,gCA8lBZ;AACnB,eAAOnJ,YAAP;;;AAGD,GAlmBgC;;AAomBjCoJ,EAAAA,QApmBiC,oBAomBxBrJ,CApmBwB,EAomBd;AACjB,eAAOC,YAAP;AACmBD,IAAAA,CAAC,CAACsJ,sBADrB;;AAGD,GAxmBgC;;AA0mBjCC,EAAAA,QA1mBiC,sBA0mBtB;AACT,eAAOtJ,YAAP;;;AAGD,GA9mBgC;;AAgnBjCuJ,EAAAA,SAhnBiC,uBAgnBrB;AACV,eAAOvJ,YAAP;;;AAGD,GApnBgC;;AAsnBjCwJ,EAAAA,aAtnBiC,2BAsnBjB;AACd,eAAOxJ,YAAP;;;;AAID,GA3nBgC;;AA6nBjCyJ,EAAAA,IA7nBiC,kBA6nB1B;AACL,eAAOzJ,YAAP;;;AAGD,GAjoBgC;AAkoBjC0J,EAAAA,SAloBiC,qBAkoBvB3J,CAloBuB,EAkoBb;AAClB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAAC4J,gBADb;AAEmB5J,IAAAA,CAAC,CAAC6J,eAFrB;;AAID,GAvoBgC;AAwoBjCC,EAAAA,UAxoBiC,sBAwoBtB9J,CAxoBsB,EAwoBZ;AACnB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAAC+J,iBADb;AAEmB/J,IAAAA,CAAC,CAACgK,gBAFrB;;AAID,GA7oBgC;AA8oBjCC,EAAAA,SA9oBiC,qBA8oBvBjK,CA9oBuB,EA8oBb;AAClB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACkK,gBADb;AAEmBlK,IAAAA,CAAC,CAACmK,eAFrB;;AAID,GAnpBgC;;AAqpBjCC,EAAAA,UArpBiC,wBAqpBpB;AACX,eAAOnK,YAAP;;;;;AAKOT,IAAAA,aAAa,CAACE,cALrB,EAKyCF,aAAa,CAACG,iBALvD;;;;;AAUD,GAhqBgC;;AAkqBjC0K,EAAAA,OAlqBiC,qBAkqBvB;AACR,eAAOpK,YAAP;;;;;;;;;;;;AAYD,GA/qBgC;;AAirBjCqK,EAAAA,gBAjrBiC,8BAirBd;AACjB,eAAOrK,YAAP;;;AAGD,GArrBgC,EAAb,CAAf,C;;;AAwrBA,IAAM0C,YAAY,GAAG,2BAAa;AACvCmB,EAAAA,OADuC,oBAC/B9D,CAD+B,EACrB;AAChB,eAAOC,YAAP;;;AAGM;AACAD,IAAAA,CAAC,CAACuK,kBADF;AAEAvK,IAAAA,CAAC,CAACwK,sBAFF;AAGAxK,IAAAA,CAAC,CAACyK,2BAHF;AAIAzK,IAAAA,CAAC,CAAC0K,8BAJF;AAKA1K,IAAAA,CAAC,CAACoD,cALF;AAMApD,IAAAA,CAAC,CAAC2K,qBANF,CAHN;;;;AAaD,GAfsC;;AAiBvCjG,EAAAA,OAjBuC,mBAiB/B1E,CAjB+B,EAiBrB;AAChB,eAAOC,YAAP;;;AAGM;AACAD,IAAAA,CAAC,CAAC4K,kBADF;AAEA5K,IAAAA,CAAC,CAAC6K,sBAFF;AAGA7K,IAAAA,CAAC,CAAC8K,2BAHF;AAIA9K,IAAAA,CAAC,CAAC+K,8BAJF;AAKA/K,IAAAA,CAAC,CAACoD,cALF;AAMApD,IAAAA,CAAC,CAAC2K,qBANF,CAHN;;;;AAaD,GA/BsC;;AAiCvCrF,EAAAA,OAjCuC,mBAiC/BtF,CAjC+B,EAiCrB;AAChB,eAAOC,YAAP;;;AAGM;AACAD,IAAAA,CAAC,CAACgL,kBADF;AAEAhL,IAAAA,CAAC,CAACiL,sBAFF;AAGAjL,IAAAA,CAAC,CAACkL,2BAHF;AAIAlL,IAAAA,CAAC,CAACmL,8BAJF;AAKAnL,IAAAA,CAAC,CAACoD,cALF;AAMApD,IAAAA,CAAC,CAAC2K,qBANF,CAHN;;;;AAaD,GA/CsC;;AAiDvCzE,EAAAA,MAjDuC,kBAiDhClG,CAjDgC,EAiDtB;AACf,eAAOC,YAAP;;;AAGM;AACAD,IAAAA,CAAC,CAACoL,iBADF;AAEApL,IAAAA,CAAC,CAACqL,qBAFF;AAGArL,IAAAA,CAAC,CAACsL,0BAHF;AAIAtL,IAAAA,CAAC,CAACuL,6BAJF;AAKAvL,IAAAA,CAAC,CAACoD,cALF;AAMApD,IAAAA,CAAC,CAAC2K,qBANF,CAHN;;;;AAaD,GA/DsC;;AAiEvC7D,EAAAA,GAjEuC,eAiEnC9G,CAjEmC,EAiEzB;AACZ,eAAOC,YAAP;;;AAGM;AACAD,IAAAA,CAAC,CAACwL,cADF;AAEAxL,IAAAA,CAAC,CAACyL,kBAFF;AAGAzL,IAAAA,CAAC,CAAC0L,uBAHF;AAIA1L,IAAAA,CAAC,CAAC2L,0BAJF;AAKA3L,IAAAA,CAAC,CAACoD,cALF;AAMApD,IAAAA,CAAC,CAAC2K,qBANF,CAHN;;;;AAaD,GA/EsC;;AAiFvCrI,EAAAA,IAjFuC,gBAiFlCtC,CAjFkC,EAiFxB;AACb,eAAOC,YAAP;;;AAGaD,IAAAA,CAAC,CAAC4L,eAHf;;;AAMD,GAxFsC,EAAb,CAArB,C","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 innerShadow: 'inner-shadow',\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 height: 100%; // fix height in ie11\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\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.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.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.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 }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\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: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\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 checkedFocused(t: Theme) {\n return css`\n &: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 checkedDisabled(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\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(t: Theme) {\n return css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return css`\n height: ${t.btnHeightLarge};\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 box-shadow: none;\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,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PopupMenuProps } from '../../internal/PopupMenu';
3
- import { PopupPosition } from '../../internal/Popup';
3
+ import { PopupPositionsType } from '../../internal/Popup';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface DropdownMenuProps extends CommonProps {
6
6
  /** Максимальная высота меню */
@@ -36,7 +36,7 @@ export interface DropdownMenuProps extends CommonProps {
36
36
  * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
37
37
  * @default ['bottom left', 'bottom right', 'top left', 'top right']
38
38
  */
39
- positions?: PopupPosition[];
39
+ positions?: PopupPositionsType[];
40
40
  onOpen?: () => void;
41
41
  onClose?: () => void;
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownMenu.tsx"],"names":["DropdownMenu","rootNode","props","popupMenu","open","close","refPopupMenu","ref","handleChangeMenuState","menuVisible","onOpen","onClose","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupMargin","renderMain","setRootNode","menuMaxHeight","menuWidth","positions","disableAnimations","header","footer","width","children","React","Component","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"0UAAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA;AACA;AACA,G;;AAEaA,Y,OADZC,kB;;;;;;;;;;;AAYC,wBAAYC,KAAZ,EAAsC;AACpC,wCAAMA,KAAN,UADoC,MAH9BC,SAG8B,GAHG,IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsD/BC,IAAAA,IAtD+B,GAsDxB,YAAY;AACxB,UAAI,MAAKD,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeC,IAAf;AACD;AACF,KA1DqC;;AA4D/BC,IAAAA,KA5D+B,GA4DvB,YAAY;AACzB,UAAI,MAAKF,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeE,KAAf;AACD;AACF,KAhEqC;;AAkE9BC,IAAAA,YAlE8B,GAkEf,UAACC,GAAD,UAA+B,MAAKJ,SAAL,GAAiBI,GAAhD,EAlEe;;AAoE9BC,IAAAA,qBApE8B,GAoEN,UAACC,WAAD,EAA0B;AACxD,UAAIA,WAAW,IAAI,MAAKP,KAAL,CAAWQ,MAA9B,EAAsC;AACpC,cAAKR,KAAL,CAAWQ,MAAX;AACA;AACD;;AAED,UAAI,CAACD,WAAD,IAAgB,MAAKP,KAAL,CAAWS,OAA/B,EAAwC;AACtC,cAAKT,KAAL,CAAWS,OAAX;AACA;AACD;AACF,KA9EqC,CAGpC,IAAI,CAACT,KAAK,CAACU,OAAP,IAAkB,CAACC,mCAAvB,EAAwC,CACtC,MAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN,CACD,CALmC,aAMrC,C,2CAEMC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAEC,2BAAaC,MAAb,CACL,EACEC,WAAW,EAAE,KADf,EADK,EAILH,KAJK,CADT,IAQG,MAAI,CAACI,UAAL,EARH,CADF,CAYD,CAdH,CADF,CAkBD,C,QAEMA,U,GAAP,sBAAoB,CAClB,IAAI,CAAC,KAAKlB,KAAL,CAAWU,OAAhB,EAAyB,CACvB,OAAO,IAAP,CACD,CACD,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKS,WAAjC,IAAkD,KAAKnB,KAAvD,gBACE,6BAAC,oBAAD,IACE,GAAG,EAAE,KAAKI,YADZ,EAEE,OAAO,EAAE,KAAKJ,KAAL,CAAWU,OAFtB,EAGE,aAAa,EAAE,KAAKV,KAAL,CAAWoB,aAH5B,EAIE,SAAS,EAAE,KAAKpB,KAAL,CAAWqB,SAJxB,EAKE,iBAAiB,EAAE,KAAKf,qBAL1B,EAME,WAAW,EAAE,KANf,EAOE,SAAS,EAAE,KAAKN,KAAL,CAAWsB,SAPxB,EAQE,iBAAiB,EAAE,KAAKtB,KAAL,CAAWuB,iBARhC,EASE,MAAM,EAAE,KAAKvB,KAAL,CAAWwB,MATrB,EAUE,MAAM,EAAE,KAAKxB,KAAL,CAAWyB,MAVrB,EAWE,KAAK,EAAE,KAAKzB,KAAL,CAAW0B,KAXpB,IAaG,KAAK1B,KAAL,CAAW2B,QAbd,CADF,CADF,CAmBD,C,uBA/D+BC,eAAMC,S,WACxBC,mB,GAAsB,c,UAEtBC,Y,GAAe,EAC3BR,iBAAiB,EAAES,6BADQ,EAE3BV,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAFgB,E","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPosition } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface DropdownMenuProps extends CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPosition[];\n\n onOpen?: () => void;\n onClose?: () => void;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: '0px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n onChangeMenuState={this.handleChangeMenuState}\n popupHasPin={false}\n positions={this.props.positions}\n disableAnimations={this.props.disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n\n private handleChangeMenuState = (menuVisible: boolean) => {\n if (menuVisible && this.props.onOpen) {\n this.props.onOpen();\n return;\n }\n\n if (!menuVisible && this.props.onClose) {\n this.props.onClose();\n return;\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["DropdownMenu.tsx"],"names":["DropdownMenu","rootNode","props","popupMenu","open","close","refPopupMenu","ref","handleChangeMenuState","menuVisible","onOpen","onClose","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupMargin","renderMain","setRootNode","menuMaxHeight","menuWidth","positions","disableAnimations","header","footer","width","children","React","Component","__KONTUR_REACT_UI__","defaultProps","isTestEnv"],"mappings":"0UAAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA;AACA;AACA,G;;AAEaA,Y,OADZC,kB;;;;;;;;;;;AAYC,wBAAYC,KAAZ,EAAsC;AACpC,wCAAMA,KAAN,UADoC,MAH9BC,SAG8B,GAHG,IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsD/BC,IAAAA,IAtD+B,GAsDxB,YAAY;AACxB,UAAI,MAAKD,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeC,IAAf;AACD;AACF,KA1DqC;;AA4D/BC,IAAAA,KA5D+B,GA4DvB,YAAY;AACzB,UAAI,MAAKF,SAAT,EAAoB;AAClB,cAAKA,SAAL,CAAeE,KAAf;AACD;AACF,KAhEqC;;AAkE9BC,IAAAA,YAlE8B,GAkEf,UAACC,GAAD,UAA+B,MAAKJ,SAAL,GAAiBI,GAAhD,EAlEe;;AAoE9BC,IAAAA,qBApE8B,GAoEN,UAACC,WAAD,EAA0B;AACxD,UAAIA,WAAW,IAAI,MAAKP,KAAL,CAAWQ,MAA9B,EAAsC;AACpC,cAAKR,KAAL,CAAWQ,MAAX;AACA;AACD;;AAED,UAAI,CAACD,WAAD,IAAgB,MAAKP,KAAL,CAAWS,OAA/B,EAAwC;AACtC,cAAKT,KAAL,CAAWS,OAAX;AACA;AACD;AACF,KA9EqC,CAGpC,IAAI,CAACT,KAAK,CAACU,OAAP,IAAkB,CAACC,mCAAvB,EAAwC,CACtC,MAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN,CACD,CALmC,aAMrC,C,2CAEMC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAEC,2BAAaC,MAAb,CACL,EACEC,WAAW,EAAE,KADf,EADK,EAILH,KAJK,CADT,IAQG,MAAI,CAACI,UAAL,EARH,CADF,CAYD,CAdH,CADF,CAkBD,C,QAEMA,U,GAAP,sBAAoB,CAClB,IAAI,CAAC,KAAKlB,KAAL,CAAWU,OAAhB,EAAyB,CACvB,OAAO,IAAP,CACD,CACD,oBACE,6BAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKS,WAAjC,IAAkD,KAAKnB,KAAvD,gBACE,6BAAC,oBAAD,IACE,GAAG,EAAE,KAAKI,YADZ,EAEE,OAAO,EAAE,KAAKJ,KAAL,CAAWU,OAFtB,EAGE,aAAa,EAAE,KAAKV,KAAL,CAAWoB,aAH5B,EAIE,SAAS,EAAE,KAAKpB,KAAL,CAAWqB,SAJxB,EAKE,iBAAiB,EAAE,KAAKf,qBAL1B,EAME,WAAW,EAAE,KANf,EAOE,SAAS,EAAE,KAAKN,KAAL,CAAWsB,SAPxB,EAQE,iBAAiB,EAAE,KAAKtB,KAAL,CAAWuB,iBARhC,EASE,MAAM,EAAE,KAAKvB,KAAL,CAAWwB,MATrB,EAUE,MAAM,EAAE,KAAKxB,KAAL,CAAWyB,MAVrB,EAWE,KAAK,EAAE,KAAKzB,KAAL,CAAW0B,KAXpB,IAaG,KAAK1B,KAAL,CAAW2B,QAbd,CADF,CADF,CAmBD,C,uBA/D+BC,eAAMC,S,WACxBC,mB,GAAsB,c,UAEtBC,Y,GAAe,EAC3BR,iBAAiB,EAAES,6BADQ,EAE3BV,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAFgB,E","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface DropdownMenuProps extends CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n onOpen?: () => void;\n onClose?: () => void;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: '0px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n onChangeMenuState={this.handleChangeMenuState}\n popupHasPin={false}\n positions={this.props.positions}\n disableAnimations={this.props.disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n\n private handleChangeMenuState = (menuVisible: boolean) => {\n if (menuVisible && this.props.onOpen) {\n this.props.onOpen();\n return;\n }\n\n if (!menuVisible && this.props.onClose) {\n this.props.onClose();\n return;\n }\n };\n}\n"]}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { FileUploaderAttachedFile } from '../../internal/FileUploaderControl/fileUtils';
3
+ import { Nullable } from '../../typings/utility-types';
4
+ import { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';
5
+ import { CommonProps } from '../../internal/CommonWrapper';
6
+ interface _FileUploaderProps extends CommonProps, React.InputHTMLAttributes<HTMLInputElement> {
7
+ /** Состояние ошибки всего контрола */
8
+ error?: boolean;
9
+ /** Состояние предупреждения всего контрола */
10
+ warning?: boolean;
11
+ /** Свойство ширины. */
12
+ width?: React.CSSProperties['width'];
13
+ /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */
14
+ request?: (file: FileUploaderAttachedFile) => Promise<void>;
15
+ /** Срабатывает при удачной попытке отправки через request */
16
+ onRequestSuccess?: (fileId: string) => void;
17
+ /** Срабатывает при неудачной попытке отправки через request */
18
+ onRequestError?: (fileId: string) => void;
19
+ /** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */
20
+ getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;
21
+ }
22
+ export interface FileUploaderRef {
23
+ focus: () => void;
24
+ blur: () => void;
25
+ /** Сбрасывает выбранные файлы */
26
+ reset: () => void;
27
+ }
28
+ export interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {
29
+ }
30
+ export declare const FileUploader: React.MemoExoticComponent<React.ForwardRefExoticComponent<FileUploaderProps & FileUploaderControlProviderProps & React.RefAttributes<FileUploaderRef>>>;
31
+ export {};
@@ -0,0 +1,266 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.FileUploader = void 0;var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _react = _interopRequireWildcard(require("react"));
2
+
3
+ var _fileUtils = require("../../internal/FileUploaderControl/fileUtils");
4
+ var _Emotion = require("../../lib/theming/Emotion");
5
+ var _useMemoObject = require("../../hooks/useMemoObject");
6
+ var _FileUploaderControlContext = require("../../internal/FileUploaderControl/FileUploaderControlContext");
7
+ var _FileUploaderFileValidationResult = require("../../internal/FileUploaderControl/FileUploaderFileValidationResult");
8
+ var _useControlLocale = require("../../internal/FileUploaderControl/hooks/useControlLocale");
9
+ var _useUpload = require("../../internal/FileUploaderControl/hooks/useUpload");
10
+ var _useDrop3 = require("../../hooks/useDrop");
11
+
12
+ var _ThemeContext = require("../../lib/theming/ThemeContext");
13
+ var _px = require("../../internal/icons/16px");
14
+
15
+ var _withFileUploaderControlProvider = require("../../internal/FileUploaderControl/withFileUploaderControlProvider");
16
+ var _keyListener = require("../../lib/events/keyListener");
17
+ var _FileUploaderFile = require("../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile");
18
+ var _FileUploaderFileList = require("../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList");
19
+ var _client = require("../../lib/client");
20
+ var _CommonWrapper = require("../../internal/CommonWrapper");
21
+
22
+ var _FileUploader2 = require("./FileUploader.styles");var _excluded = ["disabled", "error", "warning", "multiple", "width", "onBlur", "onFocus", "onChange", "request", "getFileValidationText", "onRequestSuccess", "onRequestError"];function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
23
+
24
+ var stopPropagation = function stopPropagation(e) {return e.stopPropagation();};
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ var _FileUploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {var _cx, _cx2, _cx3, _cx4;
54
+ var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
55
+
56
+ var
57
+ disabled =
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+ props.disabled,error = props.error,warning = props.warning,_props$multiple = props.multiple,multiple = _props$multiple === void 0 ? false : _props$multiple,_props$width = props.width,width = _props$width === void 0 ? theme.fileUploaderWidth : _props$width,onBlur = props.onBlur,onFocus = props.onFocus,onChange = props.onChange,request = props.request,getFileValidationText = props.getFileValidationText,onRequestSuccess = props.onRequestSuccess,onRequestError = props.onRequestError,inputProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
71
+
72
+ var _useContext = (0, _react.useContext)(_FileUploaderControlContext.FileUploaderControlContext),files = _useContext.files,setFiles = _useContext.setFiles,removeFile = _useContext.removeFile,setFileValidationResult = _useContext.setFileValidationResult,reset = _useContext.reset;
73
+
74
+ var locale = (0, _useControlLocale.useControlLocale)();
75
+
76
+ var inputRef = (0, _react.useRef)(null);
77
+
78
+ var isAsync = !!request;
79
+ var isSingleMode = !multiple;
80
+
81
+ var upload = (0, _useUpload.useUpload)(request, onRequestSuccess, onRequestError);
82
+
83
+ var tryValidateAndUpload = (0, _react.useCallback)(
84
+ function (files) {
85
+ files.forEach( /*#__PURE__*/function () {var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file) {var validationMessage;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.t0 =
86
+ getFileValidationText;if (!_context.t0) {_context.next = 5;break;}_context.next = 4;return getFileValidationText(file);case 4:_context.t0 = _context.sent;case 5:validationMessage = _context.t0;
87
+
88
+ if (!validationMessage) {
89
+ isAsync && upload(file);
90
+ } else {
91
+ setFileValidationResult(file.id, _FileUploaderFileValidationResult.FileUploaderFileValidationResult.error(validationMessage));
92
+ }case 7:case "end":return _context.stop();}}}, _callee);}));return function (_x) {return _ref.apply(this, arguments);};}());
93
+
94
+ },
95
+ [upload, error, getFileValidationText, isAsync]);
96
+
97
+
98
+ /** common part **/
99
+ var handleChange = (0, _react.useCallback)(
100
+ function (newFiles) {
101
+ if (!newFiles) return;
102
+
103
+ var filesArray = Array.from(newFiles);
104
+
105
+ if (isSingleMode) {
106
+ filesArray = [filesArray[0]];
107
+ }
108
+
109
+ var attachedFiles = filesArray.map(_fileUtils.getAttachedFile);
110
+
111
+ if (isSingleMode && attachedFiles.length && files.length) {
112
+ removeFile(files[0].id);
113
+ }
114
+
115
+ if (attachedFiles.length) {
116
+ setFiles(attachedFiles);
117
+ tryValidateAndUpload(attachedFiles);
118
+ }
119
+ },
120
+ [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile]);
121
+
122
+
123
+ var handleDrop = (0, _react.useCallback)(
124
+ function (event) {
125
+ if (disabled) {
126
+ return;
127
+ }
128
+
129
+ var dataTransfer = event.dataTransfer;
130
+ var files = dataTransfer.files;
131
+
132
+ if ((files == null ? void 0 : files.length) > 0) {
133
+ handleChange(files);
134
+ dataTransfer.clearData();
135
+ }
136
+ },
137
+ [handleChange, disabled]);
138
+
139
+
140
+ var _useDrop = (0, _useDrop3.useDrop)({ onDrop: handleDrop }),isDraggable = _useDrop.isDraggable,labelRef = _useDrop.ref;
141
+ var _useDrop2 = (0, _useDrop3.useDrop)(),isWindowDraggable = _useDrop2.isDraggable,windowRef = _useDrop2.ref;
142
+
143
+ if (_client.isBrowser) {
144
+ windowRef.current = window.document;
145
+ }
146
+
147
+ var focus = (0, _react.useCallback)(function () {var _inputRef$current;
148
+ _keyListener.keyListener.isTabPressed = true;
149
+ (_inputRef$current = inputRef.current) == null ? void 0 : _inputRef$current.focus();
150
+ }, []);
151
+
152
+ var blur = (0, _react.useCallback)(function () {var _inputRef$current2;
153
+ (_inputRef$current2 = inputRef.current) == null ? void 0 : _inputRef$current2.blur();
154
+ }, []);
155
+
156
+ (0, _react.useImperativeHandle)(ref, function () {return { focus: focus, blur: blur, reset: reset };}, [ref]);
157
+
158
+ var _useState = (0, _react.useState)(false),focusedByTab = _useState[0],setFocusedByTab = _useState[1];
159
+ var handleInputChange = function handleInputChange(event) {
160
+ onChange == null ? void 0 : onChange(event);
161
+ handleChange(event.target.files);
162
+ };
163
+
164
+ var handleFocus = function handleFocus(e) {
165
+ if (!disabled) {
166
+ // focus event fires before keyDown eventlistener
167
+ // so we should check tabPressed in async way
168
+ requestAnimationFrame(function () {
169
+ if (_keyListener.keyListener.isTabPressed) {
170
+ setFocusedByTab(true);
171
+ }
172
+ });
173
+ onFocus == null ? void 0 : onFocus(e);
174
+ }
175
+ };
176
+
177
+ var handleBlur = function handleBlur(e) {
178
+ setFocusedByTab(false);
179
+ if (!disabled) {
180
+ onBlur == null ? void 0 : onBlur(e);
181
+ }
182
+ };
183
+
184
+ var uploadButtonClassNames = (0, _Emotion.cx)(_FileUploader2.jsStyles.uploadButton(theme), (_cx = {}, _cx[
185
+ _FileUploader2.jsStyles.uploadButtonFocus(theme)] = focusedByTab, _cx[
186
+ _FileUploader2.jsStyles.disabled(theme)] = disabled, _cx[
187
+ _FileUploader2.jsStyles.warning(theme)] = !!warning, _cx[
188
+ _FileUploader2.jsStyles.error(theme)] = !!error, _cx[
189
+ _FileUploader2.jsStyles.dragOver()] = isDraggable && !disabled, _cx));
190
+
191
+
192
+ var uploadButtonWrapperClassNames = (0, _Emotion.cx)((_cx2 = {}, _cx2[
193
+ _FileUploader2.jsStyles.windowDragOver()] = isWindowDraggable && !disabled, _cx2));
194
+
195
+
196
+ var uploadButtonIconClassNames = (0, _Emotion.cx)(_FileUploader2.jsStyles.icon(theme), (_cx3 = {}, _cx3[
197
+ _FileUploader2.jsStyles.iconDisabled(theme)] = disabled, _cx3));
198
+
199
+
200
+ var hasOneFile = files.length === 1;
201
+ var hasOneFileForSingle = isSingleMode && hasOneFile;
202
+
203
+ var _useState2 = (0, _react.useState)(false),hovered = _useState2[0],setHovered = _useState2[1];
204
+
205
+ var linkClassNames = (0, _Emotion.cx)(_FileUploader2.jsStyles.link(theme), (_cx4 = {}, _cx4[
206
+ _FileUploader2.jsStyles.linkHovered(theme)] = !disabled && hovered, _cx4[
207
+ _FileUploader2.jsStyles.linkDisabled(theme)] = disabled, _cx4));
208
+
209
+
210
+ return /*#__PURE__*/(
211
+ _react.default.createElement(_CommonWrapper.CommonWrapper, props, /*#__PURE__*/
212
+ _react.default.createElement("div", { className: _FileUploader2.jsStyles.root(theme), style: (0, _useMemoObject.useMemoObject)({ width: width }) },
213
+ !isSingleMode && !!files.length && /*#__PURE__*/_react.default.createElement(_FileUploaderFileList.FileUploaderFileList, null), /*#__PURE__*/
214
+ _react.default.createElement("div", { className: uploadButtonWrapperClassNames }, /*#__PURE__*/
215
+ _react.default.createElement("label", {
216
+ onMouseEnter: function onMouseEnter() {return setHovered(true);},
217
+ onMouseLeave: function onMouseLeave() {return setHovered(false);},
218
+ ref: labelRef,
219
+ className: uploadButtonClassNames }, /*#__PURE__*/
220
+
221
+ _react.default.createElement("div", { className: _FileUploader2.jsStyles.content() }, /*#__PURE__*/
222
+ _react.default.createElement("span", { "data-tid": 'FileUploader__link', className: linkClassNames },
223
+ hasOneFileForSingle ? locale.choosedFile : locale.chooseFile), "\xA0", /*#__PURE__*/
224
+
225
+
226
+ _react.default.createElement("div", { className: _FileUploader2.jsStyles.afterLinkText() },
227
+ hasOneFileForSingle ? /*#__PURE__*/
228
+ _react.default.createElement(_FileUploaderFile.FileUploaderFile, { file: files[0] }) : /*#__PURE__*/
229
+
230
+ _react.default.createElement(_react.default.Fragment, null,
231
+ locale.orDragHere, "\xA0", /*#__PURE__*/
232
+ _react.default.createElement("div", { className: uploadButtonIconClassNames }, /*#__PURE__*/
233
+ _react.default.createElement(_px.UploadIcon, null))))), /*#__PURE__*/
234
+
235
+
236
+
237
+
238
+
239
+ _react.default.createElement("input", (0, _extends2.default)({},
240
+ inputProps, {
241
+ ref: inputRef,
242
+ tabIndex: disabled ? -1 : 0,
243
+ type: "file",
244
+ disabled: disabled,
245
+ multiple: multiple,
246
+ className: _FileUploader2.jsStyles.fileInput(),
247
+ onClick: stopPropagation,
248
+ onChange: handleInputChange,
249
+ onFocus: handleFocus,
250
+ onBlur: handleBlur
251
+ // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд
252
+ , value: '' })))))));
253
+
254
+
255
+
256
+
257
+
258
+
259
+ });
260
+
261
+
262
+
263
+ var FileUploader = (0, _withFileUploaderControlProvider.withFileUploaderControlProvider)( /*#__PURE__*/
264
+ _react.default.memo(_FileUploader));exports.FileUploader = FileUploader;
265
+
266
+ FileUploader.displayName = 'FileUploader';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["FileUploader.tsx"],"names":["stopPropagation","e","_FileUploader","React","forwardRef","props","ref","theme","ThemeContext","disabled","error","warning","multiple","width","fileUploaderWidth","onBlur","onFocus","onChange","request","getFileValidationText","onRequestSuccess","onRequestError","inputProps","FileUploaderControlContext","files","setFiles","removeFile","setFileValidationResult","reset","locale","inputRef","isAsync","isSingleMode","upload","tryValidateAndUpload","forEach","file","validationMessage","id","FileUploaderFileValidationResult","handleChange","newFiles","filesArray","Array","from","attachedFiles","map","getAttachedFile","length","handleDrop","event","dataTransfer","clearData","onDrop","isDraggable","labelRef","isWindowDraggable","windowRef","isBrowser","current","window","document","focus","keyListener","isTabPressed","blur","focusedByTab","setFocusedByTab","handleInputChange","target","handleFocus","requestAnimationFrame","handleBlur","uploadButtonClassNames","jsStyles","uploadButton","uploadButtonFocus","dragOver","uploadButtonWrapperClassNames","windowDragOver","uploadButtonIconClassNames","icon","iconDisabled","hasOneFile","hasOneFileForSingle","hovered","setHovered","linkClassNames","link","linkHovered","linkDisabled","root","content","choosedFile","chooseFile","afterLinkText","orDragHere","fileInput","FileUploader","memo","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef, useState } from 'react';\n\nimport { FileUploaderAttachedFile, getAttachedFile } from '../../internal/FileUploaderControl/fileUtils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { useMemoObject } from '../../hooks/useMemoObject';\nimport { FileUploaderControlContext } from '../../internal/FileUploaderControl/FileUploaderControlContext';\nimport { FileUploaderFileValidationResult } from '../../internal/FileUploaderControl/FileUploaderFileValidationResult';\nimport { useControlLocale } from '../../internal/FileUploaderControl/hooks/useControlLocale';\nimport { useUpload } from '../../internal/FileUploaderControl/hooks/useUpload';\nimport { useDrop } from '../../hooks/useDrop';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { UploadIcon } from '../../internal/icons/16px';\nimport { FileUploaderControlProviderProps } from '../../internal/FileUploaderControl/FileUploaderControlProvider';\nimport { withFileUploaderControlProvider } from '../../internal/FileUploaderControl/withFileUploaderControlProvider';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { FileUploaderFile } from '../../internal/FileUploaderControl/FileUploaderFile/FileUploaderFile';\nimport { FileUploaderFileList } from '../../internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList';\nimport { isBrowser } from '../../lib/client';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\n\nimport { jsStyles } from './FileUploader.styles';\n\nconst stopPropagation: React.ReactEventHandler = (e) => e.stopPropagation();\n\ninterface _FileUploaderProps extends CommonProps, React.InputHTMLAttributes<HTMLInputElement> {\n /** Состояние ошибки всего контрола */\n error?: boolean;\n /** Состояние предупреждения всего контрола */\n warning?: boolean;\n\n /** Свойство ширины. */\n width?: React.CSSProperties['width'];\n\n /** Функция, через которую отправляем файлы. Используется для отслеживания статуса загрузки файла. */\n request?: (file: FileUploaderAttachedFile) => Promise<void>;\n /** Срабатывает при удачной попытке отправки через request */\n onRequestSuccess?: (fileId: string) => void;\n /** Срабатывает при неудачной попытке отправки через request */\n onRequestError?: (fileId: string) => void;\n\n /** Функция валидации каждого файла. Срабатывает после выбора файлов и перед попыткой отправить в request. */\n getFileValidationText?: (file: FileUploaderAttachedFile) => Promise<Nullable<string>>;\n}\n\nexport interface FileUploaderRef {\n focus: () => void;\n blur: () => void;\n /** Сбрасывает выбранные файлы */\n reset: () => void;\n}\n\nconst _FileUploader = React.forwardRef<FileUploaderRef, _FileUploaderProps>((props: _FileUploaderProps, ref) => {\n const theme = useContext(ThemeContext);\n\n const {\n disabled,\n error,\n warning,\n multiple = false,\n width = theme.fileUploaderWidth,\n onBlur,\n onFocus,\n onChange,\n request,\n getFileValidationText,\n onRequestSuccess,\n onRequestError,\n ...inputProps\n } = props;\n\n const { files, setFiles, removeFile, setFileValidationResult, reset } = useContext(FileUploaderControlContext);\n\n const locale = useControlLocale();\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const isAsync = !!request;\n const isSingleMode = !multiple;\n\n const upload = useUpload(request, onRequestSuccess, onRequestError);\n\n const tryValidateAndUpload = useCallback(\n (files: FileUploaderAttachedFile[]) => {\n files.forEach(async (file) => {\n const validationMessage = getFileValidationText && (await getFileValidationText(file));\n\n if (!validationMessage) {\n isAsync && upload(file);\n } else {\n setFileValidationResult(file.id, FileUploaderFileValidationResult.error(validationMessage));\n }\n });\n },\n [upload, error, getFileValidationText, isAsync],\n );\n\n /** common part **/\n const handleChange = useCallback(\n (newFiles: FileList | null) => {\n if (!newFiles) return;\n\n let filesArray = Array.from(newFiles);\n\n if (isSingleMode) {\n filesArray = [filesArray[0]];\n }\n\n const attachedFiles = filesArray.map(getAttachedFile);\n\n if (isSingleMode && attachedFiles.length && files.length) {\n removeFile(files[0].id);\n }\n\n if (attachedFiles.length) {\n setFiles(attachedFiles);\n tryValidateAndUpload(attachedFiles);\n }\n },\n [tryValidateAndUpload, setFiles, isSingleMode, files, removeFile],\n );\n\n const handleDrop = useCallback(\n (event) => {\n if (disabled) {\n return;\n }\n\n const { dataTransfer } = event;\n const { files } = dataTransfer;\n\n if (files?.length > 0) {\n handleChange(files);\n dataTransfer.clearData();\n }\n },\n [handleChange, disabled],\n );\n\n const { isDraggable, ref: labelRef } = useDrop<HTMLLabelElement>({ onDrop: handleDrop });\n const { isDraggable: isWindowDraggable, ref: windowRef } = useDrop<Document>();\n\n if (isBrowser) {\n windowRef.current = window.document;\n }\n\n const focus = useCallback(() => {\n keyListener.isTabPressed = true;\n inputRef.current?.focus();\n }, []);\n\n const blur = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focus, blur, reset }), [ref]);\n\n const [focusedByTab, setFocusedByTab] = useState(false);\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleChange(event.target.files);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n if (!disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n onFocus?.(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocusedByTab(false);\n if (!disabled) {\n onBlur?.(e);\n }\n };\n\n const uploadButtonClassNames = cx(jsStyles.uploadButton(theme), {\n [jsStyles.uploadButtonFocus(theme)]: focusedByTab,\n [jsStyles.disabled(theme)]: disabled,\n [jsStyles.warning(theme)]: !!warning,\n [jsStyles.error(theme)]: !!error,\n [jsStyles.dragOver()]: isDraggable && !disabled,\n });\n\n const uploadButtonWrapperClassNames = cx({\n [jsStyles.windowDragOver()]: isWindowDraggable && !disabled,\n });\n\n const uploadButtonIconClassNames = cx(jsStyles.icon(theme), {\n [jsStyles.iconDisabled(theme)]: disabled,\n });\n\n const hasOneFile = files.length === 1;\n const hasOneFileForSingle = isSingleMode && hasOneFile;\n\n const [hovered, setHovered] = useState(false);\n\n const linkClassNames = cx(jsStyles.link(theme), {\n [jsStyles.linkHovered(theme)]: !disabled && hovered,\n [jsStyles.linkDisabled(theme)]: disabled,\n });\n\n return (\n <CommonWrapper {...props}>\n <div className={jsStyles.root(theme)} style={useMemoObject({ width })}>\n {!isSingleMode && !!files.length && <FileUploaderFileList />}\n <div className={uploadButtonWrapperClassNames}>\n <label\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n ref={labelRef}\n className={uploadButtonClassNames}\n >\n <div className={jsStyles.content()}>\n <span data-tid={'FileUploader__link'} className={linkClassNames}>\n {hasOneFileForSingle ? locale.choosedFile : locale.chooseFile}\n </span>\n &nbsp;\n <div className={jsStyles.afterLinkText()}>\n {hasOneFileForSingle ? (\n <FileUploaderFile file={files[0]} />\n ) : (\n <>\n {locale.orDragHere}&nbsp;\n <div className={uploadButtonIconClassNames}>\n <UploadIcon />\n </div>\n </>\n )}\n </div>\n </div>\n <input\n {...inputProps}\n ref={inputRef}\n tabIndex={disabled ? -1 : 0}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n className={jsStyles.fileInput()}\n onClick={stopPropagation}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n // для того, чтобы срабатывало событие change при выборе одного и того же файла подряд\n value={''}\n />\n </label>\n </div>\n </div>\n </CommonWrapper>\n );\n});\n\nexport interface FileUploaderProps extends _FileUploaderProps, FileUploaderControlProviderProps {}\n\nexport const FileUploader = withFileUploaderControlProvider<FileUploaderProps, FileUploaderRef>(\n React.memo(_FileUploader),\n);\nFileUploader.displayName = 'FileUploader';\n"]}