@skbkontur/react-ui 4.1.1 → 4.1.2-fix-zindex

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 (473) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +3 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +12 -3
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +3 -0
  6. package/cjs/components/Button/Button.js +7 -3
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Center/Center.d.ts +3 -0
  9. package/cjs/components/Center/Center.js +8 -3
  10. package/cjs/components/Center/Center.js.map +1 -1
  11. package/cjs/components/Checkbox/Checkbox.d.ts +8 -0
  12. package/cjs/components/Checkbox/Checkbox.js +37 -3
  13. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  14. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
  15. package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
  16. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  17. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  18. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -3
  19. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  20. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  21. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -2
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  23. package/cjs/components/DateInput/DateInput.js +5 -1
  24. package/cjs/components/DateInput/DateInput.js.map +1 -1
  25. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  26. package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
  27. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  28. package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
  29. package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
  30. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  31. package/cjs/components/DatePicker/DatePicker.d.ts +5 -0
  32. package/cjs/components/DatePicker/DatePicker.js +14 -3
  33. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  34. package/cjs/components/DatePicker/Picker.js +7 -2
  35. package/cjs/components/DatePicker/Picker.js.map +1 -1
  36. package/cjs/components/Dropdown/Dropdown.d.ts +3 -0
  37. package/cjs/components/Dropdown/Dropdown.js +7 -2
  38. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  39. package/cjs/components/FileUploader/FileUploader.d.ts +5 -0
  40. package/cjs/components/FileUploader/FileUploader.js +10 -4
  41. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  42. package/cjs/components/FxInput/FxInput.d.ts +3 -0
  43. package/cjs/components/FxInput/FxInput.js +7 -3
  44. package/cjs/components/FxInput/FxInput.js.map +1 -1
  45. package/cjs/components/Gapped/Gapped.d.ts +4 -0
  46. package/cjs/components/Gapped/Gapped.js +11 -5
  47. package/cjs/components/Gapped/Gapped.js.map +1 -1
  48. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  49. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  50. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  51. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
  52. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  53. package/cjs/components/Group/Group.d.ts +3 -0
  54. package/cjs/components/Group/Group.js +7 -3
  55. package/cjs/components/Group/Group.js.map +1 -1
  56. package/cjs/components/Input/Input.d.ts +3 -0
  57. package/cjs/components/Input/Input.js +7 -3
  58. package/cjs/components/Input/Input.js.map +1 -1
  59. package/cjs/components/Link/Link.d.ts +3 -0
  60. package/cjs/components/Link/Link.js +7 -3
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Loader/Loader.d.ts +4 -0
  63. package/cjs/components/Loader/Loader.js +8 -3
  64. package/cjs/components/Loader/Loader.js.map +1 -1
  65. package/cjs/components/MenuHeader/MenuHeader.d.ts +3 -0
  66. package/cjs/components/MenuHeader/MenuHeader.js +7 -2
  67. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  68. package/cjs/components/MenuItem/MenuItem.d.ts +4 -0
  69. package/cjs/components/MenuItem/MenuItem.js +10 -4
  70. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  71. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  72. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -3
  73. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  74. package/cjs/components/Modal/Modal.d.ts +5 -0
  75. package/cjs/components/Modal/Modal.js +9 -3
  76. package/cjs/components/Modal/Modal.js.map +1 -1
  77. package/cjs/components/Modal/ModalClose.js +3 -2
  78. package/cjs/components/Modal/ModalClose.js.map +1 -1
  79. package/cjs/components/Modal/ModalFooter.d.ts +3 -0
  80. package/cjs/components/Modal/ModalFooter.js +7 -2
  81. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  82. package/cjs/components/Modal/ModalHeader.d.ts +3 -0
  83. package/cjs/components/Modal/ModalHeader.js +8 -2
  84. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  85. package/cjs/components/Paging/Paging.d.ts +8 -1
  86. package/cjs/components/Paging/Paging.js +15 -7
  87. package/cjs/components/Paging/Paging.js.map +1 -1
  88. package/cjs/components/PasswordInput/PasswordInput.d.ts +6 -1
  89. package/cjs/components/PasswordInput/PasswordInput.js +21 -15
  90. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  91. package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
  92. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  93. package/cjs/components/Radio/Radio.d.ts +3 -0
  94. package/cjs/components/Radio/Radio.js +7 -3
  95. package/cjs/components/Radio/Radio.js.map +1 -1
  96. package/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
  97. package/cjs/components/RadioGroup/RadioGroup.js +21 -4
  98. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  99. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  100. package/cjs/components/ScrollContainer/ScrollContainer.js +14 -4
  101. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  102. package/cjs/components/Select/Select.d.ts +3 -0
  103. package/cjs/components/Select/Select.js +14 -6
  104. package/cjs/components/Select/Select.js.map +1 -1
  105. package/cjs/components/SidePage/SidePage.d.ts +4 -0
  106. package/cjs/components/SidePage/SidePage.js +7 -2
  107. package/cjs/components/SidePage/SidePage.js.map +1 -1
  108. package/cjs/components/SidePage/SidePageBody.d.ts +3 -0
  109. package/cjs/components/SidePage/SidePageBody.js +10 -3
  110. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  111. package/cjs/components/SidePage/SidePageContainer.d.ts +3 -0
  112. package/cjs/components/SidePage/SidePageContainer.js +7 -2
  113. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  114. package/cjs/components/SidePage/SidePageFooter.d.ts +3 -0
  115. package/cjs/components/SidePage/SidePageFooter.js +11 -3
  116. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  117. package/cjs/components/SidePage/SidePageHeader.d.ts +4 -0
  118. package/cjs/components/SidePage/SidePageHeader.js +9 -4
  119. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  120. package/cjs/components/Spinner/Spinner.d.ts +3 -0
  121. package/cjs/components/Spinner/Spinner.js +7 -3
  122. package/cjs/components/Spinner/Spinner.js.map +1 -1
  123. package/cjs/components/Sticky/Sticky.d.ts +3 -0
  124. package/cjs/components/Sticky/Sticky.js +7 -3
  125. package/cjs/components/Sticky/Sticky.js.map +1 -1
  126. package/cjs/components/Switcher/Switcher.d.ts +3 -0
  127. package/cjs/components/Switcher/Switcher.js +7 -3
  128. package/cjs/components/Switcher/Switcher.js.map +1 -1
  129. package/cjs/components/Tabs/Indicator.js +4 -2
  130. package/cjs/components/Tabs/Indicator.js.map +1 -1
  131. package/cjs/components/Tabs/Tab.d.ts +3 -0
  132. package/cjs/components/Tabs/Tab.js +7 -2
  133. package/cjs/components/Tabs/Tab.js.map +1 -1
  134. package/cjs/components/Tabs/Tabs.d.ts +4 -0
  135. package/cjs/components/Tabs/Tabs.js +12 -3
  136. package/cjs/components/Tabs/Tabs.js.map +1 -1
  137. package/cjs/components/Textarea/Textarea.d.ts +4 -0
  138. package/cjs/components/Textarea/Textarea.js +8 -3
  139. package/cjs/components/Textarea/Textarea.js.map +1 -1
  140. package/cjs/components/Textarea/TextareaCounter.js +6 -6
  141. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  142. package/cjs/components/Toast/Toast.d.ts +6 -0
  143. package/cjs/components/Toast/Toast.js +9 -2
  144. package/cjs/components/Toast/Toast.js.map +1 -1
  145. package/cjs/components/Toast/ToastStatic.js +1 -1
  146. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  147. package/cjs/components/Toast/ToastView.js +5 -4
  148. package/cjs/components/Toast/ToastView.js.map +1 -1
  149. package/cjs/components/Toggle/Toggle.d.ts +3 -0
  150. package/cjs/components/Toggle/Toggle.js +7 -3
  151. package/cjs/components/Toggle/Toggle.js.map +1 -1
  152. package/cjs/components/Token/Token.d.ts +3 -0
  153. package/cjs/components/Token/Token.js +8 -3
  154. package/cjs/components/Token/Token.js.map +1 -1
  155. package/cjs/components/TokenInput/TokenInput.d.ts +14 -0
  156. package/cjs/components/TokenInput/TokenInput.js +23 -3
  157. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  158. package/cjs/components/TokenInput/TokenInputMenu.js +4 -3
  159. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  160. package/cjs/components/Tooltip/Tooltip.d.ts +3 -0
  161. package/cjs/components/Tooltip/Tooltip.js +7 -2
  162. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  163. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  164. package/cjs/components/TooltipMenu/TooltipMenu.js +7 -2
  165. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  166. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  167. package/cjs/internal/Calendar/Calendar.js +9 -2
  168. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  169. package/cjs/internal/Calendar/MonthView.js +5 -4
  170. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  171. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  172. package/cjs/internal/CommonWrapper/CommonWrapper.js +4 -2
  173. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  174. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  175. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +23 -5
  176. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  177. package/cjs/internal/CustomComboBox/ComboBoxView.js +4 -2
  178. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  179. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  180. package/cjs/internal/CustomComboBox/CustomComboBox.js +6 -2
  181. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  182. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  183. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  184. package/cjs/internal/DataTids/DataTids.js +46 -0
  185. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  186. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  187. package/cjs/internal/DataTids/DataTids.styles.js +41 -0
  188. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  189. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  190. package/cjs/internal/DataTids/componentsDataTids.js +16 -0
  191. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  192. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -0
  193. package/cjs/internal/DateSelect/DateSelect.js +8 -3
  194. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  195. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  196. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +14 -6
  197. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  198. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  199. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +6 -2
  200. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  201. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -0
  202. package/cjs/internal/InputLikeText/InputLikeText.js +10 -4
  203. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  204. package/cjs/internal/InternalMenu/InternalMenu.d.ts +3 -0
  205. package/cjs/internal/InternalMenu/InternalMenu.js +9 -8
  206. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  207. package/cjs/internal/MaskedInput/MaskedInput.d.ts +3 -0
  208. package/cjs/internal/MaskedInput/MaskedInput.js +11 -5
  209. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  210. package/cjs/internal/Menu/Menu.d.ts +3 -0
  211. package/cjs/internal/Menu/Menu.js +10 -8
  212. package/cjs/internal/Menu/Menu.js.map +1 -1
  213. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  214. package/cjs/internal/MobilePopup/MobilePopup.js +10 -3
  215. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  216. package/cjs/internal/Popup/Popup.d.ts +5 -0
  217. package/cjs/internal/Popup/Popup.js +10 -4
  218. package/cjs/internal/Popup/Popup.js.map +1 -1
  219. package/cjs/internal/Popup/PopupPin.js +2 -1
  220. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  221. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -0
  222. package/cjs/internal/PopupMenu/PopupMenu.js +9 -4
  223. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  224. package/cjs/internal/ZIndex/ZIndex.d.ts +8 -0
  225. package/cjs/internal/ZIndex/ZIndex.js +25 -3
  226. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  227. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  228. package/cjs/lib/date/InternalDateGetter.js +4 -1
  229. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  230. package/cjs/lib/date/InternalDateValidator.js +32 -22
  231. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  232. package/cjs/lib/date/types.d.ts +4 -0
  233. package/cjs/lib/date/types.js.map +1 -1
  234. package/cjs/lib/events/MouseDrag.js +5 -1
  235. package/cjs/lib/events/MouseDrag.js.map +1 -1
  236. package/components/Autocomplete/Autocomplete/Autocomplete.js +10 -6
  237. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  238. package/components/Autocomplete/Autocomplete.d.ts +3 -0
  239. package/components/Button/Button/Button.js +4 -0
  240. package/components/Button/Button/Button.js.map +1 -1
  241. package/components/Button/Button.d.ts +3 -0
  242. package/components/Center/Center/Center.js +10 -5
  243. package/components/Center/Center/Center.js.map +1 -1
  244. package/components/Center/Center.d.ts +3 -0
  245. package/components/Checkbox/Checkbox/Checkbox.js +33 -2
  246. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  247. package/components/Checkbox/Checkbox.d.ts +8 -0
  248. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
  249. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  250. package/components/Checkbox/Checkbox.styles.d.ts +1 -0
  251. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -10
  252. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  253. package/components/CurrencyInput/CurrencyInput.d.ts +3 -0
  254. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +6 -1
  255. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  256. package/components/CurrencyLabel/CurrencyLabel.d.ts +3 -0
  257. package/components/DateInput/DateInput/DateInput.js +9 -1
  258. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  259. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
  260. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  261. package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
  262. package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
  263. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  264. package/components/DateInput/helpers/inputNumber.d.ts +1 -1
  265. package/components/DatePicker/DatePicker/DatePicker.js +6 -0
  266. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  267. package/components/DatePicker/DatePicker.d.ts +5 -0
  268. package/components/DatePicker/Picker/Picker.js +3 -1
  269. package/components/DatePicker/Picker/Picker.js.map +1 -1
  270. package/components/Dropdown/Dropdown/Dropdown.js +9 -5
  271. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  272. package/components/Dropdown/Dropdown.d.ts +3 -0
  273. package/components/FileUploader/FileUploader/FileUploader.js +9 -2
  274. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  275. package/components/FileUploader/FileUploader.d.ts +5 -0
  276. package/components/FxInput/FxInput/FxInput.js +6 -2
  277. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  278. package/components/FxInput/FxInput.d.ts +3 -0
  279. package/components/Gapped/Gapped/Gapped.js +14 -6
  280. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  281. package/components/Gapped/Gapped.d.ts +4 -0
  282. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +4 -1
  283. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  284. package/components/GlobalLoader/GlobalLoader.d.ts +3 -0
  285. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
  286. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
  287. package/components/Group/Group/Group.js +4 -0
  288. package/components/Group/Group/Group.js.map +1 -1
  289. package/components/Group/Group.d.ts +3 -0
  290. package/components/Input/Input/Input.js +11 -6
  291. package/components/Input/Input/Input.js.map +1 -1
  292. package/components/Input/Input.d.ts +3 -0
  293. package/components/Link/Link/Link.js +10 -5
  294. package/components/Link/Link/Link.js.map +1 -1
  295. package/components/Link/Link.d.ts +3 -0
  296. package/components/Loader/Loader/Loader.js +10 -6
  297. package/components/Loader/Loader/Loader.js.map +1 -1
  298. package/components/Loader/Loader.d.ts +4 -0
  299. package/components/MenuHeader/MenuHeader/MenuHeader.js +4 -0
  300. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  301. package/components/MenuHeader/MenuHeader.d.ts +3 -0
  302. package/components/MenuItem/MenuItem/MenuItem.js +15 -9
  303. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  304. package/components/MenuItem/MenuItem.d.ts +4 -0
  305. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -0
  306. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  307. package/components/MenuSeparator/MenuSeparator.d.ts +3 -0
  308. package/components/Modal/Modal/Modal.js +7 -2
  309. package/components/Modal/Modal/Modal.js.map +1 -1
  310. package/components/Modal/Modal.d.ts +5 -0
  311. package/components/Modal/ModalClose/ModalClose.js +2 -1
  312. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  313. package/components/Modal/ModalFooter/ModalFooter.js +4 -0
  314. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  315. package/components/Modal/ModalFooter.d.ts +3 -0
  316. package/components/Modal/ModalHeader/ModalHeader.js +4 -0
  317. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  318. package/components/Modal/ModalHeader.d.ts +3 -0
  319. package/components/Paging/Paging/Paging.js +12 -5
  320. package/components/Paging/Paging/Paging.js.map +1 -1
  321. package/components/Paging/Paging.d.ts +8 -1
  322. package/components/PasswordInput/PasswordInput/PasswordInput.js +24 -19
  323. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  324. package/components/PasswordInput/PasswordInput.d.ts +6 -1
  325. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
  326. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
  327. package/components/Radio/Radio/Radio.js +10 -5
  328. package/components/Radio/Radio/Radio.js.map +1 -1
  329. package/components/Radio/Radio.d.ts +3 -0
  330. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -11
  331. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  332. package/components/RadioGroup/RadioGroup.d.ts +9 -0
  333. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +6 -1
  334. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  335. package/components/ScrollContainer/ScrollContainer.d.ts +4 -0
  336. package/components/Select/Select/Select.js +9 -3
  337. package/components/Select/Select/Select.js.map +1 -1
  338. package/components/Select/Select.d.ts +3 -0
  339. package/components/SidePage/SidePage/SidePage.js +6 -2
  340. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  341. package/components/SidePage/SidePage.d.ts +4 -0
  342. package/components/SidePage/SidePageBody/SidePageBody.js +10 -6
  343. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  344. package/components/SidePage/SidePageBody.d.ts +3 -0
  345. package/components/SidePage/SidePageContainer/SidePageContainer.js +10 -6
  346. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  347. package/components/SidePage/SidePageContainer.d.ts +3 -0
  348. package/components/SidePage/SidePageFooter/SidePageFooter.js +10 -6
  349. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  350. package/components/SidePage/SidePageFooter.d.ts +3 -0
  351. package/components/SidePage/SidePageHeader/SidePageHeader.js +12 -7
  352. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  353. package/components/SidePage/SidePageHeader.d.ts +4 -0
  354. package/components/Spinner/Spinner/Spinner.js +8 -4
  355. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  356. package/components/Spinner/Spinner.d.ts +3 -0
  357. package/components/Sticky/Sticky/Sticky.js +4 -0
  358. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  359. package/components/Sticky/Sticky.d.ts +3 -0
  360. package/components/Switcher/Switcher/Switcher.js +4 -0
  361. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  362. package/components/Switcher/Switcher.d.ts +3 -0
  363. package/components/Tabs/Indicator/Indicator.js +2 -0
  364. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  365. package/components/Tabs/Tab/Tab.js +4 -0
  366. package/components/Tabs/Tab/Tab.js.map +1 -1
  367. package/components/Tabs/Tab.d.ts +3 -0
  368. package/components/Tabs/Tabs/Tabs.js +11 -6
  369. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  370. package/components/Tabs/Tabs.d.ts +4 -0
  371. package/components/Textarea/Textarea/Textarea.js +15 -9
  372. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  373. package/components/Textarea/Textarea.d.ts +4 -0
  374. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -0
  375. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  376. package/components/Toast/Toast/Toast.js +16 -10
  377. package/components/Toast/Toast/Toast.js.map +1 -1
  378. package/components/Toast/Toast.d.ts +6 -0
  379. package/components/Toast/ToastStatic/ToastStatic.js +2 -2
  380. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  381. package/components/Toast/ToastView/ToastView.js +4 -3
  382. package/components/Toast/ToastView/ToastView.js.map +1 -1
  383. package/components/Toggle/Toggle/Toggle.js +8 -4
  384. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  385. package/components/Toggle/Toggle.d.ts +3 -0
  386. package/components/Token/Token/Token.js +4 -0
  387. package/components/Token/Token/Token.js.map +1 -1
  388. package/components/Token/Token.d.ts +3 -0
  389. package/components/TokenInput/TokenInput/TokenInput.js +11 -2
  390. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  391. package/components/TokenInput/TokenInput.d.ts +14 -0
  392. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +2 -0
  393. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  394. package/components/Tooltip/Tooltip/Tooltip.js +4 -0
  395. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  396. package/components/Tooltip/Tooltip.d.ts +3 -0
  397. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +16 -12
  398. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  399. package/components/TooltipMenu/TooltipMenu.d.ts +3 -0
  400. package/internal/Calendar/Calendar/Calendar.js +7 -1
  401. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  402. package/internal/Calendar/Calendar.d.ts +6 -0
  403. package/internal/Calendar/MonthView/MonthView.js +4 -3
  404. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  405. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +4 -5
  406. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  407. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  408. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +12 -5
  409. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  410. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -0
  411. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  412. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  413. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
  414. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  415. package/internal/CustomComboBox/CustomComboBox.d.ts +3 -0
  416. package/internal/DataTids/DATATIDS.md +12 -0
  417. package/internal/DataTids/DataTids/DataTids.js +69 -0
  418. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  419. package/internal/DataTids/DataTids/package.json +6 -0
  420. package/internal/DataTids/DataTids.d.ts +12 -0
  421. package/internal/DataTids/DataTids.styles/DataTids.styles.js +22 -0
  422. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  423. package/internal/DataTids/DataTids.styles/package.json +6 -0
  424. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  425. package/internal/DataTids/componentsDataTids/componentsDataTids.js +14 -0
  426. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  427. package/internal/DataTids/componentsDataTids/package.json +6 -0
  428. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  429. package/internal/DateSelect/DateSelect/DateSelect.js +6 -2
  430. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  431. package/internal/DateSelect/DateSelect.d.ts +4 -0
  432. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +12 -5
  433. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  434. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +7 -0
  435. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +4 -1
  436. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  437. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +3 -0
  438. package/internal/InputLikeText/InputLikeText/InputLikeText.js +8 -2
  439. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  440. package/internal/InputLikeText/InputLikeText.d.ts +4 -0
  441. package/internal/InternalMenu/InternalMenu/InternalMenu.js +6 -6
  442. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  443. package/internal/InternalMenu/InternalMenu.d.ts +3 -0
  444. package/internal/MaskedInput/MaskedInput/MaskedInput.js +8 -2
  445. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  446. package/internal/MaskedInput/MaskedInput.d.ts +3 -0
  447. package/internal/Menu/Menu/Menu.js +6 -5
  448. package/internal/Menu/Menu/Menu.js.map +1 -1
  449. package/internal/Menu/Menu.d.ts +3 -0
  450. package/internal/MobilePopup/MobilePopup/MobilePopup.js +6 -0
  451. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  452. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  453. package/internal/Popup/Popup/Popup.js +7 -2
  454. package/internal/Popup/Popup/Popup.js.map +1 -1
  455. package/internal/Popup/Popup.d.ts +5 -0
  456. package/internal/Popup/PopupPin/PopupPin.js +2 -0
  457. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  458. package/internal/PopupMenu/PopupMenu/PopupMenu.js +7 -2
  459. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  460. package/internal/PopupMenu/PopupMenu.d.ts +4 -0
  461. package/internal/ZIndex/ZIndex/ZIndex.js +23 -8
  462. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  463. package/internal/ZIndex/ZIndex.d.ts +8 -0
  464. package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
  465. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  466. package/lib/date/InternalDateGetter.d.ts +1 -1
  467. package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
  468. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  469. package/lib/date/types/types.js.map +1 -1
  470. package/lib/date/types.d.ts +4 -0
  471. package/lib/events/MouseDrag/MouseDrag.js +5 -1
  472. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  473. package/package.json +3 -5
