@skbkontur/react-ui 5.0.5 → 5.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +16 -17
  3. package/cjs/components/Autocomplete/Autocomplete.js +13 -2
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Autocomplete/Autocomplete.md +9 -7
  6. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  7. package/cjs/components/Autocomplete/locale/types.js +1 -1
  8. package/cjs/components/Button/Button.d.ts +20 -62
  9. package/cjs/components/Button/Button.js +0 -42
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.md +40 -26
  12. package/cjs/components/Button/__docs__/Button.mdx +28 -0
  13. package/cjs/components/Calendar/Calendar.d.ts +22 -45
  14. package/cjs/components/Calendar/Calendar.js +1 -15
  15. package/cjs/components/Calendar/Calendar.js.map +1 -1
  16. package/cjs/components/Calendar/Calendar.md +12 -12
  17. package/cjs/components/Calendar/CalendarDay.d.ts +7 -0
  18. package/cjs/components/Calendar/CalendarDay.js +11 -0
  19. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  20. package/cjs/components/Calendar/CalendarDay.md +32 -32
  21. package/cjs/components/Calendar/__docs__/Calendar.mdx +28 -0
  22. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  23. package/cjs/components/Calendar/locale/types.js +1 -1
  24. package/cjs/components/Center/Center.d.ts +4 -6
  25. package/cjs/components/Center/Center.js +3 -5
  26. package/cjs/components/Center/Center.js.map +1 -1
  27. package/cjs/components/Center/Center.md +1 -1
  28. package/cjs/components/Center/__docs__/Center.mdx +24 -0
  29. package/cjs/components/Checkbox/Checkbox.d.ts +20 -28
  30. package/cjs/components/Checkbox/Checkbox.js +7 -6
  31. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.md +6 -5
  33. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  34. package/cjs/components/ComboBox/ComboBox.d.ts +64 -85
  35. package/cjs/components/ComboBox/ComboBox.js +11 -27
  36. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  37. package/cjs/components/ComboBox/ComboBox.md +41 -40
  38. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  39. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  40. package/cjs/components/CurrencyInput/CurrencyHelper.js +7 -0
  41. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  43. package/cjs/components/CurrencyInput/CurrencyInput.js +8 -2
  44. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyInput.md +3 -1
  46. package/cjs/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  47. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +5 -0
  48. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  49. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  50. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  51. package/cjs/components/CurrencyLabel/CurrencyLabel.js +6 -0
  52. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  53. package/cjs/components/CurrencyLabel/CurrencyLabel.md +5 -5
  54. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  55. package/cjs/components/DateInput/DateInput.d.ts +19 -27
  56. package/cjs/components/DateInput/DateInput.js +7 -1
  57. package/cjs/components/DateInput/DateInput.js.map +1 -1
  58. package/cjs/components/DateInput/DateInput.md +7 -2
  59. package/cjs/components/DateInput/__docs__/DateInput.mdx +26 -0
  60. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
  61. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  62. package/cjs/components/DatePicker/DatePicker.d.ts +27 -22
  63. package/cjs/components/DatePicker/DatePicker.js +24 -1
  64. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  65. package/cjs/components/DatePicker/DatePicker.md +2 -2
  66. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  67. package/cjs/components/DatePicker/locale/types.js +1 -1
  68. package/cjs/components/Dropdown/Dropdown.d.ts +25 -30
  69. package/cjs/components/Dropdown/Dropdown.js +8 -1
  70. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  71. package/cjs/components/Dropdown/Dropdown.md +2 -1
  72. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  73. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  74. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  76. package/cjs/components/DropdownMenu/DropdownMenu.md +12 -10
  77. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  78. package/cjs/components/FileUploader/FileUploader.d.ts +16 -20
  79. package/cjs/components/FileUploader/FileUploader.js +5 -3
  80. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  81. package/cjs/components/FileUploader/FileUploader.md +9 -9
  82. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  83. package/cjs/components/FileUploader/locale/types.js +1 -1
  84. package/cjs/components/FxInput/FxInput.d.ts +15 -9
  85. package/cjs/components/FxInput/FxInput.js +14 -1
  86. package/cjs/components/FxInput/FxInput.js.map +1 -1
  87. package/cjs/components/FxInput/FxInput.md +2 -0
  88. package/cjs/components/FxInput/__docs__/FxInput.mdx +28 -0
  89. package/cjs/components/Gapped/Gapped.d.ts +6 -17
  90. package/cjs/components/Gapped/Gapped.js +1 -8
  91. package/cjs/components/Gapped/Gapped.js.map +1 -1
  92. package/cjs/components/Gapped/Gapped.md +3 -2
  93. package/cjs/components/Gapped/__docs__/Gapped.mdx +24 -0
  94. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  95. package/cjs/components/GlobalLoader/GlobalLoader.js +14 -14
  96. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  97. package/cjs/components/GlobalLoader/GlobalLoader.md +4 -5
  98. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  99. package/cjs/components/GlobalLoader/GlobalLoaderView.js +7 -0
  100. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  101. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  102. package/cjs/components/Group/Group.d.ts +6 -0
  103. package/cjs/components/Group/Group.js +7 -1
  104. package/cjs/components/Group/Group.js.map +1 -1
  105. package/cjs/components/Group/Group.md +1 -0
  106. package/cjs/components/Group/__docs__/Group.mdx +24 -0
  107. package/cjs/components/Hint/Hint.d.ts +18 -40
  108. package/cjs/components/Hint/Hint.js +4 -16
  109. package/cjs/components/Hint/Hint.js.map +1 -1
  110. package/cjs/components/Hint/Hint.md +9 -8
  111. package/cjs/components/Hint/__docs__/Hint.mdx +29 -0
  112. package/cjs/components/Input/Input.d.ts +46 -68
  113. package/cjs/components/Input/Input.js +10 -9
  114. package/cjs/components/Input/Input.js.map +1 -1
  115. package/cjs/components/Input/Input.md +11 -2
  116. package/cjs/components/Input/Input.typings.js +1 -1
  117. package/cjs/components/Input/__docs__/Input.mdx +28 -0
  118. package/cjs/components/Kebab/Kebab.d.ts +12 -16
  119. package/cjs/components/Kebab/Kebab.js +4 -2
  120. package/cjs/components/Kebab/Kebab.js.map +1 -1
  121. package/cjs/components/Kebab/Kebab.md +9 -9
  122. package/cjs/components/Kebab/__docs__/Kebab.mdx +28 -0
  123. package/cjs/components/Link/Link.d.ts +13 -37
  124. package/cjs/components/Link/Link.js +0 -13
  125. package/cjs/components/Link/Link.js.map +1 -1
  126. package/cjs/components/Link/Link.md +12 -11
  127. package/cjs/components/Link/__docs__/Link.mdx +28 -0
  128. package/cjs/components/Loader/Loader.d.ts +13 -25
  129. package/cjs/components/Loader/Loader.js +2 -8
  130. package/cjs/components/Loader/Loader.js.map +1 -1
  131. package/cjs/components/Loader/Loader.md +1 -0
  132. package/cjs/components/Loader/__docs__/Loader.mdx +26 -0
  133. package/cjs/components/MaskedInput/MaskedInput.d.ts +13 -33
  134. package/cjs/components/MaskedInput/MaskedInput.js +0 -13
  135. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  136. package/cjs/components/MaskedInput/MaskedInput.md +7 -5
  137. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  138. package/cjs/components/MenuFooter/MenuFooter.d.ts +6 -4
  139. package/cjs/components/MenuFooter/MenuFooter.js +7 -3
  140. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  141. package/cjs/components/MenuFooter/MenuFooter.md +2 -2
  142. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  143. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -4
  144. package/cjs/components/MenuHeader/MenuHeader.js +7 -3
  145. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  146. package/cjs/components/MenuHeader/MenuHeader.md +2 -2
  147. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  148. package/cjs/components/MenuItem/MenuItem.d.ts +22 -55
  149. package/cjs/components/MenuItem/MenuItem.js +1 -18
  150. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  151. package/cjs/components/MenuItem/MenuItem.md +34 -30
  152. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  153. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  154. package/cjs/components/MenuSeparator/MenuSeparator.js +3 -2
  155. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  156. package/cjs/components/MenuSeparator/MenuSeparator.md +1 -1
  157. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  158. package/cjs/components/MiniModal/MiniModal.d.ts +6 -0
  159. package/cjs/components/MiniModal/MiniModal.js +6 -0
  160. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  161. package/cjs/components/MiniModal/MiniModal.md +1 -3
  162. package/cjs/components/MiniModal/MiniModalFooter.d.ts +2 -7
  163. package/cjs/components/MiniModal/MiniModalFooter.js +0 -5
  164. package/cjs/components/MiniModal/MiniModalFooter.js.map +1 -1
  165. package/cjs/components/MiniModal/MiniModalHeader.d.ts +2 -5
  166. package/cjs/components/MiniModal/MiniModalHeader.js +0 -3
  167. package/cjs/components/MiniModal/MiniModalHeader.js.map +1 -1
  168. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  169. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  170. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  171. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  172. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  173. package/cjs/components/Modal/Modal.d.ts +12 -33
  174. package/cjs/components/Modal/Modal.js +4 -24
  175. package/cjs/components/Modal/Modal.js.map +1 -1
  176. package/cjs/components/Modal/Modal.md +3 -1
  177. package/cjs/components/Modal/ModalBody.d.ts +2 -4
  178. package/cjs/components/Modal/ModalBody.js +1 -3
  179. package/cjs/components/Modal/ModalBody.js.map +1 -1
  180. package/cjs/components/Modal/ModalContext.d.ts +2 -0
  181. package/cjs/components/Modal/ModalContext.js +3 -0
  182. package/cjs/components/Modal/ModalContext.js.map +1 -1
  183. package/cjs/components/Modal/ModalFooter.d.ts +5 -15
  184. package/cjs/components/Modal/ModalFooter.js +0 -7
  185. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  186. package/cjs/components/Modal/ModalHeader.d.ts +3 -1
  187. package/cjs/components/Modal/ModalHeader.js +4 -1
  188. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  189. package/cjs/components/Modal/ModalSeparator.d.ts +1 -0
  190. package/cjs/components/Modal/ModalSeparator.js +1 -0
  191. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  192. package/cjs/components/Modal/__docs__/Modal.mdx +28 -0
  193. package/cjs/components/Modal/__docs__/ModalBody.mdx +15 -0
  194. package/cjs/components/Modal/__docs__/ModalFooter.mdx +15 -0
  195. package/cjs/components/Modal/__docs__/ModalHeader.mdx +15 -0
  196. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  197. package/cjs/components/Modal/locale/types.js +1 -1
  198. package/cjs/components/Paging/Paging.d.ts +20 -15
  199. package/cjs/components/Paging/Paging.js +17 -1
  200. package/cjs/components/Paging/Paging.js.map +1 -1
  201. package/cjs/components/Paging/Paging.md +3 -2
  202. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -0
  203. package/cjs/components/Paging/PagingDefaultComponent.js +3 -0
  204. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  205. package/cjs/components/Paging/__creevey__/Paging.creevey.js +2 -1
  206. package/cjs/components/Paging/__creevey__/Paging.creevey.js.map +1 -1
  207. package/cjs/components/Paging/__docs__/Paging.mdx +28 -0
  208. package/cjs/components/Paging/locale/types.js +1 -1
  209. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -1
  210. package/cjs/components/PasswordInput/PasswordInput.js +4 -1
  211. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  212. package/cjs/components/PasswordInput/PasswordInput.md +3 -2
  213. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  214. package/cjs/components/PasswordInput/locale/types.js +1 -1
  215. package/cjs/components/Radio/Radio.d.ts +13 -28
  216. package/cjs/components/Radio/Radio.js +1 -8
  217. package/cjs/components/Radio/Radio.js.map +1 -1
  218. package/cjs/components/Radio/Radio.md +3 -2
  219. package/cjs/components/Radio/__docs__/Radio.mdx +28 -0
  220. package/cjs/components/RadioGroup/RadioGroup.d.ts +28 -54
  221. package/cjs/components/RadioGroup/RadioGroup.js +4 -15
  222. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  223. package/cjs/components/RadioGroup/RadioGroup.md +1 -0
  224. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  225. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  226. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +6 -2
  227. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  228. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  229. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  230. package/cjs/components/ResponsiveLayout/types.js +1 -1
  231. package/cjs/components/ScrollContainer/ScrollBar.d.ts +7 -0
  232. package/cjs/components/ScrollContainer/ScrollBar.js +13 -0
  233. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  234. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  235. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -1
  236. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  237. package/cjs/components/ScrollContainer/ScrollContainer.md +5 -3
  238. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  239. package/cjs/components/Select/Item.d.ts +2 -0
  240. package/cjs/components/Select/Item.js +3 -0
  241. package/cjs/components/Select/Item.js.map +1 -1
  242. package/cjs/components/Select/Select.d.ts +54 -38
  243. package/cjs/components/Select/Select.js +57 -1
  244. package/cjs/components/Select/Select.js.map +1 -1
  245. package/cjs/components/Select/Select.md +7 -6
  246. package/cjs/components/Select/__docs__/Select.mdx +28 -0
  247. package/cjs/components/Select/locale/types.js +1 -1
  248. package/cjs/components/SidePage/SidePage.d.ts +16 -38
  249. package/cjs/components/SidePage/SidePage.js +5 -27
  250. package/cjs/components/SidePage/SidePage.js.map +1 -1
  251. package/cjs/components/SidePage/SidePage.md +2 -1
  252. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -9
  253. package/cjs/components/SidePage/SidePageFooter.js +0 -2
  254. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  255. package/cjs/components/SidePage/SidePageHeader.d.ts +2 -0
  256. package/cjs/components/SidePage/SidePageHeader.js +3 -0
  257. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  258. package/cjs/components/SidePage/__docs__/SidePage.mdx +28 -0
  259. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  260. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  261. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  262. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  263. package/cjs/components/SidePage/locale/types.js +1 -1
  264. package/cjs/components/SingleToast/SingleToast.d.ts +5 -1
  265. package/cjs/components/SingleToast/SingleToast.js +5 -1
  266. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  267. package/cjs/components/SingleToast/SingleToast.md +2 -1
  268. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  269. package/cjs/components/Spinner/Spinner.d.ts +15 -20
  270. package/cjs/components/Spinner/Spinner.js +6 -7
  271. package/cjs/components/Spinner/Spinner.js.map +1 -1
  272. package/cjs/components/Spinner/Spinner.md +2 -1
  273. package/cjs/components/Spinner/__docs__/Spinner.mdx +28 -0
  274. package/cjs/components/Sticky/Sticky.d.ts +9 -4
  275. package/cjs/components/Sticky/Sticky.js +9 -1
  276. package/cjs/components/Sticky/Sticky.js.map +1 -1
  277. package/cjs/components/Sticky/Sticky.md +1 -0
  278. package/cjs/components/Sticky/__docs__/Sticky.mdx +24 -0
  279. package/cjs/components/Switcher/Switcher.d.ts +18 -7
  280. package/cjs/components/Switcher/Switcher.js +12 -1
  281. package/cjs/components/Switcher/Switcher.js.map +1 -1
  282. package/cjs/components/Switcher/Switcher.md +6 -2
  283. package/cjs/components/Switcher/__docs__/Switcher.mdx +28 -0
  284. package/cjs/components/Tabs/Tab.d.ts +12 -31
  285. package/cjs/components/Tabs/Tab.js +1 -20
  286. package/cjs/components/Tabs/Tab.js.map +1 -1
  287. package/cjs/components/Tabs/Tab.md +2 -0
  288. package/cjs/components/Tabs/Tabs.d.ts +14 -25
  289. package/cjs/components/Tabs/Tabs.js +6 -17
  290. package/cjs/components/Tabs/Tabs.js.map +1 -1
  291. package/cjs/components/Tabs/Tabs.md +3 -2
  292. package/cjs/components/Tabs/__docs__/Tab.mdx +28 -0
  293. package/cjs/components/Tabs/__docs__/Tabs.mdx +28 -0
  294. package/cjs/components/Textarea/Textarea.d.ts +26 -52
  295. package/cjs/components/Textarea/Textarea.js +3 -23
  296. package/cjs/components/Textarea/Textarea.js.map +1 -1
  297. package/cjs/components/Textarea/Textarea.md +4 -2
  298. package/cjs/components/Textarea/__docs__/Textarea.mdx +28 -0
  299. package/cjs/components/Toast/Toast.d.ts +6 -7
  300. package/cjs/components/Toast/Toast.js +4 -3
  301. package/cjs/components/Toast/Toast.js.map +1 -1
  302. package/cjs/components/Toast/Toast.md +4 -4
  303. package/cjs/components/Toast/ToastView.d.ts +2 -6
  304. package/cjs/components/Toast/ToastView.js +0 -4
  305. package/cjs/components/Toast/ToastView.js.map +1 -1
  306. package/cjs/components/Toast/__docs__/Toast.mdx +28 -0
  307. package/cjs/components/Toast/locale/types.js +1 -1
  308. package/cjs/components/Toggle/Toggle.d.ts +25 -48
  309. package/cjs/components/Toggle/Toggle.js +4 -12
  310. package/cjs/components/Toggle/Toggle.js.map +1 -1
  311. package/cjs/components/Toggle/Toggle.md +9 -9
  312. package/cjs/components/Toggle/__docs__/Toggle.mdx +28 -0
  313. package/cjs/components/Token/Token.d.ts +17 -9
  314. package/cjs/components/Token/Token.js +9 -1
  315. package/cjs/components/Token/Token.js.map +1 -1
  316. package/cjs/components/Token/Token.md +86 -3
  317. package/cjs/components/Token/TokenView.d.ts +3 -0
  318. package/cjs/components/Token/TokenView.js +3 -0
  319. package/cjs/components/Token/TokenView.js.map +1 -1
  320. package/cjs/components/Token/__docs__/Token.mdx +28 -0
  321. package/cjs/components/Token/locale/types.js +1 -1
  322. package/cjs/components/TokenInput/TextWidthHelper.d.ts +3 -0
  323. package/cjs/components/TokenInput/TextWidthHelper.js +5 -0
  324. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  325. package/cjs/components/TokenInput/TokenInput.d.ts +54 -97
  326. package/cjs/components/TokenInput/TokenInput.js +7 -18
  327. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  328. package/cjs/components/TokenInput/TokenInput.md +12 -10
  329. package/cjs/components/TokenInput/TokenInputMenu.d.ts +5 -5
  330. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  331. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  332. package/cjs/components/TokenInput/locale/types.js +1 -1
  333. package/cjs/components/Tooltip/Tooltip.d.ts +28 -68
  334. package/cjs/components/Tooltip/Tooltip.js +9 -63
  335. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  336. package/cjs/components/Tooltip/Tooltip.md +5 -0
  337. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  338. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  339. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -16
  340. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  341. package/cjs/components/TooltipMenu/TooltipMenu.md +13 -10
  342. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  343. package/cjs/index.d.ts +1 -0
  344. package/cjs/index.js +1 -0
  345. package/cjs/index.js.map +1 -1
  346. package/cjs/internal/CommonWrapper/types.js +1 -1
  347. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
  348. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  349. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  350. package/cjs/internal/DateSelect/locale/types.js +1 -1
  351. package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
  352. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
  353. package/cjs/internal/Popup/types.js +1 -1
  354. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  355. package/cjs/internal/ThemePlayground/Playground.styles.js +2 -1
  356. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  357. package/cjs/internal/ThemePlayground/constants.js +1 -1
  358. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  359. package/cjs/internal/ThemeShowcase/VariablesCollector.js +0 -2
  360. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  361. package/cjs/internal/themes/BasicLightTheme.d.ts +3 -0
  362. package/cjs/internal/themes/BasicLightTheme.js +4 -1
  363. package/cjs/internal/themes/BasicLightTheme.js.map +1 -1
  364. package/cjs/lib/date/types.js +6 -6
  365. package/cjs/lib/date/types.js.map +1 -1
  366. package/cjs/lib/events/MouseDrag.js +1 -1
  367. package/cjs/lib/events/MouseDrag.js.map +1 -1
  368. package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
  369. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  370. package/cjs/lib/locale/types.js +1 -1
  371. package/cjs/lib/locale/types.js.map +1 -1
  372. package/cjs/lib/theming/Theme.js +1 -1
  373. package/cjs/lib/types/button-link.js +1 -1
  374. package/cjs/lib/types/polymorphic-component.js +1 -1
  375. package/cjs/lib/types/props.js +1 -1
  376. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -2
  377. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  378. package/components/Autocomplete/Autocomplete.d.ts +16 -17
  379. package/components/Autocomplete/Autocomplete.md +9 -7
  380. package/components/Autocomplete/__docs__/Autocomplete.mdx +26 -0
  381. package/components/Autocomplete/locale/types/types.js +0 -1
  382. package/components/Button/Button/Button.js.map +1 -1
  383. package/components/Button/Button.d.ts +20 -62
  384. package/components/Button/Button.md +40 -26
  385. package/components/Button/__docs__/Button.mdx +28 -0
  386. package/components/Calendar/Calendar/Calendar.js +1 -1
  387. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  388. package/components/Calendar/Calendar.d.ts +22 -45
  389. package/components/Calendar/Calendar.md +12 -12
  390. package/components/Calendar/CalendarDay/CalendarDay.js +2 -0
  391. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  392. package/components/Calendar/CalendarDay.d.ts +7 -0
  393. package/components/Calendar/CalendarDay.md +32 -32
  394. package/components/Calendar/__docs__/Calendar.mdx +28 -0
  395. package/components/Calendar/__docs__/CalendarDay.mdx +24 -0
  396. package/components/Calendar/locale/types/types.js +0 -1
  397. package/components/Center/Center/Center.js +3 -1
  398. package/components/Center/Center/Center.js.map +1 -1
  399. package/components/Center/Center.d.ts +4 -6
  400. package/components/Center/Center.md +1 -1
  401. package/components/Center/__docs__/Center.mdx +24 -0
  402. package/components/Checkbox/Checkbox/Checkbox.js +7 -0
  403. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  404. package/components/Checkbox/Checkbox.d.ts +20 -28
  405. package/components/Checkbox/Checkbox.md +6 -5
  406. package/components/Checkbox/__docs__/Checkbox.mdx +28 -0
  407. package/components/ComboBox/ComboBox/ComboBox.js +11 -0
  408. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  409. package/components/ComboBox/ComboBox.d.ts +64 -85
  410. package/components/ComboBox/ComboBox.md +41 -40
  411. package/components/ComboBox/__docs__/ComboBox.mdx +28 -0
  412. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  413. package/components/CurrencyInput/CurrencyHelper.d.ts +4 -0
  414. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +5 -2
  415. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  416. package/components/CurrencyInput/CurrencyInput.d.ts +12 -12
  417. package/components/CurrencyInput/CurrencyInput.md +3 -1
  418. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  419. package/components/CurrencyInput/CurrencyInputHelper.d.ts +3 -0
  420. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +28 -0
  421. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +4 -0
  422. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  423. package/components/CurrencyLabel/CurrencyLabel.d.ts +8 -5
  424. package/components/CurrencyLabel/CurrencyLabel.md +5 -5
  425. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +24 -0
  426. package/components/DateInput/DateInput/DateInput.js +4 -0
  427. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  428. package/components/DateInput/DateInput.d.ts +19 -27
  429. package/components/DateInput/DateInput.md +7 -2
  430. package/components/DateInput/__docs__/DateInput.mdx +26 -0
  431. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
  432. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  433. package/components/DatePicker/DatePicker/DatePicker.js +8 -0
  434. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  435. package/components/DatePicker/DatePicker.d.ts +27 -22
  436. package/components/DatePicker/DatePicker.md +2 -2
  437. package/components/DatePicker/__docs__/DatePicker.mdx +28 -0
  438. package/components/DatePicker/locale/types/types.js +0 -1
  439. package/components/Dropdown/Dropdown/Dropdown.js +7 -1
  440. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  441. package/components/Dropdown/Dropdown.d.ts +25 -30
  442. package/components/Dropdown/Dropdown.md +2 -1
  443. package/components/Dropdown/__docs__/Dropdown.mdx +28 -0
  444. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -1
  445. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  446. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  447. package/components/DropdownMenu/DropdownMenu.md +12 -10
  448. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +28 -0
  449. package/components/FileUploader/FileUploader/FileUploader.js +6 -0
  450. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  451. package/components/FileUploader/FileUploader.d.ts +16 -20
  452. package/components/FileUploader/FileUploader.md +9 -9
  453. package/components/FileUploader/__docs__/FileUploader.mdx +28 -0
  454. package/components/FileUploader/locale/types/types.js +0 -1
  455. package/components/FxInput/FxInput/FxInput.js +7 -1
  456. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  457. package/components/FxInput/FxInput.d.ts +15 -9
  458. package/components/FxInput/FxInput.md +2 -0
  459. package/components/FxInput/__docs__/FxInput.mdx +28 -0
  460. package/components/Gapped/Gapped/Gapped.js +1 -1
  461. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  462. package/components/Gapped/Gapped.d.ts +6 -17
  463. package/components/Gapped/Gapped.md +3 -2
  464. package/components/Gapped/__docs__/Gapped.mdx +24 -0
  465. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +13 -0
  466. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  467. package/components/GlobalLoader/GlobalLoader.d.ts +22 -32
  468. package/components/GlobalLoader/GlobalLoader.md +4 -5
  469. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  470. package/components/GlobalLoader/GlobalLoaderView.d.ts +4 -0
  471. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +28 -0
  472. package/components/Group/Group/Group.js +6 -0
  473. package/components/Group/Group/Group.js.map +1 -1
  474. package/components/Group/Group.d.ts +6 -0
  475. package/components/Group/Group.md +1 -0
  476. package/components/Group/__docs__/Group.mdx +24 -0
  477. package/components/Hint/Hint/Hint.js +4 -1
  478. package/components/Hint/Hint/Hint.js.map +1 -1
  479. package/components/Hint/Hint.d.ts +18 -40
  480. package/components/Hint/Hint.md +9 -8
  481. package/components/Hint/__docs__/Hint.mdx +29 -0
  482. package/components/Input/Input/Input.js +10 -1
  483. package/components/Input/Input/Input.js.map +1 -1
  484. package/components/Input/Input.d.ts +46 -68
  485. package/components/Input/Input.md +11 -2
  486. package/components/Input/Input.typings/Input.typings.js +0 -1
  487. package/components/Input/__docs__/Input.mdx +28 -0
  488. package/components/Kebab/Kebab/Kebab.js +4 -0
  489. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  490. package/components/Kebab/Kebab.d.ts +12 -16
  491. package/components/Kebab/Kebab.md +9 -9
  492. package/components/Kebab/__docs__/Kebab.mdx +28 -0
  493. package/components/Link/Link/Link.js.map +1 -1
  494. package/components/Link/Link.d.ts +13 -37
  495. package/components/Link/Link.md +12 -11
  496. package/components/Link/__docs__/Link.mdx +28 -0
  497. package/components/Loader/Loader/Loader.js +2 -2
  498. package/components/Loader/Loader/Loader.js.map +1 -1
  499. package/components/Loader/Loader.d.ts +13 -25
  500. package/components/Loader/Loader.md +1 -0
  501. package/components/Loader/__docs__/Loader.mdx +26 -0
  502. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  503. package/components/MaskedInput/MaskedInput.d.ts +13 -33
  504. package/components/MaskedInput/MaskedInput.md +7 -5
  505. package/components/MaskedInput/__docs__/MaskedInput.mdx +28 -0
  506. package/components/MenuFooter/MenuFooter/MenuFooter.js +3 -3
  507. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  508. package/components/MenuFooter/MenuFooter.d.ts +6 -4
  509. package/components/MenuFooter/MenuFooter.md +2 -2
  510. package/components/MenuFooter/__docs__/MenuFooter.mdx +24 -0
  511. package/components/MenuHeader/MenuHeader/MenuHeader.js +3 -3
  512. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  513. package/components/MenuHeader/MenuHeader.d.ts +6 -4
  514. package/components/MenuHeader/MenuHeader.md +2 -2
  515. package/components/MenuHeader/__docs__/MenuHeader.mdx +24 -0
  516. package/components/MenuItem/MenuItem/MenuItem.js +1 -2
  517. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  518. package/components/MenuItem/MenuItem.d.ts +22 -55
  519. package/components/MenuItem/MenuItem.md +34 -30
  520. package/components/MenuItem/__docs__/MenuItem.mdx +24 -0
  521. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +3 -2
  522. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  523. package/components/MenuSeparator/MenuSeparator.d.ts +2 -2
  524. package/components/MenuSeparator/MenuSeparator.md +1 -1
  525. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +24 -0
  526. package/components/MiniModal/MiniModal/MiniModal.js +7 -0
  527. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  528. package/components/MiniModal/MiniModal.d.ts +6 -0
  529. package/components/MiniModal/MiniModal.md +1 -3
  530. package/components/MiniModal/MiniModalFooter/MiniModalFooter.js.map +1 -1
  531. package/components/MiniModal/MiniModalFooter.d.ts +2 -7
  532. package/components/MiniModal/MiniModalHeader/MiniModalHeader.js.map +1 -1
  533. package/components/MiniModal/MiniModalHeader.d.ts +2 -5
  534. package/components/MiniModal/__docs__/MiniModal.mdx +28 -0
  535. package/components/MiniModal/__docs__/MiniModalBody.mdx +15 -0
  536. package/components/MiniModal/__docs__/MiniModalFooter.mdx +15 -0
  537. package/components/MiniModal/__docs__/MiniModalHeader.mdx +15 -0
  538. package/components/MiniModal/__docs__/MiniModalIndent.mdx +11 -0
  539. package/components/Modal/Modal/Modal.js +4 -9
  540. package/components/Modal/Modal/Modal.js.map +1 -1
  541. package/components/Modal/Modal.d.ts +12 -33
  542. package/components/Modal/Modal.md +3 -1
  543. package/components/Modal/ModalBody/ModalBody.js +1 -1
  544. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  545. package/components/Modal/ModalBody.d.ts +2 -4
  546. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  547. package/components/Modal/ModalContext.d.ts +2 -0
  548. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  549. package/components/Modal/ModalFooter.d.ts +5 -15
  550. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  551. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  552. package/components/Modal/ModalHeader.d.ts +3 -1
  553. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  554. package/components/Modal/ModalSeparator.d.ts +1 -0
  555. package/components/Modal/__docs__/Modal.mdx +28 -0
  556. package/components/Modal/__docs__/ModalBody.mdx +15 -0
  557. package/components/Modal/__docs__/ModalFooter.mdx +15 -0
  558. package/components/Modal/__docs__/ModalHeader.mdx +15 -0
  559. package/components/Modal/__docs__/ModalSeparator.mdx +15 -0
  560. package/components/Modal/locale/types/types.js +0 -1
  561. package/components/Paging/Paging/Paging.js +4 -0
  562. package/components/Paging/Paging/Paging.js.map +1 -1
  563. package/components/Paging/Paging.d.ts +20 -15
  564. package/components/Paging/Paging.md +3 -2
  565. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  566. package/components/Paging/PagingDefaultComponent.d.ts +2 -0
  567. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js +1 -1
  568. package/components/Paging/__creevey__/Paging.creevey/Paging.creevey.js.map +1 -1
  569. package/components/Paging/__docs__/Paging.mdx +28 -0
  570. package/components/Paging/locale/types/types.js +0 -1
  571. package/components/PasswordInput/PasswordInput/PasswordInput.js +3 -1
  572. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  573. package/components/PasswordInput/PasswordInput.d.ts +4 -1
  574. package/components/PasswordInput/PasswordInput.md +3 -2
  575. package/components/PasswordInput/__docs__/PasswordInput.mdx +28 -0
  576. package/components/PasswordInput/locale/types/types.js +0 -1
  577. package/components/Radio/Radio/Radio.js +1 -1
  578. package/components/Radio/Radio/Radio.js.map +1 -1
  579. package/components/Radio/Radio.d.ts +13 -28
  580. package/components/Radio/Radio.md +3 -2
  581. package/components/Radio/__docs__/Radio.mdx +28 -0
  582. package/components/RadioGroup/RadioGroup/RadioGroup.js +4 -5
  583. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  584. package/components/RadioGroup/RadioGroup.d.ts +28 -54
  585. package/components/RadioGroup/RadioGroup.md +1 -0
  586. package/components/RadioGroup/__docs__/RadioGroup.mdx +28 -0
  587. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +1 -2
  588. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  589. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +4 -1
  590. package/components/ResponsiveLayout/ResponsiveLayout.md +4 -3
  591. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +97 -0
  592. package/components/ResponsiveLayout/types/types.js +0 -1
  593. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  594. package/components/ScrollContainer/ScrollBar.d.ts +7 -0
  595. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +4 -0
  596. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  597. package/components/ScrollContainer/ScrollContainer.d.ts +23 -29
  598. package/components/ScrollContainer/ScrollContainer.md +5 -3
  599. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +24 -0
  600. package/components/Select/Item/Item.js.map +1 -1
  601. package/components/Select/Item.d.ts +2 -0
  602. package/components/Select/Select/Select.js +11 -0
  603. package/components/Select/Select/Select.js.map +1 -1
  604. package/components/Select/Select.d.ts +54 -38
  605. package/components/Select/Select.md +7 -6
  606. package/components/Select/__docs__/Select.mdx +28 -0
  607. package/components/Select/locale/types/types.js +0 -1
  608. package/components/SidePage/SidePage/SidePage.js +5 -5
  609. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  610. package/components/SidePage/SidePage.d.ts +16 -38
  611. package/components/SidePage/SidePage.md +2 -1
  612. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  613. package/components/SidePage/SidePageFooter.d.ts +4 -9
  614. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  615. package/components/SidePage/SidePageHeader.d.ts +2 -0
  616. package/components/SidePage/__docs__/SidePage.mdx +28 -0
  617. package/components/SidePage/__docs__/SidePageBody.mdx +15 -0
  618. package/components/SidePage/__docs__/SidePageContainer.mdx +15 -0
  619. package/components/SidePage/__docs__/SidePageFooter.mdx +15 -0
  620. package/components/SidePage/__docs__/SidePageHeader.mdx +15 -0
  621. package/components/SidePage/locale/types/types.js +0 -1
  622. package/components/SingleToast/SingleToast/SingleToast.js +5 -1
  623. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  624. package/components/SingleToast/SingleToast.d.ts +5 -1
  625. package/components/SingleToast/SingleToast.md +2 -1
  626. package/components/SingleToast/__docs__/SingleToast.mdx +28 -0
  627. package/components/Spinner/Spinner/Spinner.js +6 -2
  628. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  629. package/components/Spinner/Spinner.d.ts +15 -20
  630. package/components/Spinner/Spinner.md +2 -1
  631. package/components/Spinner/__docs__/Spinner.mdx +28 -0
  632. package/components/Sticky/Sticky/Sticky.js +5 -0
  633. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  634. package/components/Sticky/Sticky.d.ts +9 -4
  635. package/components/Sticky/Sticky.md +1 -0
  636. package/components/Sticky/__docs__/Sticky.mdx +24 -0
  637. package/components/Switcher/Switcher/Switcher.js +6 -0
  638. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  639. package/components/Switcher/Switcher.d.ts +18 -7
  640. package/components/Switcher/Switcher.md +6 -2
  641. package/components/Switcher/__docs__/Switcher.mdx +28 -0
  642. package/components/Tabs/Tab/Tab.js +1 -1
  643. package/components/Tabs/Tab/Tab.js.map +1 -1
  644. package/components/Tabs/Tab.d.ts +12 -31
  645. package/components/Tabs/Tab.md +2 -0
  646. package/components/Tabs/Tabs/Tabs.js +6 -1
  647. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  648. package/components/Tabs/Tabs.d.ts +14 -25
  649. package/components/Tabs/Tabs.md +3 -2
  650. package/components/Tabs/__docs__/Tab.mdx +28 -0
  651. package/components/Tabs/__docs__/Tabs.mdx +28 -0
  652. package/components/Textarea/Textarea/Textarea.js +3 -4
  653. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  654. package/components/Textarea/Textarea.d.ts +26 -52
  655. package/components/Textarea/Textarea.md +4 -2
  656. package/components/Textarea/__docs__/Textarea.mdx +28 -0
  657. package/components/Toast/Toast/Toast.js +3 -3
  658. package/components/Toast/Toast/Toast.js.map +1 -1
  659. package/components/Toast/Toast.d.ts +6 -7
  660. package/components/Toast/Toast.md +4 -4
  661. package/components/Toast/ToastView/ToastView.js.map +1 -1
  662. package/components/Toast/ToastView.d.ts +2 -6
  663. package/components/Toast/__docs__/Toast.mdx +28 -0
  664. package/components/Toast/locale/types/types.js +0 -1
  665. package/components/Toggle/Toggle/Toggle.js +4 -1
  666. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  667. package/components/Toggle/Toggle.d.ts +25 -48
  668. package/components/Toggle/Toggle.md +9 -9
  669. package/components/Toggle/__docs__/Toggle.mdx +28 -0
  670. package/components/Token/Token/Token.js +6 -0
  671. package/components/Token/Token/Token.js.map +1 -1
  672. package/components/Token/Token.d.ts +17 -9
  673. package/components/Token/Token.md +86 -3
  674. package/components/Token/TokenView/TokenView.js.map +1 -1
  675. package/components/Token/TokenView.d.ts +3 -0
  676. package/components/Token/__docs__/Token.mdx +28 -0
  677. package/components/Token/locale/types/types.js +0 -1
  678. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  679. package/components/TokenInput/TextWidthHelper.d.ts +3 -0
  680. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  681. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  682. package/components/TokenInput/TokenInput.d.ts +54 -97
  683. package/components/TokenInput/TokenInput.md +12 -10
  684. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  685. package/components/TokenInput/TokenInputMenu.d.ts +5 -5
  686. package/components/TokenInput/__docs__/TokenInput.mdx +28 -0
  687. package/components/TokenInput/locale/types/types.js +0 -1
  688. package/components/Tooltip/Tooltip/Tooltip.js +9 -0
  689. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  690. package/components/Tooltip/Tooltip.d.ts +28 -68
  691. package/components/Tooltip/Tooltip.md +5 -0
  692. package/components/Tooltip/__docs__/Tooltip.mdx +28 -0
  693. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +1 -1
  694. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  695. package/components/TooltipMenu/TooltipMenu.d.ts +13 -28
  696. package/components/TooltipMenu/TooltipMenu.md +13 -10
  697. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +24 -0
  698. package/index.d.ts +1 -0
  699. package/index.js +1 -0
  700. package/index.js.map +1 -1
  701. package/internal/CommonWrapper/index/index.js +1 -2
  702. package/internal/CommonWrapper/index/index.js.map +1 -1
  703. package/internal/CommonWrapper/types/types.js +0 -1
  704. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
  705. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  706. package/internal/CustomComboBox/locale/types/types.js +0 -1
  707. package/internal/DateSelect/locale/types/types.js +0 -1
  708. package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
  709. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
  710. package/internal/Popup/types/types.js +0 -1
  711. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +1 -1
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/constants/constants.js +3 -3
  715. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  716. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  717. package/internal/ZIndex/index/index.js +1 -2
  718. package/internal/ZIndex/index/index.js.map +1 -1
  719. package/internal/themes/BasicLightTheme/BasicLightTheme.js +3 -0
  720. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +1 -1
  721. package/internal/themes/BasicLightTheme.d.ts +3 -0
  722. package/lib/date/types/types.js +18 -18
  723. package/lib/date/types/types.js.map +1 -1
  724. package/lib/events/MouseDrag/MouseDrag.js +3 -3
  725. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  726. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
  727. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  728. package/lib/locale/types/types.js +3 -3
  729. package/lib/locale/types/types.js.map +1 -1
  730. package/lib/theming/Theme/Theme.js +0 -1
  731. package/lib/types/button-link/button-link.js +0 -1
  732. package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
  733. package/lib/types/props/props.js +0 -1
  734. package/package.json +9 -5
  735. package/cjs/lib/styles/HoldSelectionColor.d.ts +0 -1
  736. package/cjs/lib/styles/HoldSelectionColor.js +0 -9
  737. package/cjs/lib/styles/HoldSelectionColor.js.map +0 -1
  738. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +0 -8
  739. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +0 -1
  740. package/lib/styles/HoldSelectionColor/package.json +0 -6
  741. package/lib/styles/HoldSelectionColor.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","globalObject","isBrowser","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","createPropsGetter","styles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","_dec","_class","_PasswordInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","createElement","className","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","size","refInput","element","hideSymbols","renderMain","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","rightIcon","onFocusOutside","onClickOutside","ref","_inheritsLoose","_proto","prototype","componentDidMount","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","Consumer","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool"],"sources":["PasswordInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport { PasswordInputLocale, PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, InputProps {\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * Компонент для ввода пароля\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\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(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.props.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","PropTypes","globalObject","isBrowser","locale","RenderLayer","isNonNullable","isKeyCapsLock","KeyboardEventCodes","Codes","Input","isIE11","CommonWrapper","ThemeContext","cx","rootNode","createPropsGetter","styles","PasswordInputIcon","PasswordInputLocaleHelper","PasswordInputDataTids","root","capsLockDetector","eyeIcon","PasswordInput","_dec","_class","_PasswordInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","visible","capsLockEnabled","focus","input","blur","handleBlur","handleKeyPress","e","_this$props","props","onKeyPress","detectCapsLock","getModifierState","CapsLock","setState","handleKeydown","_this2","_this2$props","onKeyDown","handleToggleVisibility","prevState","handleFocus","renderEye","createElement","className","iconWrapper","toggleVisibility","theme","getEyeWrapperClassname","disabled","type","eyeClosedAriaLabel","eyeOpenedAriaLabel","onClick","icon","size","refInput","element","hideSymbols","renderMain","rest","_objectWithoutPropertiesLoose","_excluded","inputProps","_extends","rightIcon","onFocusOutside","onClickOutside","ref","_inheritsLoose","_proto","prototype","componentDidMount","document","msCapsLockWarningOff","getDerivedStateFromProps","render","_this3","Consumer","rootNodeRef","setRootNode","eyeWrapperLarge","eyeWrapperMedium","eyeWrapperSmall","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool"],"sources":["PasswordInput.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { isNonNullable } from '../../lib/utils';\nimport { isKeyCapsLock } from '../../lib/events/keyboard/identifiers';\nimport { KeyboardEventCodes as Codes } from '../../lib/events/keyboard/KeyboardEventCodes';\nimport { Input, InputProps } from '../Input';\nimport { Nullable } from '../../typings/utility-types';\nimport { isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './PasswordInput.styles';\nimport { PasswordInputIcon } from './PasswordInputIcon';\nimport { PasswordInputLocale, PasswordInputLocaleHelper } from './locale';\n\nexport interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, InputProps {\n /** Включает CapsLock детектор. */\n detectCapsLock?: boolean;\n}\n\nexport interface PasswordInputState {\n visible: boolean;\n capsLockEnabled?: boolean | null;\n}\n\nexport const PasswordInputDataTids = {\n root: 'PasswordInput',\n capsLockDetector: 'PasswordInputCapsLockDetector',\n eyeIcon: 'PasswordInputEyeIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;\n\n/**\n * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.\n *\n * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.\n */\n@rootNode\n@locale('PasswordInput', PasswordInputLocaleHelper)\nexport class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {\n public static __KONTUR_REACT_UI__ = 'PasswordInput';\n public static displayName = 'PasswordInput';\n\n public static propTypes = {\n /**\n * Включает CapsLock детектор\n */\n detectCapsLock: PropTypes.bool,\n };\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(PasswordInput.defaultProps);\n\n public state: PasswordInputState = {\n visible: false,\n capsLockEnabled: false,\n };\n\n private theme!: Theme;\n\n private input: Nullable<Input>;\n private setRootNode!: TSetRootNode;\n private readonly locale!: PasswordInputLocale;\n\n public componentDidMount() {\n if (this.props.detectCapsLock) {\n this.setState({ capsLockEnabled: null });\n }\n\n // @ts-expect-error: IE-specific API.\n if (isIE11 && isBrowser(globalObject) && !globalObject.document.msCapsLockWarningOff) {\n // @ts-expect-error: Read the comment above.\n // turns off default ie capslock warning\n globalObject.document.msCapsLockWarningOff = true;\n }\n }\n\n public static getDerivedStateFromProps(props: PasswordInputProps, state: PasswordInputState) {\n if (props.disabled) {\n return { visible: false };\n }\n\n return state;\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(this.props)}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n this.handleBlur();\n };\n\n private handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { onKeyPress, detectCapsLock } = this.props;\n\n if (onKeyPress) {\n onKeyPress(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n const capsLockEnabled = e.getModifierState(Codes.CapsLock);\n\n this.setState({ capsLockEnabled });\n };\n\n private handleKeydown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const {\n props: { detectCapsLock, onKeyDown },\n state: { capsLockEnabled },\n } = this;\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n\n if (!detectCapsLock) {\n return;\n }\n\n if (isKeyCapsLock(e) && isNonNullable(capsLockEnabled)) {\n this.setState({ capsLockEnabled: !capsLockEnabled });\n }\n };\n\n private handleToggleVisibility = () => {\n this.setState((prevState) => ({ visible: !prevState.visible }), this.handleFocus);\n };\n\n private handleFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n private handleBlur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getEyeWrapperClassname() {\n switch (this.getProps().size) {\n case 'large':\n return styles.eyeWrapperLarge(this.theme);\n case 'medium':\n return styles.eyeWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.eyeWrapperSmall(this.theme);\n }\n }\n\n private renderEye = () => {\n const { capsLockEnabled } = this.state;\n\n return (\n <span className={styles.iconWrapper()}>\n {capsLockEnabled && (\n <span className={styles.capsLockDetector()} data-tid={PasswordInputDataTids.capsLockDetector} />\n )}\n <span className={cx(styles.toggleVisibility(this.theme), this.getEyeWrapperClassname())}>\n {!this.props.disabled && (\n <button\n type=\"button\"\n aria-label={this.state.visible ? this.locale.eyeClosedAriaLabel : this.locale.eyeOpenedAriaLabel}\n onClick={this.handleToggleVisibility}\n className={styles.icon()}\n data-tid={PasswordInputDataTids.eyeIcon}\n >\n <PasswordInputIcon size={this.props.size} visible={this.state.visible} />\n </button>\n )}\n </span>\n </span>\n );\n };\n\n private refInput = (element: Input) => {\n this.input = element;\n };\n\n private hideSymbols = () => {\n this.setState({ visible: false });\n };\n\n private renderMain = (props: CommonWrapperRestProps<PasswordInputProps>) => {\n const { detectCapsLock, ...rest } = props;\n const inputProps = {\n ...rest,\n onKeyDown: this.handleKeydown,\n onKeyPress: this.handleKeyPress,\n rightIcon: this.renderEye(),\n };\n\n return (\n <RenderLayer onFocusOutside={this.hideSymbols} onClickOutside={this.hideSymbols}>\n <div data-tid={PasswordInputDataTids.root} className={styles.root()}>\n <Input ref={this.refInput} type={this.state.visible ? 'text' : 'password'} {...inputProps} />\n </div>\n </RenderLayer>\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { InputProps } from '../Input';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface PasswordInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, InputProps {
6
+ /** Включает CapsLock детектор. */
6
7
  detectCapsLock?: boolean;
7
8
  }
8
9
  export interface PasswordInputState {
@@ -16,7 +17,9 @@ export declare const PasswordInputDataTids: {
16
17
  };
17
18
  type DefaultProps = Required<Pick<PasswordInputProps, 'size'>>;
18
19
  /**
19
- * Компонент для ввода пароля
20
+ * `PasswordInput` — однострочное поле для ввода пароля, в котором символы заменяются на точки.
21
+ *
22
+ * Не используйте такое поле для ввода одноразовых кодов из смс. У них короткий срок действия и используются они только один раз.
20
23
  */
21
24
  export declare class PasswordInput extends React.PureComponent<PasswordInputProps, PasswordInputState> {
22
25
  static __KONTUR_REACT_UI__: string;
@@ -1,14 +1,15 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  <PasswordInput />
3
4
  ```
4
5
 
5
- Пример с отслеживанием нажатия CapsLock:
6
+ ### Отслеживание нажатия CapsLock
6
7
 
7
8
  ```jsx harmony
8
9
  <PasswordInput detectCapsLock />
9
10
  ```
10
11
 
11
- #### Локали по умолчанию
12
+ ### Локали по умолчанию
12
13
 
13
14
  ```typescript static
14
15
  interface PasswordInputLocale {
@@ -0,0 +1,28 @@
1
+ import * as PasswordInputStories from './PasswordInput.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={PasswordInputStories} />
6
+
7
+ # PasswordInput
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/input-fields/password/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A1602)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -1 +0,0 @@
1
- export {};
@@ -21,7 +21,7 @@ export var RadioDataTids = {
21
21
  };
22
22
 
23
23
  /**
24
- * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.
24
+ * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.
25
25
  */
26
26
  export var Radio = rootNode(_class = (_Radio = /*#__PURE__*/function (_React$Component) {
27
27
  function Radio() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","FocusControlWrapper","styles","globalClasses","RadioDataTids","root","Radio","_class","_Radio","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose","_excluded","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","_extends","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","Consumer","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["Radio.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * Размер\n */\n size?: SizeProp;\n /**\n * Состояние фокуса.\n */\n focused?: boolean;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: T) => void;\n /**\n * HTML-событие `onmouseenter`\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `onmouseover`\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-атрибут `value`.\n */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\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 getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\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.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":"2XAAA,OAAOA,KAAK,MAA0B,OAAO;AAC7C,SAASC,YAAY,QAAQ,0BAA0B;;;AAGvD,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAA6C,8BAA8B;AACjG,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,QAAQ,QAAsB,oBAAoB;AAC3D,SAASC,8BAA8B,QAAQ,iDAAiD;AAChG,SAASC,MAAM,EAAEC,MAAM,QAAQ,kBAAkB;AACjD,SAASC,iBAAiB,QAA+B,iCAAiC;AAC1F,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,mBAAmB,QAAQ,oCAAoC;;AAExE,SAASC,MAAM,EAAEC,aAAa,QAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDtD,OAAO,IAAMC,aAAa,GAAG;EAC3BC,IAAI,EAAE;AACR,CAAU;;;;AAIV;AACA;AACA;AACA;AACaC,KAAK,GADjBX,QAAQ,CAAAY,MAAA,IAAAC,MAAA,0BAAAC,gBAAA,YAAAH,MAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;IAKAU,KAAK,GAAG;MACbC,iBAAiB,EAAE;IACrB,CAAC,CAAAX,KAAA;;;;;;;IAOOY,QAAQ,GAAGtB,iBAAiB,CAACM,KAAK,CAACiB,YAAY,CAAC,CAAAb,KAAA;;;IAGjDc,OAAO,GAA6Bd,KAAA,CAAKc,OAAO,CAAAd,KAAA;;IAE/Ce,OAAO,gBAAGpC,KAAK,CAACqC,SAAS,CAAmB,CAAC,CAAAhB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsE9CiB,UAAU,GAAG,UAACC,KAA4C,EAAK,KAAAC,GAAA,EAAAC,IAAA;MACpE,IAAAC,eAAA;;;;;;;;;;;QAWIH,KAAK,CAVPI,QAAQ,CAARA,QAAQ,GAAAD,eAAA,cAAGrB,KAAA,CAAKc,OAAO,CAACQ,QAAQ,GAAAD,eAAA,CAAAE,cAAA,GAU9BL,KAAK,CATPM,OAAO,CAAPA,OAAO,GAAAD,cAAA,cAAGvB,KAAA,CAAKc,OAAO,CAACU,OAAO,GAAAD,cAAA,CAAAE,YAAA,GAS5BP,KAAK,CARPQ,KAAK,CAALA,KAAK,GAAAD,YAAA,cAAGzB,KAAA,CAAKc,OAAO,CAACY,KAAK,GAAAD,YAAA,CAC1BE,IAAI,GAOFT,KAAK,CAPPS,IAAI,CACJC,OAAO,GAMLV,KAAK,CANPU,OAAO,CACPC,WAAW,GAKTX,KAAK,CALPW,WAAW,CACXC,YAAY,GAIVZ,KAAK,CAJPY,YAAY,CACZC,YAAY,GAGVb,KAAK,CAHPa,YAAY,CACZC,aAAa,GAEXd,KAAK,CAFPc,aAAa,CACVC,IAAI,GAAAC,6BAAA,CACLhB,KAAK,EAAAiB,SAAA;;MAET,IAAMC,UAAU,GAAG;QACjBC,SAAS,EAAEtD,EAAE,EAAAoC,GAAA,OAAAA,GAAA;QACV3B,MAAM,CAAC8C,MAAM,CAACtC,KAAA,CAAKuC,KAAK,CAAC,IAAG,IAAI,EAAApB,GAAA;QAChCnB,KAAA,CAAKwC,sBAAsB,CAAC,CAAC,IAAG,IAAI,EAAArB,GAAA;QACpC3B,MAAM,CAACiD,OAAO,CAACzC,KAAA,CAAKuC,KAAK,CAAC,IAAGvC,KAAA,CAAKkB,KAAK,CAACuB,OAAO,EAAAtB,GAAA;QAC/CnB,KAAA,CAAK0C,uBAAuB,CAAC,CAAC,IAAG1C,KAAA,CAAKkB,KAAK,CAACuB,OAAO,EAAAtB,GAAA;QACnD3B,MAAM,CAACmD,KAAK,CAAC3C,KAAA,CAAKuC,KAAK,CAAC,IAAGvC,KAAA,CAAKY,QAAQ,CAAC,CAAC,CAACgB,OAAO,IAAI5B,KAAA,CAAKU,KAAK,CAACC,iBAAiB,EAAAQ,GAAA;QAClF3B,MAAM,CAACkC,KAAK,CAAC1B,KAAA,CAAKuC,KAAK,CAAC,IAAGb,KAAK,EAAAP,GAAA;QAChC3B,MAAM,CAACgC,OAAO,CAACxB,KAAA,CAAKuC,KAAK,CAAC,IAAGf,OAAO,EAAAL,GAAA;QACpC3B,MAAM,CAAC8B,QAAQ,CAACtB,KAAA,CAAKuC,KAAK,CAAC,IAAGjB,QAAQ,EAAAH,GAAA;QACtC3B,MAAM,CAACoD,eAAe,CAAC5C,KAAA,CAAKuC,KAAK,CAAC,IAAGvC,KAAA,CAAKkB,KAAK,CAACuB,OAAO,IAAInB,QAAQ,EAAAH,GAAA;QACnE1B,aAAa,CAAC6C,MAAM,IAAG,IAAI,EAAAnB,GAAA;QAC7B;MACH,CAAC;;MAED,IAAI0B,KAAkC;MACtC,IAAI,OAAO7C,KAAA,CAAKkB,KAAK,CAAC2B,KAAK,KAAK,QAAQ,IAAI,OAAO7C,KAAA,CAAKkB,KAAK,CAAC2B,KAAK,KAAK,QAAQ,EAAE;QAChFA,KAAK,GAAG7C,KAAA,CAAKkB,KAAK,CAAC2B,KAAK;MAC1B;;MAEA,IAAMC,UAAU,GAAAC,QAAA;MACXd,IAAI;QACPe,IAAI,EAAE,OAAO;QACbX,SAAS,EAAE7C,MAAM,CAACyD,KAAK,CAAC,CAAC;QACzB3B,QAAQ,EAARA,QAAQ;QACR4B,QAAQ,EAAElD,KAAA,CAAKkB,KAAK,CAACgC,QAAQ;QAC7BL,KAAK,EAALA,KAAK;QACLM,GAAG,EAAEnD,KAAA,CAAKe,OAAO;QACjBqC,QAAQ,EAAEpD,KAAA,CAAKqD,YAAY;QAC3BC,OAAO,EAAEtD,KAAA,CAAKuD,WAAW;QACzBC,MAAM,EAAExD,KAAA,CAAKyD,UAAU,GACxB;;;MAED,IAAMC,UAAU,GAAG;QACjBrB,SAAS,EAAEtD,EAAE,CAACS,MAAM,CAACG,IAAI,CAACK,KAAA,CAAKuC,KAAK,CAAC,EAAEvC,KAAA,CAAK2D,oBAAoB,CAAC,CAAC,GAAAvC,IAAA,OAAAA,IAAA;QAC/D5B,MAAM,CAACoE,WAAW,CAAC5D,KAAA,CAAKuC,KAAK,CAAC,IAAGvC,KAAA,CAAKkB,KAAK,CAACuB,OAAO,EAAArB,IAAA;QACnD5B,MAAM,CAACqE,QAAQ,CAAC,CAAC,IAAGzE,MAAM,IAAID,MAAM,EAAAiC,IAAA;QACtC,CAAC;QACFS,WAAW,EAAE7B,KAAA,CAAK8D,eAAe;QACjChC,YAAY,EAAE9B,KAAA,CAAK+D,gBAAgB;QACnChC,YAAY,EAAE/B,KAAA,CAAKgE,gBAAgB;QACnCC,OAAO,EAAE/E,8BAA8B,CAACc,KAAA,CAAKe,OAAO;MACtD,CAAC;;MAED,IAAIf,KAAA,CAAKkE,eAAe,CAAC,CAAC,EAAE,KAAAC,IAAA,EAAAC,IAAA;QAC1B,IAAM3B,OAAO,GAAGzC,KAAA,CAAKkB,KAAK,CAAC2B,KAAK,KAAK7C,KAAA,CAAKc,OAAO,CAACuD,UAAU;QAC5DvB,UAAU,CAACL,OAAO,GAAGA,OAAO;QAC5BK,UAAU,CAACwB,IAAI,GAAGtE,KAAA,CAAKc,OAAO,CAACwD,IAAI;QACnCxB,UAAU,CAACyB,wBAAwB,GAAG,IAAI;QAC1Cb,UAAU,CAACrB,SAAS,GAAGtD,EAAE,CAACS,MAAM,CAACG,IAAI,CAACK,KAAA,CAAKuC,KAAK,CAAC,EAAEvC,KAAA,CAAK2D,oBAAoB,CAAC,CAAC,GAAAQ,IAAA,OAAAA,IAAA;QAC3E3E,MAAM,CAACoE,WAAW,CAAC5D,KAAA,CAAKuC,KAAK,CAAC,IAAGE,OAAO,EAAA0B,IAAA;QACxC3E,MAAM,CAACqE,QAAQ,CAAC,CAAC,IAAGzE,MAAM,IAAID,MAAM,EAAAgF,IAAA;QACtC,CAAC;QACF/B,UAAU,CAACC,SAAS,GAAGtD,EAAE,CAACqD,UAAU,CAACC,SAAS,GAAA+B,IAAA,OAAAA,IAAA;QAC3C5E,MAAM,CAACiD,OAAO,CAACzC,KAAA,CAAKuC,KAAK,CAAC,IAAGE,OAAO,EAAA2B,IAAA;QACpCpE,KAAA,CAAK0C,uBAAuB,CAAC,CAAC,IAAGD,OAAO,EAAA2B,IAAA;QACxC5E,MAAM,CAACoD,eAAe,CAAC5C,KAAA,CAAKuC,KAAK,CAAC,IAAGE,OAAO,IAAInB,QAAQ,EAAA8C,IAAA;QAC1D,CAAC;MACJ;;MAEA;QACEzF,KAAA,CAAA6F,aAAA,UAAAzB,QAAA,GAAO,YAAUrD,aAAa,CAACC,IAAK,IAAK+D,UAAU;QACjD/E,KAAA,CAAA6F,aAAA,CAACjF,mBAAmB,IAACkF,kBAAkB,EAAEzE,KAAA,CAAK0E,UAAW;QACvD/F,KAAA,CAAA6F,aAAA,UAAW1B,UAAa;QACL,CAAC;QACtBnE,KAAA,CAAA6F,aAAA,SAAUpC,UAAU;QAClBzD,KAAA,CAAA6F,aAAA,WAAMnC,SAAS,EAAE7C,MAAM,CAACmF,WAAW,CAAC,CAAE,EAAE;QACpC,CAAC;QACN3E,KAAA,CAAKkB,KAAK,CAAC0D,QAAQ,IAAI5E,KAAA,CAAK6E,aAAa,CAAC;QACtC,CAAC;;IAEZ,CAAC,CAAA7E,KAAA;;IAEOkE,eAAe,GAAG,oBAAMY,OAAO,CAAC9E,KAAA,CAAKc,OAAO,CAACwD,IAAI,CAAC,GAAAtE,KAAA;;;;;;;;;;;;IAYlDqD,YAAY,GAA+C,UAAC0B,CAAC,EAAK;MACxE/E,KAAA,CAAKkB,KAAK,CAACc,aAAa,YAAxBhC,KAAA,CAAKkB,KAAK,CAACc,aAAa,CAAGhC,KAAA,CAAKkB,KAAK,CAAC2B,KAAK,CAAC;;MAE5C,IAAI7C,KAAA,CAAKkE,eAAe,CAAC,CAAC,EAAE;QAC1BlE,KAAA,CAAKc,OAAO,CAACkE,QAAQ,CAAChF,KAAA,CAAKkB,KAAK,CAAC2B,KAAK,CAAC;MACzC;;MAEA7C,KAAA,CAAKkB,KAAK,CAACkC,QAAQ,YAAnBpD,KAAA,CAAKkB,KAAK,CAACkC,QAAQ,CAAG2B,CAAC,CAAC;IAC1B,CAAC,CAAA/E,KAAA;;IAEO8D,eAAe,GAA8C,UAACiB,CAAC,EAAK;MAC1E/E,KAAA,CAAKkB,KAAK,CAACW,WAAW,YAAtB7B,KAAA,CAAKkB,KAAK,CAACW,WAAW,CAAGkD,CAAC,CAAC;IAC7B,CAAC,CAAA/E,KAAA;;IAEO+D,gBAAgB,GAA8C,UAACgB,CAAC,EAAK;MAC3E/E,KAAA,CAAKkB,KAAK,CAACY,YAAY,YAAvB9B,KAAA,CAAKkB,KAAK,CAACY,YAAY,CAAGiD,CAAC,CAAC;IAC9B,CAAC,CAAA/E,KAAA;;IAEOgE,gBAAgB,GAA8C,UAACe,CAAC,EAAK;MAC3E/E,KAAA,CAAKkB,KAAK,CAACa,YAAY,YAAvB/B,KAAA,CAAKkB,KAAK,CAACa,YAAY,CAAGgD,CAAC,CAAC;IAC9B,CAAC,CAAA/E,KAAA;;IAEOuD,WAAW,GAAG,UAACwB,CAAwB,EAAK;MAClD,IAAI,CAAC/E,KAAA,CAAKc,OAAO,CAACQ,QAAQ,EAAE;QAC1B;QACA;QACA1C,YAAY,CAACqG,qBAAqB,YAAlCrG,YAAY,CAACqG,qBAAqB,CAAG,YAAM;UACzC,IAAIjG,WAAW,CAACkG,cAAc,IAAIlG,WAAW,CAACmG,YAAY,EAAE;YAC1DnF,KAAA,CAAKoF,QAAQ,CAAC,EAAEzE,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;UAC5C;QACF,CAAC,CAAC;;QAEF,IAAIX,KAAA,CAAKkB,KAAK,CAACoC,OAAO,EAAE;UACtBtD,KAAA,CAAKkB,KAAK,CAACoC,OAAO,CAACyB,CAAC,CAAC;QACvB;MACF;IACF,CAAC,CAAA/E,KAAA;;IAEO0E,UAAU,GAAG,oBAAM1E,KAAA,CAAKoF,QAAQ,CAAC,EAAEzE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAX,KAAA;;IAE9DyD,UAAU,GAAG,UAACsB,CAAqC,EAAK;MAC9D/E,KAAA,CAAK0E,UAAU,CAAC,CAAC;MACjB1E,KAAA,CAAKkB,KAAK,CAACsC,MAAM,YAAjBxD,KAAA,CAAKkB,KAAK,CAACsC,MAAM,CAAGuB,CAAC,CAAC;IACxB,CAAC,QAAA/E,KAAA,EAAAqF,cAAA,CAAAzF,KAAA,EAAAG,gBAAA,MAAAuF,MAAA,GAAA1F,KAAA,CAAA2F,SAAA,CAAAD,MAAA,CAhNO3B,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAAC/C,QAAQ,CAAC,CAAC,CAACe,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOnC,MAAM,CAACgG,SAAS,CAAC,IAAI,CAACjD,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAO/C,MAAM,CAACiG,UAAU,CAAC,IAAI,CAAClD,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAO/C,MAAM,CAACkG,SAAS,CAAC,IAAI,CAACnD,KAAK,CAAC,CACvC,CACF,CAAC,CAAA+C,MAAA,CAEO9C,sBAAsB,GAA9B,SAAAA,uBAAA,EAAiC,CAC/B,QAAQ,IAAI,CAAC5B,QAAQ,CAAC,CAAC,CAACe,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOnC,MAAM,CAACmG,WAAW,CAAC,IAAI,CAACpD,KAAK,CAAC,CACvC,KAAK,QAAQ,CACX,OAAO/C,MAAM,CAACoG,YAAY,CAAC,IAAI,CAACrD,KAAK,CAAC,CACxC,KAAK,OAAO,CACZ,QACE,OAAO/C,MAAM,CAACqG,WAAW,CAAC,IAAI,CAACtD,KAAK,CAAC,CACzC,CACF,CAAC,CAAA+C,MAAA,CAEO5C,uBAAuB,GAA/B,SAAAA,wBAAA,EAAkC,CAChC,QAAQ,IAAI,CAAC9B,QAAQ,CAAC,CAAC,CAACe,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOnC,MAAM,CAACsG,YAAY,CAAC,IAAI,CAACvD,KAAK,CAAC,CACxC,KAAK,QAAQ,CACX,OAAO/C,MAAM,CAACuG,aAAa,CAAC,IAAI,CAACxD,KAAK,CAAC,CACzC,KAAK,OAAO,CACZ,QACE,OAAO/C,MAAM,CAACwG,YAAY,CAAC,IAAI,CAACzD,KAAK,CAAC,CAC1C,CACF,CAAC,CAAA+C,MAAA,CAEMW,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEvH,KAAA,CAAA6F,aAAA,CAAC3F,YAAY,CAACsH,QAAQ,QACnB,UAAC5D,KAAK,EAAK,CACV2D,MAAI,CAAC3D,KAAK,GAAGA,KAAK,CAClB,oBACE5D,KAAA,CAAA6F,aAAA,CAAC1F,aAAa,EAAAiE,QAAA,GAACqD,WAAW,EAAEF,MAAI,CAACG,WAAY,IAAKH,MAAI,CAACtF,QAAQ,CAAC,CAAC,GAC9DsF,MAAI,CAACjF,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA,KAFE,CAAAqE,MAAA,CAGO3C,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAA2D,qBAAA,CACbtH,WAAW,CAACmG,YAAY,GAAG,IAAI,CAC/B,CAAAmB,qBAAA,OAAI,CAACvF,OAAO,CAACwF,OAAO,aAApBD,qBAAA,CAAsB3D,KAAK,CAAC,CAAC,CAC/B,CAAC,CAED;AACF;AACA,KAFE,CAAA2C,MAAA,CAGOkB,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,sBAAA,CACZ,CAAAA,sBAAA,OAAI,CAAC1F,OAAO,CAACwF,OAAO,aAApBE,sBAAA,CAAsBD,IAAI,CAAC,CAAC,CAC9B,CAAC,CAAAlB,MAAA,CA2FOT,aAAa,GAArB,SAAAA,cAAA,EAAwB,KAAA6B,IAAA,CACtB,IAAMC,iBAAiB,GAAG5H,EAAE,EAAA2H,IAAA,OAAAA,IAAA,CACzBlH,MAAM,CAACoH,OAAO,CAAC,IAAI,CAACrE,KAAK,CAAC,IAAG,IAAI,EAAAmE,IAAA,CACjClH,MAAM,CAACqH,eAAe,CAAC,IAAI,CAACtE,KAAK,CAAC,IAAG,CAAC,EAAE,IAAI,CAACrB,KAAK,CAACI,QAAQ,IAAI,IAAI,CAACR,OAAO,CAACQ,QAAQ,CAAC,EAAAoF,IAAA,CACrFlH,MAAM,CAACsH,WAAW,CAAC,CAAC,IAAG1H,MAAM,IAAID,MAAM,EAAAuH,IAAA,CACzC,CAAC,CAEF,oBAAO/H,KAAA,CAAA6F,aAAA,UAAKnC,SAAS,EAAEsE,iBAAkB,IAAE,IAAI,CAACzF,KAAK,CAAC0D,QAAc,CAAC,CACvE,CAAC,QAAAhF,KAAA,GAzL2BjB,KAAK,CAACoI,SAAS,GAAAjH,MAAA,CAC7BkH,mBAAmB,GAAG,OAAO,EAAAlH,MAAA,CAC7BmH,WAAW,GAAG,OAAO,EAAAnH,MAAA,CAMrBe,YAAY,GAAiB,EACzCe,OAAO,EAAE,KAAK,EACdD,IAAI,EAAE,OAAO,CACf,CAAC,EAAA7B,MAAA,CAIaoH,WAAW,GAAG7H,iBAAiB,EAAAS,MAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","ThemeContext","CommonWrapper","cx","keyListener","rootNode","fixFirefoxModifiedClickOnLabel","isEdge","isIE11","RadioGroupContext","createPropsGetter","FocusControlWrapper","styles","globalClasses","RadioDataTids","root","Radio","_class","_Radio","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByKeyboard","getProps","defaultProps","context","inputEl","createRef","renderMain","props","_cx","_cx2","_props$disabled","disabled","_props$warning","warning","_props$error","error","size","focused","onMouseOver","onMouseEnter","onMouseLeave","onValueChange","rest","_objectWithoutPropertiesLoose","_excluded","radioProps","className","circle","theme","getCircleSizeClassName","checked","getCheckedSizeClassName","focus","checkedDisabled","value","inputProps","_extends","type","input","tabIndex","ref","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","labelProps","getRootSizeClassName","rootChecked","rootIE11","handleMouseOver","handleMouseEnter","handleMouseLeave","onClick","_isInRadioGroup","_cx3","_cx4","activeItem","name","suppressHydrationWarning","createElement","onBlurWhenDisabled","resetFocus","placeholder","children","renderCaption","Boolean","e","onSelect","requestAnimationFrame","isArrowPressed","isTabPressed","setState","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","circleLarge","circleMedium","circleSmall","checkedLarge","checkedMedium","checkedSmall","render","_this2","Consumer","rootNodeRef","setRootNode","_this$inputEl$current","current","blur","_this$inputEl$current2","_cx5","captionClassNames","caption","captionDisabled","captionIE11","Component","__KONTUR_REACT_UI__","displayName","contextType"],"sources":["Radio.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { Override } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { RadioGroupContext, RadioGroupContextType } from '../RadioGroup/RadioGroupContext';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Radio.styles';\n\nexport interface RadioProps<T>\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает состояние фокуса. */\n focused?: boolean;\n\n /** Задает функцию, которая вызывается при изменении value. */\n onValueChange?: (value: T) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Устанавливает значение. */\n value: T;\n }\n > {}\n\nexport interface RadioState {\n focusedByKeyboard: boolean;\n}\n\nexport const RadioDataTids = {\n root: 'Radio__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;\n\n/**\n * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.\n */\n@rootNode\nexport class Radio<T> extends React.Component<RadioProps<T>, RadioState> {\n public static __KONTUR_REACT_UI__ = 'Radio';\n public static displayName = 'Radio';\n\n public state = {\n focusedByKeyboard: false,\n };\n\n public static defaultProps: DefaultProps = {\n focused: false,\n size: 'small',\n };\n\n private getProps = createPropsGetter(Radio.defaultProps);\n\n public static contextType = RadioGroupContext;\n public context: RadioGroupContextType<T> = this.context;\n\n private inputEl = React.createRef<HTMLInputElement>();\n private setRootNode!: TSetRootNode;\n private theme!: Theme;\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 getCircleSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.circleLarge(this.theme);\n case 'medium':\n return styles.circleMedium(this.theme);\n case 'small':\n default:\n return styles.circleSmall(this.theme);\n }\n }\n\n private getCheckedSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.checkedLarge(this.theme);\n case 'medium':\n return styles.checkedMedium(this.theme);\n case 'small':\n default:\n return styles.checkedSmall(this.theme);\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.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.inputEl.current?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.inputEl.current?.blur();\n }\n\n public renderMain = (props: CommonWrapperRestProps<RadioProps<T>>) => {\n const {\n disabled = this.context.disabled,\n warning = this.context.warning,\n error = this.context.error,\n size,\n focused,\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n onValueChange,\n ...rest\n } = props;\n\n const radioProps = {\n className: cx({\n [styles.circle(this.theme)]: true,\n [this.getCircleSizeClassName()]: true,\n [styles.checked(this.theme)]: this.props.checked,\n [this.getCheckedSizeClassName()]: this.props.checked,\n [styles.focus(this.theme)]: this.getProps().focused || this.state.focusedByKeyboard,\n [styles.error(this.theme)]: error,\n [styles.warning(this.theme)]: warning,\n [styles.disabled(this.theme)]: disabled,\n [styles.checkedDisabled(this.theme)]: this.props.checked && disabled,\n [globalClasses.circle]: true,\n }),\n };\n\n let value: string | number | undefined;\n if (typeof this.props.value === 'string' || typeof this.props.value === 'number') {\n value = this.props.value;\n }\n\n const inputProps = {\n ...rest,\n type: 'radio',\n className: styles.input(),\n disabled,\n tabIndex: this.props.tabIndex,\n value,\n ref: this.inputEl,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n };\n\n const labelProps = {\n className: cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: this.props.checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n }),\n onMouseOver: this.handleMouseOver,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onClick: fixFirefoxModifiedClickOnLabel(this.inputEl),\n };\n\n if (this._isInRadioGroup()) {\n const checked = this.props.value === this.context.activeItem;\n inputProps.checked = checked;\n inputProps.name = this.context.name;\n inputProps.suppressHydrationWarning = true;\n labelProps.className = cx(styles.root(this.theme), this.getRootSizeClassName(), {\n [styles.rootChecked(this.theme)]: checked,\n [styles.rootIE11()]: isIE11 || isEdge,\n });\n radioProps.className = cx(radioProps.className, {\n [styles.checked(this.theme)]: checked,\n [this.getCheckedSizeClassName()]: checked,\n [styles.checkedDisabled(this.theme)]: checked && disabled,\n });\n }\n\n return (\n <label data-tid={RadioDataTids.root} {...labelProps}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} />\n </FocusControlWrapper>\n <span {...radioProps}>\n <span className={styles.placeholder()} />\n </span>\n {this.props.children && this.renderCaption()}\n </label>\n );\n };\n\n private _isInRadioGroup = () => Boolean(this.context.name);\n\n private renderCaption() {\n const captionClassNames = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionDisabled(this.theme)]: !!(this.props.disabled || this.context.disabled),\n [styles.captionIE11()]: isIE11 || isEdge,\n });\n\n return <div className={captionClassNames}>{this.props.children}</div>;\n }\n\n private handleChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n this.props.onValueChange?.(this.props.value);\n\n if (this._isInRadioGroup()) {\n this.context.onSelect(this.props.value);\n }\n\n this.props.onChange?.(e);\n };\n\n private handleMouseOver: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseOver?.(e);\n };\n\n private handleMouseEnter: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseEnter?.(e);\n };\n\n private handleMouseLeave: React.MouseEventHandler<HTMLLabelElement> = (e) => {\n this.props.onMouseLeave?.(e);\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.context.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isArrowPressed || keyListener.isTabPressed) {\n this.setState({ focusedByKeyboard: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByKeyboard: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,41 +4,26 @@ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrappe
4
4
  import { RadioGroupContextType } from '../RadioGroup/RadioGroupContext';
5
5
  import { SizeProp } from '../../lib/types/props';
6
6
  export interface RadioProps<T> extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<React.InputHTMLAttributes<HTMLInputElement>, {
7
- /**
8
- * Состояние валидации при ошибке.
9
- */
7
+ /** Переводит контрол в состояние валидации "ошибка". */
10
8
  error?: boolean;
11
- /**
12
- * Состояние валидации при предупреждении.
13
- */
9
+ /** Переводит контрол в состояние валидации "предупреждение". */
14
10
  warning?: boolean;
15
- /**
16
- * Размер
17
- */
11
+ /** Задает размер. */
18
12
  size?: SizeProp;
19
- /**
20
- * Состояние фокуса.
21
- */
13
+ /** Задает состояние фокуса. */
22
14
  focused?: boolean;
23
- /**
24
- * Функция, вызываемая при изменении `value`.
25
- */
15
+ /** Задает функцию, которая вызывается при изменении value. */
26
16
  onValueChange?: (value: T) => void;
27
- /**
28
- * HTML-событие `onmouseenter`
29
- */
17
+ /** Задает HTML-событие `onmouseenter`.
18
+ * @ignore */
30
19
  onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;
31
- /**
32
- * HTML-событие `mouseleave`
33
- */
20
+ /** Задает HTML-событие `onmouseleave`.
21
+ * @ignore */
34
22
  onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;
35
- /**
36
- * HTML-событие `onmouseover`
37
- */
23
+ /** Задает HTML-событие `onmouseover`.
24
+ * @ignore */
38
25
  onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;
39
- /**
40
- * HTML-атрибут `value`.
41
- */
26
+ /** Устанавливает значение. */
42
27
  value: T;
43
28
  }> {
44
29
  }
@@ -50,7 +35,7 @@ export declare const RadioDataTids: {
50
35
  };
51
36
  type DefaultProps = Required<Pick<RadioProps<any>, 'focused' | 'size'>>;
52
37
  /**
53
- * Радио-кнопки используются, когда может быть выбран только один вариант из нескольких.
38
+ * Радио-кнопки `Radio` используются, когда может быть выбран только один вариант из нескольких.
54
39
  */
55
40
  export declare class Radio<T> extends React.Component<RadioProps<T>, RadioState> {
56
41
  static __KONTUR_REACT_UI__: string;
@@ -1,4 +1,4 @@
1
- Различные виды радио-кнопок.
1
+ ### Виды радио-кнопок
2
2
 
3
3
  ```jsx harmony
4
4
  import { Gapped, Radio, RadioGroup } from '@skbkontur/react-ui';
@@ -29,6 +29,7 @@ const [chosen, setChosen] = React.useState(null);
29
29
  </RadioGroup>
30
30
  ```
31
31
 
32
+ ### Состояния
32
33
  Радио-кнопки могут иметь сразу несколько состояний.
33
34
 
34
35
  ```jsx harmony
@@ -37,7 +38,7 @@ const [chosen, setChosen] = React.useState(null);
37
38
  </Radio>
38
39
  ```
39
40
 
40
- У Radio есть 3 стандартных размера.
41
+ ### Размер
41
42
 
42
43
  ```jsx harmony
43
44
  import { Gapped } from '@skbkontur/react-ui';
@@ -0,0 +1,28 @@
1
+ import * as RadioStories from './Radio.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={RadioStories} />
6
+
7
+ # Radio
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/selection-elements/radio/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A2669)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -20,13 +20,12 @@ export var RadioGroupDataTids = {
20
20
  };
21
21
 
22
22
  /**
23
+ * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.
23
24
  *
24
- * `children` может содержать любую разметку с компонентами Radio,
25
- * если не передан параметр `items`.
26
- * Каждому компоненту Radio нужно указать параметр `value`, такого же типа
27
- * как и параметр `value` самой радиогруппы.
25
+ * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.
26
+ * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.
28
27
  *
29
- * Значения активного элемента сравниваются по строгому равенству `===`
28
+ * Значения активного элемента сравниваются по строгому равенству `===`.
30
29
  */
31
30
  export var RadioGroup = rootNode(_class = (_RadioGroup = /*#__PURE__*/function (_React$Component) {
32
31
  function RadioGroup(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","CommonWrapper","cx","rootNode","getVisualStateDataAttributes","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","_class","_RadioGroup","_React$Component","props","_this","call","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","item","itemFirst","itemInline","inline","createElement","_extends","role","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","rootNodeRef","setRootNode","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","mapItems","Component","__KONTUR_REACT_UI__","displayName","_value","fn","result","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /**\n * Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок\n * или значений из параметра `items`\n */\n defaultValue?: T;\n /**\n * Значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый\n */\n value?: T;\n /**\n * Может быть использовано, если не передан параметр `children`\n *\n * Массив параметров радиокнопок. Может быть типа `Array<Value>` или\n * `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`\n * — значение которое будет использовано вторым параметром в `renderItem`.\n * Если тип `items: Array<Value>`, то он будет приведен к типу\n * `Array<[Value, Value]>`\n */\n items?: T[] | Array<[T, React.ReactNode]>;\n /**\n * Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется\n * случайное имя\n */\n name?: string;\n\n /**\n * Метод получения уникального ключа по элементу\n * @param item\n */\n toKey?: (item: T) => string | number;\n /**\n * Дизейблит все радиокнопки\n */\n disabled?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: предупреждение.\n */\n warning?: boolean;\n /**\n * Переводит все радиокнопки в состояние валидации: ошибка.\n */\n error?: boolean;\n /**\n * Выравнивает элементы в строку. Не работает с `children`\n */\n inline?: boolean;\n /**\n * Ширина радиогруппы. Не работает с `children`\n */\n width?: React.CSSProperties['width'];\n /**\n * Метод отрисовки контента радиокнопки. Не работает с `children`.\n *\n * Принимает два аргумента: `(value: Value, data: Data) => React.Node`\n */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n /**\n * Атрибут для указания id элемента(-ов), описывающих его\n */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n onBlur?: (event: FocusEvent) => void;\n onMouseLeave?: () => any;\n onMouseOver?: () => any;\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n *\n * `children` может содержать любую разметку с компонентами Radio,\n * если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа\n * как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","invariant","getRandomID","isNonNullable","Radio","createPropsGetter","FocusTrap","CommonWrapper","cx","rootNode","getVisualStateDataAttributes","styles","Prevent","RadioGroupContext","RadioGroupDataTids","root","RadioGroup","_class","_RadioGroup","_React$Component","props","_this","call","name","getProps","defaultProps","getRadioGroupContextValue","activeItem","getValue","onSelect","handleSelect","getName","disabled","error","warning","isControlled","value","state","setState","onValueChange","renderRadio","itemValue","data","index","_cx","itemProps","key","getKeyByItem","className","item","itemFirst","itemInline","inline","createElement","_extends","role","renderItem","toKey","undefined","ref","element","node","defaultValue","_inheritsLoose","_proto","prototype","render","_this$props","width","onMouseLeave","onMouseOver","onMouseEnter","onBlur","ariaDescribedby","style","handlers","rootNodeRef","setRootNode","Provider","renderChildren","focus","radio","querySelector","_this$props2","items","children","mapItems","Component","__KONTUR_REACT_UI__","displayName","_value","fn","result","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","push","Array","isArray"],"sources":["RadioGroup.tsx"],"sourcesContent":["import React, { AriaAttributes } from 'react';\nimport invariant from 'invariant';\n\nimport { getRandomID, isNonNullable } from '../../lib/utils';\nimport { Radio } from '../Radio';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { FocusTrap } from '../../internal/FocusTrap';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './RadioGroup.styles';\nimport { Prevent } from './Prevent';\nimport { RadioGroupContext, RadioGroupContextType } from './RadioGroupContext';\n\nexport interface RadioGroupProps<T = string | number> extends CommonProps {\n /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */\n defaultValue?: T;\n\n /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.\n * Если не указано, то компонент будет работать, как неконтролируемый. */\n value?: T;\n\n /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,\n * где тип `Value` — значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.\n * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.\n * Может быть использовано, если не передан параметр `children`. */\n items?: T[] | Array<[T, React.ReactNode]>;\n\n /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */\n name?: string;\n\n /** Получает уникальный ключ по элементу\n * @param item - элемент, по которуму нужно получить ключ. */\n toKey?: (item: T) => string | number;\n\n /** Делает все радиокнопки недоступными. */\n disabled?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Переводит все радиокнопки в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Выравнивает элементы items в строку. Не работает с children. */\n inline?: boolean;\n\n /** Задает ширину радиогруппы. Не работает с `children`. */\n width?: React.CSSProperties['width'];\n\n /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.\n * @param {Value} itemValue - значение радиокнопки.\n * @param {Data} data - значение для отрисовки радиокнопки. */\n renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n\n /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */\n onBlur?: (event: FocusEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: () => any;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: () => any;\n}\n\nexport interface RadioGroupState<T> {\n activeItem?: T;\n}\n\nexport const RadioGroupDataTids = {\n root: 'RadioGroup__root',\n} as const;\n\ntype DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;\n\n/**\n * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.\n *\n * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.\n * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.\n *\n * Значения активного элемента сравниваются по строгому равенству `===`.\n */\n@rootNode\nexport class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {\n public static __KONTUR_REACT_UI__ = 'RadioGroup';\n public static displayName = 'RadioGroup';\n\n public static defaultProps: DefaultProps = {\n renderItem,\n };\n\n public static Prevent = Prevent;\n\n private node: Nullable<HTMLSpanElement>;\n private name = getRandomID();\n private getProps = createPropsGetter(RadioGroup.defaultProps);\n private setRootNode!: TSetRootNode;\n\n constructor(props: RadioGroupProps<T>) {\n super(props);\n\n this.state = {\n activeItem: this.props.defaultValue,\n };\n }\n\n private getRadioGroupContextValue = (): RadioGroupContextType<T> => {\n return {\n activeItem: this.getValue(),\n onSelect: this.handleSelect,\n name: this.getName(),\n disabled: this.props.disabled,\n error: this.props.error,\n warning: this.props.warning,\n };\n };\n\n public render() {\n const {\n width,\n onMouseLeave,\n onMouseOver,\n onMouseEnter,\n onBlur,\n 'aria-describedby': ariaDescribedby,\n disabled,\n } = this.props;\n const style = {\n width: width ?? 'auto',\n };\n const handlers = {\n onMouseOver,\n onMouseEnter,\n onMouseLeave,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props} {...getVisualStateDataAttributes({ disabled })}>\n <FocusTrap onBlur={onBlur}>\n <span\n data-tid={RadioGroupDataTids.root}\n ref={this.ref}\n style={style}\n className={styles.root()}\n role=\"radiogroup\"\n {...handlers}\n aria-describedby={ariaDescribedby}\n >\n <RadioGroupContext.Provider value={this.getRadioGroupContextValue()}>\n {this.renderChildren()}\n </RadioGroupContext.Provider>\n </span>\n </FocusTrap>\n </CommonWrapper>\n );\n }\n\n /**\n * @public\n */\n public focus() {\n const node = this.node;\n if (!node) {\n return;\n }\n\n let radio = node.querySelector('input[type=\"radio\"]:checked') as Nullable<HTMLInputElement>;\n\n // If no checked radios, try get first radio\n if (!radio || radio.disabled) {\n radio = node.querySelector('input[type=\"radio\"]:not([disabled])') as Nullable<HTMLInputElement>;\n }\n\n if (radio) {\n radio.focus();\n }\n }\n\n private getValue = () => (this.isControlled() ? this.props.value : this.state.activeItem);\n\n private getName = () => this.props.name || this.name;\n\n private isControlled = () => isNonNullable(this.props.value);\n\n private handleSelect = (value: T) => {\n if (!this.isControlled()) {\n this.setState({ activeItem: value });\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private renderChildren() {\n const { items, children } = this.props;\n invariant((!items && children) || (items && !children), 'Either items or children must be passed, not both');\n return items ? mapItems<T>(this.renderRadio, items) : children;\n }\n\n private renderRadio = (itemValue: T, data: React.ReactNode, index: number): JSX.Element => {\n const itemProps = {\n key: this.getKeyByItem(itemValue),\n className: cx({\n [styles.item()]: true,\n [styles.itemFirst()]: index === 0,\n [styles.itemInline()]: !!this.props.inline,\n }),\n };\n\n return (\n <span {...itemProps} role=\"presentation\">\n <Radio value={itemValue}>{this.getProps().renderItem(itemValue, data)}</Radio>\n </span>\n );\n };\n\n private getKeyByItem = (itemValue: T) => {\n if (this.props.toKey) {\n return this.props.toKey(itemValue);\n }\n return typeof itemValue === 'string' || typeof itemValue === 'number' ? itemValue : undefined;\n };\n\n private ref = (element: HTMLSpanElement) => {\n this.node = element;\n };\n}\n\nfunction renderItem<T>(_value: T, data: React.ReactNode) {\n return data;\n}\n\nfunction mapItems<T>(\n fn: (value: T, data: React.ReactNode, index: number) => React.ReactNode,\n items: T[] | Array<[T, React.ReactNode]>,\n) {\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, data] = normalizeEntry<T>(entry);\n result.push(fn(value, data, index));\n ++index;\n }\n return result;\n}\n\nfunction normalizeEntry<T>(entry: T | [T, React.ReactNode]): [T, React.ReactNode] {\n if (!Array.isArray(entry)) {\n return [entry, entry as unknown as React.ReactNode];\n }\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,71 +2,46 @@ import React, { AriaAttributes } from 'react';
2
2
  import { CommonProps } from '../../internal/CommonWrapper';
3
3
  import { Prevent } from './Prevent';
4
4
  export interface RadioGroupProps<T = string | number> extends CommonProps {
5
- /**
6
- * Значение по умолчанию. Должно быть одним из значений дочерних радиокнопок
7
- * или значений из параметра `items`
8
- */
5
+ /** Задает значение по умолчанию. Должно быть одним из значений дочерних радиокнопок или значений из параметра `items`. */
9
6
  defaultValue?: T;
10
- /**
11
- * Значение радиогруппы. Должно быть одним из значений радиокнопок.
12
- * Если не указано, то компонент будет работать, как неконтролируемый
13
- */
7
+ /** Задает значение радиогруппы. Должно быть одним из значений радиокнопок.
8
+ * Если не указано, то компонент будет работать, как неконтролируемый. */
14
9
  value?: T;
15
- /**
16
- * Может быть использовано, если не передан параметр `children`
17
- *
18
- * Массив параметров радиокнопок. Может быть типа `Array<Value>` или
19
- * `Array<[Value, Data]>`, где тип `Value` — значение радиокнопки, а `Data`
20
- * — значение которое будет использовано вторым параметром в `renderItem`.
21
- * Если тип `items: Array<Value>`, то он будет приведен к типу
22
- * `Array<[Value, Value]>`
23
- */
10
+ /** Задает массив параметров радиокнопок. Может быть типа `Array<Value>` или `Array<[Value, Data]>`,
11
+ * где тип `Value` значение радиокнопки, а `Data` — значение которое будет использовано вторым параметром в `renderItem`.
12
+ * Тип `Array<Value>` будет приведен к типу `Array<[Value, Value]>`.
13
+ * Может быть использовано, если не передан параметр `children`. */
24
14
  items?: T[] | Array<[T, React.ReactNode]>;
25
- /**
26
- * Аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется
27
- * случайное имя
28
- */
15
+ /** Устанавливает аттрибут name для вложенных радиокнопок. Если не указан, то сгенерируется случайное имя. */
29
16
  name?: string;
30
- /**
31
- * Метод получения уникального ключа по элементу
32
- * @param item
33
- */
17
+ /** Получает уникальный ключ по элементу
18
+ * @param item - элемент, по которуму нужно получить ключ. */
34
19
  toKey?: (item: T) => string | number;
35
- /**
36
- * Дизейблит все радиокнопки
37
- */
20
+ /** Делает все радиокнопки недоступными. */
38
21
  disabled?: boolean;
39
- /**
40
- * Переводит все радиокнопки в состояние валидации: предупреждение.
41
- */
22
+ /** Переводит все радиокнопки в состояние валидации "предупреждение". */
42
23
  warning?: boolean;
43
- /**
44
- * Переводит все радиокнопки в состояние валидации: ошибка.
45
- */
24
+ /** Переводит все радиокнопки в состояние валидации "ошибка". */
46
25
  error?: boolean;
47
- /**
48
- * Выравнивает элементы в строку. Не работает с `children`
49
- */
26
+ /** Выравнивает элементы items в строку. Не работает с children. */
50
27
  inline?: boolean;
51
- /**
52
- * Ширина радиогруппы. Не работает с `children`
53
- */
28
+ /** Задает ширину радиогруппы. Не работает с `children`. */
54
29
  width?: React.CSSProperties['width'];
55
- /**
56
- * Метод отрисовки контента радиокнопки. Не работает с `children`.
57
- *
58
- * Принимает два аргумента: `(value: Value, data: Data) => React.Node`
59
- */
30
+ /** Задает функцию, которая отображает контент радиокнопки. Не работает с `children`.
31
+ * @param {Value} itemValue - значение радиокнопки.
32
+ * @param {Data} data - значение для отрисовки радиокнопки. */
60
33
  renderItem?: (itemValue: T, data: React.ReactNode) => React.ReactNode;
61
- /**
62
- * Атрибут для указания id элемента(-ов), описывающих его
63
- */
34
+ /** @ignore */
64
35
  'aria-describedby'?: AriaAttributes['aria-describedby'];
65
- /** Вызывается при изменении `value` */
36
+ /** Задает функцию, которая вызывается при изменении значения радиогруппы (value). */
66
37
  onValueChange?: (value: T) => void;
38
+ /** Задает функцию, которая вызывается при потере радиогруппой фокуса. */
67
39
  onBlur?: (event: FocusEvent) => void;
40
+ /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
68
41
  onMouseLeave?: () => any;
42
+ /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */
69
43
  onMouseOver?: () => any;
44
+ /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */
70
45
  onMouseEnter?: () => any;
71
46
  }
72
47
  export interface RadioGroupState<T> {
@@ -77,13 +52,12 @@ export declare const RadioGroupDataTids: {
77
52
  };
78
53
  type DefaultProps = Required<Pick<RadioGroupProps<unknown>, 'renderItem'>>;
79
54
  /**
55
+ * Группа радиокнопок `RadioGroup` используется для выбора одного значения из нескольких, когда вариантов выбора немного — 2–5.
80
56
  *
81
- * `children` может содержать любую разметку с компонентами Radio,
82
- * если не передан параметр `items`.
83
- * Каждому компоненту Radio нужно указать параметр `value`, такого же типа
84
- * как и параметр `value` самой радиогруппы.
57
+ * `children` может содержать любую разметку с компонентами Radio, если не передан параметр `items`.
58
+ * Каждому компоненту Radio нужно указать параметр `value`, такого же типа, как и параметр `value` самой радиогруппы.
85
59
  *
86
- * Значения активного элемента сравниваются по строгому равенству `===`
60
+ * Значения активного элемента сравниваются по строгому равенству `===`.
87
61
  */
88
62
  export declare class RadioGroup<T> extends React.Component<RadioGroupProps<T>, RadioGroupState<T>> {
89
63
  static __KONTUR_REACT_UI__: string;