@skbkontur/react-ui 0.0.0-7feb61cdde → 0.0.0-80c5917afc

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 (379) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +5 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +18 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -1
  6. package/cjs/components/Button/Button.js +7 -2
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.styles.js +6 -4
  9. package/cjs/components/Button/Button.styles.js.map +1 -1
  10. package/cjs/components/Button/getInnerLinkTheme.js +2 -3
  11. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.styles.js +1 -2
  13. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  14. package/cjs/components/Calendar/DayCellView.js +1 -1
  15. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  16. package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
  17. package/cjs/components/Calendar/DayCellView.styles.js +4 -4
  18. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.d.ts +10 -0
  20. package/cjs/components/Checkbox/Checkbox.js +70 -15
  21. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.md +18 -0
  23. package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  24. package/cjs/components/Checkbox/Checkbox.mixins.js +35 -0
  25. package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
  26. package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
  27. package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
  28. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  29. package/cjs/components/ComboBox/ComboBox.md +5 -3
  30. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  31. package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
  32. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +3 -0
  34. package/cjs/components/DateInput/DateInput.js +11 -3
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/Dropdown/getDropdownTheme.js +3 -1
  37. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  38. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  39. package/cjs/components/DropdownMenu/DropdownMenu.js +4 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  41. package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
  42. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
  43. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  44. package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
  45. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  46. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  47. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  48. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  49. package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
  50. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  51. package/cjs/components/Input/Input.d.ts +1 -5
  52. package/cjs/components/Input/Input.js +4 -5
  53. package/cjs/components/Input/Input.js.map +1 -1
  54. package/cjs/components/Input/Input.styles.js +3 -2
  55. package/cjs/components/Input/Input.styles.js.map +1 -1
  56. package/cjs/components/Kebab/Kebab.d.ts +1 -1
  57. package/cjs/components/Kebab/Kebab.js +6 -1
  58. package/cjs/components/Kebab/Kebab.js.map +1 -1
  59. package/cjs/components/Kebab/Kebab.md +28 -0
  60. package/cjs/components/Link/Link.js +4 -2
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Link/Link.mixins.d.ts +1 -2
  63. package/cjs/components/Link/Link.mixins.js +5 -16
  64. package/cjs/components/Link/Link.mixins.js.map +1 -1
  65. package/cjs/components/Link/Link.styles.d.ts +2 -0
  66. package/cjs/components/Link/Link.styles.js +58 -38
  67. package/cjs/components/Link/Link.styles.js.map +1 -1
  68. package/cjs/components/Modal/ModalFooter.js +1 -1
  69. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  70. package/cjs/components/Modal/ModalHeader.js +1 -1
  71. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  72. package/cjs/components/Radio/Radio.styles.js +6 -2
  73. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  74. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  75. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  76. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  77. package/cjs/components/Select/Select.d.ts +7 -5
  78. package/cjs/components/Select/Select.js +15 -6
  79. package/cjs/components/Select/Select.js.map +1 -1
  80. package/cjs/components/Select/Select.styles.js +3 -2
  81. package/cjs/components/Select/Select.styles.js.map +1 -1
  82. package/cjs/components/Select/selectTheme.js +4 -1
  83. package/cjs/components/Select/selectTheme.js.map +1 -1
  84. package/cjs/components/Tabs/Tab.d.ts +1 -0
  85. package/cjs/components/Tabs/Tab.js +15 -1
  86. package/cjs/components/Tabs/Tab.js.map +1 -1
  87. package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
  88. package/cjs/components/Tabs/Tab.styles.js +106 -68
  89. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  90. package/cjs/components/Tabs/Tabs.d.ts +8 -2
  91. package/cjs/components/Tabs/Tabs.js +15 -1
  92. package/cjs/components/Tabs/Tabs.js.map +1 -1
  93. package/cjs/components/Tabs/Tabs.md +32 -0
  94. package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
  95. package/cjs/components/Tabs/Tabs.styles.js +23 -7
  96. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  97. package/cjs/components/Tabs/TabsContext.d.ts +2 -1
  98. package/cjs/components/Tabs/TabsContext.js +2 -0
  99. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  100. package/cjs/components/Tabs/helpers.d.ts +6 -0
  101. package/cjs/components/Tabs/helpers.js +30 -0
  102. package/cjs/components/Tabs/helpers.js.map +1 -0
  103. package/cjs/components/Textarea/Textarea.styles.js +2 -2
  104. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  105. package/cjs/components/Toast/ToastView.styles.js +2 -2
  106. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  107. package/cjs/components/Toggle/Toggle.d.ts +11 -1
  108. package/cjs/components/Toggle/Toggle.js +102 -2
  109. package/cjs/components/Toggle/Toggle.js.map +1 -1
  110. package/cjs/components/Toggle/Toggle.md +16 -2
  111. package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
  112. package/cjs/components/Toggle/Toggle.mixins.js +90 -0
  113. package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
  114. package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
  115. package/cjs/components/Toggle/Toggle.styles.js +172 -56
  116. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  117. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  118. package/cjs/components/TokenInput/TokenInput.js +8 -2
  119. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  120. package/cjs/components/TokenInput/TokenInput.md +26 -35
  121. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  122. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  123. package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
  124. package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
  125. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  126. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  127. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -2
  128. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  129. package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
  130. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
  131. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  132. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  133. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +10 -1
  134. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  135. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
  136. package/cjs/internal/CustomComboBox/ComboBoxView.js +11 -3
  137. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  138. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -11
  139. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  140. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  141. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  142. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  143. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -3
  144. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  145. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  146. package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
  147. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  148. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
  149. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +7 -5
  150. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  151. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  152. package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
  153. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  154. package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
  155. package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
  156. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  157. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  158. package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
  159. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  160. package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  161. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
  162. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
  163. package/cjs/internal/Menu/Menu.d.ts +42 -8
  164. package/cjs/internal/Menu/Menu.js +272 -78
  165. package/cjs/internal/Menu/Menu.js.map +1 -1
  166. package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
  167. package/cjs/internal/Menu/Menu.styles.js +42 -8
  168. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  169. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
  170. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  171. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  172. package/cjs/internal/Popup/Popup.d.ts +7 -2
  173. package/cjs/internal/Popup/Popup.js +13 -3
  174. package/cjs/internal/Popup/Popup.js.map +1 -1
  175. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -1
  176. package/cjs/internal/PopupMenu/PopupMenu.js +29 -4
  177. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  178. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  179. package/cjs/internal/themes/DefaultTheme.d.ts +114 -17
  180. package/cjs/internal/themes/DefaultTheme.js +244 -68
  181. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  182. package/cjs/internal/themes/Theme2022.d.ts +19 -3
  183. package/cjs/internal/themes/Theme2022.js +33 -13
  184. package/cjs/internal/themes/Theme2022.js.map +1 -1
  185. package/cjs/internal/themes/Theme2022Dark.d.ts +0 -4
  186. package/cjs/internal/themes/Theme2022Dark.js +3 -14
  187. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  188. package/cjs/typings/html.d.ts +0 -1
  189. package/components/Autocomplete/Autocomplete/Autocomplete.js +13 -3
  190. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  191. package/components/Autocomplete/Autocomplete.d.ts +5 -0
  192. package/components/Button/Button/Button.js +2 -0
  193. package/components/Button/Button/Button.js.map +1 -1
  194. package/components/Button/Button.d.ts +1 -1
  195. package/components/Button/Button.styles/Button.styles.js +2 -2
  196. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  197. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +2 -3
  198. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  199. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  200. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  201. package/components/Calendar/DayCellView/DayCellView.js +1 -1
  202. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  203. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
  204. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  205. package/components/Calendar/DayCellView.styles.d.ts +1 -1
  206. package/components/Checkbox/Checkbox/Checkbox.js +56 -8
  207. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  208. package/components/Checkbox/Checkbox.d.ts +10 -0
  209. package/components/Checkbox/Checkbox.md +18 -0
  210. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +17 -0
  211. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
  212. package/components/Checkbox/Checkbox.mixins/package.json +6 -0
  213. package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  214. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
  215. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  216. package/components/Checkbox/Checkbox.styles.d.ts +6 -0
  217. package/components/ComboBox/ComboBox.md +5 -3
  218. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
  219. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  220. package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  221. package/components/DateInput/DateInput/DateInput.js +5 -1
  222. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  223. package/components/DateInput/DateInput.d.ts +3 -0
  224. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +3 -1
  225. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  226. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -0
  227. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  228. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  229. package/components/DropdownMenu/DropdownMenu.md +28 -0
  230. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
  231. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
  232. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +1 -1
  233. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  234. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
  235. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  236. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
  237. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  238. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  239. package/components/Input/Input/Input.js +3 -1
  240. package/components/Input/Input/Input.js.map +1 -1
  241. package/components/Input/Input.d.ts +1 -5
  242. package/components/Input/Input.styles/Input.styles.js +2 -2
  243. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  244. package/components/Kebab/Kebab/Kebab.js +4 -1
  245. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  246. package/components/Kebab/Kebab.d.ts +1 -1
  247. package/components/Kebab/Kebab.md +28 -0
  248. package/components/Link/Link/Link.js +4 -4
  249. package/components/Link/Link/Link.js.map +1 -1
  250. package/components/Link/Link.mixins/Link.mixins.js +2 -5
  251. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  252. package/components/Link/Link.mixins.d.ts +1 -2
  253. package/components/Link/Link.styles/Link.styles.js +29 -21
  254. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  255. package/components/Link/Link.styles.d.ts +2 -0
  256. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  257. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  258. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  259. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  260. package/components/Radio/Radio.styles/Radio.styles.js +2 -2
  261. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  262. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  263. package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  264. package/components/Select/Select/Select.js +15 -7
  265. package/components/Select/Select/Select.js.map +1 -1
  266. package/components/Select/Select.d.ts +7 -5
  267. package/components/Select/Select.styles/Select.styles.js +1 -1
  268. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  269. package/components/Select/selectTheme/selectTheme.js +3 -1
  270. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  271. package/components/Tabs/Tab/Tab.js +3 -3
  272. package/components/Tabs/Tab/Tab.js.map +1 -1
  273. package/components/Tabs/Tab.d.ts +1 -0
  274. package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
  275. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  276. package/components/Tabs/Tab.styles.d.ts +9 -3
  277. package/components/Tabs/Tabs/Tabs.js +11 -3
  278. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  279. package/components/Tabs/Tabs.d.ts +8 -2
  280. package/components/Tabs/Tabs.md +32 -0
  281. package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
  282. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  283. package/components/Tabs/Tabs.styles.d.ts +3 -1
  284. package/components/Tabs/TabsContext/TabsContext.js +1 -0
  285. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  286. package/components/Tabs/TabsContext.d.ts +2 -1
  287. package/components/Tabs/helpers/helpers.js +25 -0
  288. package/components/Tabs/helpers/helpers.js.map +1 -0
  289. package/components/Tabs/helpers/package.json +6 -0
  290. package/components/Tabs/helpers.d.ts +6 -0
  291. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  292. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  293. package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
  294. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  295. package/components/Toggle/Toggle/Toggle.js +112 -9
  296. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  297. package/components/Toggle/Toggle.d.ts +11 -1
  298. package/components/Toggle/Toggle.md +16 -2
  299. package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
  300. package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
  301. package/components/Toggle/Toggle.mixins/package.json +6 -0
  302. package/components/Toggle/Toggle.mixins.d.ts +7 -0
  303. package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
  304. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  305. package/components/Toggle/Toggle.styles.d.ts +21 -1
  306. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  307. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  308. package/components/TokenInput/TokenInput.d.ts +2 -0
  309. package/components/TokenInput/TokenInput.md +26 -35
  310. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  311. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  312. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
  313. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  314. package/components/TokenInput/TokenInputMenu.d.ts +7 -0
  315. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -2
  316. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  317. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  318. package/components/TooltipMenu/TooltipMenu.md +28 -0
  319. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
  320. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
  321. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -0
  322. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  323. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  324. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +10 -3
  325. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  326. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
  327. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +23 -20
  328. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  329. package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
  330. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  331. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +5 -2
  332. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  333. package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  334. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
  335. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  336. package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  337. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -4
  338. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  339. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
  340. package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
  341. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  342. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  343. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
  344. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  345. package/internal/InternalMenu/InternalMenu.d.ts +13 -4
  346. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
  347. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  348. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  349. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
  350. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
  351. package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
  352. package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  353. package/internal/Menu/Menu/Menu.js +197 -42
  354. package/internal/Menu/Menu/Menu.js.map +1 -1
  355. package/internal/Menu/Menu.d.ts +42 -8
  356. package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
  357. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  358. package/internal/Menu/Menu.styles.d.ts +6 -1
  359. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
  360. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  361. package/internal/MobilePopup/MobilePopup.d.ts +2 -2
  362. package/internal/Popup/Popup/Popup.js +9 -3
  363. package/internal/Popup/Popup/Popup.js.map +1 -1
  364. package/internal/Popup/Popup.d.ts +7 -2
  365. package/internal/PopupMenu/PopupMenu/PopupMenu.js +27 -5
  366. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  367. package/internal/PopupMenu/PopupMenu.d.ts +4 -1
  368. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  369. package/internal/themes/DefaultTheme/DefaultTheme.js +320 -88
  370. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  371. package/internal/themes/DefaultTheme.d.ts +114 -17
  372. package/internal/themes/Theme2022/Theme2022.js +59 -44
  373. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  374. package/internal/themes/Theme2022.d.ts +19 -3
  375. package/internal/themes/Theme2022Dark/Theme2022Dark.js +1 -18
  376. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  377. package/internal/themes/Theme2022Dark.d.ts +0 -4
  378. package/package.json +3 -3
  379. package/typings/html.d.ts +0 -1