@@ -13,6 +13,9 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
13
13
  import { cx } from "../../../lib/theming/Emotion";
14
14
  import { rootNode } from "../../../lib/rootNode";
15
15
  import { styles, activeStyles, globalClasses } from "../Button.styles";
16
+ export var ButtonDataTids = {
17
+ root: 'Button__root'
18
+ };
16
19
  export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
17
20
  _inheritsLoose(Button, _React$Component);
18
21
 
@@ -229,6 +232,7 @@ export var Button = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
229
232
  return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
230
233
  rootNodeRef: this.setRootNode
231
234
  }, this.props), /*#__PURE__*/React.createElement("span", wrapProps, /*#__PURE__*/React.createElement("button", _extends({
235
+ "data-tid": ButtonDataTids.root,
232
236
  ref: this._ref
233
237
  }, rootProps), innerShadowNode, outlineNode, loadingNode, arrowNode, /*#__PURE__*/React.createElement("div", {
234
238
  className: cx(styles.caption(), globalClasses.caption, (_cx7 = {}, _cx7[styles.captionTranslated()] = active || checked, _cx7[styles.captionLink()] = isLink, _cx7[styles.captionDisabled()] = !checked && disabled, _cx7))
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.tsx"],"names":["React","isReactUIComponent","isIE11","isEdge","keyListener","ThemeContext","Spinner","CommonWrapper","cx","rootNode","styles","activeStyles","globalClasses","Button","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","renderMain","corners","active","borderless","checked","error","warning","arrow","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","use","defaultProps","sizeClass","getSizeClassName","isFocused","isLink","rootProps","type","className","root","checkedFocused","checkedDisabled","noPadding","noRightPadding","style","textAlign","tabIndex","title","wrapProps","wrap","wrapArrow","wrapArrowLeft","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","loadingNode","getLoadingSpinner","iconNode","getSizeIconClassName","iconNoRightPadding","iconLink","arrowNode","arrowWarning","arrowError","arrowFocus","arrowLeft","arrowHelper","arrowHelperTop","arrowHelperBottom","link","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","setRootNode","caption","captionTranslated","captionLink","captionDisabled","visibilityHidden","size","sizeLarge","sizeLargeIE11","sizeMedium","sizeMediumIE11","sizeSmall","sizeSmallIE11","iconLarge","iconMedium","iconSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,kBAAT,QAAmC,iBAAnC;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,kBAA/B;AACA,SAASC,WAAT,QAA4B,8BAA5B;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,EAAiBC,YAAjB,EAA+BC,aAA/B,QAAoD,iBAApD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0JA,WAAaC,MAAb,GADCJ,QACD;;;;;;;;;;AAUSK,IAAAA,KAVT,GAUiB;AACbC,MAAAA,YAAY,EAAE,KADD,EAVjB;;;;AAeUC,IAAAA,IAfV,GAe2C,IAf3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+QUC,IAAAA,WA/QV,GA+QwB,UAACC,CAAD,EAA4C;AAChE,UAAI,CAAC,MAAKC,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD;AACA;AACAC,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAIlB,WAAW,CAACmB,YAAhB,EAA8B;AAC5B,kBAAKC,QAAL,CAAc,EAAET,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKA,cAAKI,KAAL,CAAWM,OAAX,0BAAKN,KAAL,CAAWM,OAAX,CAAqBP,CAArB;AACD;AACF,KA1RH;;AA4RUQ,IAAAA,UA5RV,GA4RuB,UAACR,CAAD,EAA4C;AAC/D,YAAKM,QAAL,CAAc,EAAET,YAAY,EAAE,KAAhB,EAAd;AACA,UAAI,CAAC,MAAKI,KAAL,CAAWC,QAAZ,IAAwB,CAAC,MAAKD,KAAL,CAAWE,YAAxC,EAAsD;AACpD,cAAKF,KAAL,CAAWQ,MAAX,0BAAKR,KAAL,CAAWQ,MAAX,CAAoBT,CAApB;AACD;AACF,KAjSH;;AAmSUU,IAAAA,IAnSV,GAmSiB,UAACZ,IAAD,EAAoC;AACjD,YAAKA,IAAL,GAAYA,IAAZ;AACD,KArSH,oDAkBSa,iBAlBT,GAkBE,6BAA2B,CACzB,IAAI,KAAKV,KAAL,CAAWW,SAAf,EAA0B,CACxB1B,WAAW,CAACmB,YAAZ,GAA2B,IAA3B,CACA,KAAKQ,KAAL,GACD,CACF,CAvBH,QAyBgBC,wBAzBhB,GAyBE,kCAAuCb,KAAvC,EAA2D,CACzD,IAAIA,KAAK,CAACc,OAAN,IAAiBd,KAAK,CAACC,QAA3B,EAAqC,CACnC,OAAO,EAAEL,YAAY,EAAE,KAAhB,EAAP,CACD,CACD,OAAO,IAAP,CACD,CA9BH,CAgCE;AACF;AACA,KAlCA,QAmCSgB,KAnCT,GAmCE,iBAAe,gBACb,mBAAKf,IAAL,gCAAWe,KAAX,GACD,CArCH,CAuCE;AACF;AACA,KAzCA,QA0CSG,IA1CT,GA0CE,gBAAc,iBACZ,oBAAKlB,IAAL,iCAAWkB,IAAX,GACD,CA5CH,QA8CSC,MA9CT,GA8CE,kBAA6B,mBAC3B,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAACC,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CAvDH,QAyDUA,UAzDV,GAyDE,sBAAqB,2BACnB,kBAwBI,KAAKlB,KAxBT,CACEmB,OADF,eACEA,OADF,CAEEC,MAFF,eAEEA,MAFF,CAGEnB,QAHF,eAGEA,QAHF,CAIEoB,UAJF,eAIEA,UAJF,CAKEC,OALF,eAKEA,OALF,CAMEC,KANF,eAMEA,KANF,CAOEC,OAPF,eAOEA,OAPF,CAQEV,OARF,eAQEA,OARF,CASEW,KATF,eASEA,KATF,CAUEC,MAVF,eAUEA,MAVF,CAWEC,IAXF,eAWEA,IAXF,CAYEC,UAZF,eAYEA,UAZF,CAaEC,eAbF,eAaEA,eAbF,CAcEC,eAdF,eAcEA,eAdF,CAeEC,KAfF,eAeEA,KAfF,CAgBE7B,YAhBF,eAgBEA,YAhBF,CAiBE8B,YAjBF,eAiBEA,YAjBF,CAkBEC,YAlBF,eAkBEA,YAlBF,CAmBEC,WAnBF,eAmBEA,WAnBF,CAoBEC,SApBF,eAoBEA,SApBF,CAqBEC,OArBF,eAqBEA,OArBF,CAsBEC,KAtBF,eAsBEA,KAtBF,CAuBEC,QAvBF,eAuBEA,QAvBF,CAyBA,IAAMC,GAAG,GAAG,KAAKvC,KAAL,CAAWuC,GAAX,IAAkB7C,MAAM,CAAC8C,YAAP,CAAoBD,GAAlD,CACA,IAAME,SAAS,GAAG,KAAKC,gBAAL,EAAlB,CAEA,IAAMC,SAAS,GAAG,KAAKhD,KAAL,CAAWC,YAAX,IAA2BkC,eAA7C,CACA,IAAMc,MAAM,GAAGL,GAAG,KAAK,MAAvB,CACA,IAAMM,SAAS,GAAG,EAChB;AACA;AACA;AACAC,MAAAA,IAAI,EAAE,KAAK9C,KAAL,CAAW8C,IAJD,EAKhBC,SAAS,EAAE1D,EAAE,gBACVE,MAAM,CAACyD,IAAP,CAAY,KAAK/B,KAAjB,CADU,IACgB,IADhB,MAEV1B,MAAM,CAACgD,GAAD,CAAN,CAAY,KAAKtB,KAAjB,CAFU,IAEgB,IAFhB,MAGVzB,YAAY,CAAC+C,GAAD,CAAZ,CAAkB,KAAKtB,KAAvB,CAHU,IAGsBG,MAHtB,MAIVqB,SAJU,IAIE,IAJF,MAKVlD,MAAM,CAACqB,KAAP,CAAa,KAAKK,KAAlB,CALU,IAKiB0B,SALjB,MAMVpD,MAAM,CAAC+B,OAAP,CAAe,KAAKL,KAApB,CANU,IAMmBK,OANnB,MAOV/B,MAAM,CAAC0D,cAAP,CAAsB,KAAKhC,KAA3B,CAPU,IAO0BK,OAAO,IAAIqB,SAPrC,MAQVpD,MAAM,CAACU,QAAP,CAAgB,KAAKgB,KAArB,CARU,IAQoBhB,QAAQ,IAAIa,OARhC,MASVvB,MAAM,CAAC2D,eAAP,CAAuB,KAAKjC,KAA5B,CATU,IAS2BK,OAAO,IAAIrB,QATtC,MAUVV,MAAM,CAAC8B,UAAP,EAVU,IAUYA,UAAU,IAAI,CAACpB,QAAf,IAA2B,CAACa,OAA5B,IAAuC,CAACQ,OAAxC,IAAmD,CAACqB,SAApD,IAAiE,CAACvB,MAV9E,MAWV7B,MAAM,CAACmC,MAAP,EAXU,IAWQA,MAXR,MAYVnC,MAAM,CAAC4D,SAAP,EAZU,IAYWvB,UAZX,MAaVrC,MAAM,CAAC6D,cAAP,EAbU,IAagBvB,eAbhB,OALG,EAoBhBwB,KAAK,aACHC,SAAS,EAAEvB,KADR,IAEAZ,OAFA,CApBW,EAwBhBlB,QAAQ,EAAEA,QAAQ,IAAIa,OAxBN,EAyBhBsB,OAAO,EAAPA,OAzBgB,EA0BhB9B,OAAO,EAAE,KAAKR,WA1BE,EA2BhBU,MAAM,EAAE,KAAKD,UA3BG,EA4BhB4B,SAAS,EAATA,SA5BgB,EA6BhBH,YAAY,EAAZA,YA7BgB,EA8BhBC,YAAY,EAAZA,YA9BgB,EA+BhBC,WAAW,EAAXA,WA/BgB,EAgChBqB,QAAQ,EAAErD,YAAY,GAAG,CAAC,CAAJ,GAAQ,CAhCd,EAiChBsD,KAAK,EAAE,KAAKxD,KAAL,CAAWwD,KAjCF,EAAlB,CAoCA,IAAMC,SAAS,GAAG,EAChBV,SAAS,EAAE1D,EAAE,kBACVE,MAAM,CAACmE,IAAP,CAAY,KAAKzC,KAAjB,CADU,IACgB,IADhB,OAEV1B,MAAM,CAACoE,SAAP,EAFU,IAEWlC,KAAK,KAAK,IAFrB,OAGVlC,MAAM,CAACqE,aAAP,EAHU,IAGenC,KAAK,KAAK,MAHzB,OAIV,KAAKoC,oBAAL,EAJU,IAIoB,IAJpB,QADG,EAOhBR,KAAK,EAAE,EACLhB,KAAK,EAALA,KADK,EAPS,EAAlB,CAYA,IAAMyB,eAAe,gBAAG,6BAAK,SAAS,EAAErE,aAAa,CAACsE,WAA9B,GAAxB,CAEA,IAAIC,WAAW,GAAG,IAAlB,CACA,IAAI,CAACrB,SAAD,IAAcC,MAAlB,EAA0B,UACxBoB,WAAW,gBACT,6BACE,SAAS,EAAE3E,EAAE,CAACE,MAAM,CAAC0E,OAAP,EAAD,mBACV1E,MAAM,CAAC2E,cAAP,CAAsB,KAAKjD,KAA3B,CADU,IAC0BO,OAD1B,OAEVjC,MAAM,CAAC4E,YAAP,CAAoB,KAAKlD,KAAzB,CAFU,IAEwBM,KAFxB,OAGVhC,MAAM,CAAC6E,WAAP,EAHU,IAGaxB,MAHb,OAIVrD,MAAM,CAAC8E,kBAAP,CAA0B,KAAKpD,KAA/B,CAJU,IAI8B2B,MAAM,IAAIpB,OAJxC,OAKVjC,MAAM,CAAC+E,gBAAP,CAAwB,KAAKrD,KAA7B,CALU,IAK4B2B,MAAM,IAAIrB,KALtC,QADf,GADF,CAWD,CAED,IAAIgD,WAAW,GAAG,IAAlB,CACA,IAAIzD,OAAO,IAAI,CAACa,IAAhB,EAAsB,CACpB4C,WAAW,gBAAG,6BAAK,SAAS,EAAEhF,MAAM,CAACuB,OAAP,EAAhB,IAAmC,KAAK0D,iBAAL,EAAnC,CAAd,CACD,CAED,IAAIC,QAAQ,GAAG,IAAf,CACA,IAAI9C,IAAJ,EAAU,UACR8C,QAAQ,gBACN,8BACE,SAAS,EAAEpF,EAAE,CAACE,MAAM,CAACoC,IAAP,EAAD,EAAgB,KAAK+C,oBAAL,EAAhB,mBACVnF,MAAM,CAACoF,kBAAP,EADU,IACoB,CAACrC,QADrB,OAEV/C,MAAM,CAACqF,QAAP,CAAgB,KAAK3D,KAArB,CAFU,IAEoB2B,MAFpB,QADf,IAMG9B,OAAO,GAAG,KAAK0D,iBAAL,EAAH,GAA8B7C,IANxC,CADF,CAUD,CAED,IAAIkD,SAAS,GAAG,IAAhB,CACA,IAAIpD,KAAJ,EAAW,UACToD,SAAS,gBACP,6BACE,SAAS,EAAExF,EAAE,kBACVE,MAAM,CAACkC,KAAP,EADU,IACO,IADP,OAEVlC,MAAM,CAACuF,YAAP,CAAoB,KAAK7D,KAAzB,CAFU,IAEwB,CAACK,OAAD,IAAYE,OAFpC,OAGVjC,MAAM,CAACwF,UAAP,CAAkB,KAAK9D,KAAvB,CAHU,IAGsB,CAACK,OAAD,IAAYC,KAHlC,OAIVhC,MAAM,CAACyF,UAAP,CAAkB,KAAK/D,KAAvB,CAJU,IAIsB,CAACK,OAAD,IAAYqB,SAJlC,OAKVpD,MAAM,CAAC0F,SAAP,EALU,IAKWxD,KAAK,KAAK,MALrB,QADf,iBASE,6BAAK,SAAS,EAAEpC,EAAE,CAACI,aAAa,CAACyF,WAAf,EAA4BzF,aAAa,CAAC0F,cAA1C,CAAlB,GATF,eAUE,6BAAK,SAAS,EAAE9F,EAAE,CAACI,aAAa,CAACyF,WAAf,EAA4BzF,aAAa,CAAC2F,iBAA1C,CAAlB,GAVF,CADF,CAcD,CAnIkB,CAqInB;AACA,QAAIxC,MAAJ,EAAY,UACVC,SAAS,CAACE,SAAV,GAAsB1D,EAAE,kBACrBE,MAAM,CAACyD,IAAP,CAAY,KAAK/B,KAAjB,CADqB,IACK,IADL,OAErBwB,SAFqB,IAET,IAFS,OAGrBlD,MAAM,CAAC8F,IAAP,CAAY,KAAKpE,KAAjB,CAHqB,IAGK,IAHL,OAIrB1B,MAAM,CAAC+F,SAAP,CAAiB,KAAKrE,KAAtB,CAJqB,IAIU0B,SAJV,OAKrBpD,MAAM,CAACgG,YAAP,CAAoB,KAAKtE,KAAzB,CALqB,IAKahB,QAAQ,IAAIa,OALzB,QAAxB,CAOA0E,MAAM,CAACC,MAAP,CAAchC,SAAd,EAAyB,EACvBV,SAAS,EAAE1D,EAAE,CAACE,MAAM,CAACmE,IAAP,CAAY,KAAKzC,KAAjB,CAAD,EAA0B1B,MAAM,CAACmG,QAAP,EAA1B,CADU,EAEvBrC,KAAK,EAAE,EAAEhB,KAAK,EAAEoB,SAAS,CAACJ,KAAV,CAAgBhB,KAAzB,EAFgB,EAAzB,EAIAQ,SAAS,CAACQ,KAAV,CAAgBC,SAAhB,GAA4BqC,SAA5B,CACAd,SAAS,GAAG,IAAZ,CACD,CAED,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKe,WAAjC,IAAkD,KAAK5F,KAAvD,gBACE,4BAAUyD,SAAV,eACE,yCAAQ,GAAG,EAAE,KAAKhD,IAAlB,IAA4BoC,SAA5B,GACGiB,eADH,EAEGE,WAFH,EAGGO,WAHH,EAIGM,SAJH,eAKE,6BACE,SAAS,EAAExF,EAAE,CAACE,MAAM,CAACsG,OAAP,EAAD,EAAmBpG,aAAa,CAACoG,OAAjC,mBACVtG,MAAM,CAACuG,iBAAP,EADU,IACmB1E,MAAM,IAAIE,OAD7B,OAEV/B,MAAM,CAACwG,WAAP,EAFU,IAEanD,MAFb,OAGVrD,MAAM,CAACyG,eAAP,EAHU,IAGiB,CAAC1E,OAAD,IAAYrB,QAH7B,QADf,IAOGwE,QAPH,eAQE,8BAAM,SAAS,EAAEpF,EAAE,kBAAIE,MAAM,CAAC0G,gBAAP,EAAJ,IAAgC,CAAC,CAAC1B,WAAlC,QAAnB,IAAsEjC,QAAtE,CARF,CALF,CADF,CADF,CADF,CAsBD,CArOH,QAuOUkC,iBAvOV,GAuOE,6BAA4B,CAC1B,oBAAO,oBAAC,OAAD,IAAS,OAAO,EAAE,IAAlB,EAAwB,MAAM,MAA9B,EAA+B,IAAI,EAAC,MAApC,GAAP,CACD,CAzOH,QA2OU9B,gBA3OV,GA2OE,4BAA2B,wBACzB,QAAQ,KAAK1C,KAAL,CAAWkG,IAAnB,GACE,KAAK,OAAL,CACE,OAAO7G,EAAE,CAACE,MAAM,CAAC4G,SAAP,CAAiB,KAAKlF,KAAtB,CAAD,mBAAkC1B,MAAM,CAAC6G,aAAP,CAAqB,KAAKnF,KAA1B,CAAlC,IAAqElC,MAAM,IAAIC,MAA/E,QAAT,CACF,KAAK,QAAL,CACE,OAAOK,EAAE,CAACE,MAAM,CAAC8G,UAAP,CAAkB,KAAKpF,KAAvB,CAAD,qBAAmC1B,MAAM,CAAC+G,cAAP,CAAsB,KAAKrF,KAA3B,CAAnC,IAAuElC,MAAM,IAAIC,MAAjF,SAAT,CACF,KAAK,OAAL,CACA,QACE,OAAOK,EAAE,CAACE,MAAM,CAACgH,SAAP,CAAiB,KAAKtF,KAAtB,CAAD,qBAAkC1B,MAAM,CAACiH,aAAP,CAAqB,KAAKvF,KAA1B,CAAlC,IAAqElC,MAAM,IAAIC,MAA/E,SAAT,CAPJ,CASD,CArPH,QAuPU0F,oBAvPV,GAuPE,gCAA+B,CAC7B,QAAQ,KAAK1E,KAAL,CAAWkG,IAAnB,GACE,KAAK,OAAL,CACE,OAAO3G,MAAM,CAACkH,SAAP,CAAiB,KAAKxF,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAO1B,MAAM,CAACmH,UAAP,CAAkB,KAAKzF,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO1B,MAAM,CAACoH,SAAP,CAAiB,KAAK1F,KAAtB,CAAP,CAPJ,CASD,CAjQH,QAmQU4C,oBAnQV,GAmQE,gCAA+B,CAC7B,QAAQ,KAAK7D,KAAL,CAAWkG,IAAnB,GACE,KAAK,OAAL,CACE,OAAO3G,MAAM,CAACqH,SAAP,CAAiB,KAAK3F,KAAtB,CAAP,CACF,KAAK,QAAL,CACE,OAAO1B,MAAM,CAACsH,UAAP,CAAkB,KAAK5F,KAAvB,CAAP,CACF,KAAK,OAAL,CACA,QACE,OAAO1B,MAAM,CAACuH,SAAP,CAAiB,KAAK7F,KAAtB,CAAP,CAPJ,CASD,CA7QH,iBAA4BpC,KAAK,CAACkI,SAAlC,WACgBC,mBADhB,GACsC,QADtC,UAEgBC,UAFhB,GAE6B,IAF7B,UAIgBzE,YAJhB,GAI+B,EAC3BD,GAAG,EAAE,SADsB,EAE3B2D,IAAI,EAAE,OAFqB,EAG3BpD,IAAI,EAAE,QAHqB,EAJ/B,oBAwSA,OAAO,IAAMoE,QAAQ,GAAGpI,kBAAkB,CAAc,QAAd,CAAnC","sourcesContent":["import React from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps = {\n use: 'default' as ButtonUse,\n size: 'small' as ButtonSize,\n type: 'button' as ButtonType,\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n arrow,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const use = this.props.use || Button.defaultProps.use;\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: this.props.type,\n className: cx({\n [styles.root(this.theme)]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n }),\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [styles.wrapArrow()]: arrow === true,\n [styles.wrapArrowLeft()]: arrow === 'left',\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n if (!isFocused || isLink) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = <div className={styles.loading()}>{this.getLoadingSpinner()}</div>;\n }\n\n let iconNode = null;\n if (icon) {\n iconNode = (\n <span\n className={cx(styles.icon(), this.getSizeIconClassName(), {\n [styles.iconNoRightPadding()]: !children,\n [styles.iconLink(this.theme)]: isLink,\n })}\n >\n {loading ? this.getLoadingSpinner() : icon}\n </span>\n );\n }\n\n let arrowNode = null;\n if (arrow) {\n arrowNode = (\n <div\n className={cx({\n [styles.arrow()]: true,\n [styles.arrowWarning(this.theme)]: !checked && warning,\n [styles.arrowError(this.theme)]: !checked && error,\n [styles.arrowFocus(this.theme)]: !checked && isFocused,\n [styles.arrowLeft()]: arrow === 'left',\n })}\n >\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperTop)} />\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperBottom)} />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n arrowNode = null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {loadingNode}\n {arrowNode}\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: active || checked,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {iconNode}\n <span className={cx({ [styles.visibilityHidden()]: !!loadingNode })}>{children}</span>\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getLoadingSpinner() {\n return <Spinner caption={null} dimmed type=\"mini\" />;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), { [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), { [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), { [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge });\n }\n }\n\n private getSizeIconClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["React","isReactUIComponent","isIE11","isEdge","keyListener","ThemeContext","Spinner","CommonWrapper","cx","rootNode","styles","activeStyles","globalClasses","ButtonDataTids","root","Button","state","focusedByTab","node","handleFocus","e","props","disabled","disableFocus","requestAnimationFrame","isTabPressed","setState","onFocus","handleBlur","onBlur","_ref","componentDidMount","autoFocus","focus","getDerivedStateFromProps","loading","blur","render","theme","renderMain","corners","active","borderless","checked","error","warning","arrow","narrow","icon","_noPadding","_noRightPadding","visuallyFocused","align","onMouseEnter","onMouseLeave","onMouseOver","onKeyDown","onClick","width","children","use","defaultProps","sizeClass","getSizeClassName","isFocused","isLink","rootProps","type","className","checkedFocused","checkedDisabled","noPadding","noRightPadding","style","textAlign","tabIndex","title","wrapProps","wrap","wrapArrow","wrapArrowLeft","getSizeWrapClassName","innerShadowNode","innerShadow","outlineNode","outline","outlineWarning","outlineError","outlineLink","outlineLinkWarning","outlineLinkError","loadingNode","getLoadingSpinner","iconNode","getSizeIconClassName","iconNoRightPadding","iconLink","arrowNode","arrowWarning","arrowError","arrowFocus","arrowLeft","arrowHelper","arrowHelperTop","arrowHelperBottom","link","linkFocus","linkDisabled","Object","assign","wrapLink","undefined","setRootNode","caption","captionTranslated","captionLink","captionDisabled","visibilityHidden","size","sizeLarge","sizeLargeIE11","sizeMedium","sizeMediumIE11","sizeSmall","sizeSmallIE11","iconLarge","iconMedium","iconSmall","wrapLarge","wrapMedium","wrapSmall","Component","__KONTUR_REACT_UI__","__BUTTON__","isButton"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isReactUIComponent } from '../../lib/utils';\nimport { isIE11, isEdge } from '../../lib/client';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Spinner } from '../Spinner';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles, activeStyles, globalClasses } from './Button.styles';\n\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonUse = 'default' | 'primary' | 'success' | 'danger' | 'pay' | 'link';\n\nexport interface ButtonProps extends CommonProps {\n /** @ignore */\n _noPadding?: boolean;\n\n /** @ignore */\n _noRightPadding?: boolean;\n\n /**\n * Применяет к кнопке стили псевдокласса `:active`.\n */\n active?: boolean;\n\n /**\n * CSS-свойство `text-align`.\n */\n align?: React.CSSProperties['textAlign'];\n\n /**\n * Превращает обычную кнопку в кнопку со стрелкой.\n */\n arrow?: boolean | 'left';\n\n /**\n * Даёт кнопке фокус после окончания загрузки страницы.\n */\n autoFocus?: boolean;\n\n /**\n * Убирает обводку у кнопки.\n */\n borderless?: boolean;\n\n /**\n * @ignore\n */\n checked?: boolean;\n\n children?: React.ReactNode;\n\n /** @ignore */\n corners?: React.CSSProperties;\n\n /**\n * Отключенное состояние кнопки.\n */\n disabled?: boolean;\n\n /** @ignore */\n disableFocus?: boolean;\n\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n\n /**\n * Иконка слева от текста кнопки.\n */\n icon?: React.ReactElement<any>;\n\n /**\n * Переводит кнопку в состояние загрузки.\n */\n loading?: boolean;\n\n /**\n * Сужает кнопку.\n */\n narrow?: boolean;\n\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onclick`.\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onfocus`.\n */\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `keydown`.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * HTML-событие `onmouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLButtonElement>;\n\n /**\n * Задаёт размер кнопки.\n *\n * **Допустимые значения**: `\"small\"`, `\"medium\"`, `\"large\"`.\n */\n size?: ButtonSize;\n\n /**\n * HTML-атрибут `type`.\n */\n type?: ButtonType;\n\n /**\n * HTML-атрибут `title`.\n */\n title?: string;\n\n /**\n * Стиль кнопки.\n *\n * **Допустимые значения**: `\"default\"`, `\"primary\"`, `\"success\"`, `\"danger\"`, `\"pay\"`, `\"link\"`.\n */\n use?: ButtonUse;\n\n /** @ignore */\n visuallyFocused?: boolean;\n\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n\n /**\n * CSS-свойство `width`.\n */\n width?: number | string;\n}\n\nexport interface ButtonState {\n focusedByTab: boolean;\n}\n\nexport const ButtonDataTids = {\n root: 'Button__root',\n} as const;\n\n@rootNode\nexport class Button extends React.Component<ButtonProps, ButtonState> {\n public static __KONTUR_REACT_UI__ = 'Button';\n public static __BUTTON__ = true;\n\n public static defaultProps = {\n use: 'default' as ButtonUse,\n size: 'small' as ButtonSize,\n type: 'button' as ButtonType,\n };\n\n public state = {\n focusedByTab: false,\n };\n\n private theme!: Theme;\n private node: HTMLButtonElement | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n public static getDerivedStateFromProps(props: ButtonProps) {\n if (props.loading || props.disabled) {\n return { focusedByTab: false };\n }\n return null;\n }\n\n /**\n * @public\n */\n public focus() {\n this.node?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.node?.blur();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const {\n corners,\n active,\n disabled,\n borderless,\n checked,\n error,\n warning,\n loading,\n arrow,\n narrow,\n icon,\n _noPadding,\n _noRightPadding,\n visuallyFocused,\n align,\n disableFocus,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onClick,\n width,\n children,\n } = this.props;\n const use = this.props.use || Button.defaultProps.use;\n const sizeClass = this.getSizeClassName();\n\n const isFocused = this.state.focusedByTab || visuallyFocused;\n const isLink = use === 'link';\n const rootProps = {\n // By default the type attribute is 'submit'. IE8 will fire a click event\n // on this button if somewhere on the page user presses Enter while some\n // input is focused. So we set type to 'button' by default.\n type: this.props.type,\n className: cx({\n [styles.root(this.theme)]: true,\n [styles[use](this.theme)]: true,\n [activeStyles[use](this.theme)]: active,\n [sizeClass]: true,\n [styles.focus(this.theme)]: isFocused,\n [styles.checked(this.theme)]: checked,\n [styles.checkedFocused(this.theme)]: checked && isFocused,\n [styles.disabled(this.theme)]: disabled || loading,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n [styles.borderless()]: borderless && !disabled && !loading && !checked && !isFocused && !active,\n [styles.narrow()]: narrow,\n [styles.noPadding()]: _noPadding,\n [styles.noRightPadding()]: _noRightPadding,\n }),\n style: {\n textAlign: align,\n ...corners,\n },\n disabled: disabled || loading,\n onClick,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n tabIndex: disableFocus ? -1 : 0,\n title: this.props.title,\n };\n\n const wrapProps = {\n className: cx({\n [styles.wrap(this.theme)]: true,\n [styles.wrapArrow()]: arrow === true,\n [styles.wrapArrowLeft()]: arrow === 'left',\n [this.getSizeWrapClassName()]: true,\n }),\n style: {\n width,\n },\n };\n\n const innerShadowNode = <div className={globalClasses.innerShadow} />;\n\n let outlineNode = null;\n if (!isFocused || isLink) {\n outlineNode = (\n <div\n className={cx(styles.outline(), {\n [styles.outlineWarning(this.theme)]: warning,\n [styles.outlineError(this.theme)]: error,\n [styles.outlineLink()]: isLink,\n [styles.outlineLinkWarning(this.theme)]: isLink && warning,\n [styles.outlineLinkError(this.theme)]: isLink && error,\n })}\n />\n );\n }\n\n let loadingNode = null;\n if (loading && !icon) {\n loadingNode = <div className={styles.loading()}>{this.getLoadingSpinner()}</div>;\n }\n\n let iconNode = null;\n if (icon) {\n iconNode = (\n <span\n className={cx(styles.icon(), this.getSizeIconClassName(), {\n [styles.iconNoRightPadding()]: !children,\n [styles.iconLink(this.theme)]: isLink,\n })}\n >\n {loading ? this.getLoadingSpinner() : icon}\n </span>\n );\n }\n\n let arrowNode = null;\n if (arrow) {\n arrowNode = (\n <div\n className={cx({\n [styles.arrow()]: true,\n [styles.arrowWarning(this.theme)]: !checked && warning,\n [styles.arrowError(this.theme)]: !checked && error,\n [styles.arrowFocus(this.theme)]: !checked && isFocused,\n [styles.arrowLeft()]: arrow === 'left',\n })}\n >\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperTop)} />\n <div className={cx(globalClasses.arrowHelper, globalClasses.arrowHelperBottom)} />\n </div>\n );\n }\n\n // Force disable all props and features, that cannot be use with Link\n if (isLink) {\n rootProps.className = cx({\n [styles.root(this.theme)]: true,\n [sizeClass]: true,\n [styles.link(this.theme)]: true,\n [styles.linkFocus(this.theme)]: isFocused,\n [styles.linkDisabled(this.theme)]: disabled || loading,\n });\n Object.assign(wrapProps, {\n className: cx(styles.wrap(this.theme), styles.wrapLink()),\n style: { width: wrapProps.style.width },\n });\n rootProps.style.textAlign = undefined;\n arrowNode = null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span {...wrapProps}>\n <button data-tid={ButtonDataTids.root} ref={this._ref} {...rootProps}>\n {innerShadowNode}\n {outlineNode}\n {loadingNode}\n {arrowNode}\n <div\n className={cx(styles.caption(), globalClasses.caption, {\n [styles.captionTranslated()]: active || checked,\n [styles.captionLink()]: isLink,\n [styles.captionDisabled()]: !checked && disabled,\n })}\n >\n {iconNode}\n <span className={cx({ [styles.visibilityHidden()]: !!loadingNode })}>{children}</span>\n </div>\n </button>\n </span>\n </CommonWrapper>\n );\n }\n\n private getLoadingSpinner() {\n return <Spinner caption={null} dimmed type=\"mini\" />;\n }\n\n private getSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return cx(styles.sizeLarge(this.theme), { [styles.sizeLargeIE11(this.theme)]: isIE11 || isEdge });\n case 'medium':\n return cx(styles.sizeMedium(this.theme), { [styles.sizeMediumIE11(this.theme)]: isIE11 || isEdge });\n case 'small':\n default:\n return cx(styles.sizeSmall(this.theme), { [styles.sizeSmallIE11(this.theme)]: isIE11 || isEdge });\n }\n }\n\n private getSizeIconClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getSizeWrapClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.wrapLarge(this.theme);\n case 'medium':\n return styles.wrapMedium(this.theme);\n case 'small':\n default:\n return styles.wrapSmall(this.theme);\n }\n }\n\n private handleFocus = (e: React.FocusEvent<HTMLButtonElement>) => {\n if (!this.props.disabled && !this.props.disableFocus) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n this.props.onFocus?.(e);\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLButtonElement>) => {\n this.setState({ focusedByTab: false });\n if (!this.props.disabled && !this.props.disableFocus) {\n this.props.onBlur?.(e);\n }\n };\n\n private _ref = (node: HTMLButtonElement | null) => {\n this.node = node;\n };\n}\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\n"]}
@@ -119,6 +119,9 @@ export interface ButtonProps extends CommonProps {
119
119
  export interface ButtonState {
120
120
  focusedByTab: boolean;
121
121
  }
122
+ export declare const ButtonDataTids: {
123
+ readonly root: "Button__root";
124
+ };
122
125
  export declare class Button extends React.Component<ButtonProps, ButtonState> {
123
126
  static __KONTUR_REACT_UI__: string;
124
127
  static __BUTTON__: boolean;
@@ -10,11 +10,14 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
10
10
  import { cx } from "../../../lib/theming/Emotion";
11
11
  import { rootNode } from "../../../lib/rootNode";
12
12
  import { styles } from "../Center.styles";
13
- export
13
+ export var CenterDataTids = {
14
+ root: 'Center__root'
15
+ };
14
16
  /**
15
- * Контейнер, который центрирует элементы внутри себя.
16
- */
17
- var Center = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
17
+ * Контейнер, который центрирует элементы внутри себя.
18
+ */
19
+
20
+ export var Center = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {
18
21
  _inheritsLoose(Center, _React$Component);
19
22
 
20
23
  function Center() {
@@ -32,7 +35,9 @@ var Center = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
32
35
  var align = props.align,
33
36
  rest = _objectWithoutPropertiesLoose(props, _excluded);
34
37
 
35
- return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
38
+ return /*#__PURE__*/React.createElement("div", _extends({
39
+ "data-tid": CenterDataTids.root
40
+ }, rest, {
36
41
  className: cx((_cx = {}, _cx[styles.root()] = true, _cx[styles.rootAlignLeft()] = align === 'left', _cx[styles.rootAlignRight()] = align === 'right', _cx))
37
42
  }), /*#__PURE__*/React.createElement("span", {
38
43
  className: styles.spring()
@@ -1 +1 @@
1
- {"version":3,"sources":["Center.tsx"],"names":["React","CommonWrapper","cx","rootNode","styles","Center","renderMain","props","align","rest","root","rootAlignLeft","rootAlignRight","spring","container","children","render","setRootNode","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"yRAAA,OAAOA,KAAP,MAAkB,OAAlB;;;AAGA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAJA;AACA;AACA,GAEA,IAAaC,MAAb,GADCF,QACD;;;;;;;;;;;;;AAeUG,IAAAA,UAfV,GAeuB,UAACC,KAAD,EAAgD;AACnE,UAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR,CAAkBC,IAAlB,iCAA2BF,KAA3B;;AAEA;AACE;AACME,QAAAA,IADN;AAEE,UAAA,SAAS,EAAEP,EAAE;AACVE,UAAAA,MAAM,CAACM,IAAP,EADU,IACM,IADN;AAEVN,UAAAA,MAAM,CAACO,aAAP,EAFU,IAEeH,KAAK,KAAK,MAFzB;AAGVJ,UAAAA,MAAM,CAACQ,cAAP,EAHU,IAGgBJ,KAAK,KAAK,OAH1B,OAFf;;;AAQE,sCAAM,SAAS,EAAEJ,MAAM,CAACS,MAAP,EAAjB,GARF;AASE,sCAAM,SAAS,EAAET,MAAM,CAACU,SAAP,EAAjB,IAAsC,MAAKP,KAAL,CAAWQ,QAAjD,CATF,CADF;;;AAaD,KA/BH,oDAQSC,MART,GAQE,kBAAgB,CACd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAKV,KAAvD,GACG,KAAKD,UADR,CADF,CAKD,CAdH,iBAA4BN,KAAK,CAACkB,SAAlC,WACgBC,mBADhB,GACsC,QADtC,UAGgBC,YAHhB,GAG+B,EAC3BZ,KAAK,EAAE,QADoB,EAH/B","sourcesContent":["import React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Center.styles';\n\nexport type HorizontalAlign = 'left' | 'center' | 'right';\n\nexport interface CenterProps\n extends CommonProps,\n Override<\n React.HTMLAttributes<HTMLDivElement>,\n {\n /**\n * Определяет, как контент будет выровнен по горизонтали.\n *\n * **Допустимые значения**: `\"left\"`, `\"center\"`, `\"right\"`.\n */\n align?: HorizontalAlign;\n }\n > {}\n\n/**\n * Контейнер, который центрирует элементы внутри себя.\n */\n@rootNode\nexport class Center extends React.Component<CenterProps> {\n public static __KONTUR_REACT_UI__ = 'Center';\n\n public static defaultProps = {\n align: 'center',\n };\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n private renderMain = (props: CommonWrapperRestProps<CenterProps>) => {\n const { align, ...rest } = props;\n\n return (\n <div\n {...rest}\n className={cx({\n [styles.root()]: true,\n [styles.rootAlignLeft()]: align === 'left',\n [styles.rootAlignRight()]: align === 'right',\n })}\n >\n <span className={styles.spring()} />\n <span className={styles.container()}>{this.props.children}</span>\n </div>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["Center.tsx"],"names":["React","CommonWrapper","cx","rootNode","styles","CenterDataTids","root","Center","renderMain","props","align","rest","rootAlignLeft","rootAlignRight","spring","container","children","render","setRootNode","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"yRAAA,OAAOA,KAAP,MAAkB,OAAlB;;;AAGA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,iBAAvB;;;;;;;;;;;;;;;;;;AAkBA,OAAO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,cADsB,EAAvB;;;AAIP;AACA;AACA;;AAEA,WAAaC,MAAb,GADCJ,QACD;;;;;;;;;;;;;;;AAeUK,IAAAA,UAfV,GAeuB,UAACC,KAAD,EAAgD;AACnE,UAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR,CAAkBC,IAAlB,iCAA2BF,KAA3B;;AAEA;AACE;AACE,sBAAUJ,cAAc,CAACC,IAD3B;AAEMK,QAAAA,IAFN;AAGE,UAAA,SAAS,EAAET,EAAE;AACVE,UAAAA,MAAM,CAACE,IAAP,EADU,IACM,IADN;AAEVF,UAAAA,MAAM,CAACQ,aAAP,EAFU,IAEeF,KAAK,KAAK,MAFzB;AAGVN,UAAAA,MAAM,CAACS,cAAP,EAHU,IAGgBH,KAAK,KAAK,OAH1B,OAHf;;;AASE,sCAAM,SAAS,EAAEN,MAAM,CAACU,MAAP,EAAjB,GATF;AAUE,sCAAM,SAAS,EAAEV,MAAM,CAACW,SAAP,EAAjB,IAAsC,MAAKN,KAAL,CAAWO,QAAjD,CAVF,CADF;;;AAcD,KAhCH,oDAQSC,MART,GAQE,kBAAgB,CACd,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKC,WAAjC,IAAkD,KAAKT,KAAvD,GACG,KAAKD,UADR,CADF,CAKD,CAdH,iBAA4BR,KAAK,CAACmB,SAAlC,WACgBC,mBADhB,GACsC,QADtC,UAGgBC,YAHhB,GAG+B,EAC3BX,KAAK,EAAE,QADoB,EAH/B","sourcesContent":["import React from 'react';\n\nimport { Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Center.styles';\n\nexport type HorizontalAlign = 'left' | 'center' | 'right';\n\nexport interface CenterProps\n extends CommonProps,\n Override<\n React.HTMLAttributes<HTMLDivElement>,\n {\n /**\n * Определяет, как контент будет выровнен по горизонтали.\n *\n * **Допустимые значения**: `\"left\"`, `\"center\"`, `\"right\"`.\n */\n align?: HorizontalAlign;\n }\n > {}\n\nexport const CenterDataTids = {\n root: 'Center__root',\n} as const;\n\n/**\n * Контейнер, который центрирует элементы внутри себя.\n */\n@rootNode\nexport class Center extends React.Component<CenterProps> {\n public static __KONTUR_REACT_UI__ = 'Center';\n\n public static defaultProps = {\n align: 'center',\n };\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n private renderMain = (props: CommonWrapperRestProps<CenterProps>) => {\n const { align, ...rest } = props;\n\n return (\n <div\n data-tid={CenterDataTids.root}\n {...rest}\n className={cx({\n [styles.root()]: true,\n [styles.rootAlignLeft()]: align === 'left',\n [styles.rootAlignRight()]: align === 'right',\n })}\n >\n <span className={styles.spring()} />\n <span className={styles.container()}>{this.props.children}</span>\n </div>\n );\n };\n}\n"]}
@@ -11,6 +11,9 @@ export interface CenterProps extends CommonProps, Override<React.HTMLAttributes<
11
11
  align?: HorizontalAlign;
12
12
  }> {
13
13
  }
14
+ export declare const CenterDataTids: {
15
+ readonly root: "Center__root";
16
+ };
14
17
  /**
15
18
  * Контейнер, который центрирует элементы внутри себя.
16
19
  */
@@ -16,6 +16,9 @@ import { cx } from "../../../lib/theming/Emotion";
16
16
  import { rootNode } from "../../../lib/rootNode";
17
17
  import { fixFirefoxModifiedClickOnLabel } from "../../../lib/events/fixFirefoxModifiedClickOnLabel";
18
18
  import { styles, globalClasses } from "../Checkbox.styles";
19
+ export var CheckboxDataTids = {
20
+ root: 'Checkbox__root'
21
+ };
19
22
  export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
20
23
  _inheritsLoose(Checkbox, _React$PureComponent);
21
24
 
@@ -29,14 +32,41 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
29
32
  _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
30
33
  _this.state = {
31
34
  focusedByTab: false,
32
- indeterminate: _this.props.initialIndeterminate || false
35
+ indeterminate: _this.props.initialIndeterminate || false,
36
+ isShiftPressed: false
33
37
  };
34
38
  _this.input = /*#__PURE__*/React.createRef();
35
39
 
40
+ _this.handleShiftPress = function (e) {
41
+ if (e.key === 'Shift') {
42
+ _this.setState(function () {
43
+ return {
44
+ isShiftPressed: true
45
+ };
46
+ });
47
+ }
48
+ };
49
+
50
+ _this.handleShiftRelease = function (e) {
51
+ if (e.key === 'Shift') {
52
+ _this.setState({
53
+ isShiftPressed: false
54
+ });
55
+ }
56
+ };
57
+
36
58
  _this.componentDidMount = function () {
37
59
  if (_this.state.indeterminate && _this.input.current) {
38
60
  _this.input.current.indeterminate = true;
39
61
  }
62
+
63
+ document.addEventListener('keydown', _this.handleShiftPress);
64
+ document.addEventListener('keyup', _this.handleShiftRelease);
65
+ };
66
+
67
+ _this.componentWillUnmount = function () {
68
+ document.removeEventListener('keydown', _this.handleShiftPress);
69
+ document.removeEventListener('keyup', _this.handleShiftRelease);
40
70
  };
41
71
 
42
72
  _this.setIndeterminate = function () {
@@ -73,7 +103,7 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
73
103
  rest = _objectWithoutPropertiesLoose(props, _excluded);
74
104
 
75
105
  var isIndeterminate = _this.state.indeterminate;
76
- var rootClass = cx((_cx = {}, _cx[styles.root(_this.theme)] = true, _cx[styles.rootFallback()] = isIE11 || isEdge, _cx[styles.rootChecked(_this.theme)] = props.checked || isIndeterminate, _cx[styles.disabled(_this.theme)] = Boolean(props.disabled), _cx));
106
+ var rootClass = cx((_cx = {}, _cx[styles.root(_this.theme)] = true, _cx[styles.rootFallback()] = isIE11 || isEdge, _cx[styles.rootChecked(_this.theme)] = props.checked || isIndeterminate, _cx[styles.rootDisableTextSelect()] = _this.state.isShiftPressed, _cx[styles.disabled(_this.theme)] = Boolean(props.disabled), _cx));
77
107
 
78
108
  var inputProps = _extends({}, rest, {
79
109
  type: 'checkbox',
@@ -107,6 +137,7 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
107
137
  className: iconClass
108
138
  })));
109
139
  return /*#__PURE__*/React.createElement("label", {
140
+ "data-tid": CheckboxDataTids.root,
110
141
  className: rootClass,
111
142
  onMouseEnter: onMouseEnter,
112
143
  onMouseLeave: onMouseLeave,
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","input","createRef","componentDidMount","current","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","theme","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon(this.theme)]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","CheckboxDataTids","root","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","theme","rootFallback","rootChecked","checked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n document.addEventListener('keydown', this.handleShiftPress);\n document.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n document.removeEventListener('keydown', this.handleShiftPress);\n document.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon(this.theme)]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
@@ -44,7 +44,11 @@ export interface CheckboxProps extends CommonProps, Override<React.InputHTMLAttr
44
44
  export interface CheckboxState {
45
45
  focusedByTab: boolean;
46
46
  indeterminate: boolean;
47
+ isShiftPressed: boolean;
47
48
  }
49
+ export declare const CheckboxDataTids: {
50
+ readonly root: "Checkbox__root";
51
+ };
48
52
  export declare class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {
49
53
  static __KONTUR_REACT_UI__: string;
50
54
  static propTypes: {
@@ -61,10 +65,14 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
61
65
  state: {
62
66
  focusedByTab: boolean;
63
67
  indeterminate: boolean;
68
+ isShiftPressed: boolean;
64
69
  };
65
70
  private theme;
66
71
  private input;
72
+ private handleShiftPress;
73
+ private handleShiftRelease;
67
74
  componentDidMount: () => void;
75
+ componentWillUnmount: () => void;
68
76
  private setRootNode;
69
77
  componentDidUpdate(prevProps: CheckboxProps): void;
70
78
  render(): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
4
4
 
5
5
  import { getLabGrotesqueBaselineCompensation } from "../../../lib/styles/getLabGrotesqueBaselineCompensation";
6
6
  import { css, memoizeStyle, prefix } from "../../../lib/theming/Emotion";
@@ -12,55 +12,58 @@ export var styles = memoizeStyle({
12
12
  root: function root(t) {
13
13
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n padding: ", " 0;\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n padding: ", " 0;\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])), t.checkboxLineHeight, t.checkboxFontSize, t.checkboxPaddingY, globalClasses.box, t.checkboxHoverBg, t.checkboxShadowHover, globalClasses.box, t.checkboxShadowActive, t.checkboxActiveBg, t.checkboxBoxSize);
14
14
  },
15
+ rootDisableTextSelect: function rootDisableTextSelect() {
16
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n user-select: none;\n "])));
17
+ },
15
18
  rootChecked: function rootChecked(t) {
16
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n &:hover .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &:active .", " {\n background: ", ";\n box-shadow: ", ";\n }\n "])), globalClasses.box, t.checkboxCheckedHoverShadow, t.checkboxCheckedHoverBg, globalClasses.box, t.checkboxCheckedActiveBg, t.checkboxCheckedActiveShadow);
19
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n &:hover .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &:active .", " {\n background: ", ";\n box-shadow: ", ";\n }\n "])), globalClasses.box, t.checkboxCheckedHoverShadow, t.checkboxCheckedHoverBg, globalClasses.box, t.checkboxCheckedActiveBg, t.checkboxCheckedActiveShadow);
17
20
  },
18
21
  rootFallback: function rootFallback() {
19
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n "])));
22
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n "])));
20
23
  },
21
24
  rootWrapperIE11: function rootWrapperIE11() {
22
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n display: inline;\n "])));
25
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n display: inline;\n "])));
23
26
  },
24
27
  boxWrapper: function boxWrapper(t) {
25
28
  var labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);
26
29
  var fontSize = parseInt(t.checkboxFontSize);
27
30
  var baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);
28
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: ", ";\n height: ", ";\n box-sizing: border-box;\n padding: ", ";\n margin-top: calc(", " + ", "px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n "])), t.checkboxBoxSize, t.checkboxBoxSize, t.checkboxBorderWidth, t.checkboxBoxOffsetY, baselineCompensation);
31
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: ", ";\n height: ", ";\n box-sizing: border-box;\n padding: ", ";\n margin-top: calc(", " + ", "px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n "])), t.checkboxBoxSize, t.checkboxBoxSize, t.checkboxBorderWidth, t.checkboxBoxOffsetY, baselineCompensation);
29
32
  },
30
33
  box: function box(t) {
31
- return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n color: ", ";\n box-shadow: ", ";\n background: ", ";\n border-radius: ", ";\n height: 100%;\n "])), t.checkboxTextColorDefault, t.checkboxShadow, t.checkboxBg, t.checkboxBorderRadius);
34
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n color: ", ";\n box-shadow: ", ";\n background: ", ";\n border-radius: ", ";\n height: 100%;\n "])), t.checkboxTextColorDefault, t.checkboxShadow, t.checkboxBg, t.checkboxBorderRadius);
32
35
  },
33
36
  input: function input() {
34
- return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n "])));
37
+ return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n "])));
35
38
  },
36
39
  boxWarning: function boxWarning(t) {
37
- return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorWarning);
40
+ return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorWarning);
38
41
  },
39
42
  boxError: function boxError(t) {
40
- return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorError);
43
+ return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorError);
41
44
  },
42
45
  boxChecked: function boxChecked(t) {
43
- return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n box-shadow: ", ";\n "])), t.checkboxCheckedBg, t.checkboxCheckedColor, t.checkboxCheckedShadow);
46
+ return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n box-shadow: ", ";\n "])), t.checkboxCheckedBg, t.checkboxCheckedColor, t.checkboxCheckedShadow);
44
47
  },
45
48
  boxFocus: function boxFocus(t) {
46
- return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorFocus);
49
+ return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorFocus);
47
50
  },
48
51
  boxDisabled: function boxDisabled(t) {
49
- return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n box-shadow: ", " !important; // override hover and active\n background: ", " !important; // override hover and active\n color: ", ";\n "])), t.checkboxShadowDisabled, t.checkboxBgDisabled, t.checkboxTextColorDisabled);
52
+ return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n box-shadow: ", " !important; // override hover and active\n background: ", " !important; // override hover and active\n color: ", ";\n "])), t.checkboxShadowDisabled, t.checkboxBgDisabled, t.checkboxTextColorDisabled);
50
53
  },
51
54
  disabled: function disabled(t) {
52
- return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: default;\n "])), t.checkboxTextColorDisabled);
55
+ return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: default;\n "])), t.checkboxTextColorDisabled);
53
56
  },
54
57
  icon: function icon(t) {
55
- return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n "])));
58
+ return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n "])));
56
59
  },
57
60
  iconUnchecked: function iconUnchecked() {
58
- return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: transparent;\n "])));
61
+ return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: transparent;\n "])));
59
62
  },
60
63
  caption: function caption(t) {
61
- return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding-left: ", ";\n "])), t.checkboxTextColorDefault, t.checkboxCaptionGap);
64
+ return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding-left: ", ";\n "])), t.checkboxTextColorDefault, t.checkboxCaptionGap);
62
65
  },
63
66
  captionIE11: function captionIE11() {
64
- return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n display: table-cell;\n "])));
67
+ return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n display: table-cell;\n "])));
65
68
  }
66
69
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"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","sourcesContent":["import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\nimport { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.checkboxBoxSize};\n flex: 0 0 auto;\n }\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);\n\n return css`\n position: absolute;\n width: ${t.checkboxBoxSize};\n height: ${t.checkboxBoxSize};\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n margin-top: calc(${t.checkboxBoxOffsetY} + ${baselineCompensation}px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon(t: Theme) {\n return css`\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootDisableTextSelect","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"+aAAA,SAASA,mCAAT,QAAoD,sDAApD;AACA,SAASC,GAAT,EAAcC,YAAd,EAA4BC,MAA5B,QAA0C,2BAA1C;;AAEA,SAASC,QAAT,QAAyB,kBAAzB;;AAEA,OAAO,IAAMC,aAAa,GAAGF,MAAM,CAAC,UAAD,CAAN,CAAmB;AAC9CG,EAAAA,GAAG,EAAE,KADyC,EAAnB,CAAtB;;;AAIP,OAAO,IAAMC,MAAM,GAAGL,YAAY,CAAC;AACjCM,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOR,GAAP;;;;;AAKiBQ,IAAAA,CAAC,CAACC,kBALnB;AAMeD,IAAAA,CAAC,CAACE,gBANjB;AAOaF,IAAAA,CAAC,CAACG,gBAPf;;AASaP,IAAAA,aAAa,CAACC,GAT3B;AAUkBG,IAAAA,CAAC,CAACI,eAVpB;AAWkBJ,IAAAA,CAAC,CAACK,mBAXpB;;;AAccT,IAAAA,aAAa,CAACC,GAd5B;AAekBG,IAAAA,CAAC,CAACM,oBAfpB;AAgBkBN,IAAAA,CAAC,CAACO,gBAhBpB;;;;;;;;;AAyBaP,IAAAA,CAAC,CAACQ,eAzBf;;;;AA6BD,GA/BgC;;AAiCjCC,EAAAA,qBAjCiC,mCAiCT;AACtB,WAAOjB,GAAP;;;AAGD,GArCgC;;AAuCjCkB,EAAAA,WAvCiC,uBAuCrBV,CAvCqB,EAuCX;AACpB,WAAOR,GAAP;AACaI,IAAAA,aAAa,CAACC,GAD3B;AAEkBG,IAAAA,CAAC,CAACW,0BAFpB;AAGkBX,IAAAA,CAAC,CAACY,sBAHpB;;;AAMchB,IAAAA,aAAa,CAACC,GAN5B;AAOkBG,IAAAA,CAAC,CAACa,uBAPpB;AAQkBb,IAAAA,CAAC,CAACc,2BARpB;;;AAWD,GAnDgC;;AAqDjCC,EAAAA,YArDiC,0BAqDlB;AACb,WAAOvB,GAAP;;;;;;;;AAQD,GA9DgC;;AAgEjCwB,EAAAA,eAhEiC,6BAgEf;AAChB,WAAOxB,GAAP;;;AAGD,GApEgC;;AAsEjCyB,EAAAA,UAtEiC,sBAsEtBjB,CAtEsB,EAsEZ;AACnB,QAAMkB,yBAAyB,GAAGC,QAAQ,CAACnB,CAAC,CAACoB,gCAAH,CAA1C;AACA,QAAMC,QAAQ,GAAGF,QAAQ,CAACnB,CAAC,CAACE,gBAAH,CAAzB;AACA,QAAMoB,oBAAoB,GAAG/B,mCAAmC,CAAC8B,QAAD,EAAWH,yBAAX,EAAsCvB,QAAtC,CAAhE;;AAEA,WAAOH,GAAP;;AAEWQ,IAAAA,CAAC,CAACQ,eAFb;AAGYR,IAAAA,CAAC,CAACQ,eAHd;;AAKaR,IAAAA,CAAC,CAACuB,mBALf;AAMqBvB,IAAAA,CAAC,CAACwB,kBANvB,EAM+CF,oBAN/C;;;;;;AAYD,GAvFgC;;AAyFjCzB,EAAAA,GAzFiC,eAyF7BG,CAzF6B,EAyFnB;AACZ,WAAOR,GAAP;AACWQ,IAAAA,CAAC,CAACyB,wBADb;AAEgBzB,IAAAA,CAAC,CAAC0B,cAFlB;AAGgB1B,IAAAA,CAAC,CAAC2B,UAHlB;AAImB3B,IAAAA,CAAC,CAAC4B,oBAJrB;;;AAOD,GAjGgC;;AAmGjCC,EAAAA,KAnGiC,mBAmGzB;AACN,WAAOrC,GAAP;;;;;;;;AAQD,GA5GgC;;AA8GjCsC,EAAAA,UA9GiC,sBA8GtB9B,CA9GsB,EA8GZ;AACnB,WAAOR,GAAP;AACgCQ,IAAAA,CAAC,CAAC+B,yBADlC;AAEY/B,IAAAA,CAAC,CAACgC,oBAFd,EAEsChC,CAAC,CAACiC,0BAFxC;;AAID,GAnHgC;;AAqHjCC,EAAAA,QArHiC,oBAqHxBlC,CArHwB,EAqHd;AACjB,WAAOR,GAAP;AACgCQ,IAAAA,CAAC,CAAC+B,yBADlC;AAEY/B,IAAAA,CAAC,CAACgC,oBAFd,EAEsChC,CAAC,CAACmC,wBAFxC;;AAID,GA1HgC;;AA4HjCC,EAAAA,UA5HiC,sBA4HtBpC,CA5HsB,EA4HZ;AACnB,WAAOR,GAAP;AACgBQ,IAAAA,CAAC,CAACqC,iBADlB;AAEWrC,IAAAA,CAAC,CAACsC,oBAFb;AAGgBtC,IAAAA,CAAC,CAACuC,qBAHlB;;AAKD,GAlIgC;;AAoIjCC,EAAAA,QApIiC,oBAoIxBxC,CApIwB,EAoId;AACjB,WAAOR,GAAP;AACgCQ,IAAAA,CAAC,CAAC+B,yBADlC;AAEY/B,IAAAA,CAAC,CAACgC,oBAFd,EAEsChC,CAAC,CAACyC,wBAFxC;;AAID,GAzIgC;;AA2IjCC,EAAAA,WA3IiC,uBA2IrB1C,CA3IqB,EA2IX;AACpB,WAAOR,GAAP;AACgBQ,IAAAA,CAAC,CAAC2C,sBADlB;AAEgB3C,IAAAA,CAAC,CAAC4C,kBAFlB;AAGW5C,IAAAA,CAAC,CAAC6C,yBAHb;;AAKD,GAjJgC;;AAmJjCC,EAAAA,QAnJiC,oBAmJxB9C,CAnJwB,EAmJd;AACjB,WAAOR,GAAP;AACWQ,IAAAA,CAAC,CAAC6C,yBADb;;;AAID,GAxJgC;;AA0JjCE,EAAAA,IA1JiC,gBA0J5B/C,CA1J4B,EA0JlB;AACb,WAAOR,GAAP;;;;;;;;;;;;;;AAcD,GAzKgC;;AA2KjCwD,EAAAA,aA3KiC,2BA2KjB;AACd,WAAOxD,GAAP;;;AAGD,GA/KgC;;AAiLjCyD,EAAAA,OAjLiC,mBAiLzBjD,CAjLyB,EAiLf;AAChB,WAAOR,GAAP;AACWQ,IAAAA,CAAC,CAACyB,wBADb;AAEkBzB,IAAAA,CAAC,CAACkD,kBAFpB;;AAID,GAtLgC;;AAwLjCC,EAAAA,WAxLiC,yBAwLnB;AACZ,WAAO3D,GAAP;;;AAGD,GA5LgC,EAAD,CAA3B","sourcesContent":["import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\nimport { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.checkboxBoxSize};\n flex: 0 0 auto;\n }\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);\n\n return css`\n position: absolute;\n width: ${t.checkboxBoxSize};\n height: ${t.checkboxBoxSize};\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n margin-top: calc(${t.checkboxBoxOffsetY} + ${baselineCompensation}px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon(t: Theme) {\n return css`\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
@@ -4,6 +4,7 @@ export declare const globalClasses: {
4
4
  };
5
5
  export declare const styles: {
6
6
  root(t: Theme): string;
7
+ rootDisableTextSelect(): string;
7
8
  rootChecked(t: Theme): string;
8
9
  rootFallback(): string;
9
10
  rootWrapperIE11(): string;
@@ -19,16 +19,19 @@ import { SelectionHelper } from "../SelectionHelper";
19
19
  import { CurrencyHelper } from "../CurrencyHelper";
20
20
  import { CurrencyInputHelper } from "../CurrencyInputHelper";
21
21
  import { CURRENCY_INPUT_ACTIONS, extractAction } from "../CurrencyInputKeyboardActions";
22
- export
22
+ export var CurrencyInputDataTids = {
23
+ root: 'CurrencyInput__root'
24
+ };
23
25
  /**
24
- * Поле для денежных сумм (и других числовых значений).
25
- * Принимает любые свойства `Input`.
26
- *
27
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
28
- * <br/>
29
- * Если `fractionDigits=15`, то в целой части допускается **0**.
30
- */
31
- var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
26
+ * Поле для денежных сумм (и других числовых значений).
27
+ * Принимает любые свойства `Input`.
28
+ *
29
+ * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
30
+ * <br/>
31
+ * Если `fractionDigits=15`, то в целой части допускается **0**.
32
+ */
33
+
34
+ export var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
32
35
  _inheritsLoose(CurrencyInput, _React$PureComponent);
33
36
 
34
37
  function CurrencyInput() {
@@ -52,7 +55,9 @@ var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (
52
55
  hideTrailingZeros = props.hideTrailingZeros,
53
56
  rest = _objectWithoutPropertiesLoose(props, _excluded);
54
57
 
55
- return /*#__PURE__*/React.createElement(Input, _extends({}, rest, {
58
+ return /*#__PURE__*/React.createElement(Input, _extends({
59
+ "data-tid": CurrencyInputDataTids.root
60
+ }, rest, {
56
61
  value: _this.state.formatted,
57
62
  onBlur: _this.handleBlur,
58
63
  onFocus: _this.handleFocus,