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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +5 -0
  3. package/cjs/components/Autocomplete/Autocomplete.js +18 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.d.ts +1 -1
  6. package/cjs/components/Button/Button.js +7 -2
  7. package/cjs/components/Button/Button.js.map +1 -1
  8. package/cjs/components/Button/Button.styles.js +6 -4
  9. package/cjs/components/Button/Button.styles.js.map +1 -1
  10. package/cjs/components/Button/getInnerLinkTheme.js +2 -3
  11. package/cjs/components/Button/getInnerLinkTheme.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.styles.js +1 -2
  13. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  14. package/cjs/components/Calendar/DayCellView.js +1 -1
  15. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  16. package/cjs/components/Calendar/DayCellView.styles.d.ts +1 -1
  17. package/cjs/components/Calendar/DayCellView.styles.js +4 -4
  18. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  19. package/cjs/components/Checkbox/Checkbox.d.ts +10 -0
  20. package/cjs/components/Checkbox/Checkbox.js +70 -15
  21. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.md +18 -0
  23. package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  24. package/cjs/components/Checkbox/Checkbox.mixins.js +35 -0
  25. package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -0
  26. package/cjs/components/Checkbox/Checkbox.styles.d.ts +6 -0
  27. package/cjs/components/Checkbox/Checkbox.styles.js +95 -34
  28. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  29. package/cjs/components/ComboBox/ComboBox.md +5 -3
  30. package/cjs/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  31. package/cjs/components/CurrencyInput/CurrencyHelper.js +21 -6
  32. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +3 -0
  34. package/cjs/components/DateInput/DateInput.js +11 -3
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/Dropdown/getDropdownTheme.js +3 -1
  37. package/cjs/components/Dropdown/getDropdownTheme.js.map +1 -1
  38. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  39. package/cjs/components/DropdownMenu/DropdownMenu.js +4 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  41. package/cjs/components/DropdownMenu/DropdownMenu.md +28 -0
  42. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js +5 -1
  43. package/cjs/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  44. package/cjs/components/FileUploader/FileUploader.styles.js +3 -2
  45. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  46. package/cjs/components/GlobalLoader/GlobalLoader.js +6 -2
  47. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  48. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  49. package/cjs/components/GlobalLoader/GlobalLoaderView.js +6 -4
  50. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  51. package/cjs/components/Input/Input.d.ts +1 -5
  52. package/cjs/components/Input/Input.js +4 -5
  53. package/cjs/components/Input/Input.js.map +1 -1
  54. package/cjs/components/Input/Input.styles.js +3 -2
  55. package/cjs/components/Input/Input.styles.js.map +1 -1
  56. package/cjs/components/Kebab/Kebab.d.ts +1 -1
  57. package/cjs/components/Kebab/Kebab.js +6 -1
  58. package/cjs/components/Kebab/Kebab.js.map +1 -1
  59. package/cjs/components/Kebab/Kebab.md +28 -0
  60. package/cjs/components/Link/Link.js +4 -2
  61. package/cjs/components/Link/Link.js.map +1 -1
  62. package/cjs/components/Link/Link.mixins.d.ts +1 -2
  63. package/cjs/components/Link/Link.mixins.js +5 -16
  64. package/cjs/components/Link/Link.mixins.js.map +1 -1
  65. package/cjs/components/Link/Link.styles.d.ts +2 -0
  66. package/cjs/components/Link/Link.styles.js +58 -38
  67. package/cjs/components/Link/Link.styles.js.map +1 -1
  68. package/cjs/components/Modal/ModalFooter.js +1 -1
  69. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  70. package/cjs/components/Modal/ModalHeader.js +1 -1
  71. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  72. package/cjs/components/Radio/Radio.styles.js +6 -2
  73. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  74. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  75. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  76. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  77. package/cjs/components/Select/Select.d.ts +7 -5
  78. package/cjs/components/Select/Select.js +15 -6
  79. package/cjs/components/Select/Select.js.map +1 -1
  80. package/cjs/components/Select/Select.styles.js +3 -2
  81. package/cjs/components/Select/Select.styles.js.map +1 -1
  82. package/cjs/components/Select/selectTheme.js +4 -1
  83. package/cjs/components/Select/selectTheme.js.map +1 -1
  84. package/cjs/components/Tabs/Tab.d.ts +1 -0
  85. package/cjs/components/Tabs/Tab.js +15 -1
  86. package/cjs/components/Tabs/Tab.js.map +1 -1
  87. package/cjs/components/Tabs/Tab.styles.d.ts +9 -3
  88. package/cjs/components/Tabs/Tab.styles.js +106 -68
  89. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  90. package/cjs/components/Tabs/Tabs.d.ts +8 -2
  91. package/cjs/components/Tabs/Tabs.js +15 -1
  92. package/cjs/components/Tabs/Tabs.js.map +1 -1
  93. package/cjs/components/Tabs/Tabs.md +32 -0
  94. package/cjs/components/Tabs/Tabs.styles.d.ts +3 -1
  95. package/cjs/components/Tabs/Tabs.styles.js +23 -7
  96. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  97. package/cjs/components/Tabs/TabsContext.d.ts +2 -1
  98. package/cjs/components/Tabs/TabsContext.js +2 -0
  99. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  100. package/cjs/components/Tabs/helpers.d.ts +6 -0
  101. package/cjs/components/Tabs/helpers.js +30 -0
  102. package/cjs/components/Tabs/helpers.js.map +1 -0
  103. package/cjs/components/Textarea/Textarea.styles.js +2 -2
  104. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  105. package/cjs/components/Toast/ToastView.styles.js +2 -2
  106. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  107. package/cjs/components/Toggle/Toggle.d.ts +11 -1
  108. package/cjs/components/Toggle/Toggle.js +102 -2
  109. package/cjs/components/Toggle/Toggle.js.map +1 -1
  110. package/cjs/components/Toggle/Toggle.md +16 -2
  111. package/cjs/components/Toggle/Toggle.mixins.d.ts +7 -0
  112. package/cjs/components/Toggle/Toggle.mixins.js +90 -0
  113. package/cjs/components/Toggle/Toggle.mixins.js.map +1 -0
  114. package/cjs/components/Toggle/Toggle.styles.d.ts +21 -1
  115. package/cjs/components/Toggle/Toggle.styles.js +172 -56
  116. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  117. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  118. package/cjs/components/TokenInput/TokenInput.js +8 -2
  119. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  120. package/cjs/components/TokenInput/TokenInput.md +26 -35
  121. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  122. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  123. package/cjs/components/TokenInput/TokenInputMenu.d.ts +7 -0
  124. package/cjs/components/TokenInput/TokenInputMenu.js +9 -1
  125. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  126. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  127. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -2
  128. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  129. package/cjs/components/TooltipMenu/TooltipMenu.md +28 -0
  130. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js +2 -1
  131. package/cjs/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  132. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  133. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +10 -1
  134. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  135. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
  136. package/cjs/internal/CustomComboBox/ComboBoxView.js +11 -3
  137. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  138. package/cjs/internal/CustomComboBox/CustomComboBox.js +13 -11
  139. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  140. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  141. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  142. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  143. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -3
  144. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  145. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  146. package/cjs/internal/DropdownContainer/DropdownContainer.js +6 -1
  147. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  148. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
  149. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +7 -5
  150. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  151. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  152. package/cjs/internal/InputLikeText/InputLikeText.js +16 -4
  153. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  154. package/cjs/internal/InternalMenu/InternalMenu.d.ts +13 -4
  155. package/cjs/internal/InternalMenu/InternalMenu.js +15 -5
  156. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  157. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  158. package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -7
  159. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  160. package/cjs/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  161. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js +9 -0
  162. package/cjs/internal/InternalMenu/isIconPaddingEnabled.js.map +1 -0
  163. package/cjs/internal/Menu/Menu.d.ts +42 -8
  164. package/cjs/internal/Menu/Menu.js +272 -78
  165. package/cjs/internal/Menu/Menu.js.map +1 -1
  166. package/cjs/internal/Menu/Menu.styles.d.ts +6 -1
  167. package/cjs/internal/Menu/Menu.styles.js +42 -8
  168. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  169. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -2
  170. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  171. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  172. package/cjs/internal/Popup/Popup.d.ts +7 -2
  173. package/cjs/internal/Popup/Popup.js +13 -3
  174. package/cjs/internal/Popup/Popup.js.map +1 -1
  175. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -1
  176. package/cjs/internal/PopupMenu/PopupMenu.js +29 -4
  177. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  178. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  179. package/cjs/internal/themes/DefaultTheme.d.ts +114 -17
  180. package/cjs/internal/themes/DefaultTheme.js +244 -68
  181. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  182. package/cjs/internal/themes/Theme2022.d.ts +19 -3
  183. package/cjs/internal/themes/Theme2022.js +33 -13
  184. package/cjs/internal/themes/Theme2022.js.map +1 -1
  185. package/cjs/internal/themes/Theme2022Dark.d.ts +0 -4
  186. package/cjs/internal/themes/Theme2022Dark.js +3 -14
  187. package/cjs/internal/themes/Theme2022Dark.js.map +1 -1
  188. package/cjs/typings/html.d.ts +0 -1
  189. package/components/Autocomplete/Autocomplete/Autocomplete.js +13 -3
  190. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  191. package/components/Autocomplete/Autocomplete.d.ts +5 -0
  192. package/components/Button/Button/Button.js +2 -0
  193. package/components/Button/Button/Button.js.map +1 -1
  194. package/components/Button/Button.d.ts +1 -1
  195. package/components/Button/Button.styles/Button.styles.js +2 -2
  196. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  197. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js +2 -3
  198. package/components/Button/getInnerLinkTheme/getInnerLinkTheme.js.map +1 -1
  199. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  200. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  201. package/components/Calendar/DayCellView/DayCellView.js +1 -1
  202. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  203. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +2 -2
  204. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  205. package/components/Calendar/DayCellView.styles.d.ts +1 -1
  206. package/components/Checkbox/Checkbox/Checkbox.js +56 -8
  207. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  208. package/components/Checkbox/Checkbox.d.ts +10 -0
  209. package/components/Checkbox/Checkbox.md +18 -0
  210. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +17 -0
  211. package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -0
  212. package/components/Checkbox/Checkbox.mixins/package.json +6 -0
  213. package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  214. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -25
  215. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  216. package/components/Checkbox/Checkbox.styles.d.ts +6 -0
  217. package/components/ComboBox/ComboBox.md +5 -3
  218. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +32 -4
  219. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  220. package/components/CurrencyInput/CurrencyHelper.d.ts +2 -0
  221. package/components/DateInput/DateInput/DateInput.js +5 -1
  222. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  223. package/components/DateInput/DateInput.d.ts +3 -0
  224. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js +3 -1
  225. package/components/Dropdown/getDropdownTheme/getDropdownTheme.js.map +1 -1
  226. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +1 -0
  227. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  228. package/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  229. package/components/DropdownMenu/DropdownMenu.md +28 -0
  230. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js +5 -1
  231. package/components/DropdownMenu/getDropdownMenuTheme/getDropdownMenuTheme.js.map +1 -1
  232. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +1 -1
  233. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  234. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +5 -1
  235. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  236. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +6 -2
  237. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  238. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -1
  239. package/components/Input/Input/Input.js +3 -1
  240. package/components/Input/Input/Input.js.map +1 -1
  241. package/components/Input/Input.d.ts +1 -5
  242. package/components/Input/Input.styles/Input.styles.js +2 -2
  243. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  244. package/components/Kebab/Kebab/Kebab.js +4 -1
  245. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  246. package/components/Kebab/Kebab.d.ts +1 -1
  247. package/components/Kebab/Kebab.md +28 -0
  248. package/components/Link/Link/Link.js +4 -4
  249. package/components/Link/Link/Link.js.map +1 -1
  250. package/components/Link/Link.mixins/Link.mixins.js +2 -5
  251. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  252. package/components/Link/Link.mixins.d.ts +1 -2
  253. package/components/Link/Link.styles/Link.styles.js +29 -21
  254. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  255. package/components/Link/Link.styles.d.ts +2 -0
  256. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  257. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  258. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  259. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  260. package/components/Radio/Radio.styles/Radio.styles.js +2 -2
  261. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  262. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  263. package/components/ScrollContainer/ScrollContainer.d.ts +3 -2
  264. package/components/Select/Select/Select.js +15 -7
  265. package/components/Select/Select/Select.js.map +1 -1
  266. package/components/Select/Select.d.ts +7 -5
  267. package/components/Select/Select.styles/Select.styles.js +1 -1
  268. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  269. package/components/Select/selectTheme/selectTheme.js +3 -1
  270. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  271. package/components/Tabs/Tab/Tab.js +3 -3
  272. package/components/Tabs/Tab/Tab.js.map +1 -1
  273. package/components/Tabs/Tab.d.ts +1 -0
  274. package/components/Tabs/Tab.styles/Tab.styles.js +52 -23
  275. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  276. package/components/Tabs/Tab.styles.d.ts +9 -3
  277. package/components/Tabs/Tabs/Tabs.js +11 -3
  278. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  279. package/components/Tabs/Tabs.d.ts +8 -2
  280. package/components/Tabs/Tabs.md +32 -0
  281. package/components/Tabs/Tabs.styles/Tabs.styles.js +15 -4
  282. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  283. package/components/Tabs/Tabs.styles.d.ts +3 -1
  284. package/components/Tabs/TabsContext/TabsContext.js +1 -0
  285. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  286. package/components/Tabs/TabsContext.d.ts +2 -1
  287. package/components/Tabs/helpers/helpers.js +25 -0
  288. package/components/Tabs/helpers/helpers.js.map +1 -0
  289. package/components/Tabs/helpers/package.json +6 -0
  290. package/components/Tabs/helpers.d.ts +6 -0
  291. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  292. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  293. package/components/Toast/ToastView.styles/ToastView.styles.js +1 -1
  294. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  295. package/components/Toggle/Toggle/Toggle.js +112 -9
  296. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  297. package/components/Toggle/Toggle.d.ts +11 -1
  298. package/components/Toggle/Toggle.md +16 -2
  299. package/components/Toggle/Toggle.mixins/Toggle.mixins.js +35 -0
  300. package/components/Toggle/Toggle.mixins/Toggle.mixins.js.map +1 -0
  301. package/components/Toggle/Toggle.mixins/package.json +6 -0
  302. package/components/Toggle/Toggle.mixins.d.ts +7 -0
  303. package/components/Toggle/Toggle.styles/Toggle.styles.js +85 -31
  304. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  305. package/components/Toggle/Toggle.styles.d.ts +21 -1
  306. package/components/TokenInput/TokenInput/TokenInput.js +9 -3
  307. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  308. package/components/TokenInput/TokenInput.d.ts +2 -0
  309. package/components/TokenInput/TokenInput.md +26 -35
  310. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  311. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  312. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -0
  313. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  314. package/components/TokenInput/TokenInputMenu.d.ts +7 -0
  315. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +7 -2
  316. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  317. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  318. package/components/TooltipMenu/TooltipMenu.md +28 -0
  319. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js +1 -1
  320. package/internal/CloseButtonIcon/CloseButtonIcon.styles/CloseButtonIcon.styles.js.map +1 -1
  321. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -0
  322. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  323. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  324. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +10 -3
  325. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  326. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -0
  327. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +23 -20
  328. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  329. package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
  330. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  331. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +5 -2
  332. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  333. package/internal/DateSelect/DateSelect.styles.d.ts +3 -0
  334. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +2 -0
  335. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  336. package/internal/DropdownContainer/DropdownContainer.d.ts +3 -2
  337. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +5 -4
  338. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  339. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +1 -4
  340. package/internal/InputLikeText/InputLikeText/InputLikeText.js +20 -8
  341. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  342. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  343. package/internal/InternalMenu/InternalMenu/InternalMenu.js +11 -6
  344. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  345. package/internal/InternalMenu/InternalMenu.d.ts +13 -4
  346. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -7
  347. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  348. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -0
  349. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js +6 -0
  350. package/internal/InternalMenu/isIconPaddingEnabled/isIconPaddingEnabled.js.map +1 -0
  351. package/internal/InternalMenu/isIconPaddingEnabled/package.json +6 -0
  352. package/internal/InternalMenu/isIconPaddingEnabled.d.ts +2 -0
  353. package/internal/Menu/Menu/Menu.js +197 -42
  354. package/internal/Menu/Menu/Menu.js.map +1 -1
  355. package/internal/Menu/Menu.d.ts +42 -8
  356. package/internal/Menu/Menu.styles/Menu.styles.js +20 -5
  357. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  358. package/internal/Menu/Menu.styles.d.ts +6 -1
  359. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -0
  360. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  361. package/internal/MobilePopup/MobilePopup.d.ts +2 -2
  362. package/internal/Popup/Popup/Popup.js +9 -3
  363. package/internal/Popup/Popup/Popup.js.map +1 -1
  364. package/internal/Popup/Popup.d.ts +7 -2
  365. package/internal/PopupMenu/PopupMenu/PopupMenu.js +27 -5
  366. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  367. package/internal/PopupMenu/PopupMenu.d.ts +4 -1
  368. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  369. package/internal/themes/DefaultTheme/DefaultTheme.js +320 -88
  370. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  371. package/internal/themes/DefaultTheme.d.ts +114 -17
  372. package/internal/themes/Theme2022/Theme2022.js +59 -44
  373. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  374. package/internal/themes/Theme2022.d.ts +19 -3
  375. package/internal/themes/Theme2022Dark/Theme2022Dark.js +1 -18
  376. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  377. package/internal/themes/Theme2022Dark.d.ts +0 -4
  378. package/package.json +3 -3
  379. package/typings/html.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
