@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
@@ -4,7 +4,11 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
4
4
  var _Toast = require("../Toast/Toast");var _SingleToast;
5
5
 
6
6
  /**
7
- * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.
7
+ * `SingleToast` это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.
8
+ * Результат может быть положительным, отрицательным или нейтральным.
9
+ *
10
+ * Позволяет вызывать тосты с помощью статических методов.
11
+ * В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.
8
12
  */var
9
13
  SingleToast = exports.SingleToast = /*#__PURE__*/function (_React$Component) {function SingleToast() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
10
14
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * Позволяет вызывать тосты с помощью статических методов. В отличие от статических методов из компонента `<Toast>` - их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA,GAFA;AAGaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,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;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAlB8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnD3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAE9C,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAuB,YAAM,CAC9C,IAAIP,cAAK,CAACW,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpCC,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMpC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAS,sBAAA,CACL,CAAAA,sBAAA,GAAArC,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBM,sBAAA,CAAyBT,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactDom","_Toast","_SingleToast","SingleToast","exports","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","render","default","createElement","Toast","_extends2","ref","props","_inheritsLoose2","React","Component","__KONTUR_REACT_UI__","displayName","createRef","push","_SingleToast$ref$curr","close","_len2","_key2","current","version","search","ReactDOM","flushSync","_SingleToast$ref$curr2","_SingleToast$ref$curr3"],"sources":["SingleToast.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Toast, ToastProps } from '../Toast/Toast';\n\n/**\n * `SingleToast` — это короткое немодальное уведомление, которое сообщает пользователю о результате выполнения его команды.\n * Результат может быть положительным, отрицательным или нейтральным.\n *\n * Позволяет вызывать тосты с помощью статических методов.\n * В отличие от статических методов из компонента Toast их можно кастомизировать и они работают с `React@18`.\n */\nexport class SingleToast extends React.Component<ToastProps> {\n public static __KONTUR_REACT_UI__ = 'SingleToast';\n public static displayName = 'SingleToast';\n\n public static ref = React.createRef<Toast>();\n public static push: typeof Toast.push = (...args) => {\n SingleToast.close();\n SingleToast.ref.current?.push(...args);\n };\n public static close: typeof Toast.close = () => {\n if (React.version.search('18') === 0) {\n ReactDOM.flushSync(() => SingleToast.ref.current?.close());\n } else {\n SingleToast.ref.current?.close();\n }\n };\n render = () => {\n return <Toast ref={SingleToast.ref} {...this.props} />;\n };\n}\n"],"mappings":"iVAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;;AAEA,IAAAE,MAAA,GAAAF,OAAA,mBAAmD,IAAAG,YAAA;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,GANA;AAOaC,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAAE,gBAAA,YAAAF,YAAA,OAAAG,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;;;;;;;;;;;;;;;;IAgBtBU,MAAM,GAAG,YAAM;MACb,oBAAOnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACjB,MAAA,CAAAkB,KAAK,MAAAC,SAAA,CAAAH,OAAA,IAACI,GAAG,EAAElB,WAAW,CAACkB,GAAI,IAAKf,KAAA,CAAKgB,KAAK,CAAG,CAAC;IACxD,CAAC,QAAAhB,KAAA,MAAAiB,eAAA,CAAAN,OAAA,EAAAd,WAAA,EAAAE,gBAAA,SAAAF,WAAA,GAlB8BqB,cAAK,CAACC,SAAS,EAAAvB,YAAA,GAAnCC,WAAW,CAAXA,WAAW,CACRuB,mBAAmB,GAAG,aAAa,CADtCvB,WAAW,CAERwB,WAAW,GAAG,aAAa,CAF9BxB,WAAW,CAIRkB,GAAG,gBAAGG,cAAK,CAACI,SAAS,CAAQ,CAAC,CAJjCzB,WAAW,CAKR0B,IAAI,GAAsB,YAAa,KAAAC,qBAAA,CACnD3B,YAAW,CAAC4B,KAAK,CAAC,CAAC,CAAC,SAAAC,KAAA,GAAAxB,SAAA,CAAAC,MAAA,EADsBC,IAAI,OAAAC,KAAA,CAAAqB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA,KAAJvB,IAAI,CAAAuB,KAAA,IAAAzB,SAAA,CAAAyB,KAAA,GAE9C,CAAAH,qBAAA,GAAA3B,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBJ,qBAAA,CAAyBD,IAAI,CAAAf,KAAA,CAAAgB,qBAAA,EAAIpB,IAAI,CAAC,CACxC,CAAC,CARUP,WAAW,CASR4B,KAAK,GAAuB,YAAM,CAC9C,IAAIP,cAAK,CAACW,OAAO,CAACC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpCC,iBAAQ,CAACC,SAAS,CAAC,iBAAAC,sBAAA,SAAAA,sBAAA,GAAMpC,YAAW,CAACkB,GAAG,CAACa,OAAO,qBAAvBK,sBAAA,CAAyBR,KAAK,CAAC,CAAC,GAAC,CAC5D,CAAC,MAAM,KAAAS,sBAAA,CACL,CAAAA,sBAAA,GAAArC,YAAW,CAACkB,GAAG,CAACa,OAAO,aAAvBM,sBAAA,CAAyBT,KAAK,CAAC,CAAC,CAClC,CACF,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  `<SingleToast>` можно добавить в единственном месте в проекте, а статические методы будут всегда использовать последний отрендеренный экземпляр `<Toast>`.
2
2
 
