@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
@@ -0,0 +1,24 @@
1
+ import * as ScrollContainerStories from './ScrollContainer.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={ScrollContainerStories} />
6
+
7
+ # ScrollContainer
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} />
@@ -1 +1 @@
1
- {"version":3,"names":["React","MenuItem","Item","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","createElement","isNotSelectable","props","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\ninterface ItemProps {\n children?: React.ReactNode;\n isNotSelectable?: boolean;\n}\nexport class Item extends React.Component<ItemProps> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n public static displayName = 'SelectItem';\n\n public render() {\n return <MenuItem isNotSelectable={this.props.isNotSelectable}>{this.props.children}</MenuItem>;\n }\n}\n"],"mappings":"sEAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,QAAQ,QAAQ,aAAa;;;;;;AAMtC,WAAaC,IAAI,0BAAAC,gBAAA,YAAAD,KAAA,UAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA,WAAAC,cAAA,CAAAJ,IAAA,EAAAC,gBAAA,MAAAI,MAAA,GAAAL,IAAA,CAAAM,SAAA,CAAAD,MAAA;;;;EAIRE,MAAM,GAAb,SAAAA,OAAA,EAAgB;IACd,oBAAOT,KAAA,CAAAU,aAAA,CAACT,QAAQ,IAACU,eAAe,EAAE,IAAI,CAACC,KAAK,CAACD,eAAgB,IAAE,IAAI,CAACC,KAAK,CAACC,QAAmB,CAAC;EAChG,CAAC,QAAAX,IAAA,GANuBF,KAAK,CAACc,SAAS,EAA5BZ,IAAI,CACDa,mBAAmB,GAAG,YAAY,CADrCb,IAAI,CAEDc,WAAW,GAAG,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","MenuItem","Item","_React$Component","apply","arguments","_inheritsLoose","_proto","prototype","render","createElement","isNotSelectable","props","children","Component","__KONTUR_REACT_UI__","displayName"],"sources":["Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport { MenuItem } from '../MenuItem';\n\ninterface ItemProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Запрещает выделение и выбор данного пункта. */\n isNotSelectable?: boolean;\n}\nexport class Item extends React.Component<ItemProps> {\n public static __KONTUR_REACT_UI__ = 'SelectItem';\n public static displayName = 'SelectItem';\n\n public render() {\n return <MenuItem isNotSelectable={this.props.isNotSelectable}>{this.props.children}</MenuItem>;\n }\n}\n"],"mappings":"sEAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB,SAASC,QAAQ,QAAQ,aAAa;;;;;;;;;AAStC,WAAaC,IAAI,0BAAAC,gBAAA,YAAAD,KAAA,UAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA,WAAAC,cAAA,CAAAJ,IAAA,EAAAC,gBAAA,MAAAI,MAAA,GAAAL,IAAA,CAAAM,SAAA,CAAAD,MAAA;;;;EAIRE,MAAM,GAAb,SAAAA,OAAA,EAAgB;IACd,oBAAOT,KAAA,CAAAU,aAAA,CAACT,QAAQ,IAACU,eAAe,EAAE,IAAI,CAACC,KAAK,CAACD,eAAgB,IAAE,IAAI,CAACC,KAAK,CAACC,QAAmB,CAAC;EAChG,CAAC,QAAAX,IAAA,GANuBF,KAAK,CAACc,SAAS,EAA5BZ,IAAI,CACDa,mBAAmB,GAAG,YAAY,CADrCb,IAAI,CAEDc,WAAW,GAAG,YAAY","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  interface ItemProps {
3
+ /** @ignore */
3
4
  children?: React.ReactNode;
5
+ /** Запрещает выделение и выбор данного пункта. */
4
6
  isNotSelectable?: boolean;
5
7
  }