@@ -112,8 +112,110 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
112
112
  });
113
113
  };
114
114
 
115
+ _proto.getContainerSizeClassName = function getContainerSizeClassName() {
116
+ switch (this.getProps().size) {
117
+ case 'large':
118
+ return styles.containerLarge(this.theme);
119
+
120
+ case 'medium':
121
+ return styles.containerMedium(this.theme);
122
+
123
+ case 'small':
124
+ default:
125
+ return styles.containerSmall(this.theme);
126
+ }
127
+ };
128
+
129
+ _proto.getHandleSizeClassName = function getHandleSizeClassName() {
130
+ switch (this.getProps().size) {
131
+ case 'large':
132
+ return styles.handleLarge(this.theme);
133
+
134
+ case 'medium':
135
+ return styles.handleMedium(this.theme);
136
+
137
+ case 'small':
138
+ default:
139
+ return styles.handleSmall(this.theme);
140
+ }
141
+ };
142
+
143
+ _proto.getButtonSizeClassName = function getButtonSizeClassName() {
144
+ switch (this.getProps().size) {
145
+ case 'large':
146
+ return styles.buttonLarge(this.theme);
147
+
148
+ case 'medium':
149
+ return styles.buttonMedium(this.theme);
150
+
151
+ case 'small':
152
+ default:
153
+ return styles.buttonSmall(this.theme);
154
+ }
155
+ };
156
+
157
+ _proto.getRootSizeClassName = function getRootSizeClassName() {
158
+ switch (this.getProps().size) {
159
+ case 'large':
160
+ return styles.rootLarge(this.theme);
161
+
162
+ case 'medium':
163
+ return styles.rootMedium(this.theme);
164
+
165
+ case 'small':
166
+ default:
167
+ return styles.rootSmall(this.theme);
168
+ }
169
+ };
170
+
171
+ _proto.getInputSizeClassName = function getInputSizeClassName() {
172
+ switch (this.getProps().size) {
173
+ case 'large':
174
+ return styles.inputLarge(this.theme);
175
+
176
+ case 'medium':
177
+ return styles.inputMedium(this.theme);
178
+
179
+ case 'small':
180
+ default:
181
+ return styles.inputSmall(this.theme);
182
+ }
183
+ };
184
+
185
+ _proto.getActiveHandleSizeClassName = function getActiveHandleSizeClassName() {
186
+ if (isTheme2022(this.theme)) {
187
+ return '';
188
+ }
189
+
190
+ switch (this.getProps().size) {
191
+ case 'large':
192
+ return styles.activeHandleLarge(this.theme);
193
+
194
+ case 'medium':
195
+ return styles.activeHandleMedium(this.theme);
196
+
197
+ case 'small':
198
+ default:
199
+ return styles.activeHandleSmall(this.theme);
200
+ }
201
+ };
202
+
203
+ _proto.getCaptionSizeClassName = function getCaptionSizeClassName() {
204
+ switch (this.getProps().size) {
205
+ case 'large':
206
+ return styles.captionLarge(this.theme);
207
+
208
+ case 'medium':
209
+ return styles.captionMedium(this.theme);
210
+
211
+ case 'small':
212
+ default:
213
+ return styles.captionSmall(this.theme);
214
+ }
215
+ };
216
+
115
217
  _proto.renderMain = function renderMain() {
116
- var _cx, _cx2, _cx4, _cx5, _cx6;
218
+ var _cx, _cx2, _cx4, _cx5, _cx6, _cx7;
117
219
 
118
220
  var _this$props = this.props,
119
221
  children = _this$props.children,
@@ -130,14 +232,14 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
130
232
 
131
233
  var disabled = this.getProps().disabled || loading;
132
234
  var checked = this.isUncontrolled() ? this.state.checked : this.props.checked;
133
- var containerClassNames = cx(styles.container(this.theme), (_cx = {}, _cx[styles.containerDisabled(this.theme)] = !!disabled, _cx[globalClasses.container] = true, _cx[globalClasses.containerDisabled] = !!disabled, _cx[globalClasses.containerLoading] = loading, _cx));
134
- var labelClassNames = cx(styles.root(this.theme), (_cx2 = {}, _cx2[styles.activeHandle(this.theme)] = !isTheme2022(this.theme), _cx2[styles.rootLeft()] = captionPosition === 'left', _cx2[styles.disabled()] = !!disabled, _cx2[globalClasses.disabled] = !!disabled, _cx2[styles.disableAnimation()] = disableAnimations, _cx2));
235
+ var containerClassNames = cx(this.getContainerSizeClassName(), (_cx = {}, _cx[styles.container(this.theme)] = true, _cx[styles.containerDisabled(this.theme)] = !!disabled, _cx[globalClasses.container] = true, _cx[globalClasses.containerDisabled] = !!disabled, _cx[globalClasses.containerLoading] = loading, _cx));
236
+ var labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), (_cx2 = {}, _cx2[styles.root(this.theme)] = true, _cx2[styles.rootLeft()] = captionPosition === 'left', _cx2[styles.disabled()] = !!disabled, _cx2[globalClasses.disabled] = !!disabled, _cx2[styles.disableAnimation()] = disableAnimations, _cx2));
135
237
  var caption = null;