3
3
  _На внешний вид этого примера влияет следующий пример_
4
-
4
+ ### Базовый пример
5
5
  ```jsx harmony
6
6
  import { Button, SingleToast } from '@skbkontur/react-ui';
7
7
 
@@ -13,6 +13,7 @@ import { Button, SingleToast } from '@skbkontur/react-ui';
13
13
  </div>
14
14
  ```
15
15
 
16
+ ### Кастомизация
16
17
  `<SingleToast>` можно кастомизировать с помощью переменных темы для `toast`.
17
18
  ```jsx harmony
18
19
  import { Button, SingleToast, ThemeContext, ThemeFactory, THEME_2022 } from '@skbkontur/react-ui';
@@ -0,0 +1,28 @@
1
+ import * as SingleToastStories from './SingleToast.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={SingleToastStories} />
6
+
7
+ # SingleToast
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/popup-elements/toast/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=230%3A5203)
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} />
@@ -4,30 +4,20 @@ import { CommonProps } from '../../internal/CommonWrapper';
4
4
  declare const types: readonly ["big", "mini", "normal"];
5
5
  export type SpinnerType = (typeof types)[number];
6
6
  export interface SpinnerProps extends CommonProps {
7
- /**
8
- * Подпись под спиннером
9
- */
7
+ /** Задает подпись под спиннером.
8
+ * @default "Загрузка" */
10
9
  caption?: React.ReactNode;
11
- /**
12
- * Переводит спиннер в "затемнённый режим"
13
- *
14
- * Цвет спиннера в "затемнённом режиме" определяется переменной `spinnerDimmedColor`
15
- */
10
+ /** Переводит спиннер в "затемнённый режим".
11
+ * Цвет спиннера в "затемнённом режиме" определяется переменной `spinnerDimmedColor`. */
16
12
  dimmed?: boolean;
17
- /**
18
- * Размер спиннера и текста
19
- *
20
- * @default normal
21
- */
13
+ /** Задает размер спиннера и текста.
14
+ * @default normal. */
22
15
  type?: SpinnerType;
16
+ /** Уменьшает спиннер для вставки в инлайн элемент. При type = "big"|"normal" размер спиннера уменьшается. */
23
17
  inline?: boolean;
24
- /**
25
- * Толщина спиннера
26
- */
18
+ /** Задает толщину спиннера. */
27
19
  width?: number;
28
- /**
29
- * Цвет спиннера
30
- */
20
+ /** Задает цвет спиннера. Не работает с пропом dimmed. */
31
21
  color?: React.CSSProperties['color'];
32
22
  }
33
23
  export declare const SpinnerDataTids: {
@@ -35,7 +25,12 @@ export declare const SpinnerDataTids: {
35
25
  };
36
26
  type DefaultProps = Required<Pick<SpinnerProps, 'type'>>;
37
27
  /**
38
- * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент [Loader](https://tech.skbkontur.ru/react-ui/#/Components/Loader)
28
+ * `Spinner` это зацикленный индикатор, не отображающий прогресс выполнения задачи.
29
+ *
30
+ * Используйте `Spinner`, чтобы показать, что система выполняет команду, которую дал пользователь.
31
+ * Не применяйте `Spinner` для заполнения паузы при загрузке контента, для этого предназначен GlobalLoader.
32
+ *
33
+ * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент Loader.
39
34
  */
40
35
  export declare class Spinner extends React.Component<SpinnerProps> {
41
36
  static __KONTUR_REACT_UI__: string;
@@ -32,11 +32,6 @@ var types = ['big', 'mini', 'normal'];
32
32
 
33
33
 
34
34
 
35
-
36
-
37
-
38
-
39
-
40
35
 
41
36
 
42
37
 
@@ -50,10 +45,14 @@ var SpinnerDataTids = exports.SpinnerDataTids = {
50
45
 
51
46
 
52
47
  /**
53
- * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент [Loader](https://tech.skbkontur.ru/react-ui/#/Components/Loader)
48
+ * `Spinner` это зацикленный индикатор, не отображающий прогресс выполнения задачи.
49
+ *
50
+ * Используйте `Spinner`, чтобы показать, что система выполняет команду, которую дал пользователь.
51
+ * Не применяйте `Spinner` для заполнения паузы при загрузке контента, для этого предназначен GlobalLoader.
52
+ *
53
+ * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент Loader.
54
54
  */var
55
55
 
56
-
57
56
  Spinner = exports.Spinner = (0, _rootNode.rootNode)(_class = (_Spinner = /*#__PURE__*/function (_React$Component) {function Spinner() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
58
57
 
59
58
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_ThemeContext","_SpinnerIcon","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_Spinner2","_class","_Spinner","types","SpinnerDataTids","exports","root","Spinner","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","renderSpinner","type","dimmed","inline","_cx","default","createElement","SpinnerIcon","size","className","cx","styles","circle","theme","props","color","circleDimmedColor","circleWithoutColorAnimation","width","renderCaption","caption","captionColor","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","_this$props","_this$props$caption","CommonWrapper","_extends2","rootNodeRef","setRootNode","spinner","inner","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","node","bool","oneOf","Types","Object","assign","map","_ref"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/SpinnerIcon/SpinnerIcon';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Spinner.styles';\n\nconst types = ['big', 'mini', 'normal'] as const;\n\nexport type SpinnerType = (typeof types)[number];\n\nexport interface SpinnerProps extends CommonProps {\n /**\n * Подпись под спиннером\n */\n caption?: React.ReactNode;\n /**\n * Переводит спиннер в \"затемнённый режим\"\n *\n * Цвет спиннера в \"затемнённом режиме\" определяется переменной `spinnerDimmedColor`\n */\n dimmed?: boolean;\n /**\n * Размер спиннера и текста\n *\n * @default normal\n */\n type?: SpinnerType;\n inline?: boolean;\n /**\n * Толщина спиннера\n */\n width?: number;\n /**\n * Цвет спиннера\n */\n color?: React.CSSProperties['color'];\n}\n\nexport const SpinnerDataTids = {\n root: 'Spinner__root',\n} as const;\n\ntype DefaultProps = Required<Pick<SpinnerProps, 'type'>>;\n\n/**\n * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент [Loader](https://tech.skbkontur.ru/react-ui/#/Components/Loader)\n */\n\n@rootNode\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n public static displayName = 'Spinner';\n\n public static propTypes = {\n /**\n * Текст рядом с мини-лоадером.\n *\n * 'Загрузка' - значение по-умолчанию\n */\n caption: PropTypes.node,\n\n dimmed: PropTypes.bool,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * Значение по-умолчанию - normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(types),\n };\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n };\n\n private getProps = createPropsGetter(Spinner.defaultProps);\n\n public static Types: Record<SpinnerType, SpinnerType> = Object.assign({}, ...types.map((type) => ({ [type]: type })));\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption = null, dimmed, inline } = this.props;\n const type = this.getProps().type;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SpinnerDataTids.root} className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed, inline)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean, inline?: boolean) => {\n return (\n <SpinnerIcon\n size={type}\n className={cx({\n [styles.circle(this.theme)]: !dimmed && !this.props.color,\n [styles.circleDimmedColor(this.theme)]: dimmed,\n [styles.circleWithoutColorAnimation()]: dimmed || !!this.props.color,\n })}\n dimmed={dimmed}\n width={this.props.width}\n color={this.props.color}\n inline={inline}\n />\n );\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_ThemeContext","_SpinnerIcon","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_Spinner2","_class","_Spinner","types","SpinnerDataTids","exports","root","Spinner","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","renderSpinner","type","dimmed","inline","_cx","default","createElement","SpinnerIcon","size","className","cx","styles","circle","theme","props","color","circleDimmedColor","circleWithoutColorAnimation","width","renderCaption","caption","captionColor","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","renderMain","_this$props","_this$props$caption","CommonWrapper","_extends2","rootNodeRef","setRootNode","spinner","inner","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","node","bool","oneOf","Types","Object","assign","map","_ref"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { SpinnerIcon } from '../../internal/SpinnerIcon/SpinnerIcon';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Spinner.styles';\n\nconst types = ['big', 'mini', 'normal'] as const;\n\nexport type SpinnerType = (typeof types)[number];\n\nexport interface SpinnerProps extends CommonProps {\n /** Задает подпись под спиннером.\n * @default \"Загрузка\" */\n caption?: React.ReactNode;\n\n /** Переводит спиннер в \"затемнённый режим\".\n * Цвет спиннера в \"затемнённом режиме\" определяется переменной `spinnerDimmedColor`. */\n dimmed?: boolean;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: SpinnerType;\n\n /** Уменьшает спиннер для вставки в инлайн элемент. При type = \"big\"|\"normal\" размер спиннера уменьшается. */\n inline?: boolean;\n\n /** Задает толщину спиннера. */\n width?: number;\n\n /** Задает цвет спиннера. Не работает с пропом dimmed. */\n color?: React.CSSProperties['color'];\n}\n\nexport const SpinnerDataTids = {\n root: 'Spinner__root',\n} as const;\n\ntype DefaultProps = Required<Pick<SpinnerProps, 'type'>>;\n\n/**\n * `Spinner` — это зацикленный индикатор, не отображающий прогресс выполнения задачи.\n *\n * Используйте `Spinner`, чтобы показать, что система выполняет команду, которую дал пользователь.\n * Не применяйте `Spinner` для заполнения паузы при загрузке контента, для этого предназначен GlobalLoader.\n *\n * Используйте компонент `Spinner`, если вам нужен спиннер, без дополнительного функционала, который предоставляет компонент Loader.\n */\n@rootNode\nexport class Spinner extends React.Component<SpinnerProps> {\n public static __KONTUR_REACT_UI__ = 'Spinner';\n public static displayName = 'Spinner';\n\n public static propTypes = {\n /**\n * Текст рядом с мини-лоадером.\n *\n * 'Загрузка' - значение по-умолчанию\n */\n caption: PropTypes.node,\n\n dimmed: PropTypes.bool,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * Значение по-умолчанию - normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(types),\n };\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n };\n\n private getProps = createPropsGetter(Spinner.defaultProps);\n\n public static Types: Record<SpinnerType, SpinnerType> = Object.assign({}, ...types.map((type) => ({ [type]: type })));\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption = null, dimmed, inline } = this.props;\n const type = this.getProps().type;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SpinnerDataTids.root} className={styles.spinner()}>\n <span className={styles.inner()}>{this.renderSpinner(type, dimmed, inline)}</span>\n {caption && this.renderCaption(type, caption)}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderSpinner = (type: SpinnerType, dimmed?: boolean, inline?: boolean) => {\n return (\n <SpinnerIcon\n size={type}\n className={cx({\n [styles.circle(this.theme)]: !dimmed && !this.props.color,\n [styles.circleDimmedColor(this.theme)]: dimmed,\n [styles.circleWithoutColorAnimation()]: dimmed || !!this.props.color,\n })}\n dimmed={dimmed}\n width={this.props.width}\n color={this.props.color}\n inline={inline}\n />\n );\n };\n\n private renderCaption = (type: SpinnerType, caption: React.ReactNode) => (\n <span className={cx(styles[type](this.theme), styles.captionColor(this.theme))}>{caption}</span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  import { Gapped, Spinner } from '@skbkontur/react-ui';
3
4
 
@@ -18,7 +19,7 @@ const reactNodeCaption = (
18
19
  </Gapped>;
19
20
  ```