6
8
  export declare class Item extends React.Component<ItemProps> {
@@ -53,6 +53,17 @@ export var SelectDataTids = {
53
53
  export var SelectIds = {
54
54
  menu: SelectDataTids.menu
55
55
  };
56
+
57
+ /**
58
+ * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.
59
+ *
60
+ * Используйте `Select` при:
61
+ * * заполнении форм, например для выбора месяца.
62
+ * * переключении состояний, например, фильтра.
63
+ * * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.
64
+ *
65
+ * Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.
66
+ */
56
67
  export var Select = (_dec = locale('Select', SelectLocaleHelper), responsiveLayout(_class = rootNode(_class = _dec(_class = (_Select = /*#__PURE__*/function (_React$Component) {
57
68
  function Select() {
58
69
  var _this;
@@ -1 +1 @@
1
- {"version":3,"names":["React","invariant","globalObject","debounce","isKeyArrowDown","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","locale","reactGetTextContent","Button","filterProps","Input","Menu","MenuItem","MenuSeparator","RenderLayer","createPropsGetter","getRandomID","isFunction","isNonNullable","isReactUINode","ThemeContext","CommonWrapper","MobilePopup","cx","responsiveLayout","getRootNode","rootNode","ThemeFactory","styles","linkStyles","Popup","ZIndex","getMenuPositions","ArrowDownIcon","Item","SelectLocaleHelper","getSelectTheme","PASS_BUTTON_PROPS","id","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","SelectDataTids","root","menu","label","SelectIds","Select","_dec","_class","_Select","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","opened","value","props","defaultValue","searchPattern","menuId","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","getDefaultButtonParams","_this$renderLabel","renderLabel","isPlaceholder","buttonParams","onClick","toggle","onKeyDown","handleKey","getSearch","createElement","className","search","ref","debouncedFocusInput","onValueChange","handleSearch","width","getMobileSearch","autoFocus","getMenuItems","isMobile","isMobileLayout","mapItems","iValue","item","i","comment","element","isValidElement","cloneElement","key","areValuesEqual","select","bind","renderItem","popupGetParent","focusInput","input","refMenu","e","preventDefault","up","down","enter","_this$menu","highlightItem","buttonRef","getButton","_props$ariaLabel","button","_renderButton","renderDefaultButton","Children","only","onFocus","onBlur","_inheritsLoose","_proto","prototype","componentDidUpdate","_prevProps","prevState","addEventListener","removeEventListener","render","_this2","Consumer","theme","create","menuOffsetY","selectMenuOffsetY","Provider","renderMain","getMenuRenderer","renderMobileMenu","renderMenu","_this$getProps$dataT","_cx","dataTid","style","maxWidth","undefined","rootMobile","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","_this$locale","getValue","getItemByValue","renderValue","placeholder","getLeftIconClass","leftIconLink","leftIconLarge","leftIconMedium","leftIconSmall","params","_cx2","_cx3","_cx4","buttonProps","align","labelProps","customUsePlaceholder","placeholderDisabled","paddingRight","getSelectIconGap","useIsCustom","icon","selectButtonContainer","_icon","arrowWrap","arrowDisabled","customUseArrow","_this3","getArrowPadding","selectIconGapLarge","selectIconGapMedium","selectIconGapSmall","arrowLeftPadding","parseFloat","_this$getProps","menuWidth","menuPos","menuAlign","hasShadow","positions","anchorElement","priority","priorities","PopupMenu","disablePortal","margin","parseInt","minWidth","popupOffset","menuOffset","hasMargin","onItemClick","maxHeight","maxMenuHeight","headerChildComponent","caption","mobileMenuHeaderText","onCloseRequest","disableScrollContainer","_this$props$onValueCh","_this$props","fn","items","pattern","toLowerCase","result","index","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","filterItem","push","_iterator2","_step2","_normalizeEntry2","itemValue","value1","value2","Component","__KONTUR_REACT_UI__","displayName","SEP","staticElement","isArray","getTextFromItem","toString","itemText","indexOf"],"sources":["Select.tsx"],"sourcesContent":["import React, { ReactNode, ReactPortal, AriaAttributes, HTMLAttributes } from 'react';\nimport invariant from 'invariant';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\nimport { Button, ButtonProps, ButtonUse } from '../Button';\nimport { filterProps } from '../../lib/filterProps';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem, MenuItemProps } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { SizeProp } from '../../lib/types/props';\nimport { styles as linkStyles } from '../Link/Link.styles';\nimport { Popup } from '../../internal/Popup';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { Item } from './Item';\nimport { SelectLocale, SelectLocaleHelper } from './locale';\nimport { styles } from './Select.styles';\nimport { getSelectTheme } from './selectTheme';\n\nexport interface ButtonParams\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {\n disabled?: boolean;\n label: React.ReactNode;\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n opened: boolean;\n isPlaceholder: boolean;\n size: SizeProp;\n}\n\nconst PASS_BUTTON_PROPS = {\n id: true,\n disabled: true,\n error: true,\n use: true,\n size: true,\n warning: true,\n\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport const SelectDataTids = {\n root: 'Select__root',\n menu: 'Select__menu',\n label: 'Select__label',\n} as const;\n\nexport const SelectIds = {\n menu: SelectDataTids.menu,\n} as const;\n\ntype SelectItem<TValue, TItem> =\n | [TValue, TItem, React.ReactNode?]\n | TItem\n | TValue\n | React.ReactElement\n | (() => React.ReactElement);\n\nexport interface SelectProps<TValue, TItem>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n /** @ignore */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n defaultValue?: TValue;\n menuOffset?: number;\n /**\n * Отключает использование портала\n */\n disablePortal?: boolean;\n disabled?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\n /**\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\n * `Array`, `Map`, `Immutable.Map`.\n *\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\n * первый элемент является значением, второй — отображается в списке,\n * а третий – комментарий;\n * если элемент не является массивом, то он используется и для отображения,\n * и для значения.\n *\n * Для вставки разделителя можно использовать `Select.SEP`.\n *\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n *\n * Чтобы добавить стандартный отступ для статического элемента:\n * ```\n * <Select.Item>My Element</Select.Item>\n * ```\n */\n items?: Array<SelectItem<TValue, TItem>>;\n maxMenuHeight?: number;\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom' | 'middle';\n menuAlign?: 'left' | 'right';\n menuWidth?: React.CSSProperties['width'];\n onValueChange?: (value: TValue) => void;\n onClose?: () => void;\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n onOpen?: () => void;\n placeholder?: React.ReactNode;\n /**\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\n * *item*.\n */\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\n /**\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\n */\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\n /**\n * Функция для сравнения `value` с элементом из `items`\n */\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\n /**\n * Показывать строку поиска в списке.\n */\n search?: boolean;\n value?: TValue;\n theme?: ThemeIn | Theme;\n width?: number | string;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n use?: ButtonUse;\n size?: SizeProp;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n onBlur?: React.FocusEventHandler<HTMLElement>;\n /**\n * Текст заголовка выпадающего меню в мобильной версии\n */\n mobileMenuHeaderText?: string;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<any> {\n focus: (event?: any) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use' | 'size'>\n>;\n\n@responsiveLayout\n@rootNode\n@locale('Select', SelectLocaleHelper)\n// Suggested solutions break current behavior\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\n public static __KONTUR_REACT_UI__ = 'Select';\n public static displayName = 'Select';\n\n public static defaultProps: DefaultProps<unknown, ReactNode | ReactPortal> = {\n renderValue,\n renderItem,\n areValuesEqual,\n filterItem,\n use: 'default',\n size: 'small',\n };\n\n public static Item = Item;\n public static SEP = () => <MenuSeparator />;\n\n public static staticElement = (element: React.ReactElement | (() => React.ReactElement)) => {\n invariant(\n React.isValidElement(element) || typeof element === 'function',\n 'Select.staticElement(element) expects element to be a valid react element.',\n );\n return element;\n };\n\n public state: SelectState<TValue> = {\n opened: false,\n value: this.props.defaultValue,\n searchPattern: '',\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private readonly locale!: SelectLocale;\n private menu: Nullable<Menu>;\n private menuId = SelectIds.menu + getRandomID();\n private buttonElement: FocusableReactElement | null = null;\n private getProps = createPropsGetter(Select.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n globalObject.addEventListener?.('popstate', this.close);\n }\n if (prevState.opened && !this.state.opened) {\n globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = ThemeFactory.create(\n {\n menuOffsetY: theme.selectMenuOffsetY,\n },\n theme,\n );\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public open = () => {\n if (!this.state.opened) {\n this.setState({ opened: true });\n\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n }\n };\n\n /**\n * @public\n */\n public close = () => {\n if (this.state.opened) {\n this.setState({ opened: false, searchPattern: '' });\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.buttonElement && this.buttonElement.focus) {\n this.buttonElement.focus();\n }\n };\n\n private getMenuRenderer() {\n if (this.props.disabled) {\n return null;\n }\n\n if (this.isMobileLayout) {\n return this.renderMobileMenu();\n }\n\n if (this.state.opened) {\n return this.renderMenu();\n }\n\n return null;\n }\n\n private renderMain() {\n const buttonParams = this.getDefaultButtonParams();\n const dataTid = this.getProps()['data-tid'] ?? SelectDataTids.root;\n const button = (\n <ThemeContext.Provider value={getSelectTheme(this.theme, this.props)}>\n {this.getButton(buttonParams)}\n </ThemeContext.Provider>\n );\n\n const isMobile = this.isMobileLayout;\n\n const style = {\n width: this.props.width,\n maxWidth: this.props.maxWidth || undefined,\n };\n\n const root = (\n <span\n data-tid={dataTid}\n className={cx({ [styles.root()]: true, [styles.rootMobile(this.theme)]: isMobile })}\n style={style}\n >\n {button}\n {this.getMenuRenderer()}\n </span>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.close}\n onFocusOutside={this.close}\n active={isMobile ? false : this.state.opened}\n >\n {root}\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getDefaultButtonParams = (): ButtonParams => {\n const { label, isPlaceholder } = this.renderLabel();\n\n const buttonParams: ButtonParams = {\n opened: this.state.opened,\n label,\n isPlaceholder,\n onClick: this.toggle,\n onKeyDown: this.handleKey,\n size: this.getProps().size,\n disabled: this.getProps().disabled,\n };\n\n return buttonParams;\n };\n\n private renderLabel() {\n const value = this.getValue();\n const item = this.getItemByValue(value);\n\n if (isNonNullable(value)) {\n return {\n label: this.getProps().renderValue(value, item),\n isPlaceholder: false,\n };\n }\n\n return {\n label: <span>{this.props.placeholder || this.locale?.placeholder}</span>,\n isPlaceholder: true,\n };\n }\n\n private getLeftIconClass(size: SizeProp | undefined) {\n if (this.getProps().use === 'link') {\n return styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return styles.leftIconLarge(this.theme);\n case 'medium':\n return styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return styles.leftIconSmall(this.theme);\n }\n }\n\n private renderDefaultButton(params: ButtonParams) {\n const buttonProps: ButtonProps = {\n ...filterProps(this.props, PASS_BUTTON_PROPS),\n align: 'left' as React.CSSProperties['textAlign'],\n disabled: this.props.disabled,\n width: '100%',\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n active: params.opened,\n size: params.size,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: cx({\n [styles.label()]: use !== 'link',\n [styles.placeholder(this.theme)]: params.isPlaceholder,\n [styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [styles.placeholderDisabled(this.theme)]: params.isPlaceholder && this.props.disabled,\n }),\n style: {\n paddingRight: this.getSelectIconGap(),\n },\n };\n\n const useIsCustom = use !== 'default';\n\n const icon = <ArrowDownIcon size={this.props.size} />;\n\n return (\n <Button {...buttonProps}>\n <div className={cx(styles.selectButtonContainer(), { [linkStyles.root(this.theme)]: use === 'link' })}>\n {this.props._icon && <div className={this.getLeftIconClass(this.props.size)}>{this.props._icon}</div>}\n <span {...labelProps}>{params.label}</span>\n\n <div\n className={cx(styles.arrowWrap(this.theme), {\n [styles.arrowDisabled(this.theme)]: this.props.disabled,\n [styles.customUseArrow()]: useIsCustom,\n })}\n >\n {icon}\n </div>\n </div>\n </Button>\n );\n }\n\n private getSelectIconGap(): number {\n const getArrowPadding = () => {\n switch (this.props.size) {\n case 'large':\n return this.theme.selectIconGapLarge;\n case 'medium':\n return this.theme.selectIconGapMedium;\n case 'small':\n default:\n return this.theme.selectIconGapSmall;\n }\n };\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\n\n return arrowLeftPadding;\n }\n\n private renderMenu(): React.ReactNode {\n const search = this.props.search ? this.getSearch() : null;\n\n const value = this.getValue();\n const { menuWidth, menuPos, menuAlign } = this.getProps();\n\n return (\n <Popup\n opened\n hasShadow\n id={this.menuId}\n data-tid={SelectDataTids.menu}\n positions={getMenuPositions(menuPos, menuAlign)}\n anchorElement={this.popupGetParent()}\n priority={ZIndex.priorities.PopupMenu}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n popupOffset={this.props.menuOffset}\n >\n <Menu\n hasMargin={false}\n ref={this.refMenu}\n onItemClick={this.close}\n maxHeight={this.props.maxMenuHeight}\n align={menuAlign}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={styles.search()} onKeyDown={this.handleKey}>\n <Input ref={this.debouncedFocusInput} onValueChange={this.handleSearch} width=\"100%\" />\n </div>\n );\n };\n\n private renderMobileMenu(): React.ReactNode {\n const search = this.props.search ? this.getMobileSearch() : null;\n const value = this.getValue();\n\n return (\n <MobilePopup\n headerChildComponent={search}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'}>\n {this.getMenuItems(value)}\n </Menu>\n </MobilePopup>\n );\n }\n\n private getMobileSearch = () => {\n return (\n <Input\n autoFocus\n value={this.state.searchPattern}\n ref={this.debouncedFocusInput}\n onValueChange={this.handleSearch}\n width=\"100%\"\n />\n );\n };\n\n private getMenuItems = (value: Nullable<TValue>) => {\n const isMobile = this.isMobileLayout;\n const size = this.props.size;\n\n return this.mapItems(\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\n if (isFunction(item)) {\n const element = item();\n\n if (React.isValidElement(element)) {\n return React.cloneElement(element, { key: i, isMobile, size } as MenuItemProps);\n }\n\n return null;\n }\n\n if (React.isValidElement(item)) {\n if (isReactUINode('MenuItem', item)) {\n return React.cloneElement(item, { key: i, isMobile, size } as MenuItemProps);\n }\n if (isReactUINode('MenuHeader', item)) {\n return React.cloneElement(item, { size } as MenuHeaderProps);\n }\n return React.cloneElement(item, { key: i });\n }\n\n return (\n <MenuItem\n key={i}\n state={this.areValuesEqual(iValue, value) ? 'selected' : null}\n onClick={this.select.bind(this, iValue)}\n comment={comment}\n isMobile={isMobile}\n size={this.props.size}\n >\n {this.getProps().renderItem(iValue, item)}\n </MenuItem>\n );\n },\n );\n };\n\n private popupGetParent = () => {\n return getRootNode(this);\n };\n\n // fix cases when an Input is rendered in portal\n // https://github.com/skbkontur/retail-ui/issues/1995\n private focusInput = (input: Input) => input?.focus();\n private debouncedFocusInput = debounce(this.focusInput);\n\n private refMenu = (menu: Menu) => {\n this.menu = menu;\n };\n\n private toggle = () => {\n if (this.state.opened) {\n this.close();\n } else {\n this.open();\n }\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\n if (!this.state.opened) {\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\n e.preventDefault();\n this.open();\n }\n } else {\n switch (true) {\n case isKeyEscape(e):\n this.focus();\n this.close();\n break;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n break;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n break;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n break;\n }\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleSearch = (value: string) => {\n this.setState({ searchPattern: value });\n this.menu?.highlightItem(0);\n };\n\n private select(value: TValue) {\n this.focus();\n this.setState({ opened: false, value });\n\n if (!this.areValuesEqual(this.getValue(), value)) {\n this.props.onValueChange?.(value);\n }\n }\n\n private getValue() {\n if (this.props.value !== undefined) {\n return this.props.value;\n }\n return this.state.value;\n }\n\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\n const { items } = this.props;\n if (!items) {\n return [];\n }\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\n\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, item, comment] = normalizeEntry(entry as TItem);\n\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\n result.push(fn(value, item, index, comment));\n ++index;\n }\n }\n\n return result;\n }\n\n private getItemByValue(value?: Nullable<TValue>) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const items = this.props.items || [];\n\n for (const entry of items) {\n const [itemValue, item] = normalizeEntry(entry);\n\n if (this.areValuesEqual(itemValue, value)) {\n return item;\n }\n }\n return null;\n }\n\n private areValuesEqual(value1: Nullable<TValue>, value2: Nullable<TValue>) {\n return isNonNullable(value1) && isNonNullable(value2) && this.getProps().areValuesEqual(value1, value2);\n }\n\n private buttonRef = (element: FocusableReactElement | null) => {\n this.buttonElement = element;\n };\n\n private getButton = (buttonParams: ButtonParams) => {\n const button = this.props._renderButton\n ? this.props._renderButton(buttonParams)\n : this.renderDefaultButton(buttonParams);\n\n const buttonElement = React.Children.only(button);\n\n return React.isValidElement(buttonElement)\n ? React.cloneElement(buttonElement as React.ReactElement, {\n ref: this.buttonRef,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur,\n size: this.props.size,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-expanded': this.state.opened ? 'true' : 'false',\n 'aria-controls': this.menuId,\n 'aria-label': (buttonElement as React.ReactElement).props['aria-label'] ?? this.props['aria-label'],\n })\n : buttonElement;\n };\n}\n\nfunction renderValue<TValue, TItem>(value: TValue, item: Nullable<TItem>) {\n return item;\n}\n\nfunction renderItem<TValue, TItem>(value: TValue, item?: TItem) {\n return item;\n}\n\nfunction areValuesEqual<TValue>(value1: TValue, value2: TValue) {\n return value1 === value2;\n}\n\nfunction normalizeEntry(entry: any) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: any): string => {\n if (typeof item === 'string') {\n return item;\n }\n\n if (isFunction(item)) {\n return getTextFromItem(item());\n }\n\n if (React.isValidElement(item)) {\n return reactGetTextContent(item);\n }\n\n if (typeof item === 'number') {\n return item.toString(10);\n }\n\n return '';\n};\n\nfunction filterItem<TValue>(value: TValue, item: any, pattern: string) {\n if (item === Select.SEP) {\n return false;\n }\n\n const itemText = getTextFromItem(item);\n\n if (!itemText) {\n return false;\n }\n\n return itemText.toLowerCase().indexOf(pattern) !== -1;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","invariant","globalObject","debounce","isKeyArrowDown","isKeyArrowUp","isKeyArrowVertical","isKeyEnter","isKeyEscape","isKeySpace","locale","reactGetTextContent","Button","filterProps","Input","Menu","MenuItem","MenuSeparator","RenderLayer","createPropsGetter","getRandomID","isFunction","isNonNullable","isReactUINode","ThemeContext","CommonWrapper","MobilePopup","cx","responsiveLayout","getRootNode","rootNode","ThemeFactory","styles","linkStyles","Popup","ZIndex","getMenuPositions","ArrowDownIcon","Item","SelectLocaleHelper","getSelectTheme","PASS_BUTTON_PROPS","id","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","SelectDataTids","root","menu","label","SelectIds","Select","_dec","_class","_Select","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","opened","value","props","defaultValue","searchPattern","menuId","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","getDefaultButtonParams","_this$renderLabel","renderLabel","isPlaceholder","buttonParams","onClick","toggle","onKeyDown","handleKey","getSearch","createElement","className","search","ref","debouncedFocusInput","onValueChange","handleSearch","width","getMobileSearch","autoFocus","getMenuItems","isMobile","isMobileLayout","mapItems","iValue","item","i","comment","element","isValidElement","cloneElement","key","areValuesEqual","select","bind","renderItem","popupGetParent","focusInput","input","refMenu","e","preventDefault","up","down","enter","_this$menu","highlightItem","buttonRef","getButton","_props$ariaLabel","button","_renderButton","renderDefaultButton","Children","only","onFocus","onBlur","_inheritsLoose","_proto","prototype","componentDidUpdate","_prevProps","prevState","addEventListener","removeEventListener","render","_this2","Consumer","theme","create","menuOffsetY","selectMenuOffsetY","Provider","renderMain","getMenuRenderer","renderMobileMenu","renderMenu","_this$getProps$dataT","_cx","dataTid","style","maxWidth","undefined","rootMobile","_extends","rootNodeRef","setRootNode","onClickOutside","onFocusOutside","active","_this$locale","getValue","getItemByValue","renderValue","placeholder","getLeftIconClass","leftIconLink","leftIconLarge","leftIconMedium","leftIconSmall","params","_cx2","_cx3","_cx4","buttonProps","align","labelProps","customUsePlaceholder","placeholderDisabled","paddingRight","getSelectIconGap","useIsCustom","icon","selectButtonContainer","_icon","arrowWrap","arrowDisabled","customUseArrow","_this3","getArrowPadding","selectIconGapLarge","selectIconGapMedium","selectIconGapSmall","arrowLeftPadding","parseFloat","_this$getProps","menuWidth","menuPos","menuAlign","hasShadow","positions","anchorElement","priority","priorities","PopupMenu","disablePortal","margin","parseInt","minWidth","popupOffset","menuOffset","hasMargin","onItemClick","maxHeight","maxMenuHeight","headerChildComponent","caption","mobileMenuHeaderText","onCloseRequest","disableScrollContainer","_this$props$onValueCh","_this$props","fn","items","pattern","toLowerCase","result","index","_iterator","_createForOfIteratorHelperLoose","_step","done","entry","_normalizeEntry","normalizeEntry","filterItem","push","_iterator2","_step2","_normalizeEntry2","itemValue","value1","value2","Component","__KONTUR_REACT_UI__","displayName","SEP","staticElement","isArray","getTextFromItem","toString","itemText","indexOf"],"sources":["Select.tsx"],"sourcesContent":["import React, { ReactNode, ReactPortal, AriaAttributes, HTMLAttributes } from 'react';\nimport invariant from 'invariant';\nimport { globalObject } from '@skbkontur/global-object';\nimport debounce from 'lodash.debounce';\n\nimport {\n isKeyArrowDown,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyEnter,\n isKeyEscape,\n isKeySpace,\n} from '../../lib/events/keyboard/identifiers';\nimport { locale } from '../../lib/locale/decorators';\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\nimport { Button, ButtonProps, ButtonUse } from '../Button';\nimport { filterProps } from '../../lib/filterProps';\nimport { Input } from '../Input';\nimport { Menu } from '../../internal/Menu';\nimport { MenuItem, MenuItemProps } from '../MenuItem';\nimport { MenuSeparator } from '../MenuSeparator';\nimport { RenderLayer } from '../../internal/RenderLayer';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRandomID, isFunction, isNonNullable, isReactUINode } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme, ThemeIn } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { SizeProp } from '../../lib/types/props';\nimport { styles as linkStyles } from '../Link/Link.styles';\nimport { Popup } from '../../internal/Popup';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\n\nimport { ArrowDownIcon } from './ArrowDownIcon';\nimport { Item } from './Item';\nimport { SelectLocale, SelectLocaleHelper } from './locale';\nimport { styles } from './Select.styles';\nimport { getSelectTheme } from './selectTheme';\n\nexport interface ButtonParams\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает лейбл. */\n label: React.ReactNode;\n\n /** Задает функцию, которая вызывается при клике на селект. */\n onClick: () => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Определяет, открыто ли выпадающее меню. */\n opened: boolean;\n\n /** Определяет, есть ли Placeholder. */\n isPlaceholder: boolean;\n\n /** Задает размер контрола. */\n size: SizeProp;\n}\n\nconst PASS_BUTTON_PROPS = {\n id: true,\n disabled: true,\n error: true,\n use: true,\n size: true,\n warning: true,\n\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseOver: true,\n};\n\nexport const SelectDataTids = {\n root: 'Select__root',\n menu: 'Select__menu',\n label: 'Select__label',\n} as const;\n\nexport const SelectIds = {\n menu: SelectDataTids.menu,\n} as const;\n\ntype SelectItem<TValue, TItem> =\n | [TValue, TItem, React.ReactNode?]\n | TItem\n | TValue\n | React.ReactElement\n | (() => React.ReactElement);\n\nexport interface SelectProps<TValue, TItem>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** @ignore */\n _icon?: React.ReactNode;\n\n /** @ignore */\n _renderButton?: (params: ButtonParams) => React.ReactNode;\n\n /** Задает значение по умолчанию. */\n defaultValue?: TValue;\n\n menuOffset?: number;\n\n /** Отключает использование портала. */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным.*/\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Задает функцию, которая отфильтровывает элементы по заданному паттерну. */\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\n\n /** Задает набор значений. Поддерживаются любые перечисляемые типы, в том числе `Array`, `Map`, `Immutable.Map`.\n *\n * Элементы воспринимаются следующим образом: если элемент — это массив, то первый элемент является значением,\n * второй — отображается в списке, а третий – комментарий;\n * если элемент не является массивом, то он используется и для отображения, и для значения.\n *\n * Для вставки разделителя можно использовать `Select.SEP`.\n *\n * Вставить невыделяемый элемент со своей разметкой можно так:\n * @example\n * ```\n * <Select ...\n * items={[Select.staticElement(() => <div>My Element</div>)]}\n * />\n * ```\n *\n * Чтобы добавить стандартный отступ для статического элемента:\n * @example\n * ```\n * <Select.Item>My Element</Select.Item>\n * ``` */\n items?: Array<SelectItem<TValue, TItem>>;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number;\n\n /** Задает максимальную ширину. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает текущую позицию выпадающего окна вручную. */\n menuPos?: 'top' | 'bottom' | 'middle';\n\n /** Задает выравнивание меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает ширину выпадающего меню. */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: TValue) => void;\n\n /** Задает функцию, которая вызывается при закрытии меню. */\n onClose?: () => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при открытии меню. */\n onOpen?: () => void;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: React.ReactNode;\n\n /** Задает функцию, которая отображает элемент в выпадающем списке. */\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранный элемент. */\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\n\n /** Задает функцию сравнения `value` с элементом из `items`. */\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\n\n /** Показывает строку поиска в списке. */\n search?: boolean;\n\n /** Задает значение. */\n value?: TValue;\n\n theme?: ThemeIn | Theme;\n\n /** Задает длину контрола. */\n width?: number | string;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задаёт стиль кнопки. */\n use?: ButtonUse;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задаёт HTML-событие `onfocus`. */\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n /** Задаёт HTML-событие `onblur`. */\n onBlur?: React.FocusEventHandler<HTMLElement>;\n\n /** Задает текст заголовка выпадающего меню в мобильной версии. */\n mobileMenuHeaderText?: string;\n}\n\nexport interface SelectState<TValue> {\n opened: boolean;\n searchPattern: string;\n value: Nullable<TValue>;\n}\n\ninterface FocusableReactElement extends React.ReactElement<any> {\n focus: (event?: any) => void;\n}\n\ntype DefaultProps<TValue, TItem> = Required<\n Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use' | 'size'>\n>;\n\n/**\n * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.\n *\n * Используйте `Select` при:\n * * заполнении форм, например для выбора месяца.\n * * переключении состояний, например, фильтра.\n * * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.\n *\n * Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.\n */\n@responsiveLayout\n@rootNode\n@locale('Select', SelectLocaleHelper)\n// Suggested solutions break current behavior\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\n public static __KONTUR_REACT_UI__ = 'Select';\n public static displayName = 'Select';\n\n public static defaultProps: DefaultProps<unknown, ReactNode | ReactPortal> = {\n renderValue,\n renderItem,\n areValuesEqual,\n filterItem,\n use: 'default',\n size: 'small',\n };\n\n public static Item = Item;\n public static SEP = () => <MenuSeparator />;\n\n public static staticElement = (element: React.ReactElement | (() => React.ReactElement)) => {\n invariant(\n React.isValidElement(element) || typeof element === 'function',\n 'Select.staticElement(element) expects element to be a valid react element.',\n );\n return element;\n };\n\n public state: SelectState<TValue> = {\n opened: false,\n value: this.props.defaultValue,\n searchPattern: '',\n };\n\n private theme!: Theme;\n private isMobileLayout!: boolean;\n private readonly locale!: SelectLocale;\n private menu: Nullable<Menu>;\n private menuId = SelectIds.menu + getRandomID();\n private buttonElement: FocusableReactElement | null = null;\n private getProps = createPropsGetter(Select.defaultProps);\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\n if (!prevState.opened && this.state.opened) {\n globalObject.addEventListener?.('popstate', this.close);\n }\n if (prevState.opened && !this.state.opened) {\n globalObject.removeEventListener?.('popstate', this.close);\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = ThemeFactory.create(\n {\n menuOffsetY: theme.selectMenuOffsetY,\n },\n theme,\n );\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * @public\n */\n public open = () => {\n if (!this.state.opened) {\n this.setState({ opened: true });\n\n if (this.props.onOpen) {\n this.props.onOpen();\n }\n }\n };\n\n /**\n * @public\n */\n public close = () => {\n if (this.state.opened) {\n this.setState({ opened: false, searchPattern: '' });\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n }\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.buttonElement && this.buttonElement.focus) {\n this.buttonElement.focus();\n }\n };\n\n private getMenuRenderer() {\n if (this.props.disabled) {\n return null;\n }\n\n if (this.isMobileLayout) {\n return this.renderMobileMenu();\n }\n\n if (this.state.opened) {\n return this.renderMenu();\n }\n\n return null;\n }\n\n private renderMain() {\n const buttonParams = this.getDefaultButtonParams();\n const dataTid = this.getProps()['data-tid'] ?? SelectDataTids.root;\n const button = (\n <ThemeContext.Provider value={getSelectTheme(this.theme, this.props)}>\n {this.getButton(buttonParams)}\n </ThemeContext.Provider>\n );\n\n const isMobile = this.isMobileLayout;\n\n const style = {\n width: this.props.width,\n maxWidth: this.props.maxWidth || undefined,\n };\n\n const root = (\n <span\n data-tid={dataTid}\n className={cx({ [styles.root()]: true, [styles.rootMobile(this.theme)]: isMobile })}\n style={style}\n >\n {button}\n {this.getMenuRenderer()}\n </span>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <RenderLayer\n onClickOutside={this.close}\n onFocusOutside={this.close}\n active={isMobile ? false : this.state.opened}\n >\n {root}\n </RenderLayer>\n </CommonWrapper>\n );\n }\n\n private getDefaultButtonParams = (): ButtonParams => {\n const { label, isPlaceholder } = this.renderLabel();\n\n const buttonParams: ButtonParams = {\n opened: this.state.opened,\n label,\n isPlaceholder,\n onClick: this.toggle,\n onKeyDown: this.handleKey,\n size: this.getProps().size,\n disabled: this.getProps().disabled,\n };\n\n return buttonParams;\n };\n\n private renderLabel() {\n const value = this.getValue();\n const item = this.getItemByValue(value);\n\n if (isNonNullable(value)) {\n return {\n label: this.getProps().renderValue(value, item),\n isPlaceholder: false,\n };\n }\n\n return {\n label: <span>{this.props.placeholder || this.locale?.placeholder}</span>,\n isPlaceholder: true,\n };\n }\n\n private getLeftIconClass(size: SizeProp | undefined) {\n if (this.getProps().use === 'link') {\n return styles.leftIconLink(this.theme);\n }\n\n switch (size) {\n case 'large':\n return styles.leftIconLarge(this.theme);\n case 'medium':\n return styles.leftIconMedium(this.theme);\n case 'small':\n default:\n return styles.leftIconSmall(this.theme);\n }\n }\n\n private renderDefaultButton(params: ButtonParams) {\n const buttonProps: ButtonProps = {\n ...filterProps(this.props, PASS_BUTTON_PROPS),\n align: 'left' as React.CSSProperties['textAlign'],\n disabled: this.props.disabled,\n width: '100%',\n onClick: params.onClick,\n onKeyDown: params.onKeyDown,\n active: params.opened,\n size: params.size,\n };\n const use = this.getProps().use;\n\n const labelProps = {\n 'data-tid': SelectDataTids.label,\n className: cx({\n [styles.label()]: use !== 'link',\n [styles.placeholder(this.theme)]: params.isPlaceholder,\n [styles.customUsePlaceholder()]: params.isPlaceholder && use !== 'default',\n [styles.placeholderDisabled(this.theme)]: params.isPlaceholder && this.props.disabled,\n }),\n style: {\n paddingRight: this.getSelectIconGap(),\n },\n };\n\n const useIsCustom = use !== 'default';\n\n const icon = <ArrowDownIcon size={this.props.size} />;\n\n return (\n <Button {...buttonProps}>\n <div className={cx(styles.selectButtonContainer(), { [linkStyles.root(this.theme)]: use === 'link' })}>\n {this.props._icon && <div className={this.getLeftIconClass(this.props.size)}>{this.props._icon}</div>}\n <span {...labelProps}>{params.label}</span>\n\n <div\n className={cx(styles.arrowWrap(this.theme), {\n [styles.arrowDisabled(this.theme)]: this.props.disabled,\n [styles.customUseArrow()]: useIsCustom,\n })}\n >\n {icon}\n </div>\n </div>\n </Button>\n );\n }\n\n private getSelectIconGap(): number {\n const getArrowPadding = () => {\n switch (this.props.size) {\n case 'large':\n return this.theme.selectIconGapLarge;\n case 'medium':\n return this.theme.selectIconGapMedium;\n case 'small':\n default:\n return this.theme.selectIconGapSmall;\n }\n };\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\n\n return arrowLeftPadding;\n }\n\n private renderMenu(): React.ReactNode {\n const search = this.props.search ? this.getSearch() : null;\n\n const value = this.getValue();\n const { menuWidth, menuPos, menuAlign } = this.getProps();\n\n return (\n <Popup\n opened\n hasShadow\n id={this.menuId}\n data-tid={SelectDataTids.menu}\n positions={getMenuPositions(menuPos, menuAlign)}\n anchorElement={this.popupGetParent()}\n priority={ZIndex.priorities.PopupMenu}\n disablePortal={this.props.disablePortal}\n margin={parseInt(this.theme.menuOffsetY) - 1}\n width={menuWidth}\n minWidth={menuWidth === undefined ? '100%' : undefined}\n popupOffset={this.props.menuOffset}\n >\n <Menu\n hasMargin={false}\n ref={this.refMenu}\n onItemClick={this.close}\n maxHeight={this.props.maxMenuHeight}\n align={menuAlign}\n >\n {search}\n {this.getMenuItems(value)}\n </Menu>\n </Popup>\n );\n }\n\n private getSearch = () => {\n return (\n <div className={styles.search()} onKeyDown={this.handleKey}>\n <Input ref={this.debouncedFocusInput} onValueChange={this.handleSearch} width=\"100%\" />\n </div>\n );\n };\n\n private renderMobileMenu(): React.ReactNode {\n const search = this.props.search ? this.getMobileSearch() : null;\n const value = this.getValue();\n\n return (\n <MobilePopup\n headerChildComponent={search}\n caption={this.props.mobileMenuHeaderText}\n onCloseRequest={this.close}\n opened={this.state.opened}\n >\n <Menu onItemClick={this.close} disableScrollContainer maxHeight={'auto'}>\n {this.getMenuItems(value)}\n </Menu>\n </MobilePopup>\n );\n }\n\n private getMobileSearch = () => {\n return (\n <Input\n autoFocus\n value={this.state.searchPattern}\n ref={this.debouncedFocusInput}\n onValueChange={this.handleSearch}\n width=\"100%\"\n />\n );\n };\n\n private getMenuItems = (value: Nullable<TValue>) => {\n const isMobile = this.isMobileLayout;\n const size = this.props.size;\n\n return this.mapItems(\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\n if (isFunction(item)) {\n const element = item();\n\n if (React.isValidElement(element)) {\n return React.cloneElement(element, { key: i, isMobile, size } as MenuItemProps);\n }\n\n return null;\n }\n\n if (React.isValidElement(item)) {\n if (isReactUINode('MenuItem', item)) {\n return React.cloneElement(item, { key: i, isMobile, size } as MenuItemProps);\n }\n if (isReactUINode('MenuHeader', item)) {\n return React.cloneElement(item, { size } as MenuHeaderProps);\n }\n return React.cloneElement(item, { key: i });\n }\n\n return (\n <MenuItem\n key={i}\n state={this.areValuesEqual(iValue, value) ? 'selected' : null}\n onClick={this.select.bind(this, iValue)}\n comment={comment}\n isMobile={isMobile}\n size={this.props.size}\n >\n {this.getProps().renderItem(iValue, item)}\n </MenuItem>\n );\n },\n );\n };\n\n private popupGetParent = () => {\n return getRootNode(this);\n };\n\n // fix cases when an Input is rendered in portal\n // https://github.com/skbkontur/retail-ui/issues/1995\n private focusInput = (input: Input) => input?.focus();\n private debouncedFocusInput = debounce(this.focusInput);\n\n private refMenu = (menu: Menu) => {\n this.menu = menu;\n };\n\n private toggle = () => {\n if (this.state.opened) {\n this.close();\n } else {\n this.open();\n }\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\n if (!this.state.opened) {\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\n e.preventDefault();\n this.open();\n }\n } else {\n switch (true) {\n case isKeyEscape(e):\n this.focus();\n this.close();\n break;\n case isKeyArrowUp(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.up();\n }\n break;\n case isKeyArrowDown(e):\n e.preventDefault();\n if (this.menu) {\n this.menu.down();\n }\n break;\n case isKeyEnter(e):\n e.preventDefault(); // To prevent form submission.\n if (this.menu) {\n this.menu.enter(e);\n }\n break;\n }\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleSearch = (value: string) => {\n this.setState({ searchPattern: value });\n this.menu?.highlightItem(0);\n };\n\n private select(value: TValue) {\n this.focus();\n this.setState({ opened: false, value });\n\n if (!this.areValuesEqual(this.getValue(), value)) {\n this.props.onValueChange?.(value);\n }\n }\n\n private getValue() {\n if (this.props.value !== undefined) {\n return this.props.value;\n }\n return this.state.value;\n }\n\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\n const { items } = this.props;\n if (!items) {\n return [];\n }\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\n\n const result: React.ReactNode[] = [];\n let index = 0;\n for (const entry of items) {\n const [value, item, comment] = normalizeEntry(entry as TItem);\n\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\n result.push(fn(value, item, index, comment));\n ++index;\n }\n }\n\n return result;\n }\n\n private getItemByValue(value?: Nullable<TValue>) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const items = this.props.items || [];\n\n for (const entry of items) {\n const [itemValue, item] = normalizeEntry(entry);\n\n if (this.areValuesEqual(itemValue, value)) {\n return item;\n }\n }\n return null;\n }\n\n private areValuesEqual(value1: Nullable<TValue>, value2: Nullable<TValue>) {\n return isNonNullable(value1) && isNonNullable(value2) && this.getProps().areValuesEqual(value1, value2);\n }\n\n private buttonRef = (element: FocusableReactElement | null) => {\n this.buttonElement = element;\n };\n\n private getButton = (buttonParams: ButtonParams) => {\n const button = this.props._renderButton\n ? this.props._renderButton(buttonParams)\n : this.renderDefaultButton(buttonParams);\n\n const buttonElement = React.Children.only(button);\n\n return React.isValidElement(buttonElement)\n ? React.cloneElement(buttonElement as React.ReactElement, {\n ref: this.buttonRef,\n onFocus: this.props.onFocus,\n onBlur: this.props.onBlur,\n size: this.props.size,\n 'aria-describedby': this.props['aria-describedby'],\n 'aria-expanded': this.state.opened ? 'true' : 'false',\n 'aria-controls': this.menuId,\n 'aria-label': (buttonElement as React.ReactElement).props['aria-label'] ?? this.props['aria-label'],\n })\n : buttonElement;\n };\n}\n\nfunction renderValue<TValue, TItem>(value: TValue, item: Nullable<TItem>) {\n return item;\n}\n\nfunction renderItem<TValue, TItem>(value: TValue, item?: TItem) {\n return item;\n}\n\nfunction areValuesEqual<TValue>(value1: TValue, value2: TValue) {\n return value1 === value2;\n}\n\nfunction normalizeEntry(entry: any) {\n if (Array.isArray(entry)) {\n return entry;\n }\n\n return [entry, entry, undefined];\n}\n\nconst getTextFromItem = (item: any): string => {\n if (typeof item === 'string') {\n return item;\n }\n\n if (isFunction(item)) {\n return getTextFromItem(item());\n }\n\n if (React.isValidElement(item)) {\n return reactGetTextContent(item);\n }\n\n if (typeof item === 'number') {\n return item.toString(10);\n }\n\n return '';\n};\n\nfunction filterItem<TValue>(value: TValue, item: any, pattern: string) {\n if (item === Select.SEP) {\n return false;\n }\n\n const itemText = getTextFromItem(item);\n\n if (!itemText) {\n return false;\n }\n\n return itemText.toLowerCase().indexOf(pattern) !== -1;\n}\n"],"mappings":"kQAAA,OAAOA,KAAK,MAAkE,OAAO;AACrF,OAAOC,SAAS,MAAM,WAAW;AACjC,SAASC,YAAY,QAAQ,0BAA0B;AACvD,OAAOC,QAAQ,MAAM,iBAAiB;;AAEtC;EACEC,cAAc;EACdC,YAAY;EACZC,kBAAkB;EAClBC,UAAU;EACVC,WAAW;EACXC,UAAU;AACL,uCAAuC;AAC9C,SAASC,MAAM,QAAQ,6BAA6B;AACpD,SAASC,mBAAmB,QAAQ,+BAA+B;AACnE,SAASC,MAAM,QAAgC,WAAW;AAC1D,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,SAASC,QAAQ,QAAuB,aAAa;AACrD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,WAAW,EAAEC,UAAU,EAAEC,aAAa,EAAEC,aAAa,QAAQ,iBAAiB;AACvF,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAAsBC,aAAa,QAAQ,8BAA8B;AACzE,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,WAAW,EAAEC,QAAQ,QAAsB,oBAAoB;AACxE,SAASC,YAAY,QAAQ,gCAAgC;;;AAG7D,SAASC,MAAM,IAAIC,UAAU,QAAQ,qBAAqB;AAC1D,SAASC,KAAK,QAAQ,sBAAsB;AAC5C,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,gBAAgB,QAAQ,4BAA4B;;AAE7D,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAAuBC,kBAAkB,QAAQ,UAAU;AAC3D,SAASP,MAAM,QAAQ,iBAAiB;AACxC,SAASQ,cAAc,QAAQ,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B9C,IAAMC,iBAAiB,GAAG;EACxBC,EAAE,EAAE,IAAI;EACRC,QAAQ,EAAE,IAAI;EACdC,KAAK,EAAE,IAAI;EACXC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,IAAI;;EAEbC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,IAAI;EAClBC,WAAW,EAAE;AACf,CAAC;;AAED,OAAO,IAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE,cAAc;EACpBC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE;AACT,CAAU;;AAEV,OAAO,IAAMC,SAAS,GAAG;EACvBF,IAAI,EAAEF,cAAc,CAACE;AACvB,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAKaG,MAAM,IAAAC,IAAA,GAHlB/C,MAAM,CAAC,QAAQ,EAAE6B,kBAAkB,CAAC,EAFpCX,gBAAgB,CAAA8B,MAAA,GAChB5B,QAAQ,CAAA4B,MAAA,GAAAD,IAAA,CAAAC,MAAA,IAAAC,OAAA,0BAAAC,gBAAA,YAAAJ,OAAA,OAAAK,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;;;;;;;;;;;;;;;;;;;;;;;;IA4BAU,KAAK,GAAwB;MAClCC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAEZ,KAAA,CAAKa,KAAK,CAACC,YAAY;MAC9BC,aAAa,EAAE;IACjB,CAAC,CAAAf,KAAA;;;;;;IAMOgB,MAAM,GAAGtB,SAAS,CAACF,IAAI,GAAGjC,WAAW,CAAC,CAAC,CAAAyC,KAAA;IACvCiB,aAAa,GAAiC,IAAI,CAAAjB,KAAA;IAClDkB,QAAQ,GAAG5D,iBAAiB,CAACqC,MAAM,CAACwB,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BzD;AACF;AACA,OAFEnB,KAAA;IAGOoB,IAAI,GAAG,YAAM;MAClB,IAAI,CAACpB,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACtBX,KAAA,CAAKqB,QAAQ,CAAC,EAAEV,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;;QAE/B,IAAIX,KAAA,CAAKa,KAAK,CAACS,MAAM,EAAE;UACrBtB,KAAA,CAAKa,KAAK,CAACS,MAAM,CAAC,CAAC;QACrB;MACF;IACF,CAAC;;IAED;AACF;AACA,OAFEtB,KAAA;IAGOuB,KAAK,GAAG,YAAM;MACnB,IAAIvB,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACrBX,KAAA,CAAKqB,QAAQ,CAAC,EAAEV,MAAM,EAAE,KAAK,EAAEI,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;;QAEnD,IAAIf,KAAA,CAAKa,KAAK,CAACW,OAAO,EAAE;UACtBxB,KAAA,CAAKa,KAAK,CAACW,OAAO,CAAC,CAAC;QACtB;MACF;IACF,CAAC;;IAED;AACF;AACA,OAFExB,KAAA;IAGOyB,KAAK,GAAG,YAAM;MACnB,IAAIzB,KAAA,CAAKiB,aAAa,IAAIjB,KAAA,CAAKiB,aAAa,CAACQ,KAAK,EAAE;QAClDzB,KAAA,CAAKiB,aAAa,CAACQ,KAAK,CAAC,CAAC;MAC5B;IACF,CAAC,CAAAzB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DO0B,sBAAsB,GAAG,YAAoB;MACnD,IAAAC,iBAAA,GAAiC3B,KAAA,CAAK4B,WAAW,CAAC,CAAC,CAA3CnC,KAAK,GAAAkC,iBAAA,CAALlC,KAAK,CAAEoC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;;MAE5B,IAAMC,YAA0B,GAAG;QACjCnB,MAAM,EAAEX,KAAA,CAAKU,KAAK,CAACC,MAAM;QACzBlB,KAAK,EAALA,KAAK;QACLoC,aAAa,EAAbA,aAAa;QACbE,OAAO,EAAE/B,KAAA,CAAKgC,MAAM;QACpBC,SAAS,EAAEjC,KAAA,CAAKkC,SAAS;QACzBjD,IAAI,EAAEe,KAAA,CAAKkB,QAAQ,CAAC,CAAC,CAACjC,IAAI;QAC1BH,QAAQ,EAAEkB,KAAA,CAAKkB,QAAQ,CAAC,CAAC,CAACpC;MAC5B,CAAC;;MAED,OAAOgD,YAAY;IACrB,CAAC,CAAA9B,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwIOmC,SAAS,GAAG,YAAM;MACxB;QACEhG,KAAA,CAAAiG,aAAA,UAAKC,SAAS,EAAElE,MAAM,CAACmE,MAAM,CAAC,CAAE,EAACL,SAAS,EAAEjC,KAAA,CAAKkC,SAAU;QACzD/F,KAAA,CAAAiG,aAAA,CAACnF,KAAK,IAACsF,GAAG,EAAEvC,KAAA,CAAKwC,mBAAoB,EAACC,aAAa,EAAEzC,KAAA,CAAK0C,YAAa,EAACC,KAAK,EAAC,MAAM,EAAE;QACnF,CAAC;;IAEV,CAAC,CAAA3C,KAAA;;;;;;;;;;;;;;;;;;;;IAoBO4C,eAAe,GAAG,YAAM;MAC9B;QACEzG,KAAA,CAAAiG,aAAA,CAACnF,KAAK;UACJ4F,SAAS;UACTjC,KAAK,EAAEZ,KAAA,CAAKU,KAAK,CAACK,aAAc;UAChCwB,GAAG,EAAEvC,KAAA,CAAKwC,mBAAoB;UAC9BC,aAAa,EAAEzC,KAAA,CAAK0C,YAAa;UACjCC,KAAK,EAAC,MAAM;QACb,CAAC;;IAEN,CAAC,CAAA3C,KAAA;;IAEO8C,YAAY,GAAG,UAAClC,KAAuB,EAAK;MAClD,IAAMmC,QAAQ,GAAG/C,KAAA,CAAKgD,cAAc;MACpC,IAAM/D,IAAI,GAAGe,KAAA,CAAKa,KAAK,CAAC5B,IAAI;;MAE5B,OAAOe,KAAA,CAAKiD,QAAQ;QAClB,UAACC,MAAc,EAAEC,IAAqC,EAAEC,CAAS,EAAEC,OAAkC,EAAK;UACxG,IAAI7F,UAAU,CAAC2F,IAAI,CAAC,EAAE;YACpB,IAAMG,OAAO,GAAGH,IAAI,CAAC,CAAC;;YAEtB,kBAAIhH,KAAK,CAACoH,cAAc,CAACD,OAAO,CAAC,EAAE;cACjC,oBAAOnH,KAAK,CAACqH,YAAY,CAACF,OAAO,EAAE,EAAEG,GAAG,EAAEL,CAAC,EAAEL,QAAQ,EAARA,QAAQ,EAAE9D,IAAI,EAAJA,IAAI,CAAC,CAAkB,CAAC;YACjF;;YAEA,OAAO,IAAI;UACb;;UAEA,kBAAI9C,KAAK,CAACoH,cAAc,CAACJ,IAAI,CAAC,EAAE;YAC9B,IAAIzF,aAAa,CAAC,UAAU,EAAEyF,IAAI,CAAC,EAAE;cACnC,oBAAOhH,KAAK,CAACqH,YAAY,CAACL,IAAI,EAAE,EAAEM,GAAG,EAAEL,CAAC,EAAEL,QAAQ,EAARA,QAAQ,EAAE9D,IAAI,EAAJA,IAAI,CAAC,CAAkB,CAAC;YAC9E;YACA,IAAIvB,aAAa,CAAC,YAAY,EAAEyF,IAAI,CAAC,EAAE;cACrC,oBAAOhH,KAAK,CAACqH,YAAY,CAACL,IAAI,EAAE,EAAElE,IAAI,EAAJA,IAAI,CAAC,CAAoB,CAAC;YAC9D;YACA,oBAAO9C,KAAK,CAACqH,YAAY,CAACL,IAAI,EAAE,EAAEM,GAAG,EAAEL,CAAC,CAAC,CAAC,CAAC;UAC7C;;UAEA;YACEjH,KAAA,CAAAiG,aAAA,CAACjF,QAAQ;cACPsG,GAAG,EAAEL,CAAE;cACP1C,KAAK,EAAEV,KAAA,CAAK0D,cAAc,CAACR,MAAM,EAAEtC,KAAK,CAAC,GAAG,UAAU,GAAG,IAAK;cAC9DmB,OAAO,EAAE/B,KAAA,CAAK2D,MAAM,CAACC,IAAI,CAAA5D,KAAA,EAAOkD,MAAM,CAAE;cACxCG,OAAO,EAAEA,OAAQ;cACjBN,QAAQ,EAAEA,QAAS;cACnB9D,IAAI,EAAEe,KAAA,CAAKa,KAAK,CAAC5B,IAAK;;YAErBe,KAAA,CAAKkB,QAAQ,CAAC,CAAC,CAAC2C,UAAU,CAACX,MAAM,EAAEC,IAAI;YAChC,CAAC;;QAEf;MACF,CAAC;IACH,CAAC,CAAAnD,KAAA;;IAEO8D,cAAc,GAAG,YAAM;MAC7B,OAAO9F,WAAW,CAAAgC,KAAK,CAAC;IAC1B,CAAC;;IAED;IACA;IAAAA,KAAA,CACQ+D,UAAU,GAAG,UAACC,KAAY,UAAKA,KAAK,oBAALA,KAAK,CAAEvC,KAAK,CAAC,CAAC,GAAAzB,KAAA;IAC7CwC,mBAAmB,GAAGlG,QAAQ,CAAC0D,KAAA,CAAK+D,UAAU,CAAC,CAAA/D,KAAA;;IAE/CiE,OAAO,GAAG,UAACzE,IAAU,EAAK;MAChCQ,KAAA,CAAKR,IAAI,GAAGA,IAAI;IAClB,CAAC,CAAAQ,KAAA;;IAEOgC,MAAM,GAAG,YAAM;MACrB,IAAIhC,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACrBX,KAAA,CAAKuB,KAAK,CAAC,CAAC;MACd,CAAC,MAAM;QACLvB,KAAA,CAAKoB,IAAI,CAAC,CAAC;MACb;IACF,CAAC,CAAApB,KAAA;;IAEOkC,SAAS,GAAG,UAACgC,CAAmC,EAAK;MAC3D,IAAI,CAAClE,KAAA,CAAKU,KAAK,CAACC,MAAM,EAAE;QACtB,IAAI/D,UAAU,CAACsH,CAAC,CAAC,IAAIzH,kBAAkB,CAACyH,CAAC,CAAC,EAAE;UAC1CA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClBnE,KAAA,CAAKoB,IAAI,CAAC,CAAC;QACb;MACF,CAAC,MAAM;QACL,QAAQ,IAAI;UACV,KAAKzE,WAAW,CAACuH,CAAC,CAAC;YACjBlE,KAAA,CAAKyB,KAAK,CAAC,CAAC;YACZzB,KAAA,CAAKuB,KAAK,CAAC,CAAC;YACZ;UACF,KAAK/E,YAAY,CAAC0H,CAAC,CAAC;YAClBA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,IAAInE,KAAA,CAAKR,IAAI,EAAE;cACbQ,KAAA,CAAKR,IAAI,CAAC4E,EAAE,CAAC,CAAC;YAChB;YACA;UACF,KAAK7H,cAAc,CAAC2H,CAAC,CAAC;YACpBA,CAAC,CAACC,cAAc,CAAC,CAAC;YAClB,IAAInE,KAAA,CAAKR,IAAI,EAAE;cACbQ,KAAA,CAAKR,IAAI,CAAC6E,IAAI,CAAC,CAAC;YAClB;YACA;UACF,KAAK3H,UAAU,CAACwH,CAAC,CAAC;YAChBA,CAAC,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpB,IAAInE,KAAA,CAAKR,IAAI,EAAE;cACbQ,KAAA,CAAKR,IAAI,CAAC8E,KAAK,CAACJ,CAAC,CAAC;YACpB;YACA;QACJ;MACF;MACA,IAAIlE,KAAA,CAAKa,KAAK,CAACoB,SAAS,EAAE;QACxBjC,KAAA,CAAKa,KAAK,CAACoB,SAAS,CAACiC,CAAC,CAAC;MACzB;IACF,CAAC,CAAAlE,KAAA;;IAEO0C,YAAY,GAAG,UAAC9B,KAAa,EAAK,KAAA2D,UAAA;MACxCvE,KAAA,CAAKqB,QAAQ,CAAC,EAAEN,aAAa,EAAEH,KAAK,CAAC,CAAC,CAAC;MACvC,CAAA2D,UAAA,GAAAvE,KAAA,CAAKR,IAAI,aAAT+E,UAAA,CAAWC,aAAa,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAAxE,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DOyE,SAAS,GAAG,UAACnB,OAAqC,EAAK;MAC7DtD,KAAA,CAAKiB,aAAa,GAAGqC,OAAO;IAC9B,CAAC,CAAAtD,KAAA;;IAEO0E,SAAS,GAAG,UAAC5C,YAA0B,EAAK,KAAA6C,gBAAA;MAClD,IAAMC,MAAM,GAAG5E,KAAA,CAAKa,KAAK,CAACgE,aAAa;MACnC7E,KAAA,CAAKa,KAAK,CAACgE,aAAa,CAAC/C,YAAY,CAAC;MACtC9B,KAAA,CAAK8E,mBAAmB,CAAChD,YAAY,CAAC;;MAE1C,IAAMb,aAAa,GAAG9E,KAAK,CAAC4I,QAAQ,CAACC,IAAI,CAACJ,MAAM,CAAC;;MAEjD,OAAO,aAAAzI,KAAK,CAACoH,cAAc,CAACtC,aAAa,CAAC;MACtC9E,KAAK,CAACqH,YAAY,CAACvC,aAAa,EAAwB;QACtDsB,GAAG,EAAEvC,KAAA,CAAKyE,SAAS;QACnBQ,OAAO,EAAEjF,KAAA,CAAKa,KAAK,CAACoE,OAAO;QAC3BC,MAAM,EAAElF,KAAA,CAAKa,KAAK,CAACqE,MAAM;QACzBjG,IAAI,EAAEe,KAAA,CAAKa,KAAK,CAAC5B,IAAI;QACrB,kBAAkB,EAAEe,KAAA,CAAKa,KAAK,CAAC,kBAAkB,CAAC;QAClD,eAAe,EAAEb,KAAA,CAAKU,KAAK,CAACC,MAAM,GAAG,MAAM,GAAG,OAAO;QACrD,eAAe,EAAEX,KAAA,CAAKgB,MAAM;QAC5B,YAAY,GAAA2D,gBAAA,GAAG1D,aAAa,CAAwBJ,KAAK,CAAC,YAAY,CAAC,YAAA8D,gBAAA,GAAI3E,KAAA,CAAKa,KAAK,CAAC,YAAY;MACpG,CAAC,CAAC;MACFI,aAAa;IACnB,CAAC,QAAAjB,KAAA,EAAAmF,cAAA,CAAAxF,MAAA,EAAAI,gBAAA,MAAAqF,MAAA,GAAAzF,MAAA,CAAA0F,SAAA,CAAAD,MAAA,CA1eME,kBAAkB,GAAzB,SAAAA,mBAA0BC,UAAsC,EAAEC,SAA8B,EAAE,CAChG,IAAI,CAACA,SAAS,CAAC7E,MAAM,IAAI,IAAI,CAACD,KAAK,CAACC,MAAM,EAAE,CAC1CtE,YAAY,CAACoJ,gBAAgB,YAA7BpJ,YAAY,CAACoJ,gBAAgB,CAAG,UAAU,EAAE,IAAI,CAAClE,KAAK,CAAC,CACzD,CACA,IAAIiE,SAAS,CAAC7E,MAAM,IAAI,CAAC,IAAI,CAACD,KAAK,CAACC,MAAM,EAAE,CAC1CtE,YAAY,CAACqJ,mBAAmB,YAAhCrJ,YAAY,CAACqJ,mBAAmB,CAAG,UAAU,EAAE,IAAI,CAACnE,KAAK,CAAC,CAC5D,CACF,CAAC,CAAA6D,MAAA,CAEMO,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEzJ,KAAA,CAAAiG,aAAA,CAACzE,YAAY,CAACkI,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVF,MAAI,CAACE,KAAK,GAAG5H,YAAY,CAAC6H,MAAM,CAC9B,EACEC,WAAW,EAAEF,KAAK,CAACG,iBAAiB,CACtC,CAAC,EACDH,KACF,CAAC,CACD,oBAAO3J,KAAA,CAAAiG,aAAA,CAACzE,YAAY,CAACuI,QAAQ,IAACtF,KAAK,EAAEgF,MAAI,CAACE,KAAM,IAAEF,MAAI,CAACO,UAAU,CAAC,CAAyB,CAAC,CAC9F,CACqB,CAAC,CAE5B,CAAC,CAAAf,MAAA,CAqCOgB,eAAe,GAAvB,SAAAA,gBAAA,EAA0B,CACxB,IAAI,IAAI,CAACvF,KAAK,CAAC/B,QAAQ,EAAE,CACvB,OAAO,IAAI,CACb,CAEA,IAAI,IAAI,CAACkE,cAAc,EAAE,CACvB,OAAO,IAAI,CAACqD,gBAAgB,CAAC,CAAC,CAChC,CAEA,IAAI,IAAI,CAAC3F,KAAK,CAACC,MAAM,EAAE,CACrB,OAAO,IAAI,CAAC2F,UAAU,CAAC,CAAC,CAC1B,CAEA,OAAO,IAAI,CACb,CAAC,CAAAlB,MAAA,CAEOe,UAAU,GAAlB,SAAAA,WAAA,EAAqB,KAAAI,oBAAA,EAAAC,GAAA,CACnB,IAAM1E,YAAY,GAAG,IAAI,CAACJ,sBAAsB,CAAC,CAAC,CAClD,IAAM+E,OAAO,IAAAF,oBAAA,GAAG,IAAI,CAACrF,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAAqF,oBAAA,GAAIjH,cAAc,CAACC,IAAI,CAClE,IAAMqF,MAAM,gBACVzI,KAAA,CAAAiG,aAAA,CAACzE,YAAY,CAACuI,QAAQ,IAACtF,KAAK,EAAEjC,cAAc,CAAC,IAAI,CAACmH,KAAK,EAAE,IAAI,CAACjF,KAAK,CAAE,IAClE,IAAI,CAAC6D,SAAS,CAAC5C,YAAY,CACP,CACxB,CAED,IAAMiB,QAAQ,GAAG,IAAI,CAACC,cAAc,CAEpC,IAAM0D,KAAK,GAAG,EACZ/D,KAAK,EAAE,IAAI,CAAC9B,KAAK,CAAC8B,KAAK,EACvBgE,QAAQ,EAAE,IAAI,CAAC9F,KAAK,CAAC8F,QAAQ,IAAIC,SAAS,CAC5C,CAAC,CAED,IAAMrH,IAAI,gBACRpD,KAAA,CAAAiG,aAAA,WACE,YAAUqE,OAAQ,EAClBpE,SAAS,EAAEvE,EAAE,EAAA0I,GAAA,OAAAA,GAAA,CAAIrI,MAAM,CAACoB,IAAI,CAAC,CAAC,IAAG,IAAI,EAAAiH,GAAA,CAAGrI,MAAM,CAAC0I,UAAU,CAAC,IAAI,CAACf,KAAK,CAAC,IAAG/C,QAAQ,EAAAyD,GAAA,CAAE,CAAE,EACpFE,KAAK,EAAEA,KAAM,IAEZ9B,MAAM,EACN,IAAI,CAACwB,eAAe,CAAC,CAClB,CACP,CAED,oBACEjK,KAAA,CAAAiG,aAAA,CAACxE,aAAa,EAAAkJ,QAAA,GAACC,WAAW,EAAE,IAAI,CAACC,WAAY,IAAK,IAAI,CAACnG,KAAK,gBAC1D1E,KAAA,CAAAiG,aAAA,CAAC/E,WAAW,IACV4J,cAAc,EAAE,IAAI,CAAC1F,KAAM,EAC3B2F,cAAc,EAAE,IAAI,CAAC3F,KAAM,EAC3B4F,MAAM,EAAEpE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAACrC,KAAK,CAACC,MAAO,IAE5CpB,IACU,CACA,CAAC,CAEpB,CAAC,CAAA6F,MAAA,CAkBOxD,WAAW,GAAnB,SAAAA,YAAA,EAAsB,KAAAwF,YAAA,CACpB,IAAMxG,KAAK,GAAG,IAAI,CAACyG,QAAQ,CAAC,CAAC,CAC7B,IAAMlE,IAAI,GAAG,IAAI,CAACmE,cAAc,CAAC1G,KAAK,CAAC,CAEvC,IAAInD,aAAa,CAACmD,KAAK,CAAC,EAAE,CACxB,OAAO,EACLnB,KAAK,EAAE,IAAI,CAACyB,QAAQ,CAAC,CAAC,CAACqG,WAAW,CAAC3G,KAAK,EAAEuC,IAAI,CAAC,EAC/CtB,aAAa,EAAE,KAAK,CACtB,CAAC,CACH,CAEA,OAAO,EACLpC,KAAK,eAAEtD,KAAA,CAAAiG,aAAA,eAAO,IAAI,CAACvB,KAAK,CAAC2G,WAAW,MAAAJ,YAAA,GAAI,IAAI,CAACvK,MAAM,qBAAXuK,YAAA,CAAaI,WAAW,CAAO,CAAC,EACxE3F,aAAa,EAAE,IAAI,CACrB,CAAC,CACH,CAAC,CAAAuD,MAAA,CAEOqC,gBAAgB,GAAxB,SAAAA,iBAAyBxI,IAA0B,EAAE,CACnD,IAAI,IAAI,CAACiC,QAAQ,CAAC,CAAC,CAAClC,GAAG,KAAK,MAAM,EAAE,CAClC,OAAOb,MAAM,CAACuJ,YAAY,CAAC,IAAI,CAAC5B,KAAK,CAAC,CACxC,CAEA,QAAQ7G,IAAI,GACV,KAAK,OAAO,CACV,OAAOd,MAAM,CAACwJ,aAAa,CAAC,IAAI,CAAC7B,KAAK,CAAC,CACzC,KAAK,QAAQ,CACX,OAAO3H,MAAM,CAACyJ,cAAc,CAAC,IAAI,CAAC9B,KAAK,CAAC,CAC1C,KAAK,OAAO,CACZ,QACE,OAAO3H,MAAM,CAAC0J,aAAa,CAAC,IAAI,CAAC/B,KAAK,CAAC,CAC3C,CACF,CAAC,CAAAV,MAAA,CAEON,mBAAmB,GAA3B,SAAAA,oBAA4BgD,MAAoB,EAAE,KAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,CAChD,IAAMC,WAAwB,GAAApB,QAAA,KACzB9J,WAAW,CAAC,IAAI,CAAC6D,KAAK,EAAEjC,iBAAiB,CAAC,IAC7CuJ,KAAK,EAAE,MAA0C,EACjDrJ,QAAQ,EAAE,IAAI,CAAC+B,KAAK,CAAC/B,QAAQ,EAC7B6D,KAAK,EAAE,MAAM,EACbZ,OAAO,EAAE+F,MAAM,CAAC/F,OAAO,EACvBE,SAAS,EAAE6F,MAAM,CAAC7F,SAAS,EAC3BkF,MAAM,EAAEW,MAAM,CAACnH,MAAM,EACrB1B,IAAI,EAAE6I,MAAM,CAAC7I,IAAI,GAClB,CACD,IAAMD,GAAG,GAAG,IAAI,CAACkC,QAAQ,CAAC,CAAC,CAAClC,GAAG,CAE/B,IAAMoJ,UAAU,GAAG,EACjB,UAAU,EAAE9I,cAAc,CAACG,KAAK,EAChC4C,SAAS,EAAEvE,EAAE,EAAAiK,IAAA,OAAAA,IAAA,CACV5J,MAAM,CAACsB,KAAK,CAAC,CAAC,IAAGT,GAAG,KAAK,MAAM,EAAA+I,IAAA,CAC/B5J,MAAM,CAACqJ,WAAW,CAAC,IAAI,CAAC1B,KAAK,CAAC,IAAGgC,MAAM,CAACjG,aAAa,EAAAkG,IAAA,CACrD5J,MAAM,CAACkK,oBAAoB,CAAC,CAAC,IAAGP,MAAM,CAACjG,aAAa,IAAI7C,GAAG,KAAK,SAAS,EAAA+I,IAAA,CACzE5J,MAAM,CAACmK,mBAAmB,CAAC,IAAI,CAACxC,KAAK,CAAC,IAAGgC,MAAM,CAACjG,aAAa,IAAI,IAAI,CAAChB,KAAK,CAAC/B,QAAQ,EAAAiJ,IAAA,CACtF,CAAC,EACFrB,KAAK,EAAE,EACL6B,YAAY,EAAE,IAAI,CAACC,gBAAgB,CAAC,CAAC,CACvC,CAAC,CACH,CAAC,CAED,IAAMC,WAAW,GAAGzJ,GAAG,KAAK,SAAS,CAErC,IAAM0J,IAAI,gBAAGvM,KAAA,CAAAiG,aAAA,CAAC5D,aAAa,IAACS,IAAI,EAAE,IAAI,CAAC4B,KAAK,CAAC5B,IAAK,EAAE,CAAC,CAErD,oBACE9C,KAAA,CAAAiG,aAAA,CAACrF,MAAM,EAAKmL,WAAW,eACrB/L,KAAA,CAAAiG,aAAA,UAAKC,SAAS,EAAEvE,EAAE,CAACK,MAAM,CAACwK,qBAAqB,CAAC,CAAC,GAAAX,IAAA,OAAAA,IAAA,CAAK5J,UAAU,CAACmB,IAAI,CAAC,IAAI,CAACuG,KAAK,CAAC,IAAG9G,GAAG,KAAK,MAAM,EAAAgJ,IAAA,CAAE,CAAE,IACnG,IAAI,CAACnH,KAAK,CAAC+H,KAAK,iBAAIzM,KAAA,CAAAiG,aAAA,UAAKC,SAAS,EAAE,IAAI,CAACoF,gBAAgB,CAAC,IAAI,CAAC5G,KAAK,CAAC5B,IAAI,CAAE,IAAE,IAAI,CAAC4B,KAAK,CAAC+H,KAAW,CAAC,eACrGzM,KAAA,CAAAiG,aAAA,SAAUgG,UAAU,EAAGN,MAAM,CAACrI,KAAY,CAAC,eAE3CtD,KAAA,CAAAiG,aAAA,UACEC,SAAS,EAAEvE,EAAE,CAACK,MAAM,CAAC0K,SAAS,CAAC,IAAI,CAAC/C,KAAK,CAAC,GAAAmC,IAAA,OAAAA,IAAA,CACvC9J,MAAM,CAAC2K,aAAa,CAAC,IAAI,CAAChD,KAAK,CAAC,IAAG,IAAI,CAACjF,KAAK,CAAC/B,QAAQ,EAAAmJ,IAAA,CACtD9J,MAAM,CAAC4K,cAAc,CAAC,CAAC,IAAGN,WAAW,EAAAR,IAAA,CACvC,CAAE,IAEFS,IACE,CACF,CACC,CAAC,CAEb,CAAC,CAAAtD,MAAA,CAEOoD,gBAAgB,GAAxB,SAAAA,iBAAA,EAAmC,KAAAQ,MAAA,QACjC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS,CAC5B,QAAQD,MAAI,CAACnI,KAAK,CAAC5B,IAAI,GACrB,KAAK,OAAO,CACV,OAAO+J,MAAI,CAAClD,KAAK,CAACoD,kBAAkB,CACtC,KAAK,QAAQ,CACX,OAAOF,MAAI,CAAClD,KAAK,CAACqD,mBAAmB,CACvC,KAAK,OAAO,CACZ,QACE,OAAOH,MAAI,CAAClD,KAAK,CAACsD,kBAAkB,CACxC,CACF,CAAC,CACD,IAAMC,gBAAgB,GAAGC,UAAU,CAACL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAE3D,OAAOI,gBAAgB,CACzB,CAAC,CAAAjE,MAAA,CAEOkB,UAAU,GAAlB,SAAAA,WAAA,EAAsC,CACpC,IAAMhE,MAAM,GAAG,IAAI,CAACzB,KAAK,CAACyB,MAAM,GAAG,IAAI,CAACH,SAAS,CAAC,CAAC,GAAG,IAAI,CAE1D,IAAMvB,KAAK,GAAG,IAAI,CAACyG,QAAQ,CAAC,CAAC,CAC7B,IAAAkC,cAAA,GAA0C,IAAI,CAACrI,QAAQ,CAAC,CAAC,CAAjDsI,SAAS,GAAAD,cAAA,CAATC,SAAS,CAAEC,OAAO,GAAAF,cAAA,CAAPE,OAAO,CAAEC,SAAS,GAAAH,cAAA,CAATG,SAAS,CAErC,oBACEvN,KAAA,CAAAiG,aAAA,CAAC/D,KAAK,IACJsC,MAAM,QACNgJ,SAAS,QACT9K,EAAE,EAAE,IAAI,CAACmC,MAAO,EAChB,YAAU1B,cAAc,CAACE,IAAK,EAC9BoK,SAAS,EAAErL,gBAAgB,CAACkL,OAAO,EAAEC,SAAS,CAAE,EAChDG,aAAa,EAAE,IAAI,CAAC/F,cAAc,CAAC,CAAE,EACrCgG,QAAQ,EAAExL,MAAM,CAACyL,UAAU,CAACC,SAAU,EACtCC,aAAa,EAAE,IAAI,CAACpJ,KAAK,CAACoJ,aAAc,EACxCC,MAAM,EAAEC,QAAQ,CAAC,IAAI,CAACrE,KAAK,CAACE,WAAW,CAAC,GAAG,CAAE,EAC7CrD,KAAK,EAAE6G,SAAU,EACjBY,QAAQ,EAAEZ,SAAS,KAAK5C,SAAS,GAAG,MAAM,GAAGA,SAAU,EACvDyD,WAAW,EAAE,IAAI,CAACxJ,KAAK,CAACyJ,UAAW,iBAEnCnO,KAAA,CAAAiG,aAAA,CAAClF,IAAI,IACHqN,SAAS,EAAE,KAAM,EACjBhI,GAAG,EAAE,IAAI,CAAC0B,OAAQ,EAClBuG,WAAW,EAAE,IAAI,CAACjJ,KAAM,EACxBkJ,SAAS,EAAE,IAAI,CAAC5J,KAAK,CAAC6J,aAAc,EACpCvC,KAAK,EAAEuB,SAAU,IAEhBpH,MAAM,EACN,IAAI,CAACQ,YAAY,CAAClC,KAAK,CACpB,CACD,CAAC,CAEZ,CAAC,CAAAwE,MAAA,CAUOiB,gBAAgB,GAAxB,SAAAA,iBAAA,EAA4C,CAC1C,IAAM/D,MAAM,GAAG,IAAI,CAACzB,KAAK,CAACyB,MAAM,GAAG,IAAI,CAACM,eAAe,CAAC,CAAC,GAAG,IAAI,CAChE,IAAMhC,KAAK,GAAG,IAAI,CAACyG,QAAQ,CAAC,CAAC,CAE7B,oBACElL,KAAA,CAAAiG,aAAA,CAACvE,WAAW,IACV8M,oBAAoB,EAAErI,MAAO,EAC7BsI,OAAO,EAAE,IAAI,CAAC/J,KAAK,CAACgK,oBAAqB,EACzCC,cAAc,EAAE,IAAI,CAACvJ,KAAM,EAC3BZ,MAAM,EAAE,IAAI,CAACD,KAAK,CAACC,MAAO,iBAE1BxE,KAAA,CAAAiG,aAAA,CAAClF,IAAI,IAACsN,WAAW,EAAE,IAAI,CAACjJ,KAAM,EAACwJ,sBAAsB,QAACN,SAAS,EAAE,MAAO,IACrE,IAAI,CAAC3H,YAAY,CAAClC,KAAK,CACpB,CACK,CAAC,CAElB,CAAC,CAAAwE,MAAA,CAuHOzB,MAAM,GAAd,SAAAA,OAAe/C,KAAa,EAAE,CAC5B,IAAI,CAACa,KAAK,CAAC,CAAC,CACZ,IAAI,CAACJ,QAAQ,CAAC,EAAEV,MAAM,EAAE,KAAK,EAAEC,KAAK,EAALA,KAAK,CAAC,CAAC,CAAC,CAEvC,IAAI,CAAC,IAAI,CAAC8C,cAAc,CAAC,IAAI,CAAC2D,QAAQ,CAAC,CAAC,EAAEzG,KAAK,CAAC,EAAE,KAAAoK,qBAAA,EAAAC,WAAA,CAChD,CAAAD,qBAAA,IAAAC,WAAA,OAAI,CAACpK,KAAK,EAAC4B,aAAa,aAAxBuI,qBAAA,CAAAzK,IAAA,CAAA0K,WAAA,EAA2BrK,KAAK,CAAC,CACnC,CACF,CAAC,CAAAwE,MAAA,CAEOiC,QAAQ,GAAhB,SAAAA,SAAA,EAAmB,CACjB,IAAI,IAAI,CAACxG,KAAK,CAACD,KAAK,KAAKgG,SAAS,EAAE,CAClC,OAAO,IAAI,CAAC/F,KAAK,CAACD,KAAK,CACzB,CACA,OAAO,IAAI,CAACF,KAAK,CAACE,KAAK,CACzB,CAAC,CAAAwE,MAAA,CAEOnC,QAAQ,GAAhB,SAAAA,SAAiBiI,EAAoF,EAAE,CACrG,IAAQC,KAAK,GAAK,IAAI,CAACtK,KAAK,CAApBsK,KAAK,CACb,IAAI,CAACA,KAAK,EAAE,CACV,OAAO,EAAE,CACX,CACA,IAAMC,OAAO,GAAG,IAAI,CAAC1K,KAAK,CAACK,aAAa,IAAI,IAAI,CAACL,KAAK,CAACK,aAAa,CAACsK,WAAW,CAAC,CAAC,CAElF,IAAMC,MAAyB,GAAG,EAAE,CACpC,IAAIC,KAAK,GAAG,CAAC,CACb,SAAAC,SAAA,GAAAC,+BAAA,CAAoBN,KAAK,GAAAO,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE,KAAhBC,KAAK,GAAAF,KAAA,CAAA9K,KAAA,CACd,IAAAiL,eAAA,GAA+BC,cAAc,CAACF,KAAc,CAAC,CAAtDhL,KAAK,GAAAiL,eAAA,IAAE1I,IAAI,GAAA0I,eAAA,IAAExI,OAAO,GAAAwI,eAAA,IAE3B,IAAI,CAACT,OAAO,IAAI,IAAI,CAAClK,QAAQ,CAAC,CAAC,CAAC6K,UAAU,CAACnL,KAAK,EAAEuC,IAAI,EAAEiI,OAAO,CAAC,EAAE,CAChEE,MAAM,CAACU,IAAI,CAACd,EAAE,CAACtK,KAAK,EAAEuC,IAAI,EAAEoI,KAAK,EAAElI,OAAO,CAAC,CAAC,CAC5C,EAAEkI,KAAK,CACT,CACF,CAEA,OAAOD,MAAM,CACf,CAAC,CAAAlG,MAAA,CAEOkC,cAAc,GAAtB,SAAAA,eAAuB1G,KAAwB,EAAE,CAC/C,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKgG,SAAS,EAAE,CACzC,OAAO,IAAI,CACb,CAEA,IAAMuE,KAAK,GAAG,IAAI,CAACtK,KAAK,CAACsK,KAAK,IAAI,EAAE,CAEpC,SAAAc,UAAA,GAAAR,+BAAA,CAAoBN,KAAK,GAAAe,MAAA,IAAAA,MAAA,GAAAD,UAAA,IAAAN,IAAA,GAAE,KAAhBC,KAAK,GAAAM,MAAA,CAAAtL,KAAA,CACd,IAAAuL,gBAAA,GAA0BL,cAAc,CAACF,KAAK,CAAC,CAAxCQ,SAAS,GAAAD,gBAAA,IAAEhJ,IAAI,GAAAgJ,gBAAA,IAEtB,IAAI,IAAI,CAACzI,cAAc,CAAC0I,SAAS,EAAExL,KAAK,CAAC,EAAE,CACzC,OAAOuC,IAAI,CACb,CACF,CACA,OAAO,IAAI,CACb,CAAC,CAAAiC,MAAA,CAEO1B,cAAc,GAAtB,SAAAA,eAAuB2I,MAAwB,EAAEC,MAAwB,EAAE,CACzE,OAAO7O,aAAa,CAAC4O,MAAM,CAAC,IAAI5O,aAAa,CAAC6O,MAAM,CAAC,IAAI,IAAI,CAACpL,QAAQ,CAAC,CAAC,CAACwC,cAAc,CAAC2I,MAAM,EAAEC,MAAM,CAAC,CACzG,CAAC,QAAA3M,MAAA,GAxfkDxD,KAAK,CAACoQ,SAAS,GAAAzM,OAAA,CACpD0M,mBAAmB,GAAG,QAAQ,EAAA1M,OAAA,CAC9B2M,WAAW,GAAG,QAAQ,EAAA3M,OAAA,CAEtBqB,YAAY,GAAmD,EAC3EoG,WAAW,EAAXA,WAAW,EACX1D,UAAU,EAAVA,UAAU,EACVH,cAAc,EAAdA,cAAc,EACdqI,UAAU,EAAVA,UAAU,EACV/M,GAAG,EAAE,SAAS,EACdC,IAAI,EAAE,OAAO,CACf,CAAC,EAAAa,OAAA,CAEarB,IAAI,GAAGA,IAAI,EAAAqB,OAAA,CACX4M,GAAG,GAAG,iCAAMvQ,KAAA,CAAAiG,aAAA,CAAChF,aAAa,MAAE,CAAC,IAAA0C,OAAA,CAE7B6M,aAAa,GAAG,UAACrJ,OAAwD,EAAK,CAC1FlH,SAAS,CACP,cAAAD,KAAK,CAACoH,cAAc,CAACD,OAAO,CAAC,IAAI,OAAOA,OAAO,KAAK,UAAU,EAC9D,4EACF,CAAC,CACD,OAAOA,OAAO,CAChB,CAAC,EAAAxD,OAAA,MAAAD,MAAA,KAAAA,MAAA,KAAAA,MAAA;;;AA8fH,SAAS0H,WAAWA,CAAgB3G,KAAa,EAAEuC,IAAqB,EAAE;EACxE,OAAOA,IAAI;AACb;;AAEA,SAASU,UAAUA,CAAgBjD,KAAa,EAAEuC,IAAY,EAAE;EAC9D,OAAOA,IAAI;AACb;;AAEA,SAASO,cAAcA,CAAS2I,MAAc,EAAEC,MAAc,EAAE;EAC9D,OAAOD,MAAM,KAAKC,MAAM;AAC1B;;AAEA,SAASR,cAAcA,CAACF,KAAU,EAAE;EAClC,IAAIvL,KAAK,CAACuM,OAAO,CAAChB,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK;EACd;;EAEA,OAAO,CAACA,KAAK,EAAEA,KAAK,EAAEhF,SAAS,CAAC;AAClC;;AAEA,IAAMiG,eAAe,GAAG,SAAlBA,eAAeA,CAAI1J,IAAS,EAAa;EAC7C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI;EACb;;EAEA,IAAI3F,UAAU,CAAC2F,IAAI,CAAC,EAAE;IACpB,OAAO0J,eAAe,CAAC1J,IAAI,CAAC,CAAC,CAAC;EAChC;;EAEA,kBAAIhH,KAAK,CAACoH,cAAc,CAACJ,IAAI,CAAC,EAAE;IAC9B,OAAOrG,mBAAmB,CAACqG,IAAI,CAAC;EAClC;;EAEA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI,CAAC2J,QAAQ,CAAC,EAAE,CAAC;EAC1B;;EAEA,OAAO,EAAE;AACX,CAAC;;AAED,SAASf,UAAUA,CAASnL,KAAa,EAAEuC,IAAS,EAAEiI,OAAe,EAAE;EACrE,IAAIjI,IAAI,KAAKxD,MAAM,CAAC+M,GAAG,EAAE;IACvB,OAAO,KAAK;EACd;;EAEA,IAAMK,QAAQ,GAAGF,eAAe,CAAC1J,IAAI,CAAC;;EAEtC,IAAI,CAAC4J,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;;EAEA,OAAOA,QAAQ,CAAC1B,WAAW,CAAC,CAAC,CAAC2B,OAAO,CAAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;AACvD","ignoreList":[]}
@@ -6,12 +6,19 @@ import { CommonProps } from '../../internal/CommonWrapper';
6
6
  import { SizeProp } from '../../lib/types/props';
7
7
  import { Item } from './Item';
8
8
  export interface ButtonParams extends Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label' | 'aria-expanded'> {
9
+ /** Делает компонент недоступным. */
9
10
  disabled?: boolean;
11
+ /** Задает лейбл. */
10
12
  label: React.ReactNode;
13
+ /** Задает функцию, которая вызывается при клике на селект. */
11
14
  onClick: () => void;
15
+ /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */
12
16
  onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
17
+ /** Определяет, открыто ли выпадающее меню. */
13
18
  opened: boolean;
19
+ /** Определяет, есть ли Placeholder. */
14
20
  isPlaceholder: boolean;
21
+ /** Задает размер контрола. */
15
22
  size: SizeProp;
16
23
  }
17
24
  export declare const SelectDataTids: {
@@ -28,31 +35,27 @@ export interface SelectProps<TValue, TItem> extends CommonProps, Pick<AriaAttrib
28
35
  _icon?: React.ReactNode;
29
36
  /** @ignore */
30
37
  _renderButton?: (params: ButtonParams) => React.ReactNode;
38
+ /** Задает значение по умолчанию. */
31
39
  defaultValue?: TValue;
32
40
  menuOffset?: number;
33
- /**
34
- * Отключает использование портала
35
- */
41
+ /** Отключает использование портала. */
36
42
  disablePortal?: boolean;
43
+ /** Делает компонент недоступным.*/
37
44
  disabled?: boolean;
38
- /**
39
- * Состояние валидации при ошибке.
40
- */
45
+ /** Переводит контрол в состояние валидации "ошибка". */
41
46
  error?: boolean;
47
+ /** Задает функцию, которая отфильтровывает элементы по заданному паттерну. */
42
48
  filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;
43
- /**
44
- * Набор значений. Поддерживаются любые перечисляемые типы, в том числе
45
- * `Array`, `Map`, `Immutable.Map`.
49
+ /** Задает набор значений. Поддерживаются любые перечисляемые типы, в том числе `Array`, `Map`, `Immutable.Map`.
46
50
  *
47
- * Элементы воспринимаются следующим образом: если элемент — это массив, то
48
- * первый элемент является значением, второй — отображается в списке,
49
- * а третий комментарий;
50
- * если элемент не является массивом, то он используется и для отображения,
51
- * и для значения.
51
+ * Элементы воспринимаются следующим образом: если элемент — это массив, то первый элемент является значением,
52
+ * второй — отображается в списке, а третий – комментарий;
53
+ * если элемент не является массивом, то он используется и для отображения, и для значения.
52
54
  *
53
55
  * Для вставки разделителя можно использовать `Select.SEP`.
54
56
  *
55
57
  * Вставить невыделяемый элемент со своей разметкой можно так:
58
+ * @example
56
59
  * ```
57
60
  * <Select ...
58
61
  * items={[Select.staticElement(() => <div>My Element</div>)]}
@@ -60,58 +63,61 @@ export interface SelectProps<TValue, TItem> extends CommonProps, Pick<AriaAttrib
60
63
  * ```
61
64
  *
62
65
  * Чтобы добавить стандартный отступ для статического элемента:
66
+ * @example
63
67
  * ```
64
68
  * <Select.Item>My Element</Select.Item>
65
- * ```
66
- */
69
+ * ``` */
67
70
  items?: Array<SelectItem<TValue, TItem>>;
71
+ /** Задает максимальную высоту меню. */
68
72
  maxMenuHeight?: number;
73
+ /** Задает максимальную ширину. */
69
74
  maxWidth?: React.CSSProperties['maxWidth'];
70
- /**
71
- * Позволяет вручную задать текущую позицию выпадающего окна
72
- */
75
+ /** Задает текущую позицию выпадающего окна вручную. */
73
76
  menuPos?: 'top' | 'bottom' | 'middle';
77
+ /** Задает выравнивание меню. */
74
78
  menuAlign?: 'left' | 'right';
79
+ /** Задает ширину выпадающего меню. */
75
80
  menuWidth?: React.CSSProperties['width'];
81
+ /** Задает функцию, вызывающуюся при изменении value. */
76
82
  onValueChange?: (value: TValue) => void;
83
+ /** Задает функцию, которая вызывается при закрытии меню. */
77
84
  onClose?: () => void;
85
+ /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */
78
86
  onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;
87
+ /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
79
88
  onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;
89
+ /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */
80
90
  onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;
91
+ /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */
81
92
  onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
93
+ /** Задает функцию, которая вызывается при открытии меню. */
82
94
  onOpen?: () => void;
95
+ /** Задает текст, который отображается если не введено никакое значение. */
83
96
  placeholder?: React.ReactNode;
84
- /**
85
- * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,
86
- * *item*.
87
- */
97
+ /** Задает функцию, которая отображает элемент в выпадающем списке. */
88
98
  renderItem?: (value: TValue, item?: TItem) => React.ReactNode;
89
- /**
90
- * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.
91
- */
99
+ /** Задает функцию, которая отображает выбранный элемент. */
92
100
  renderValue?: (value: TValue, item?: TItem) => React.ReactNode;
93
- /**
94
- * Функция для сравнения `value` с элементом из `items`
95
- */
101
+ /** Задает функцию сравнения `value` с элементом из `items`. */
96
102
  areValuesEqual?: (value1: TValue, value2: TValue) => boolean;
97
- /**
98
- * Показывать строку поиска в списке.
99
- */
103
+ /** Показывает строку поиска в списке. */
100
104
  search?: boolean;
105
+ /** Задает значение. */
101
106
  value?: TValue;
102
107
  theme?: ThemeIn | Theme;
108
+ /** Задает длину контрола. */
103
109
  width?: number | string;
104
- /**
105
- * Состояние валидации при предупреждении.
106
- */
110
+ /** Переводит контрол в состояние валидации "предупреждение". */
107
111
  warning?: boolean;
112
+ /** Задаёт стиль кнопки. */
108
113
  use?: ButtonUse;
114
+ /** Задает размер. */
109
115
  size?: SizeProp;
116
+ /** Задаёт HTML-событие `onfocus`. */
110
117
  onFocus?: React.FocusEventHandler<HTMLElement>;
118
+ /** Задаёт HTML-событие `onblur`. */
111
119
  onBlur?: React.FocusEventHandler<HTMLElement>;
112
- /**
113
- * Текст заголовка выпадающего меню в мобильной версии
114
- */
120
+ /** Задает текст заголовка выпадающего меню в мобильной версии. */
115
121
  mobileMenuHeaderText?: string;
116
122
  }
117
123
  export interface SelectState<TValue> {
@@ -120,6 +126,16 @@ export interface SelectState<TValue> {
120
126
  value: Nullable<TValue>;
121
127
  }
122
128
  type DefaultProps<TValue, TItem> = Required<Pick<SelectProps<TValue, TItem>, 'renderValue' | 'renderItem' | 'areValuesEqual' | 'filterItem' | 'use' | 'size'>>;
129
+ /**
130
+ * Раскрывающийся список `Select` позволяет выбрать значение из заранее известного набора вариантов.
131
+ *
132
+ * Используйте `Select` при:
133
+ * * заполнении форм, например для выбора месяца.
134
+ * * переключении состояний, например, фильтра.
135
+ * * выборе предустановленных настроек, например, частоты уведомлений, часового пояса.
136
+ *
137
+ * Не используйте `Select` для выбора элементов меню. В таком случае воспользуйтесь компонентом Dropdown.
138
+ */
123
139
  export declare class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {
124
140
  static __KONTUR_REACT_UI__: string;
125
141
  static displayName: string;
@@ -1,4 +1,4 @@
1
- Простой пример.
1
+ ### Базовый пример
2
2
 
3
3
  ```jsx harmony
4
4
  const [value, setValue] = React.useState();
@@ -9,7 +9,7 @@ const items = [Select.staticElement(() => <Select.Item>Not
9
9
  <Select items={items} value={value} onValueChange={setValue}/>;
10
10
  ```
11
11
 
12
-
12
+ ### Запрет выделения и выбора
13
13
  В пункты меню можно передать проп `isNotSelectable`, чтобы запретить выделение и выбор этого пункта меню
14
14
 
15
15
  ```jsx harmony
@@ -21,6 +21,7 @@ const items = [<Select.Item isNotSelectable>Not selectable</Select.Item>, 'One',
21
21
  <Select items={items} value={value} onValueChange={setValue} />
22
22
  ```
23
23
 
24
+ ### Очистка значения
24
25
  Очистить значение в `Select`'е можно только с помощью `null`
25
26
  ```jsx harmony
26
27
  import { Button, Group } from '@skbkontur/react-ui';
@@ -35,7 +36,7 @@ const items = ['One', 'Two', 'Three', 'Four'];
35
36
  </Group>
36
37
  ```
37
38
 
38
- Пример с полем поиска.
39
+ ### Поле поиска
39
40
 
40
41
  ```jsx harmony
41
42
  const [value, setValue] = React.useState();
@@ -45,7 +46,7 @@ const items = ['One', 'Two', 'Three', Select.SEP, 'Four'];
45
46
  <Select items={items} value={value} onValueChange={setValue} search />;
46
47
  ```
47
48
 
48
- Пример использования пропа `_renderButton`:
49
+ ### Пример использования пропа `_renderButton`:
49
50
 
50
51
  ```jsx harmony
51
52
  import {Link} from '@skbkontur/react-ui';
@@ -78,7 +79,7 @@ const renderLinkButton = params => {
78
79
  />;
79
80
  ```
80
81
 
81
- #### Локали по умолчанию
82
+ ### Локали по умолчанию
82
83
 
83
84
  ```typescript static
84
85
  interface SelectLocale {
@@ -94,7 +95,7 @@ const en_GB = {
94
95
  };
95
96
  ```
96
97
 
97
- У Select есть 3 стандартных размера.
98
+ ### Размер
98
99
  ```jsx harmony
99
100
  import { Gapped } from '@skbkontur/react-ui';
100
101
 
@@ -0,0 +1,28 @@
1
+ import * as SelectStories from './Select.docs.stories.tsx';
2
+ import { Primary, ArgTypes, Stories, Description } from '@storybook/blocks';
3
+ import { Meta } from '../../../.storybook/Meta';
4
+
5
+ <Meta of={SelectStories} />
6
+
7
+ # Select
8
+
9
+ [Компонент в Контур.Гайдах](https://guides.kontur.ru/components/selection-elements/select/)
10
+
11
+ [Компонент в Figma](https://www.figma.com/file/87ScqxPzJpF9DcVBNYWOjM/%E2%9A%A1-Kontur-UI-Modern-Layout?node-id=203%3A2514)
12
+
13
+ <Description />
14
+
15
+ ## Базовый пример
16
+
17
+ <Primary />
18
+
19
+ ## Пропы
20
+
21
+ <details>
22
+ <summary>Открыть таблицу с пропами</summary>
23
+ <ArgTypes />
24
+ </details>
25
+
26
+ ## Примеры использования
27
+
28
+ <Stories title="" includePrimary={false} />
@@ -1 +0,0 @@
1
- export {};
@@ -33,13 +33,13 @@ export var SidePageDataTids = {
33
33
  var TRANSITION_TIMEOUT = 200;
34
34
 
35
35
  /**
36
- * Сайдпейдж
36
+ * `SidePage` — это модальное окно, которое открывается поверх основной страницы и занимает всю высоту окна браузера.
37
37
  *
38
- * Содержит в себе три компоненты: **SidePage.Header**,
39
- * **SidePage.Body** и **SidePage.Footer**
38
+ * Используйте его, когда нужно сохранить контекст и показать большое количество данных.
40
39
  *
41
- * Для отображения серой плашки в футере в компонент
42
- * **Footer** необходимо передать пропс **panel**
40
+ * Содержит в себе три компоненты: `SidePage.Header`, `SidePage.Body` и `SidePage.Footer`.
41
+ *
42
+ * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.
43
43
  */
44
44
  export var SidePage = /*#__PURE__*/function (_React$Component) {
45
45
  function SidePage() {