136
238
 
137
239
  if (children) {
138
240
  var _cx3;
139
241
 
140
- var captionClass = cx(styles.caption(this.theme), (_cx3 = {}, _cx3[styles.captionLeft(this.theme)] = captionPosition === 'left', _cx3[styles.disabledCaption(this.theme)] = !!disabled, _cx3));
242
+ var captionClass = cx(this.getCaptionSizeClassName(), (_cx3 = {}, _cx3[styles.caption(this.theme)] = true, _cx3[styles.captionLeft(this.theme)] = captionPosition === 'left', _cx3[styles.disabledCaption(this.theme)] = !!disabled, _cx3));
141
243
  caption = /*#__PURE__*/React.createElement("span", {
142
244
  className: captionClass
143
245
  }, children);
@@ -149,12 +251,12 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
149
251
  "data-tid": ToggleDataTids.root,
150
252
  className: labelClassNames
151
253
  }, /*#__PURE__*/React.createElement("div", {
152
- className: cx(styles.button(this.theme), (_cx4 = {}, _cx4[styles.buttonRight()] = captionPosition === 'left', _cx4[styles.isWarning(this.theme)] = !!warning, _cx4[styles.isError(this.theme)] = !!error, _cx4[styles.focused(this.theme)] = !disabled && !!this.state.focusByTab, _cx4))
254
+ className: cx(this.getButtonSizeClassName(), (_cx4 = {}, _cx4[styles.button(this.theme)] = true, _cx4[styles.buttonRight()] = captionPosition === 'left', _cx4[styles.isWarning(this.theme)] = !!warning, _cx4[styles.isError(this.theme)] = !!error, _cx4[styles.focused(this.theme)] = !disabled && !!this.state.focusByTab, _cx4))
153
255
  }, /*#__PURE__*/React.createElement("input", {
154
256
  type: "checkbox",
155
257
  checked: checked,
156
258
  onChange: this.handleChange,
157
- className: cx(styles.input(this.theme), isTheme2022(this.theme) && styles.input2022(this.theme)),
259
+ className: cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), (_cx5 = {}, _cx5[styles.input(this.theme)] = true, _cx5)),
158
260
  onFocus: this.handleFocus,
159
261
  onBlur: this.handleBlur,
160
262
  ref: this.inputRef,
@@ -169,13 +271,13 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
169
271
  boxShadow: "inset 0 0 0 1px " + color
170
272
  } : undefined