2
2
 
3
3
 
4
4
  var styles = (0, _Emotion.memoizeStyle)({
@@ -11,15 +11,21 @@ var styles = (0, _Emotion.memoizeStyle)({
11
11
 
12
12
  },
13
13
 
14
+ mobileRoot: function mobileRoot(t) {
15
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 0 ", ";\n "])),
16
+ t.mobileMenuPaddingX);
17
+
18
+ },
19
+
14
20
  shadow: function shadow(t) {
15
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n box-shadow: ", ";\n "])),
21
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n box-shadow: ", ";\n "])),
16
22
  t.menuBorder,
17
23
  t.menuShadow);
18
24
 
19
25
  },
20
26
 
21
27
  wrapper: function wrapper() {
22
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n "])));
28
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n "])));
23
29
 
24
30
 
25
31
 
@@ -30,25 +36,25 @@ var styles = (0, _Emotion.memoizeStyle)({
30
36
  },
31
37
 
32
38
  headerWrapper: function headerWrapper() {
33
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n top: -5px;\n "])));
39
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n top: -5px;\n "])));
34
40
 
35
41
 
36
42
  },
37
43
 
38
44
  footerWrapper: function footerWrapper() {
39
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: -5px;\n "])));
45
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: -5px;\n "])));
40
46
 
41
47
 
42
48
  },
43
49
 
44
50
  contentWrapper: function contentWrapper() {
45
- return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 6px 18px 7px 8px;\n "])));
51
+ return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 6px 18px 7px 8px;\n "])));
46
52
 
47
53
 
48
54
  },
49
55
 
50
56
  menuSeparatorWrapper: function menuSeparatorWrapper(t) {
51
- return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n height: ", ";\n "])),
57
+ return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n height: ", ";\n "])),
52
58
  t.menuSeparatorBorderWidth);
53
59
 
54
60
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalMenu.styles.ts"],"names":["styles","root","t","css","internalMenuPaddingY","menuPaddingX","bgSecondary","shadow","menuBorder","menuShadow","wrapper","headerWrapper","footerWrapper","contentWrapper","menuSeparatorWrapper","menuSeparatorBorderWidth"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACaD,IAAAA,CAAC,CAACE,oBADf,EACuCF,CAAC,CAACG,YADzC;;;AAIgBH,IAAAA,CAAC,CAACI,WAJlB;;AAMD,GARgC;;AAUjCC,EAAAA,MAViC,kBAU1BL,CAV0B,EAUhB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACM,UADd;AAEgBN,IAAAA,CAAC,CAACO,UAFlB;;AAID,GAfgC;;AAiBjCC,EAAAA,OAjBiC,qBAiBvB;AACR,eAAOP,YAAP;;;;;;;;AAQD,GA1BgC;;AA4BjCQ,EAAAA,aA5BiC,2BA4BjB;AACd,eAAOR,YAAP;;;AAGD,GAhCgC;;AAkCjCS,EAAAA,aAlCiC,2BAkCjB;AACd,eAAOT,YAAP;;;AAGD,GAtCgC;;AAwCjCU,EAAAA,cAxCiC,4BAwChB;AACf,eAAOV,YAAP;;;AAGD,GA5CgC;;AA8CjCW,EAAAA,oBA9CiC,gCA8CZZ,CA9CY,EA8CF;AAC7B,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACa,wBADd;;AAGD,GAlDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n padding: ${t.internalMenuPaddingY} ${t.menuPaddingX};\n outline: none;\n box-sizing: content-box;\n background: ${t.bgSecondary};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n\n wrapper() {\n return css`\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n `;\n },\n\n headerWrapper() {\n return css`\n top: -5px;\n `;\n },\n\n footerWrapper() {\n return css`\n bottom: -5px;\n `;\n },\n\n contentWrapper() {\n return css`\n padding: 6px 18px 7px 8px;\n `;\n },\n\n menuSeparatorWrapper(t: Theme) {\n return css`\n height: ${t.menuSeparatorBorderWidth};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["InternalMenu.styles.ts"],"names":["styles","root","t","css","internalMenuPaddingY","menuPaddingX","bgSecondary","mobileRoot","mobileMenuPaddingX","shadow","menuBorder","menuShadow","wrapper","headerWrapper","footerWrapper","contentWrapper","menuSeparatorWrapper","menuSeparatorBorderWidth"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACaD,IAAAA,CAAC,CAACE,oBADf,EACuCF,CAAC,CAACG,YADzC;;;AAIgBH,IAAAA,CAAC,CAACI,WAJlB;;AAMD,GARgC;;AAUjCC,EAAAA,UAViC,sBAUtBL,CAVsB,EAUZ;AACnB,eAAOC,YAAP;AACeD,IAAAA,CAAC,CAACM,kBADjB;;AAGD,GAdgC;;AAgBjCC,EAAAA,MAhBiC,kBAgB1BP,CAhB0B,EAgBhB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACQ,UADd;AAEgBR,IAAAA,CAAC,CAACS,UAFlB;;AAID,GArBgC;;AAuBjCC,EAAAA,OAvBiC,qBAuBvB;AACR,eAAOT,YAAP;;;;;;;;AAQD,GAhCgC;;AAkCjCU,EAAAA,aAlCiC,2BAkCjB;AACd,eAAOV,YAAP;;;AAGD,GAtCgC;;AAwCjCW,EAAAA,aAxCiC,2BAwCjB;AACd,eAAOX,YAAP;;;AAGD,GA5CgC;;AA8CjCY,EAAAA,cA9CiC,4BA8ChB;AACf,eAAOZ,YAAP;;;AAGD,GAlDgC;;AAoDjCa,EAAAA,oBApDiC,gCAoDZd,CApDY,EAoDF;AAC7B,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACe,wBADd;;AAGD,GAxDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n padding: ${t.internalMenuPaddingY} ${t.menuPaddingX};\n outline: none;\n box-sizing: content-box;\n background: ${t.bgSecondary};\n `;\n },\n\n mobileRoot(t: Theme) {\n return css`\n padding: 0 ${t.mobileMenuPaddingX};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n border: ${t.menuBorder};\n box-shadow: ${t.menuShadow};\n `;\n },\n\n wrapper() {\n return css`\n position: relative;\n z-index: 1;\n width: 100%;\n overflow: hidden;\n line-height: 18px;\n box-sizing: border-box;\n `;\n },\n\n headerWrapper() {\n return css`\n top: -5px;\n `;\n },\n\n footerWrapper() {\n return css`\n bottom: -5px;\n `;\n },\n\n contentWrapper() {\n return css`\n padding: 6px 18px 7px 8px;\n `;\n },\n\n menuSeparatorWrapper(t: Theme) {\n return css`\n height: ${t.menuSeparatorBorderWidth};\n `;\n },\n});\n"]}
@@ -0,0 +1,2 @@
1
+ import { InternalMenuProps } from './InternalMenu';
2
+ export declare const isIconPaddingEnabled: (children: InternalMenuProps['children'], preventIconsOffset: InternalMenuProps['preventIconsOffset']) => boolean;
@@ -0,0 +1,9 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.isIconPaddingEnabled = void 0;var _react = _interopRequireDefault(require("react"));
2
+
3
+
4
+
5
+ var isIconPaddingEnabled = function isIconPaddingEnabled(
6
+ children,
7
+ preventIconsOffset) {return (
8
+
9
+ Boolean(!preventIconsOffset && _react.default.Children.toArray(children).some(function (x) {return /*#__PURE__*/_react.default.isValidElement(x) && x.props.icon;})));};exports.isIconPaddingEnabled = isIconPaddingEnabled;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["isIconPaddingEnabled.ts"],"names":["isIconPaddingEnabled","children","preventIconsOffset","Boolean","React","Children","toArray","some","x","isValidElement","props","icon"],"mappings":"kKAAA;;;;AAIO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB;AAClCC,QADkC;AAElCC,kBAFkC;;AAIlCC,IAAAA,OAAO,CAAC,CAACD,kBAAD,IAAuBE,eAAMC,QAAN,CAAeC,OAAf,CAAuBL,QAAvB,EAAiCM,IAAjC,CAAsC,UAACC,CAAD,UAAO,4BAAMC,cAAN,CAAqBD,CAArB,KAA2BA,CAAC,CAACE,KAAF,CAAQC,IAA1C,EAAtC,CAAxB,CAJ2B,GAA7B,C","sourcesContent":["import React from 'react';\n\nimport { InternalMenuProps } from './InternalMenu';\n\nexport const isIconPaddingEnabled = (\n children: InternalMenuProps['children'],\n preventIconsOffset: InternalMenuProps['preventIconsOffset'],\n) =>\n Boolean(!preventIconsOffset && React.Children.toArray(children).some((x) => React.isValidElement(x) && x.props.icon));\n"]}
@@ -1,9 +1,15 @@
1
- import React from 'react';
2
- export interface MenuProps {
1
+ import React, { HTMLAttributes } from 'react';
2
+ import { ScrollContainerScrollState } from '../../components/ScrollContainer';
3
+ export interface MenuProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
3
4
  children: React.ReactNode;
4
5
  hasShadow?: boolean;
6
+ /**
7
+ * Максимальная высота применяется только для скролл контейнера
8
+ *
9
+ * Высота `header` и `footer` в нее не включены
10
+ */
5
11
  maxHeight?: number | string;
6
- onItemClick?: () => void;
12
+ onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;
7
13
  width?: number | string;
8
14
  preventWindowScroll?: boolean;
9
15
  /**
@@ -11,28 +17,47 @@ export interface MenuProps {
11
17
  */
12
18
  disableScrollContainer?: boolean;
13
19
  align?: 'left' | 'right';
20
+ /**
21
+ * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.
22
+ * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой
23
+ */
24
+ preventIconsOffset?: boolean;
25
+ onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;
26
+ header?: React.ReactNode;
27
+ footer?: React.ReactNode;
28
+ /**
29
+ * Циклический перебор айтемов меню (по-дефолтну включен)
30
+ */
31
+ cyclicSelection?: boolean;
32
+ initialSelectedItemIndex?: number;
14
33
  }