20
21
 
21
- #### Локали по умолчанию
22
+ ### Локали по умолчанию
22
23
 
23
24
  ```typescript static
24
25
  interface SpinnerLocale {
@@ -0,0 +1,28 @@
1
+ import * as SpinnerStories from './Spinner.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={SpinnerStories} />
6
+
7
+ # Spinner
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/progress-indicators/spinner/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=396%3A15631)
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} />
@@ -3,13 +3,14 @@ import PropTypes from 'prop-types';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface StickyProps extends Omit<CommonProps, 'children'> {
6
+ /** Задает сторону залипания. */
6
7
  side: 'top' | 'bottom';
7
- /**
8
- * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии
9
- * @default 0
10
- */
8
+ /** Задает отступ от края экрана в пикселях, на который сдвигается элемент в залипшем состоянии.
9
+ * @default 0 */
11
10
  offset?: number;
11
+ /** Задает функцию, которая возвращает DOM-элемент, который нельзя пересекать. */
12
12
  getStop?: () => Nullable<HTMLElement>;
13
+ /** @ignore */
13
14
  children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
14
15
  }
15
16
  export interface StickyState {
@@ -25,6 +26,10 @@ export declare const StickyDataTids: {
25
26
  readonly root: "Sticky__root";
26
27
  };
27
28
  type DefaultProps = Required<Pick<StickyProps, 'offset'>>;
29
+ /**
30
+ * `Sticky` позволяет закреплять элемент интерфейса в определенной позиции на экране при прокрутке страницы.
31
+ * Это полезно для создания "прилипающих" элементов, которые остаются видимыми при прокрутке содержимого.
32
+ */
28
33
  export declare class Sticky extends React.Component<StickyProps, StickyState> {
29
34
  static __KONTUR_REACT_UI__: string;
30
35
  static displayName: string;
@@ -33,6 +33,10 @@ var MAX_REFLOW_RETRIES = 5;
33
33
 
34
34
 
35
35
 
36
+
37
+
38
+
39
+
36
40
 
37
41
 
38
42
 
@@ -40,10 +44,14 @@ var MAX_REFLOW_RETRIES = 5;
40
44
 
41
45
  var StickyDataTids = exports.StickyDataTids = {
42
46
  root: 'Sticky__root'
43
- };var
47
+ };
44
48
 
45
49
 
46
50
 
51
+ /**
52
+ * `Sticky` позволяет закреплять элемент интерфейса в определенной позиции на экране при прокрутке страницы.
53
+ * Это полезно для создания "прилипающих" элементов, которые остаются видимыми при прокрутке содержимого.
54
+ */var
47
55
 
48
56
  Sticky = exports.Sticky = (0, _rootNode.rootNode)(_class = (_Sticky = /*#__PURE__*/function (_React$Component) {function Sticky() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
49
57
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_shallowequal","_globalObject","LayoutEvents","_interopRequireWildcard","_utils","_ZIndex","_CommonWrapper","_Emotion","_rootNode","_getDOMRect3","_createPropsGetter","_Sticky2","_class","_Sticky","MAX_REFLOW_RETRIES","StickyDataTids","exports","root","Sticky","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","fixed","deltaHeight","stopped","relativeTop","layoutSubscription","remove","reflowCounter","refWrapper","ref","wrapper","refInner","inner","reflow","_globalObject$documen","globalObject","document","documentElement","Error","windowHeight","innerHeight","clientHeight","_getDOMRect","getDOMRect","top","bottom","left","width","_getDOMRect2","height","_this$props","props","getStop","side","_this$state","prevFixed","_this$state$height","prevHeight","offset","Math","floor","setState","stop","stopRect","outerHeight","_inheritsLoose2","default","_proto","prototype","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","shallowEqual","emit","render","_cx","children","_this$state2","innerStyle","isFunction","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","ZIndex","priority","applyZIndex","cx","style","wrapperRef","container","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired"],"sources":["Sticky.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends Omit<CommonProps, 'children'> {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset?: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport const StickyDataTids = {\n root: 'Sticky__root',\n} as const;\n\ntype DefaultProps = Required<Pick<StickyProps, 'offset'>>;\n\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n public static displayName = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps: DefaultProps = { offset: 0 };\n\n private getProps = createPropsGetter(Sticky.defaultProps);\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side } = this.props;\n const offset = this.getProps().offset;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={StickyDataTids.root} ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n if (!globalObject.document?.documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = globalObject.innerHeight || globalObject.document.documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left, width } = getDOMRect(this.wrapper);\n const { height } = getDOMRect(this.inner);\n const { getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const offset = this.getProps().offset;\n const fixed = side === 'top' ? top < offset : Math.floor(bottom) > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n this.setState({ width });\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = getDOMRect(stop);\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_shallowequal","_globalObject","LayoutEvents","_interopRequireWildcard","_utils","_ZIndex","_CommonWrapper","_Emotion","_rootNode","_getDOMRect3","_createPropsGetter","_Sticky2","_class","_Sticky","MAX_REFLOW_RETRIES","StickyDataTids","exports","root","Sticky","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","fixed","deltaHeight","stopped","relativeTop","layoutSubscription","remove","reflowCounter","refWrapper","ref","wrapper","refInner","inner","reflow","_globalObject$documen","globalObject","document","documentElement","Error","windowHeight","innerHeight","clientHeight","_getDOMRect","getDOMRect","top","bottom","left","width","_getDOMRect2","height","_this$props","props","getStop","side","_this$state","prevFixed","_this$state$height","prevHeight","offset","Math","floor","setState","stop","stopRect","outerHeight","_inheritsLoose2","default","_proto","prototype","componentDidMount","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","shallowEqual","emit","render","_cx","children","_this$state2","innerStyle","isFunction","createElement","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","ZIndex","priority","applyZIndex","cx","style","wrapperRef","container","React","Component","__KONTUR_REACT_UI__","displayName","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired"],"sources":["Sticky.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends Omit<CommonProps, 'children'> {\n /** Задает сторону залипания. */\n side: 'top' | 'bottom';\n\n /** Задает отступ от края экрана в пикселях, на который сдвигается элемент в залипшем состоянии.\n * @default 0 */\n offset?: number;\n\n /** Задает функцию, которая возвращает DOM-элемент, который нельзя пересекать. */\n getStop?: () => Nullable<HTMLElement>;\n\n /** @ignore */\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport const StickyDataTids = {\n root: 'Sticky__root',\n} as const;\n\ntype DefaultProps = Required<Pick<StickyProps, 'offset'>>;\n\n/**\n * `Sticky` позволяет закреплять элемент интерфейса в определенной позиции на экране при прокрутке страницы.\n * Это полезно для создания \"прилипающих\" элементов, которые остаются видимыми при прокрутке содержимого.\n */\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n public static displayName = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps: DefaultProps = { offset: 0 };\n\n private getProps = createPropsGetter(Sticky.defaultProps);\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side } = this.props;\n const offset = this.getProps().offset;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={StickyDataTids.root} ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n /**\n * Пересчитать габариты и позицию залипшего элемента\n *\n * @public\n */\n public reflow = () => {\n if (!globalObject.document?.documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = globalObject.innerHeight || globalObject.document.documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left, width } = getDOMRect(this.wrapper);\n const { height } = getDOMRect(this.inner);\n const { getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const offset = this.getProps().offset;\n const fixed = side === 'top' ? top < offset : Math.floor(bottom) > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n this.setState({ width });\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = getDOMRect(stop);\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ ### Базовый пример
1
2
  ```jsx harmony