171
273
  }, !isTheme2022(this.theme) && /*#__PURE__*/React.createElement("div", {
172
- className: cx(styles.activeBackground(), globalClasses.background, (_cx5 = {}, _cx5[styles.activeBackgroundLoading(this.theme)] = loading, _cx5[styles.disabledBackground(this.theme)] = disabled, _cx5)),
274
+ className: cx(styles.activeBackground(), globalClasses.background, (_cx6 = {}, _cx6[styles.activeBackgroundLoading(this.theme)] = loading, _cx6[styles.disabledBackground(this.theme)] = disabled, _cx6)),
173
275
  style: checked && color && !disabled ? {
174
276
  backgroundColor: color,
175
277
  boxShadow: "inset 0 0 0 1px " + color
176
278
  } : undefined
177
279
  })), /*#__PURE__*/React.createElement("div", {
178
- className: cx(styles.handle(this.theme), globalClasses.handle, (_cx6 = {}, _cx6[styles.handleDisabled(this.theme)] = disabled, _cx6))
280
+ className: cx(this.getHandleSizeClassName(), globalClasses.handle, (_cx7 = {}, _cx7[styles.handle(this.theme)] = true, _cx7[styles.handleDisabled(this.theme)] = disabled, _cx7))
179
281
  })), caption));
180
282
  };
181
283
 
@@ -202,5 +304,6 @@ var Toggle = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
202
304
  disabled: false,
203
305
  loading: false,
204
306
  captionPosition: 'right',
205
- disableAnimations: isTestEnv
307
+ disableAnimations: isTestEnv,
308
+ size: 'small'
206
309
  }, _temp)) || _class;