15
34
  export interface MenuState {
16
35
  highlightedIndex: number;
36
+ maxHeight: number | string;
37
+ scrollState: ScrollContainerScrollState;
17
38
  }
18
39
  export declare const MenuDataTids: {
19
40
  readonly root: "Menu__root";
20
41
  };
21
- declare type DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll'>>;
22
- export declare class Menu extends React.Component<MenuProps, MenuState> {
42
+ declare type DefaultProps = Required<Pick<MenuProps, 'align' | 'width' | 'maxHeight' | 'hasShadow' | 'preventWindowScroll' | 'cyclicSelection' | 'initialSelectedItemIndex'>>;
43
+ export declare class Menu extends React.PureComponent<MenuProps, MenuState> {
23
44
  static __KONTUR_REACT_UI__: string;
24
45
  static defaultProps: DefaultProps;
25
46
  private getProps;
26
- state: {
27
- highlightedIndex: number;
28
- };
47
+ state: MenuState;
29
48
  private theme;
30
49
  private scrollContainer;
31
50
  private isMobileLayout;
32
51
  private highlighted;
33
52
  private unmounted;
34
53
  private setRootNode;
54
+ private header;
55
+ private footer;
35
56
  componentWillUnmount(): void;
57
+ componentDidMount(): void;
58
+ componentDidUpdate(prevProps: MenuProps): void;
59
+ focus(): void;
60
+ private focusOnRootElement;
36
61
  render(): JSX.Element;
37
62
  /**
38
63
  * @public
@@ -56,7 +81,13 @@ export declare class Menu extends React.Component<MenuProps, MenuState> {
56
81
  hasHighlightedItem(): boolean;
57
82
  highlightItem(index: number): void;
58
83
  private renderMain;
84
+ private renderHeader;
85
+ private renderFooter;
86
+ private renderMenuSeparatorWithNoMargin;
59
87
  private getChildList;
88
+ private setInitialSelection;
89
+ private shouldRecalculateMaxHeight;
90
+ private calculateMaxHeight;
60
91
  private refScrollContainer;
61
92
  private refHighlighted;
62
93
  private scrollToSelected;
@@ -67,5 +98,8 @@ export declare class Menu extends React.Component<MenuProps, MenuState> {
67
98
  private unhighlight;
68
99
  private move;
69
100
  private isEmpty;
101
+ private handleKeyDown;
102
+ private getStyle;
103
+ private handleScrollStateChange;
70
104
  }
71
105
  export {};
@@ -1,5 +1,10 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.MenuDataTids = exports.Menu = void 0;var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
+ var _identifiers = require("../../lib/events/keyboard/identifiers");
4
+ var _MenuSeparator = require("../../components/MenuSeparator");
5
+ var _ThemeFactory = require("../../lib/theming/ThemeFactory");
6
+ var _getDOMRect = require("../../lib/dom/getDOMRect");
7
+ var _SSRSafe = require("../../lib/SSRSafe");
3
8
  var _decorator = require("../../components/ResponsiveLayout/decorator");
4
9
  var _utils = require("../../lib/utils");
5
10
  var _ScrollContainer = require("../../components/ScrollContainer");
@@ -13,6 +18,7 @@ var _addIconPaddingIfPartOfMenu = require("../InternalMenu/addIconPaddingIfPartO
13
18
  var _client = require("../../lib/client");
14
19
  var _createPropsGetter = require("../../lib/createPropsGetter");
15
20
  var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
21
+ var _isIconPaddingEnabled = require("../InternalMenu/isIconPaddingEnabled");
16
22
 
17
23
  var _Menu = require("./Menu.styles");
18
24
  var _isActiveElement = require("./isActiveElement");var _class, _class2, _temp;
@@ -35,6 +41,27 @@ var _isActiveElement = require("./isActiveElement");var _class, _class2, _temp;
35
41
 
36
42
 
37
43
 
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
38
65
  var MenuDataTids = {
39
66
  root: 'Menu__root' };exports.MenuDataTids = MenuDataTids;var
40
67
 
@@ -43,7 +70,20 @@ var MenuDataTids = {
43
70
 
44
71
 
45
72
 
46
- Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Menu, _React$Component);function Menu() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {(0, _inheritsLoose2.default)(Menu, _React$PureComponent);function Menu() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
85
+
86
+
47
87
 
48
88
 
49
89
 
@@ -57,7 +97,9 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
57
97
  getProps = (0, _createPropsGetter.createPropsGetter)(Menu.defaultProps);_this.
58
98
 
59
99
  state = {
60
- highlightedIndex: -1 };_this.
100
+ highlightedIndex: -1,
101
+ maxHeight: _this.getProps().maxHeight || 'none',
102
+ scrollState: 'top' };_this.
61
103
 
62
104
 
63
105
 
@@ -94,6 +136,17 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
94
136
 
95
137
 
96
138
 
139
+ focusOnRootElement = function () {
140
+ var rootNode = (0, _rootNode2.getRootNode)((0, _assertThisInitialized2.default)(_this));
141
+ if ((0, _SSRSafe.isHTMLElement)(rootNode)) {
142
+ rootNode == null ? void 0 : rootNode.focus();
143
+ }
144
+ };_this.
145
+
146
+
147
+
148
+
149
+
97
150
 
98
151
 
99
152
 
@@ -167,17 +220,78 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
167
220
 
168
221
 
169
222
 
170
- getChildList = function () {
171
- var enableIconPadding = _react.default.Children.toArray(_this.props.children).some(
172
- function (x) {return /*#__PURE__*/_react.default.isValidElement(x) && x.props.icon;});
173
223
 