2
3
  const style = {
3
4
  padding: 10,
@@ -0,0 +1,24 @@
1
+ import * as StickyStories from './Sticky.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={StickyStories} />
6
+
7
+ # Sticky
8
+
9
+ <Description />
10
+
11
+ ## Базовый пример
12
+
13
+ <Primary />
14
+
15
+ ## Пропы
16
+
17
+ <details>
18
+ <summary>Открыть таблицу с пропами</summary>
19
+ <ArgTypes />
20
+ </details>
21
+
22
+ ## Примеры использования
23
+
24
+ <Stories title="" includePrimary={false} />
@@ -9,20 +9,26 @@ export declare const SwitcherDataTids: {
9
9
  readonly root: "Switcher__root";
10
10
  };
11
11
  export interface SwitcherProps extends Pick<HTMLAttributes<unknown>, 'role'>, CommonProps {
12
- /**
13
- * Список строк или список элементов типа `{ label: string, value: string, buttonProps?: Partial<ButtonProps> }`
14
- */
12
+ /** Задает список строк или список элементов типа `{ label: string, value: string, buttonProps?: Partial<ButtonProps> }`. */
15
13
  items: SwitcherItems[];
14
+ /** Устанавливает значение свитчера. */
16
15
  value?: string;
16
+ /** Задает функцию, которая вызывается при изменении значения свитчера (value). */
17
17
  onValueChange?: (value: string) => void;
18
+ /** Задает подпись около свитчера. */
18
19
  caption?: string;
20
+ /** Переводит контрол в состояние валидации "ошибка". */
19
21
  error?: boolean;
20
- /** Размер */
22
+ /** Задает размер контрола. */
21
23
  size?: SizeProp;
24
+ /** Делает компонент недоступным. */
22
25
  disabled?: boolean;
23
- /**
24
- * Функция для отрисовки элемента. Аргументы — `label`,
25
- * `value`, `buttonProps`, `renderDefault`, `ariaLabel`
26
+ /** Задает функцию отрисовки элемента.
27
+ * @param `label` -
28
+ * @param `value` -
29
+ * @param `buttonProps` -
30
+ * @param `renderDefault` -
31
+ * @param `ariaLabel` -
26
32
  */
27
33
  renderItem?: (label: string, value: string, buttonProps: ButtonProps, renderDefault: () => React.ReactNode, ariaLabel?: string) => React.ReactNode;
28
34
  }
@@ -36,6 +42,11 @@ interface SwitcherItem {
36
42
  'aria-label'?: string;
37
43
  buttonProps?: Partial<ButtonProps>;
38
44
  }
45
+ /**
46
+ * Переключатель `Switcher` — это замена RadioGroup.
47
+ *
48
+ * Не используйте переключатель в качестве навигации, для этого лучше подходят Tabs.
49
+ */
39
50
  export declare class Switcher extends React.Component<SwitcherProps, SwitcherState> {
40
51
  static __KONTUR_REACT_UI__: string;
41
52
  static displayName: string;
@@ -20,7 +20,7 @@ var _helpers = require("./helpers");var _class, _Switcher;
20
20
 
21
21
  var SwitcherDataTids = exports.SwitcherDataTids = {
22
22
  root: 'Switcher__root'
23
- };var
23
+ };
24
24
 
25
25
 
26
26
 
@@ -67,6 +67,17 @@ var SwitcherDataTids = exports.SwitcherDataTids = {
67
67
 
68
68
 
69
69
 
70
+
71
+
72
+
73
+
74
+
75
+
76
+ /**
77
+ * Переключатель `Switcher` — это замена RadioGroup.
78
+ *
79
+ * Не используйте переключатель в качестве навигации, для этого лучше подходят Tabs.
80
+ */var
70
81
 
71
82
  Switcher = exports.Switcher = (0, _rootNode.rootNode)(_class = (_Switcher = /*#__PURE__*/function (_React$Component) {function Switcher() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
72
83
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_identifiers","_Group","_Button","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_Switcher2","_switcherTheme","_helpers","_class","_Switcher","SwitcherDataTids","exports","root","Switcher","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedIndex","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","_this$_extractPropsFr","_focus","index","setState","handleKey","e","isKeyEnter","_this$_extractPropsFr2","buttonProps","disabled","isKeyArrowHorizontal","preventDefault","move","isKeyArrowLeft","left","selectedIndex","newFocusedIndex","_getNextFocusedIndex","_this$props","i","mod","_this$_extractPropsFr3","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","_this$props2","size","role","renderItem","_this$_extractPropsFr4","ariaLabel","itemValue","customButtonProps","isChecked","commonButtonProps","checked","visuallyFocused","onClick","disableFocus","corners","getButtonCorners","_extends2","default","renderDefault","renderDefaultItem","createElement","Button","key","getLabelSizeClassName","styles","captionLarge","theme","captionMedium","captionSmall","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","getSwitcherTheme","Provider","renderMain","_cx","listClassName","cx","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","captionClassName","caption","CommonWrapper","rootNodeRef","setRootNode","wrap","Group","React","Component","__KONTUR_REACT_UI__","displayName","defaultProps","propTypes","PropTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"sources":["Switcher.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { getButtonCorners, Group } from '../Group';\nimport { Button, ButtonProps } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\nimport { mod } from './helpers';\n\nexport type SwitcherItems = string | SwitcherItem;\n\nexport const SwitcherDataTids = {\n root: 'Switcher__root',\n} as const;\n\nexport interface SwitcherProps extends Pick<HTMLAttributes<unknown>, 'role'>, CommonProps {\n /**\n * Список строк или список элементов типа `{ label: string, value: string, buttonProps?: Partial<ButtonProps> }`\n */\n items: SwitcherItems[];\n\n value?: string;\n\n onValueChange?: (value: string) => void;\n\n caption?: string;\n\n error?: boolean;\n\n /** Размер */\n size?: SizeProp;\n\n disabled?: boolean;\n\n /**\n * Функция для отрисовки элемента. Аргументы — `label`,\n * `value`, `buttonProps`, `renderDefault`, `ariaLabel`\n */\n renderItem?: (\n label: string,\n value: string,\n buttonProps: ButtonProps,\n renderDefault: () => React.ReactNode,\n ariaLabel?: string,\n ) => React.ReactNode;\n}\n\ntype DefaultProps = Required<Pick<SwitcherProps, 'role'>>;\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n value: string;\n label: string;\n 'aria-label'?: string;\n buttonProps?: Partial<ButtonProps>;\n}\n\n@rootNode\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n public static displayName = 'Switcher';\n\n public static defaultProps: DefaultProps = {\n role: 'switch',\n };\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n caption: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n renderItem: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const captionClassName = cx(styles.caption(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SwitcherDataTids.root} className={styles.root()}>\n {this.props.caption ? <div className={captionClassName}>{this.props.caption}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value, buttonProps } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n if (!buttonProps?.disabled) {\n this.selectItem(value);\n }\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e));\n }\n };\n\n private move = (left: boolean) => {\n const selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n const newFocusedIndex = this._getNextFocusedIndex(left, selectedIndex);\n this._focus(newFocusedIndex);\n };\n\n private _getNextFocusedIndex = (left: boolean, focusedIndex: number): number => {\n const { items, disabled } = this.props;\n if (disabled) {\n return focusedIndex;\n }\n\n for (let i = 1; i < items.length; i++) {\n const index = mod(focusedIndex + (left ? -i : i), items.length);\n const { buttonProps } = this._extractPropsFromItem(items[index]);\n if (!buttonProps?.disabled) {\n return index;\n }\n }\n return focusedIndex;\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n const { items, value, size, disabled, role, renderItem } = this.props;\n return items.map((item, i) => {\n const {\n 'aria-label': ariaLabel,\n label,\n value: itemValue,\n buttonProps: customButtonProps,\n } = this._extractPropsFromItem(item);\n\n const isChecked = value === itemValue;\n const commonButtonProps = {\n 'aria-checked': isChecked,\n role,\n checked: isChecked,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(itemValue);\n },\n disableFocus: true,\n size,\n disabled,\n corners: getButtonCorners(i === 0, i === items.length - 1),\n };\n\n const buttonProps = {\n ...commonButtonProps,\n ...customButtonProps,\n };\n\n const renderDefault = () => this.renderDefaultItem(label, itemValue, buttonProps, ariaLabel);\n\n return renderItem ? renderItem(label, itemValue, buttonProps, renderDefault, ariaLabel) : renderDefault();\n });\n };\n\n private renderDefaultItem = (label: string, value: string, buttonProps: ButtonProps, ariaLabel?: string) => (\n <Button aria-label={ariaLabel} key={value} {...buttonProps}>\n {label}\n </Button>\n );\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_identifiers","_Group","_Button","_ThemeContext","_CommonWrapper","_Emotion","_rootNode","_Switcher2","_switcherTheme","_helpers","_class","_Switcher","SwitcherDataTids","exports","root","Switcher","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedIndex","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","_this$_extractPropsFr","_focus","index","setState","handleKey","e","isKeyEnter","_this$_extractPropsFr2","buttonProps","disabled","isKeyArrowHorizontal","preventDefault","move","isKeyArrowLeft","left","selectedIndex","newFocusedIndex","_getNextFocusedIndex","_this$props","i","mod","_this$_extractPropsFr3","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","_this$props2","size","role","renderItem","_this$_extractPropsFr4","ariaLabel","itemValue","customButtonProps","isChecked","commonButtonProps","checked","visuallyFocused","onClick","disableFocus","corners","getButtonCorners","_extends2","default","renderDefault","renderDefaultItem","createElement","Button","key","getLabelSizeClassName","styles","captionLarge","theme","captionMedium","captionSmall","_inheritsLoose2","_proto","prototype","render","_this2","ThemeContext","Consumer","getSwitcherTheme","Provider","renderMain","_cx","listClassName","cx","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","captionClassName","caption","CommonWrapper","rootNodeRef","setRootNode","wrap","Group","React","Component","__KONTUR_REACT_UI__","displayName","defaultProps","propTypes","PropTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"sources":["Switcher.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { getButtonCorners, Group } from '../Group';\nimport { Button, ButtonProps } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { SizeProp } from '../../lib/types/props';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\nimport { mod } from './helpers';\n\nexport type SwitcherItems = string | SwitcherItem;\n\nexport const SwitcherDataTids = {\n root: 'Switcher__root',\n} as const;\n\nexport interface SwitcherProps extends Pick<HTMLAttributes<unknown>, 'role'>, CommonProps {\n /** Задает список строк или список элементов типа `{ label: string, value: string, buttonProps?: Partial<ButtonProps> }`. */\n items: SwitcherItems[];\n\n /** Устанавливает значение свитчера. */\n value?: string;\n\n /** Задает функцию, которая вызывается при изменении значения свитчера (value). */\n onValueChange?: (value: string) => void;\n\n /** Задает подпись около свитчера. */\n caption?: string;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает функцию отрисовки элемента.\n * @param `label` -\n * @param `value` -\n * @param `buttonProps` -\n * @param `renderDefault` -\n * @param `ariaLabel` -\n */\n renderItem?: (\n label: string,\n value: string,\n buttonProps: ButtonProps,\n renderDefault: () => React.ReactNode,\n ariaLabel?: string,\n ) => React.ReactNode;\n}\n\ntype DefaultProps = Required<Pick<SwitcherProps, 'role'>>;\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n value: string;\n label: string;\n 'aria-label'?: string;\n buttonProps?: Partial<ButtonProps>;\n}\n\n/**\n * Переключатель `Switcher` — это замена RadioGroup.\n *\n * Не используйте переключатель в качестве навигации, для этого лучше подходят Tabs.\n */\n@rootNode\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n public static displayName = 'Switcher';\n\n public static defaultProps: DefaultProps = {\n role: 'switch',\n };\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n caption: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n renderItem: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const captionClassName = cx(styles.caption(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={SwitcherDataTids.root} className={styles.root()}>\n {this.props.caption ? <div className={captionClassName}>{this.props.caption}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value, buttonProps } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n if (!buttonProps?.disabled) {\n this.selectItem(value);\n }\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e));\n }\n };\n\n private move = (left: boolean) => {\n const selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n const newFocusedIndex = this._getNextFocusedIndex(left, selectedIndex);\n this._focus(newFocusedIndex);\n };\n\n private _getNextFocusedIndex = (left: boolean, focusedIndex: number): number => {\n const { items, disabled } = this.props;\n if (disabled) {\n return focusedIndex;\n }\n\n for (let i = 1; i < items.length; i++) {\n const index = mod(focusedIndex + (left ? -i : i), items.length);\n const { buttonProps } = this._extractPropsFromItem(items[index]);\n if (!buttonProps?.disabled) {\n return index;\n }\n }\n return focusedIndex;\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n const { items, value, size, disabled, role, renderItem } = this.props;\n return items.map((item, i) => {\n const {\n 'aria-label': ariaLabel,\n label,\n value: itemValue,\n buttonProps: customButtonProps,\n } = this._extractPropsFromItem(item);\n\n const isChecked = value === itemValue;\n const commonButtonProps = {\n 'aria-checked': isChecked,\n role,\n checked: isChecked,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(itemValue);\n },\n disableFocus: true,\n size,\n disabled,\n corners: getButtonCorners(i === 0, i === items.length - 1),\n };\n\n const buttonProps = {\n ...commonButtonProps,\n ...customButtonProps,\n };\n\n const renderDefault = () => this.renderDefaultItem(label, itemValue, buttonProps, ariaLabel);\n\n return renderItem ? renderItem(label, itemValue, buttonProps, renderDefault, ariaLabel) : renderDefault();\n });\n };\n\n private renderDefaultItem = (label: string, value: string, buttonProps: ButtonProps, ariaLabel?: string) => (\n <Button aria-label={ariaLabel} key={value} {...buttonProps}>\n {label}\n </Button>\n );\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.captionLarge(this.theme);\n case 'medium':\n return styles.captionMedium(this.theme);\n case 'small':\n default:\n return styles.captionSmall(this.theme);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}