@@ -1 +1 @@
1
- {"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","children","error","color","id","ariaDescribedby","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","activeHandle","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\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 { children, warning, error, color, id, 'aria-describedby': ariaDescribedby } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(styles.container(this.theme), {\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(styles.root(this.theme), {\n [styles.activeHandle(this.theme)]: !isTheme2022(this.theme),\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(styles.caption(this.theme), {\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(styles.button(this.theme), {\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(styles.input(this.theme), isTheme2022(this.theme) && styles.input2022(this.theme))}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(styles.handle(this.theme), globalClasses.handle, {\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
1
+ {"version":3,"sources":["Toggle.tsx"],"names":["React","PropTypes","warning","keyListener","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","isTestEnv","isTheme2022","styles","globalClasses","colorWarningShown","ToggleDataTids","root","Toggle","props","getProps","defaultProps","input","focus","isTabPressed","inputRef","element","handleChange","event","onValueChange","target","checked","isUncontrolled","setState","onChange","handleFocus","onFocus","focusByTab","handleBlur","onBlur","state","defaultChecked","componentDidMount","autoFocus","render","theme","renderMain","getContainerSizeClassName","size","containerLarge","containerMedium","containerSmall","getHandleSizeClassName","handleLarge","handleMedium","handleSmall","getButtonSizeClassName","buttonLarge","buttonMedium","buttonSmall","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","getActiveHandleSizeClassName","activeHandleLarge","activeHandleMedium","activeHandleSmall","getCaptionSizeClassName","captionLarge","captionMedium","captionSmall","children","error","color","id","ariaDescribedby","loading","captionPosition","disableAnimations","disabled","containerClassNames","container","containerDisabled","containerLoading","labelClassNames","rootLeft","disableAnimation","caption","captionClass","captionLeft","disabledCaption","setRootNode","button","buttonRight","isWarning","isError","focused","input2022","backgroundColor","boxShadow","undefined","activeBackground","background","activeBackgroundLoading","disabledBackground","handle","handleDisabled","Component","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\n\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\n\nimport { styles, globalClasses } from './Toggle.styles';\n\nexport type ToggleSize = 'small' | 'medium' | 'large';\n\nlet colorWarningShown = false;\n\nexport interface ToggleProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Положение `children` относительно переключателя.\n * @default 'right'\n */\n captionPosition?: 'left' | 'right';\n /**\n * Состояние `тогла`, если `true` - `тогл` будет включён, иначе выключен.\n * @default false\n */\n checked?: boolean;\n /**\n * Делает `тогл` включенным по умолчанию.\n */\n defaultChecked?: boolean;\n /**\n * Отключает `тогл`.\n */\n disabled?: boolean;\n /**\n * Событие вызывающееся, когда значение `тогла` меняется, передаёт текущее значение тогла в переданную функцию.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * Событие вызывающееся при клике на `тогл`.\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n /**\n * Состояние валидации при предупреждении.\n * @default false\n */\n warning?: boolean;\n /**\n * Состояние валидации при ошибке.\n * @default false\n */\n error?: boolean;\n /**\n * Добавляет стили для состояния `loading` и отключает `тогл`.\n */\n loading?: boolean;\n /**\n * Если true, выставляет фокус на `тогле` после загрузки страницы.\n */\n autoFocus?: boolean;\n /** Размер */\n size?: ToggleSize;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /**\n * Событие вызывающееся, когда `тогл` получает фокус.\n */\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * Событие вызывающееся, когда `тогл` теряет фокус.\n */\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n /**\n * @deprecated используйте переменную темы `toggleBgChecked` вместо этого пропа.\n */\n color?: React.CSSProperties['color'];\n /**\n * HTML-атрибут `id` для передачи во внутренний `<input />`.\n */\n id?: string;\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport interface ToggleState {\n checked?: boolean;\n focusByTab?: boolean;\n}\n\nexport const ToggleDataTids = {\n root: 'Toggle__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>\n>;\n\n/**\n * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.\n */\n@rootNode\nexport class Toggle extends React.Component<ToggleProps, ToggleState> {\n public static __KONTUR_REACT_UI__ = 'Toggle';\n\n public static propTypes = {\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n loading: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n color: (props: ToggleProps) => {\n if (props.color && !colorWarningShown) {\n warning(false, `[Toggle]: prop 'color' is deprecated. Please, use theme variable 'toggleBgChecked' instead. `);\n colorWarningShown = true;\n }\n },\n };\n\n public static defaultProps: DefaultProps = {\n disabled: false,\n loading: false,\n captionPosition: 'right',\n disableAnimations: isTestEnv,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Toggle.defaultProps);\n\n private theme!: Theme;\n private input: HTMLInputElement | null = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: ToggleProps) {\n super(props);\n\n this.state = {\n focusByTab: false,\n checked: props.defaultChecked,\n };\n }\n\n public componentDidMount() {\n if (this.props.autoFocus) {\n keyListener.isTabPressed = true;\n this.focus();\n }\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n keyListener.isTabPressed = true;\n this.input.focus();\n }\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getContainerSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.containerLarge(this.theme);\n case 'medium':\n return styles.containerMedium(this.theme);\n case 'small':\n default:\n return styles.containerSmall(this.theme);\n }\n }\n\n private getHandleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.handleLarge(this.theme);\n case 'medium':\n return styles.handleMedium(this.theme);\n case 'small':\n default:\n return styles.handleSmall(this.theme);\n }\n }\n\n private getButtonSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.buttonLarge(this.theme);\n case 'medium':\n return styles.buttonMedium(this.theme);\n case 'small':\n default:\n return styles.buttonSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private getActiveHandleSizeClassName() {\n if (isTheme2022(this.theme)) {\n return '';\n }\n switch (this.getProps().size) {\n case 'large':\n return styles.activeHandleLarge(this.theme);\n case 'medium':\n return styles.activeHandleMedium(this.theme);\n case 'small':\n default:\n return styles.activeHandleSmall(this.theme);\n }\n }\n\n private getCaptionSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n }\n\n private renderMain() {\n const { children, warning, error, color, id, 'aria-describedby': ariaDescribedby } = this.props;\n const { loading, captionPosition, disableAnimations } = this.getProps();\n const disabled = this.getProps().disabled || loading;\n const checked = this.isUncontrolled() ? this.state.checked : this.props.checked;\n\n const containerClassNames = cx(this.getContainerSizeClassName(), {\n [styles.container(this.theme)]: true,\n [styles.containerDisabled(this.theme)]: !!disabled,\n [globalClasses.container]: true,\n [globalClasses.containerDisabled]: !!disabled,\n [globalClasses.containerLoading]: loading,\n });\n\n const labelClassNames = cx(this.getRootSizeClassName(), this.getActiveHandleSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootLeft()]: captionPosition === 'left',\n [styles.disabled()]: !!disabled,\n [globalClasses.disabled]: !!disabled,\n [styles.disableAnimation()]: disableAnimations,\n });\n\n let caption = null;\n if (children) {\n const captionClass = cx(this.getCaptionSizeClassName(), {\n [styles.caption(this.theme)]: true,\n [styles.captionLeft(this.theme)]: captionPosition === 'left',\n [styles.disabledCaption(this.theme)]: !!disabled,\n });\n caption = <span className={captionClass}>{children}</span>;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <label data-tid={ToggleDataTids.root} className={labelClassNames}>\n <div\n className={cx(this.getButtonSizeClassName(), {\n [styles.button(this.theme)]: true,\n [styles.buttonRight()]: captionPosition === 'left',\n [styles.isWarning(this.theme)]: !!warning,\n [styles.isError(this.theme)]: !!error,\n [styles.focused(this.theme)]: !disabled && !!this.state.focusByTab,\n })}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={this.handleChange}\n className={cx(this.getInputSizeClassName(), isTheme2022(this.theme) && styles.input2022(this.theme), {\n [styles.input(this.theme)]: true,\n })}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n ref={this.inputRef}\n disabled={disabled}\n id={id}\n role=\"switch\"\n aria-describedby={ariaDescribedby}\n />\n <div\n className={containerClassNames}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n >\n {!isTheme2022(this.theme) && (\n <div\n className={cx(styles.activeBackground(), globalClasses.background, {\n [styles.activeBackgroundLoading(this.theme)]: loading,\n [styles.disabledBackground(this.theme)]: disabled,\n })}\n style={\n checked && color && !disabled\n ? {\n backgroundColor: color,\n boxShadow: `inset 0 0 0 1px ${color}`,\n }\n : undefined\n }\n />\n )}\n </div>\n <div\n className={cx(this.getHandleSizeClassName(), globalClasses.handle, {\n [styles.handle(this.theme)]: true,\n [styles.handleDisabled(this.theme)]: disabled,\n })}\n />\n </div>\n {caption}\n </label>\n </CommonWrapper>\n );\n }\n\n private inputRef = (element: HTMLInputElement) => {\n this.input = element;\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.checked);\n }\n\n if (this.isUncontrolled()) {\n this.setState({\n checked: event.target.checked,\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n\n if (keyListener.isTabPressed) {\n this.setState({ focusByTab: true });\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({\n focusByTab: false,\n });\n };\n\n private isUncontrolled() {\n return this.props.checked === undefined;\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import React, { AriaAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { CommonProps } from '../../internal/CommonWrapper';
4
+ export declare type ToggleSize = 'small' | 'medium' | 'large';
4
5
  export interface ToggleProps extends CommonProps {
5
6
  children?: React.ReactNode;
6
7
  /**
@@ -47,6 +48,8 @@ export interface ToggleProps extends CommonProps {
47
48
  * Если true, выставляет фокус на `тогле` после загрузки страницы.
48
49
  */
49
50
  autoFocus?: boolean;
51
+ /** Размер */
52
+ size?: ToggleSize;
50
53
  /**
51
54
  * Атрибут для указания id элемента(-ов), описывающих его
52
55
  */
@@ -79,7 +82,7 @@ export interface ToggleState {
79
82
  export declare const ToggleDataTids: {
80
83
  readonly root: "Toggle__root";
81
84
  };
82
- declare type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations'>>;
85
+ declare type DefaultProps = Required<Pick<ToggleProps, 'disabled' | 'loading' | 'captionPosition' | 'disableAnimations' | 'size'>>;
83
86
  /**
84
87
  * _Примечание:_ под тоглом понимается полный компонент т.е. надпись + переключатель, а не просто переключатель.
85
88
  */
@@ -107,6 +110,13 @@ export declare class Toggle extends React.Component<ToggleProps, ToggleState> {
107
110
  */
108
111
  focus: () => void;
109
112
  render(): JSX.Element;
113
+ private getContainerSizeClassName;
114
+ private getHandleSizeClassName;
115
+ private getButtonSizeClassName;
116
+ private getRootSizeClassName;
117
+ private getInputSizeClassName;
118
+ private getActiveHandleSizeClassName;
119
+ private getCaptionSizeClassName;
110
120
  private renderMain;
111
121
  private inputRef;
112
122
  private handleChange;
@@ -68,8 +68,23 @@ import { Gapped } from '@skbkontur/react-ui';
68
68
  </Gapped>
69
69
  ```
70
70
 
71
- Тогл с кастомным действием при получении и потере фокуса.
71
+ У тоглов есть 3 стандартных размера.
72
+
73
+ ```jsx harmony
74
+ <Gapped vertical>
75
+ <Toggle size="small">
76
+ Маленький
77
+ </Toggle>
78
+ <Toggle size="medium">
79
+ Средний
80
+ </Toggle>
81
+ <Toggle size="large">
82
+ Большой
83
+ </Toggle>
84
+ </Gapped>
85
+ ```
72
86
 
87
+ Тогл с кастомным действием при получении и потере фокуса.
73
88
 
74
89
  ```jsx harmony
75
90
  import { Toast } from '@skbkontur/react-ui';
@@ -82,7 +97,6 @@ import { Toast } from '@skbkontur/react-ui';
82
97
  </Toggle>
83
98
  ```
84
99
 
85
-
86
100
  Тогл с кастомным действием при переключении.
87
101
 
88
102
  ```jsx harmony
@@ -0,0 +1,35 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
4
+
5
+ import { css } from "../../../lib/theming/Emotion";
6
+ import { isChrome } from "../../../lib/client";
7
+ import { globalClasses } from "../Toggle.styles";
8
+ export var toggleSizeMixin = function toggleSizeMixin(fontSize, toggleHeight, toggleWidth) {
9
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n\n &::before {\n width: ", ";\n }\n "])), toggleHeight, fontSize, toggleWidth);
10
+ };
11
+ export var buttonSizeMixin = function buttonSizeMixin(labGrotesqueBaselineCompensation, fontSize, toggleHeight, toggleWidth, toggleBorderRadius, toggleButtonOffsetY) {
12
+ var labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);
13
+ var buttonFontSize = parseInt(fontSize);
14
+ var baselineCompensation = buttonFontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;
15
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n height: ", ";\n width: ", ";\n flex: 1 0 ", ";\n\n border-radius: ", ";\n line-height: ", ";\n\n margin-top: calc(", " + ", "px);\n "])), toggleHeight, toggleWidth, toggleWidth, toggleBorderRadius, toggleHeight, toggleButtonOffsetY, baselineCompensation);
16
+ };
17
+ export var captionSizeMixin = function captionSizeMixin(fontSize, toggleHeight) {
18
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n "])), toggleHeight, fontSize);
19
+ };
20
+ export var handleMixin = function handleMixin(toggleHandleSize, toggleHandleBorderRadius) {
21
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n border-radius: ", ";\n height: ", ";\n width: ", ";\n "])), toggleHandleBorderRadius, toggleHandleSize, toggleHandleSize);
22
+ };
23
+ export var containerSizeMixin = function containerSizeMixin(toggleBorderRadius) {
24
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border-radius: ", ";\n "])), toggleBorderRadius);
25
+ };
26
+ export var inputSizeMixin = function inputSizeMixin(toggleHeight, toggleWidth) {
27
+ var handleWidthWithBorders = toggleHeight;
28
+ var height = parseInt(toggleHeight);
29
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n &:checked ~ .", " .", " {\n border-radius: ", "px 0 0 ", "px;\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n }\n "])), globalClasses.containerDisabled, globalClasses.background, height * 0.5, height * 0.5, globalClasses.handle, toggleWidth, handleWidthWithBorders);
30
+ };
31
+ export var activeHandleSizeMixin = function activeHandleSizeMixin(toggleHandleSize, toggleBorderWidth, toggleHandleActiveWidthIncrement, toggleWidth) {
32
+ var handleWidthWithBorders = toggleHandleSize;
33
+ var handleActiveWidth = "calc(" + handleWidthWithBorders + " - 2 * " + toggleBorderWidth + " + " + toggleHandleActiveWidthIncrement + ")";
34
+ return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n "])), globalClasses.disabled, globalClasses.handle, handleActiveWidth, globalClasses.disabled, globalClasses.handle, toggleWidth, handleWidthWithBorders);
35
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Toggle.mixins.ts"],"names":["css","isChrome","globalClasses","toggleSizeMixin","fontSize","toggleHeight","toggleWidth","buttonSizeMixin","labGrotesqueBaselineCompensation","toggleBorderRadius","toggleButtonOffsetY","labGrotesqueCompenstation","parseInt","buttonFontSize","baselineCompensation","captionSizeMixin","handleMixin","toggleHandleSize","toggleHandleBorderRadius","containerSizeMixin","inputSizeMixin","handleWidthWithBorders","height","containerDisabled","background","handle","activeHandleSizeMixin","toggleBorderWidth","toggleHandleActiveWidthIncrement","handleActiveWidth","disabled"],"mappings":"gOAAA,SAASA,GAAT,QAAoB,2BAApB;AACA,SAASC,QAAT,QAAyB,kBAAzB;;AAEA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAmBC,YAAnB,EAAyCC,WAAzC,EAAiE;AAC9F,SAAON,GAAP;AACiBK,EAAAA,YADjB;AAEeD,EAAAA,QAFf;;;AAKaE,EAAAA,WALb;;;AAQD,CATM;;AAWP,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;AAC7BC,gCAD6B;AAE7BJ,QAF6B;AAG7BC,YAH6B;AAI7BC,WAJ6B;AAK7BG,kBAL6B;AAM7BC,mBAN6B;AAO1B;AACH,MAAMC,yBAAyB,GAAGC,QAAQ,CAACJ,gCAAD,CAA1C;AACA,MAAMK,cAAc,GAAGD,QAAQ,CAACR,QAAD,CAA/B;AACA,MAAMU,oBAAoB,GAAGD,cAAc,IAAI,EAAlB,IAAwBZ,QAAxB,GAAmC,CAACU,yBAApC,GAAgE,CAA7F;AACA,SAAOX,GAAP;AACYK,EAAAA,YADZ;AAEWC,EAAAA,WAFX;AAGcA,EAAAA,WAHd;;AAKmBG,EAAAA,kBALnB;AAMiBJ,EAAAA,YANjB;;AAQqBK,EAAAA,mBARrB,EAQ8CI,oBAR9C;;AAUD,CArBM;;AAuBP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACX,QAAD,EAAmBC,YAAnB,EAA4C;AAC1E,SAAOL,GAAP;AACiBK,EAAAA,YADjB;AAEeD,EAAAA,QAFf;;AAID,CALM;;AAOP,OAAO,IAAMY,WAAW,GAAG,SAAdA,WAAc,CAACC,gBAAD,EAA2BC,wBAA3B,EAAgE;AACzF,SAAOlB,GAAP;AACmBkB,EAAAA,wBADnB;AAEYD,EAAAA,gBAFZ;AAGWA,EAAAA,gBAHX;;AAKD,CANM;;AAQP,OAAO,IAAME,kBAAkB,GAAG,SAArBA,kBAAqB,CAACV,kBAAD,EAAgC;AAChE,SAAOT,GAAP;AACmBS,EAAAA,kBADnB;;AAGD,CAJM;;AAMP,OAAO,IAAMW,cAAc,GAAG,SAAjBA,cAAiB,CAACf,YAAD,EAAuBC,WAAvB,EAA+C;AAC3E,MAAMe,sBAAsB,GAAGhB,YAA/B;AACA,MAAMiB,MAAM,GAAGV,QAAQ,CAACP,YAAD,CAAvB;AACA,SAAOL,GAAP;AACiBE,EAAAA,aAAa,CAACqB,iBAD/B,EACqDrB,aAAa,CAACsB,UADnE;AAEqBF,EAAAA,MAAM,GAAG,GAF9B,EAE2CA,MAAM,GAAG,GAFpD;;AAIiBpB,EAAAA,aAAa,CAACuB,MAJ/B;AAK4BnB,EAAAA,WAL5B,EAKwDe,sBALxD;;;AAQD,CAXM;;AAaP,OAAO,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAwB;AACnCT,gBADmC;AAEnCU,iBAFmC;AAGnCC,gCAHmC;AAInCtB,WAJmC;AAKhC;AACH,MAAMe,sBAAsB,GAAGJ,gBAA/B;AACA,MAAMY,iBAAiB,aAAWR,sBAAX,eAA2CM,iBAA3C,WAAkEC,gCAAlE,MAAvB;AACA,SAAO5B,GAAP;AACkBE,EAAAA,aAAa,CAAC4B,QADhC,EAC8C5B,aAAa,CAACuB,MAD5D;AAEaI,EAAAA,iBAFb;;AAIkB3B,EAAAA,aAAa,CAAC4B,QAJhC,EAI8D5B,aAAa,CAACuB,MAJ5E;AAK4BnB,EAAAA,WAL5B,EAKwDe,sBALxD;;;AAQD,CAhBM","sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { isChrome } from '../../lib/client';\n\nimport { globalClasses } from './Toggle.styles';\n\nexport const toggleSizeMixin = (fontSize: string, toggleHeight: string, toggleWidth: string) => {\n return css`\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n\n &::before {\n width: ${toggleWidth};\n }\n `;\n};\n\nexport const buttonSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n toggleHeight: string,\n toggleWidth: string,\n toggleBorderRadius: string,\n toggleButtonOffsetY: string,\n) => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const buttonFontSize = parseInt(fontSize);\n const baselineCompensation = buttonFontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n height: ${toggleHeight};\n width: ${toggleWidth};\n flex: 1 0 ${toggleWidth};\n\n border-radius: ${toggleBorderRadius};\n line-height: ${toggleHeight};\n\n margin-top: calc(${toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n};\n\nexport const captionSizeMixin = (fontSize: string, toggleHeight: string) => {\n return css`\n line-height: ${toggleHeight};\n font-size: ${fontSize};\n `;\n};\n\nexport const handleMixin = (toggleHandleSize: string, toggleHandleBorderRadius: string) => {\n return css`\n border-radius: ${toggleHandleBorderRadius};\n height: ${toggleHandleSize};\n width: ${toggleHandleSize};\n `;\n};\n\nexport const containerSizeMixin = (toggleBorderRadius: string) => {\n return css`\n border-radius: ${toggleBorderRadius};\n `;\n};\n\nexport const inputSizeMixin = (toggleHeight: string, toggleWidth: string) => {\n const handleWidthWithBorders = toggleHeight;\n const height = parseInt(toggleHeight);\n return css`\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n border-radius: ${height * 0.5}px 0 0 ${height * 0.5}px;\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n};\n\nexport const activeHandleSizeMixin = (\n toggleHandleSize: string,\n toggleBorderWidth: string,\n toggleHandleActiveWidthIncrement: string,\n toggleWidth: string,\n) => {\n const handleWidthWithBorders = toggleHandleSize;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${toggleBorderWidth} + ${toggleHandleActiveWidthIncrement})`;\n return css`\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${toggleWidth}) translateX(-${handleWidthWithBorders}) translateX(-4px);\n }\n `;\n};\n"]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/components/Toggle/Toggle.mixins.js",
3
+ "module": "Toggle.mixins",
4
+ "types": "../Toggle.mixins.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,7 @@
1
+ export declare const toggleSizeMixin: (fontSize: string, toggleHeight: string, toggleWidth: string) => string;
2
+ export declare const buttonSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, toggleHeight: string, toggleWidth: string, toggleBorderRadius: string, toggleButtonOffsetY: string) => string;
3
+ export declare const captionSizeMixin: (fontSize: string, toggleHeight: string) => string;
4
+ export declare const handleMixin: (toggleHandleSize: string, toggleHandleBorderRadius: string) => string;
5
+ export declare const containerSizeMixin: (toggleBorderRadius: string) => string;
6
+ export declare const inputSizeMixin: (toggleHeight: string, toggleWidth: string) => string;
7
+ export declare const activeHandleSizeMixin: (toggleHandleSize: string, toggleBorderWidth: string, toggleHandleActiveWidthIncrement: string, toggleWidth: string) => string;