174
224
 
175
- return _react.default.Children.map(_this.props.children, function (child, index) {
176
- if (!child) {
177
- return child;
178
- }
179
225
 
180
- if (typeof child === 'string' || typeof child === 'number') {
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+ renderHeader = function () {var _cx;
249
+ return /*#__PURE__*/(
250
+ _react.default.createElement("div", {
251
+ className: (0, _Emotion.cx)((_cx = {}, _cx[
252
+ _Menu.styles.wrapper()] = true, _cx[
253
+ _Menu.styles.headerWrapper()] = true, _cx)),
254
+
255
+ ref: function ref(el) {return _this.header = el;} }, /*#__PURE__*/
256
+
257
+ _react.default.createElement("div", { className: _Menu.styles.contentWrapper() }, _this.props.header), /*#__PURE__*/
258
+ _react.default.createElement("div", { className: _Menu.styles.menuSeparatorWrapper(_this.theme) },
259
+ _this.state.scrollState !== 'top' && _this.renderMenuSeparatorWithNoMargin())));
260
+
261
+
262
+
263
+ };_this.
264
+
265
+ renderFooter = function () {var _cx2;
266
+ return /*#__PURE__*/(
267
+ _react.default.createElement("div", {
268
+ className: (0, _Emotion.cx)((_cx2 = {}, _cx2[
269
+ _Menu.styles.wrapper()] = true, _cx2[
270
+ _Menu.styles.footerWrapper()] = true, _cx2)),
271
+
272
+ ref: function ref(el) {return _this.footer = el;} }, /*#__PURE__*/
273
+
274
+ _react.default.createElement("div", { className: _Menu.styles.menuSeparatorWrapper(_this.theme) },
275
+ _this.state.scrollState !== 'bottom' && _this.renderMenuSeparatorWithNoMargin()), /*#__PURE__*/
276
+
277
+ _react.default.createElement("div", { className: _Menu.styles.contentWrapper() }, _this.props.footer)));
278
+
279
+
280
+ };_this.
281
+
282
+ renderMenuSeparatorWithNoMargin = function () {
283
+ return /*#__PURE__*/(
284
+ _react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ menuSeparatorMarginY: '0' }, _this.theme) }, /*#__PURE__*/
285
+ _react.default.createElement(_MenuSeparator.MenuSeparator, null)));
286
+
287
+
288
+ };_this.
289
+
290
+ getChildList = function () {
291
+ var enableIconPadding = (0, _isIconPaddingEnabled.isIconPaddingEnabled)(_this.props.children, _this.props.preventIconsOffset);
292
+
293
+ return _react.default.Children.map(_this.props.children, function (child, index) {
294
+ if (typeof child === 'string' || typeof child === 'number' || (0, _utils.isNullable)(child)) {
181
295
  return child;
182
296
  }
183
297
 
@@ -204,6 +318,53 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
204
318
  });
205
319
  };_this.
206
320
 
321
+ setInitialSelection = function () {
322
+ for (var i = _this.getProps().initialSelectedItemIndex; i > -1; i--) {
323
+ _this.down();
324
+ }
325
+ };_this.
326
+
327
+ shouldRecalculateMaxHeight = function (prevProps) {
328
+ var _this$props = _this.props,header = _this$props.header,footer = _this$props.footer,children = _this$props.children;
329
+ var maxHeight = _this.getProps().maxHeight;
330
+ var prevMaxHeight = prevProps.maxHeight;
331
+ var prevHeader = prevProps.header;
332
+ var prevFooter = prevProps.footer;
333
+ var prevChildrenCount = _react.default.Children.count(prevProps.children);
334
+
335
+ return (
336
+ maxHeight !== prevMaxHeight ||
337
+ footer !== prevFooter ||
338
+ header !== prevHeader ||
339
+ _react.default.Children.count(children) !== prevChildrenCount);
340
+
341
+ };_this.
342
+
343
+ calculateMaxHeight = function () {
344
+ var maxHeight = _this.getProps().maxHeight;
345
+ var parsedMaxHeight = maxHeight;
346
+ var rootNode = (0, _rootNode2.getRootNode)((0, _assertThisInitialized2.default)(_this));
347
+
348
+ if (typeof maxHeight === 'string' && typeof window !== 'undefined' && rootNode) {
349
+ var rootElementMaxHeight = window.getComputedStyle(rootNode).maxHeight;
350
+
351
+ if (rootElementMaxHeight) {
352
+ parsedMaxHeight = parseFloat(rootElementMaxHeight);
353
+ }
354
+ }
355
+
356
+ var calculatedMaxHeight =
357
+ typeof parsedMaxHeight === 'number' ?
358
+ parsedMaxHeight + (
359
+ _this.header && (0, _getDOMRect.getDOMRect)(_this.header).height || 0) + (
360
+ _this.footer && (0, _getDOMRect.getDOMRect)(_this.footer).height || 0) :
361
+ maxHeight;
362
+
363
+ _this.setState({
364
+ maxHeight: calculatedMaxHeight || 'none' });
365
+
366
+ };_this.
367
+
207
368
  refScrollContainer = function (scrollContainer) {
208
369
  _this.scrollContainer = scrollContainer;
209
370
  };_this.
@@ -268,7 +429,99 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
268
429
 
269
430
  unhighlight = function () {
270
431
  _this.setState({ highlightedIndex: -1 });
271
- };return _this;}var _proto = Menu.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this.unmounted = true;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});} /**
432
+ };_this.
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+ handleKeyDown = function (event) {
484
+ if (typeof _this.props.onKeyDown === 'function') {
485
+ _this.props.onKeyDown(event);
486
+ }
487
+
488
+ if (event.defaultPrevented) {
489
+ return;
490
+ }
491
+
492
+ if ((0, _identifiers.isKeyArrowUp)(event)) {
493
+ event.preventDefault();
494
+ _this.up();
495
+ } else if ((0, _identifiers.isKeyArrowDown)(event)) {
496
+ event.preventDefault();
497
+ _this.down();
498
+ } else if ((0, _identifiers.isKeyEnter)(event)) {
499
+ if (_this.highlighted && _this.highlighted.props.onClick) {
500
+ _this.highlighted.props.onClick(event);
501
+ }
502
+ }
503
+ };_this.
504
+
505
+ getStyle = function (props) {
506
+ if (props.align === 'right') {
507
+ return {
508
+ maxWidth: props.width,
509
+ minWidth: props.width,
510
+ maxHeight: _this.state.maxHeight };
511
+
512
+ }
513
+
514
+ return {
515
+ width: props.width,
516
+ maxHeight: _this.state.maxHeight };
517
+
518
+ };_this.
519
+
520
+ handleScrollStateChange = function (scrollState) {
521
+ if (_this.state.scrollState !== scrollState) {
522
+ _this.setState({ scrollState: scrollState });
523
+ }
524
+ };return _this;}var _proto = Menu.prototype;_proto.componentWillUnmount = function componentWillUnmount() {this.unmounted = true;};_proto.componentDidMount = function componentDidMount() {this.setInitialSelection();this.calculateMaxHeight();};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (this.shouldRecalculateMaxHeight(prevProps)) {this.calculateMaxHeight();}if (prevProps.maxHeight !== this.getProps().maxHeight) {this.setState({ maxHeight: this.props.maxHeight || 'none' });}};_proto.focus = function focus() {this.focusOnRootElement();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});} /**
272
525
  * @public
273
526
  */;_proto.up = function up() {this.move(-1);} /**
274
527
  * @public
@@ -278,73 +531,14 @@ Menu = (0, _decorator.responsiveLayout)(_class = (0, _rootNode2.rootNode)(_class
278
531
  * @public
279
532
  */;_proto.reset = function reset() {this.setState({ highlightedIndex: -1 });} /**
280
533
  * @public
281
- */;_proto.hasHighlightedItem = function hasHighlightedItem() {return this.state.highlightedIndex !== -1;};_proto.highlightItem = function highlightItem(index) {this.highlight(index);};_proto.renderMain = function renderMain() {var _cx, _cx2;if (this.isEmpty()) {return null;}var _this$getProps = this.getProps(),hasShadow = _this$getProps.hasShadow,maxHeight = _this$getProps.maxHeight,preventWindowScroll = _this$getProps.preventWindowScroll;var offsetY = (0, _ThemeHelpers.isTheme2022)(this.theme) ? { top: 4, right: 0, bottom: 4 } : {};var isMobile = this.isMobileLayout;return /*#__PURE__*/_react.default.createElement("div", { "data-tid": MenuDataTids.root, className: (0, _Emotion.cx)(getAlignRightClass(this.props), (_cx = {}, _cx[_Menu.styles.root(this.theme)] = true, _cx[_Menu.styles.rootMobile(this.theme)] = isMobile, _cx[_Menu.styles.shadow(this.theme)] = hasShadow && !isMobile, _cx)), style: getStyle(this.props), ref: this.setRootNode }, /*#__PURE__*/_react.default.createElement(_ScrollContainer.ScrollContainer, { ref: this.refScrollContainer, maxHeight: maxHeight, preventWindowScroll: preventWindowScroll, disabled: this.props.disableScrollContainer, offsetY: offsetY }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_Menu.styles.scrollContainer(this.theme)] = true, _cx2[_Menu.styles.scrollContainerMobile(this.theme)] = isMobile, _cx2)) }, this.getChildList())));};_proto.refHighlighted = function refHighlighted(originalRef, menuItem) {this.highlighted = menuItem;if (typeof originalRef === 'function') {originalRef(menuItem);}};_proto.select = function select(index, shouldHandleHref, event) {var item = childrenToArray(this.props.children)[index];if ((0, _isActiveElement.isActiveElement)(item)) {if (shouldHandleHref && item.props.href) {if (item.props.target) {window.open(item.props.href, item.props.target);} else {location.href = item.props.href;}}if (item.props.onClick) {item.props.onClick(event);}if (this.props.onItemClick) {this.props.onItemClick();}return true;}return false;};_proto.move = function move(step) {var _this3 = this;if (this.unmounted) {// NOTE workaround, because `ComboBox` call `process.nextTick` in reducer
282
- return;}var children = childrenToArray(this.props.children);var activeElements = children.filter(_isActiveElement.isActiveElement);if (!activeElements.length) {return;
283
- }
284
- var index = this.state.highlightedIndex;var _loop = function _loop() {
285
-
286
- index += step;
287
- if (index < 0) {
288
- index = children.length - 1;
289
- } else if (index > children.length) {
290
- index = 0;
291
- }
292
-
293
- var child = children[index];
294
- if ((0, _isActiveElement.isActiveElement)(child)) {
295
- _this3.setState({ highlightedIndex: index }, function () {
296
- switch (activeElements.indexOf(child)) {
297
- case 0:
298
- _this3.scrollToTop();
299
- break;
300
- case activeElements.length - 1:
301
- _this3.scrollToBottom();
302
- break;
303
- default:
304
- _this3.scrollToSelected();}
305
-
306
- });
307
- return { v: void 0 };
308
- }};do {var _ret = _loop();if (typeof _ret === "object") return _ret.v;
309
- } while (index !== this.state.highlightedIndex);
310
- };_proto.
311
-
312
- isEmpty = function isEmpty() {
313
- var children = this.props.children;
314
- return !children || !childrenToArray(children).filter(_utils.isNonNullable).length;
315
- };return Menu;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Menu', _class2.defaultProps = { align: 'left', width: 'auto', maxHeight: 300, hasShadow: true, preventWindowScroll: true }, _temp)) || _class) || _class;exports.Menu = Menu;
316
-
317
-
318
- function childrenToArray(children) {
319
- var ret = [];
320
- // Use forEach instead of map to avoid cloning for key unifying.
321
- _react.default.Children.forEach(children, function (child) {
322
- ret.push(child);
323
- });
324
- return ret;
325
- }
326
-
327
- var getStyle = function getStyle(props) {
328
- if (props.align === 'right') {
329
- return {
330
- maxWidth: props.width,
331
- minWidth: props.width,
332
- maxHeight: props.maxHeight };
333
-
334
- }
335
-
336
- return {
337
- width: props.width,
338
- maxHeight: props.maxHeight };
339
-
340
- };
341
-
342
- var getAlignRightClass = function getAlignRightClass(props) {
343
- if (props.align === 'right') {var _cx3;
344
- return (0, _Emotion.cx)((_cx3 = {}, _cx3[
345
- _Menu.styles.alignRight()] = !_client.isIE11, _cx3[
346
- _Menu.styles.alignRightIE11()] = _client.isIE11, _cx3[
347
- _Menu.styles.alignRightIE11FixAutoWidth()] = _client.isIE11 && props.width === 'auto', _cx3));
534
+ */;_proto.hasHighlightedItem = function hasHighlightedItem() {return this.state.highlightedIndex !== -1;};_proto.highlightItem = function highlightItem(index) {this.highlight(index);};_proto.renderMain = function renderMain() {var _cx3, _cx4;if (this.isEmpty()) {return null;}var _this$getProps = this.getProps(),hasShadow = _this$getProps.hasShadow,maxHeight = _this$getProps.maxHeight,preventWindowScroll = _this$getProps.preventWindowScroll;var offsetY = (0, _ThemeHelpers.isTheme2022)(this.theme) ? { top: "" + this.theme.scrollContainerScrollBarOffsetY, right: 0, bottom: "" + this.theme.scrollContainerScrollBarOffsetY } : {};var isMobile = this.isMobileLayout;return /*#__PURE__*/_react.default.createElement("div", { "data-tid": MenuDataTids.root, className: (0, _Emotion.cx)(getAlignRightClass(this.props), (_cx3 = {}, _cx3[_Menu.styles.root(this.theme)] = true, _cx3[_Menu.styles.mobileRoot(this.theme)] = isMobile, _cx3[_Menu.styles.shadow(this.theme)] = hasShadow && !isMobile, _cx3)), style: this.getStyle(this.props), id: this.props.id, onKeyDown: this.handleKeyDown, ref: this.setRootNode, tabIndex: 0 }, this.props.header && this.renderHeader(), /*#__PURE__*/_react.default.createElement(_ScrollContainer.ScrollContainer, { ref: this.refScrollContainer, maxHeight: maxHeight, preventWindowScroll: preventWindowScroll, onScrollStateChange: this.handleScrollStateChange, disabled: this.props.disableScrollContainer, offsetY: offsetY }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)((_cx4 = {}, _cx4[_Menu.styles.scrollContainer(this.theme)] = true, _cx4[_Menu.styles.scrollContainerMobile(this.theme)] = isMobile, _cx4)) }, this.getChildList())), this.props.footer && this.renderFooter());};_proto.refHighlighted = function refHighlighted(originalRef, menuItem) {this.highlighted = menuItem;if (typeof originalRef === 'function') {originalRef(menuItem);}};_proto.select = function select(index, shouldHandleHref, event) {var item = childrenToArray(this.props.children)[index];if ((0, _isActiveElement.isActiveElement)(item)) {if (shouldHandleHref && item.props.href) {if (item.props.target) {window.open(item.props.href, item.props.target);} else {location.href = item.props.href;}}if (item.props.onClick) {item.props.onClick(event);}if (this.props.onItemClick) {this.props.onItemClick(event);}return true;}return false;};_proto.move = function move(step) {var _this3 = this;if (this.unmounted) {// NOTE workaround, because `ComboBox` call `process.nextTick` in reducer
535
+ return;}var children = childrenToArray(this.props.children);var activeElements = children.filter(_isActiveElement.isActiveElement);if (!activeElements.length) {return;}var index = this.state.highlightedIndex;var _loop = function _loop() {index += step;if (!_this3.getProps().cyclicSelection && (index < 0 || index > children.length)) {return { v: void 0 };}if (index < 0) {index = children.length - 1;} else if (index > children.length) {index = 0;}var child = children[index];if ((0, _isActiveElement.isActiveElement)(child)) {_this3.setState({ highlightedIndex: index }, function () {switch (activeElements.indexOf(child)) {case 0:_this3.scrollToTop();break;case activeElements.length - 1:_this3.scrollToBottom();break;default:_this3.scrollToSelected();}});return { v: void 0 };}};do {var _ret = _loop();if (typeof _ret === "object") return _ret.v;} while (index !== this.state.highlightedIndex);};_proto.isEmpty = function isEmpty() {var children = this.props.children;return !children || !childrenToArray(children).filter(_utils.isNonNullable).length;};return Menu;}(_react.default.PureComponent), _class2.__KONTUR_REACT_UI__ = 'Menu', _class2.defaultProps = { align: 'left', width: 'auto', maxHeight: 300, hasShadow: true, preventWindowScroll: true, cyclicSelection: true, initialSelectedItemIndex: -1 }, _temp)) || _class) || _class;exports.Menu = Menu;function childrenToArray(children) {var ret = []; // Use forEach instead of map to avoid cloning for key unifying.
536
+ _react.default.Children.forEach(children, function (child) {ret.push(child);});return ret;}var getAlignRightClass = function getAlignRightClass(props) {
537
+ if (props.align === 'right') {var _cx5;
538
+ return (0, _Emotion.cx)((_cx5 = {}, _cx5[
539
+ _Menu.styles.alignRight()] = !_client.isIE11, _cx5[
540
+ _Menu.styles.alignRightIE11()] = _client.isIE11, _cx5[
541
+ _Menu.styles.alignRightIE11FixAutoWidth()] = _client.isIE11 && props.width === 'auto', _cx5));
348
542
 
349
543
  }
350
544