@vkontakte/vkui 4.34.2 → 4.35.2

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 (467) hide show
  1. package/.browserslistrc +5 -0
  2. package/.cache/.eslintcache +1 -1
  3. package/.cache/.stylelintcache +1 -1
  4. package/.cache/.tsbuildinfo +242 -215
  5. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  6. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  7. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
  8. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  9. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
  10. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  11. package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
  12. package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
  13. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
  14. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
  15. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
  16. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
  17. package/.cache/ts/src/components/Tabs/Tabs.d.ts +13 -2
  18. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
  19. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
  20. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
  21. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
  22. package/.cache/ts/src/components/View/View.d.ts +2 -18
  23. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  24. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
  25. package/.cache/ts/src/tokenized/index.d.ts +26 -0
  26. package/.eslintrc.json +14 -4
  27. package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
  28. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  29. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
  30. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  31. package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -554
  32. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  33. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +3 -0
  34. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  35. package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
  36. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  37. package/dist/cjs/components/Epic/Epic.js +1 -6
  38. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  39. package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
  40. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  41. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
  42. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  43. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +1 -1
  44. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  45. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  46. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  47. package/dist/cjs/components/Popper/Popper.js +63 -68
  48. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  49. package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
  50. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
  51. package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
  52. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  53. package/dist/cjs/components/SimpleCell/SimpleCell.js +20 -31
  54. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  55. package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
  56. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  57. package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
  58. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  59. package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
  60. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  61. package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
  62. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  63. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
  64. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  65. package/dist/cjs/components/Tabs/Tabs.js +23 -5
  66. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  67. package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
  68. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  69. package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
  70. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  71. package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
  72. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  73. package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
  74. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  75. package/dist/cjs/components/View/View.js +388 -453
  76. package/dist/cjs/components/View/View.js.map +1 -1
  77. package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
  78. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  79. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
  80. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  81. package/dist/cjs/hooks/useOrientationChange.js +2 -1
  82. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  83. package/dist/cjs/tokenized/index.js +104 -0
  84. package/dist/cjs/tokenized/index.js.map +1 -1
  85. package/dist/components/CardScroll/CardScroll.js +3 -1
  86. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  87. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  88. package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
  89. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  90. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  91. package/dist/components/CustomSelect/CustomSelect.js +473 -580
  92. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  93. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
  94. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  95. package/dist/components/Dropdown/Dropdown.d.ts +46 -5
  96. package/dist/components/Dropdown/Dropdown.js +137 -27
  97. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  98. package/dist/components/Epic/Epic.js +1 -4
  99. package/dist/components/Epic/Epic.js.map +1 -1
  100. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  101. package/dist/components/FocusTrap/FocusTrap.js +9 -9
  102. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  103. package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
  104. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  105. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +2 -2
  106. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  107. package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
  108. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  109. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  110. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  111. package/dist/components/Popper/Popper.d.ts +18 -1
  112. package/dist/components/Popper/Popper.js +62 -68
  113. package/dist/components/Popper/Popper.js.map +1 -1
  114. package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
  115. package/dist/components/PopperArrow/PopperArrow.js +27 -0
  116. package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
  117. package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
  118. package/dist/components/RichTooltip/RichTooltip.js +5 -10
  119. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  120. package/dist/components/SimpleCell/SimpleCell.js +18 -28
  121. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  122. package/dist/components/Snackbar/Snackbar.d.ts +5 -1
  123. package/dist/components/Snackbar/Snackbar.js +8 -11
  124. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  125. package/dist/components/SplitCol/SplitCol.d.ts +1 -0
  126. package/dist/components/SplitCol/SplitCol.js +3 -0
  127. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  128. package/dist/components/SplitLayout/SplitLayout.js +4 -7
  129. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  130. package/dist/components/Tabbar/Tabbar.d.ts +8 -1
  131. package/dist/components/Tabbar/Tabbar.js +15 -14
  132. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  133. package/dist/components/TabbarItem/TabbarItem.js +7 -9
  134. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  135. package/dist/components/Tabs/Tabs.d.ts +13 -2
  136. package/dist/components/Tabs/Tabs.js +23 -5
  137. package/dist/components/Tabs/Tabs.js.map +1 -1
  138. package/dist/components/TabsItem/TabsItem.d.ts +22 -1
  139. package/dist/components/TabsItem/TabsItem.js +40 -21
  140. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  141. package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
  142. package/dist/components/TextTooltip/TextTooltip.js +5 -7
  143. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  144. package/dist/components/Tooltip/Tooltip.d.ts +18 -1
  145. package/dist/components/Tooltip/Tooltip.js +89 -68
  146. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  147. package/dist/components/Typography/Headline/Headline.d.ts +3 -3
  148. package/dist/components/Typography/Headline/Headline.js +10 -2
  149. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  150. package/dist/components/View/View.d.ts +2 -18
  151. package/dist/components/View/View.js +384 -462
  152. package/dist/components/View/View.js.map +1 -1
  153. package/dist/components/View/ViewInfinite.d.ts +1 -1
  154. package/dist/components/WriteBar/WriteBar.d.ts +5 -1
  155. package/dist/components/WriteBar/WriteBar.js +10 -5
  156. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  157. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
  158. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  159. package/dist/components.css +143 -127
  160. package/dist/components.css.map +1 -1
  161. package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
  162. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
  163. package/dist/cssm/components/Alert/Alert.css +1 -1
  164. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  165. package/dist/cssm/components/Avatar/Avatar.css +3 -5
  166. package/dist/cssm/components/Badge/Badge.css +3 -3
  167. package/dist/cssm/components/Banner/Banner.css +5 -5
  168. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
  169. package/dist/cssm/components/Button/Button.css +53 -35
  170. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  171. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  172. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  173. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  174. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  175. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  176. package/dist/cssm/components/Card/Card.css +5 -6
  177. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  178. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  179. package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
  180. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  181. package/dist/cssm/components/Cell/Cell.css +3 -3
  182. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  183. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  184. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  185. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  186. package/dist/cssm/components/Chip/Chip.css +1 -1
  187. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  188. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  189. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  190. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
  191. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  192. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  193. package/dist/cssm/components/Counter/Counter.css +31 -31
  194. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  195. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  196. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  197. package/dist/cssm/components/CustomSelect/CustomSelect.js +473 -580
  198. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  199. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
  200. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -0
  201. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  202. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
  203. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  204. package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
  205. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  206. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  207. package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
  208. package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
  209. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  210. package/dist/cssm/components/Epic/Epic.css +1 -1
  211. package/dist/cssm/components/Epic/Epic.js +1 -4
  212. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  213. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  214. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  215. package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
  216. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  217. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  218. package/dist/cssm/components/Footer/Footer.css +1 -1
  219. package/dist/cssm/components/FormField/FormField.css +9 -9
  220. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  221. package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
  222. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  223. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  224. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  225. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  226. package/dist/cssm/components/Group/Group.css +1 -1
  227. package/dist/cssm/components/Header/Header.css +1 -1
  228. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  229. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
  230. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  231. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  232. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
  233. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +2 -2
  234. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  235. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  236. package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
  237. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  238. package/dist/cssm/components/Input/Input.css +1 -1
  239. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  240. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  241. package/dist/cssm/components/Link/Link.css +1 -1
  242. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  243. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
  244. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  245. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  246. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
  247. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  248. package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
  249. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  250. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  251. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
  252. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  253. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  254. package/dist/cssm/components/Panel/Panel.css +1 -1
  255. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  256. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  257. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  258. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  259. package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
  260. package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
  261. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  262. package/dist/cssm/components/Popper/Popper.css +1 -1
  263. package/dist/cssm/components/Popper/Popper.d.ts +18 -1
  264. package/dist/cssm/components/Popper/Popper.js +62 -68
  265. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  266. package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
  267. package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
  268. package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
  269. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
  270. package/dist/cssm/components/Progress/Progress.css +1 -1
  271. package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
  272. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
  273. package/dist/cssm/components/Radio/Radio.css +1 -1
  274. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  275. package/dist/cssm/components/Removable/Removable.css +1 -1
  276. package/dist/cssm/components/RichCell/RichCell.css +3 -3
  277. package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
  278. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
  279. package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
  280. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  281. package/dist/cssm/components/Root/Root.css +1 -1
  282. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  283. package/dist/cssm/components/Search/Search.css +1 -1
  284. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  285. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  286. package/dist/cssm/components/Select/Select.css +1 -1
  287. package/dist/cssm/components/Separator/Separator.css +1 -1
  288. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  289. package/dist/cssm/components/SimpleCell/SimpleCell.js +18 -28
  290. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  291. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
  292. package/dist/cssm/components/Slider/Slider.css +3 -3
  293. package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
  294. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  295. package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
  296. package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
  297. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  298. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  299. package/dist/cssm/components/Spinner/Spinner.css +1 -1
  300. package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
  301. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
  302. package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
  303. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  304. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  305. package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
  306. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  307. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  308. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  309. package/dist/cssm/components/Switch/Switch.css +3 -3
  310. package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
  311. package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
  312. package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
  313. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  314. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  315. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
  316. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  317. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  318. package/dist/cssm/components/Tabs/Tabs.d.ts +13 -2
  319. package/dist/cssm/components/Tabs/Tabs.js +23 -5
  320. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  321. package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
  322. package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
  323. package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
  324. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  325. package/dist/cssm/components/Tappable/Tappable.css +5 -5
  326. package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
  327. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
  328. package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
  329. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  330. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  331. package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
  332. package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
  333. package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
  334. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  335. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  336. package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
  337. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  338. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
  339. package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
  340. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  341. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  342. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  343. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  344. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  345. package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
  346. package/dist/cssm/components/View/View.css +1 -1
  347. package/dist/cssm/components/View/View.d.ts +2 -18
  348. package/dist/cssm/components/View/View.js +384 -462
  349. package/dist/cssm/components/View/View.js.map +1 -1
  350. package/dist/cssm/components/View/ViewIOS.css +1 -1
  351. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  352. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
  353. package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
  354. package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
  355. package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
  356. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  357. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
  358. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
  359. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  360. package/dist/cssm/fonts/fonts.css +1 -1
  361. package/dist/cssm/hooks/useOrientationChange.js +2 -1
  362. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  363. package/dist/cssm/lib/calendar.d.ts +2 -2
  364. package/dist/cssm/styles/animations.css +1 -1
  365. package/dist/cssm/styles/bright_light.css +1 -1
  366. package/dist/cssm/styles/common.css +1 -1
  367. package/dist/cssm/styles/components.css +143 -127
  368. package/dist/cssm/styles/constants.css +3 -10
  369. package/dist/cssm/styles/space_gray.css +1 -1
  370. package/dist/cssm/styles/themes.css +1 -16
  371. package/dist/cssm/styles/unstable.css +3 -1
  372. package/dist/cssm/styles/vkcom_dark.css +1 -6
  373. package/dist/cssm/styles/vkcom_light.css +1 -11
  374. package/dist/cssm/tokenized/index.d.ts +26 -0
  375. package/dist/cssm/tokenized/index.js +13 -0
  376. package/dist/cssm/tokenized/index.js.map +1 -1
  377. package/dist/default_scheme.css +1 -1
  378. package/dist/default_scheme.css.map +1 -1
  379. package/dist/fonts.css +1 -1
  380. package/dist/fonts.css.map +1 -1
  381. package/dist/hooks/useOrientationChange.js +2 -1
  382. package/dist/hooks/useOrientationChange.js.map +1 -1
  383. package/dist/lib/calendar.d.ts +2 -2
  384. package/dist/tokenized/index.d.ts +26 -0
  385. package/dist/tokenized/index.js +13 -0
  386. package/dist/tokenized/index.js.map +1 -1
  387. package/dist/unstable.css +3 -1
  388. package/dist/unstable.css.map +1 -1
  389. package/dist/vkui.css +144 -143
  390. package/dist/vkui.css.map +1 -1
  391. package/package.json +6 -5
  392. package/src/components/Badge/Badge.css +0 -5
  393. package/src/components/CardScroll/CardScroll.tsx +1 -1
  394. package/src/components/Cell/Cell.css +3 -2
  395. package/src/components/ChipsInput/ChipsInput.css +2 -0
  396. package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
  397. package/src/components/Counter/Counter.css +30 -0
  398. package/src/components/CustomScrollView/CustomScrollView.css +10 -5
  399. package/src/components/CustomSelect/CustomSelect.tsx +543 -574
  400. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +2 -0
  401. package/src/components/Dropdown/Dropdown.css +12 -0
  402. package/src/components/Dropdown/Dropdown.tsx +174 -20
  403. package/src/components/Dropdown/Readme.md +1 -0
  404. package/src/components/Epic/Epic.tsx +1 -4
  405. package/src/components/FixedLayout/Readme.md +103 -109
  406. package/src/components/FocusTrap/FocusTrap.tsx +10 -10
  407. package/src/components/Group/Group.css +1 -1
  408. package/src/components/HorizontalCell/HorizontalCell.css +25 -43
  409. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
  410. package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
  411. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +2 -2
  412. package/src/components/Input/Input.css +2 -0
  413. package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
  414. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  415. package/src/components/Popper/Popper.css +0 -35
  416. package/src/components/Popper/Popper.tsx +66 -54
  417. package/src/components/PopperArrow/PopperArrow.css +34 -0
  418. package/src/components/PopperArrow/PopperArrow.tsx +40 -0
  419. package/src/components/RichTooltip/RichTooltip.css +44 -4
  420. package/src/components/RichTooltip/RichTooltip.tsx +9 -11
  421. package/src/components/SimpleCell/Readme.md +115 -129
  422. package/src/components/SimpleCell/SimpleCell.css +30 -68
  423. package/src/components/SimpleCell/SimpleCell.tsx +21 -25
  424. package/src/components/Snackbar/Readme.md +95 -123
  425. package/src/components/Snackbar/Snackbar.css +18 -27
  426. package/src/components/Snackbar/Snackbar.tsx +17 -11
  427. package/src/components/SplitCol/SplitCol.tsx +2 -0
  428. package/src/components/SplitLayout/SplitLayout.css +3 -7
  429. package/src/components/SplitLayout/SplitLayout.tsx +9 -6
  430. package/src/components/Tabbar/Tabbar.css +4 -1
  431. package/src/components/Tabbar/Tabbar.tsx +23 -12
  432. package/src/components/TabbarItem/TabbarItem.css +7 -5
  433. package/src/components/TabbarItem/TabbarItem.tsx +13 -7
  434. package/src/components/Tabs/Readme.md +191 -251
  435. package/src/components/Tabs/Tabs.css +27 -80
  436. package/src/components/Tabs/Tabs.tsx +45 -7
  437. package/src/components/TabsItem/Readme.md +1 -0
  438. package/src/components/TabsItem/TabsItem.css +191 -106
  439. package/src/components/TabsItem/TabsItem.tsx +72 -20
  440. package/src/components/TextTooltip/TextTooltip.css +41 -11
  441. package/src/components/TextTooltip/TextTooltip.tsx +9 -13
  442. package/src/components/Textarea/Textarea.css +2 -0
  443. package/src/components/Tooltip/Readme.md +128 -101
  444. package/src/components/Tooltip/Tooltip.css +29 -40
  445. package/src/components/Tooltip/Tooltip.tsx +98 -66
  446. package/src/components/Typography/Headline/Headline.tsx +15 -1
  447. package/src/components/View/Readme.md +2 -0
  448. package/src/components/View/View.tsx +451 -514
  449. package/src/components/WriteBar/WriteBar.css +27 -33
  450. package/src/components/WriteBar/WriteBar.tsx +16 -5
  451. package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
  452. package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
  453. package/src/hooks/useOrientationChange.ts +1 -0
  454. package/src/styles/components.css +1 -0
  455. package/src/styles/constants.css +8 -0
  456. package/src/tokenized/index.ts +39 -0
  457. package/tsconfig.json +1 -1
  458. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
  459. package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
  460. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
  461. package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
  462. package/dist/components/ClickPopper/ClickPopper.js +0 -71
  463. package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
  464. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
  465. package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
  466. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
  467. package/src/components/ClickPopper/ClickPopper.tsx +0 -86
@@ -1,178 +1,263 @@
1
1
  .TabsItem {
2
- white-space: nowrap;
3
- text-align: center;
4
2
  box-sizing: border-box;
5
- flex-shrink: 0;
6
3
  display: flex;
7
- align-items: baseline;
4
+ align-items: center;
8
5
  justify-content: center;
6
+ padding: 4px 8px;
7
+ min-width: 0;
8
+ max-width: 100%;
9
+ min-height: 32px;
10
+ border-radius: var(--vkui--size_border_radius--regular);
11
+ transition: background-color 150ms ease-out;
9
12
  }
10
13
 
11
- .Tabs--default .TabsItem {
12
- color: var(--text_tertiary);
13
- max-width: 100%;
14
- min-width: 0;
14
+ .TabsItem--withGaps {
15
+ margin-top: 8px;
16
+ margin-left: 6px;
17
+ margin-bottom: 8px;
18
+ }
19
+
20
+ /* TODO v5.0.0 новая адаптивность */
21
+ .TabsItem--sizeY-compact {
22
+ padding-top: 2px;
23
+ padding-bottom: 2px;
24
+ min-height: 28px;
25
+ }
26
+
27
+ .TabsItem[disabled] {
28
+ opacity: var(--vkui--opacity_disable_accessibility);
29
+ }
30
+
31
+ /* mode="default" */
32
+ .TabsItem--default {
33
+ position: relative;
15
34
  flex-basis: 0;
16
- flex-shrink: 0;
17
35
  flex-grow: 1;
18
- position: relative;
19
- padding-left: 16px;
20
- padding-right: 16px;
36
+ flex-shrink: 0;
37
+ padding: 12px 16px;
38
+ min-height: 48px;
21
39
  }
22
40
 
23
- .Tabs--default .TabsItem__in {
24
- overflow: hidden;
25
- overflow: -moz-hidden-unscrollable; /* Лечит баг с ломающимся выравниванием по baseline в FF https://stackoverflow.com/questions/4310047/css-why-is-vertical-align-baseline-stop-working-on-firefox-when-using-overflow */
26
- text-overflow: ellipsis;
27
- padding: 14px 0;
41
+ /* TODO v5.0.0 новая адаптивность */
42
+ .TabsItem--sizeY-compact.TabsItem--default {
43
+ padding-top: 10px;
44
+ padding-bottom: 10px;
45
+ min-height: 44px;
28
46
  }
29
47
 
30
- .Tabs--default .TabsItem::after {
48
+ .TabsItem--hover.TabsItem--default {
49
+ background-color: var(--vkui--color_transparent--hover);
50
+ }
51
+
52
+ /* mode="accent" */
53
+ .TabsItem--accent {
54
+ transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
55
+ }
56
+
57
+ .TabsItem--selected.TabsItem--accent {
58
+ background-color: var(
59
+ --header_alternate_background,
60
+ var(--vkui--color_background_modal)
61
+ );
62
+ box-shadow: var(--vkui--elevation2);
63
+ }
64
+
65
+ .TabsItem--hover.TabsItem--accent {
66
+ background-color: var(
67
+ --control_background,
68
+ var(--vkui--color_background_secondary)
69
+ );
70
+ }
71
+
72
+ .TabsItem--accent::before {
31
73
  content: "";
32
- display: block;
33
74
  position: absolute;
34
- left: 16px;
35
- bottom: 8px;
36
- width: calc(100% - 32px);
37
- height: 2px;
38
- border-radius: 2px;
75
+ top: 0;
76
+ right: 0;
77
+ bottom: 0;
78
+ left: 0;
79
+ border: var(--thin-border) solid transparent;
80
+ border-radius: inherit;
81
+ pointer-events: none;
39
82
  }
40
83
 
41
- .Tabs--default .TabsItem--selected {
42
- color: var(--text_primary);
84
+ .TabsItem--selected.TabsItem--accent::before {
85
+ border-color: var(--separator_common, var(--vkui--color_separator_primary));
43
86
  }
44
87
 
45
- .Tabs--default .TabsItem--selected::after {
46
- background: var(--accent);
88
+ /* mode="secondary" */
89
+ .TabsItem--selected.TabsItem--secondary {
90
+ background-color: var(--vkui--color_background_secondary_alpha);
47
91
  }
48
92
 
49
- .HorizontalScroll .TabsItem {
50
- min-width: 64px;
51
- flex-basis: auto;
93
+ .TabsItem--hover.TabsItem--secondary {
94
+ background-color: var(--vkui--color_background_secondary_alpha--hover);
52
95
  }
53
96
 
54
- .Tabs--buttons .TabsItem {
55
- border-radius: 10px;
56
- box-sizing: border-box;
57
- padding: 0 16px;
97
+ /* Элемент */
98
+ .TabsItem__before {
99
+ margin-right: 6px;
100
+ color: var(--icon_outline_medium, var(--vkui--color_icon_medium));
101
+ transition: color 150ms ease-out;
58
102
  }
59
103
 
60
- .Tabs--buttons .TabsItem__in {
61
- padding: 6px 0;
104
+ .TabsItem--selected .TabsItem__before {
105
+ color: var(--text_primary, var(--vkui--color_icon_primary));
62
106
  }
63
107
 
64
- /* Для случая, когда внутри Tabs нет HorizontalScroll */
65
- .Tabs--buttons .Tabs__in > .TabsItem:first-child {
66
- margin-left: 8px;
108
+ .TabsItem--selected.TabsItem--accent .TabsItem__before {
109
+ color: var(--header_tint_alternate, var(--vkui--color_icon_accent_themed));
67
110
  }
68
111
 
69
- .Tabs--buttons .TabsItem:not(:last-child) {
70
- margin-right: 8px;
112
+ .TabsItem--selected.TabsItem--secondary .TabsItem__before {
113
+ opacity: 0.72;
71
114
  }
72
115
 
73
- .Tabs--buttons .TabsItem {
74
- background-color: var(--header_background);
75
- color: var(--header_tab_inactive_text);
116
+ /* Элемент */
117
+ .TabsItem__label {
118
+ max-width: 100%;
119
+ overflow: hidden;
120
+ color: var(--text_secondary, var(--vkui--color_text_secondary));
121
+ text-overflow: ellipsis;
122
+ white-space: nowrap;
123
+ transition: color 150ms ease-out;
124
+ min-width: 0;
125
+ }
126
+
127
+ .TabsItem--selected .TabsItem__label {
128
+ color: var(--text_primary, var(--vkui--color_text_primary));
76
129
  }
77
130
 
78
- .Tabs--buttons .TabsItem--selected {
79
- background-color: var(--header_tab_active_background);
80
- color: var(--header_tab_active_text);
131
+ .TabsItem--selected.TabsItem--accent .TabsItem__label {
132
+ color: var(--header_tint_alternate, var(--vkui--color_text_accent_themed));
81
133
  }
82
134
 
83
- .Tabs--buttons .TabsItem {
84
- color: var(--panel_tab_inactive_text);
135
+ .TabsItem--selected.TabsItem--secondary .TabsItem__label {
136
+ opacity: 0.72;
137
+ }
138
+
139
+ /* Элемент */
140
+ .TabsItem__status {
141
+ margin-left: 6px;
85
142
  }
86
143
 
87
- .Tabs--buttons .TabsItem--selected {
88
- background-color: var(--panel_tab_active_background);
89
- color: var(--panel_tab_active_text);
144
+ .TabsItem__status--count {
145
+ color: var(--text_tertiary, var(--vkui--color_text_tertiary));
90
146
  }
91
147
 
92
- .TabsItem__after .Icon--dropdown_16 {
93
- color: var(--header_tint);
94
- transform-origin: 50% calc(50% + 1px);
95
- transform: translateY(1px);
148
+ /* Элемент */
149
+ .TabsItem__after {
96
150
  margin-left: 6px;
151
+ color: var(--header_tint_alternate, var(--vkui--color_icon_accent_themed));
152
+ }
153
+
154
+ /* Элемент */
155
+ .TabsItem__underline {
156
+ position: absolute;
157
+ left: 16px;
158
+ right: 16px;
159
+ bottom: 5px;
160
+ height: 2px;
161
+ border-radius: 2px;
162
+ background-color: var(--accent, var(--vkui--color_background_accent));
163
+ opacity: 0;
164
+ transition: opacity 150ms ease-out;
165
+ pointer-events: none;
97
166
  }
98
167
 
99
- /*
100
- iOS
168
+ /* TODO v5.0.0 новая адаптивность */
169
+ .TabsItem--sizeY-compact .TabsItem__underline {
170
+ bottom: 3px;
171
+ }
172
+
173
+ .TabsItem__underline[data-selected="true"] {
174
+ opacity: 1;
175
+ }
176
+
177
+ /**
178
+ * CMP:
179
+ * Tabs
101
180
  */
102
- .Tabs--ios.Tabs--segmented .TabsItem {
103
- border: 1px solid;
104
- padding: 0 12px;
181
+ .Tabs--vkcom .TabsItem {
182
+ flex-grow: 0;
183
+ min-width: auto;
184
+ padding-left: 10px;
185
+ padding-right: 10px;
186
+ }
187
+
188
+ .Tabs--vkcom .TabsItem__underline {
189
+ right: 2px;
190
+ bottom: 0;
191
+ left: 2px;
192
+ }
193
+
194
+ /**
195
+ * CMP:
196
+ * HorizontalScroll
197
+ */
198
+ .HorizontalScroll .TabsItem {
199
+ min-width: 64px;
200
+ flex-basis: auto;
201
+ flex-grow: 1;
202
+ flex-shrink: 0;
203
+ }
204
+
205
+ /* TODO v5.0.0 Удалить mode="segmented" */
206
+ /* [Начало] */
207
+ .TabsItem--ios.TabsItem--segmented {
208
+ border: 1px solid var(--segmented_control_tint);
209
+ padding: 7px 12px;
105
210
  max-width: 100%;
106
211
  flex-basis: 0;
107
- flex-shrink: 0;
108
212
  flex-grow: 1;
213
+ flex-shrink: 0;
109
214
  border-radius: 0;
110
215
  }
111
216
 
112
- .Tabs--ios.Tabs--segmented .TabsItem__in {
113
- padding: 7px 0;
114
- }
115
-
116
- .Tabs--ios.Tabs--segmented .TabsItem:not(:first-child) {
217
+ .TabsItem--ios.TabsItem--segmented:not(:first-child) {
117
218
  border-left: none;
118
219
  }
119
220
 
120
- .Tabs--ios.Tabs--segmented .TabsItem:last-child {
121
- border-top-right-radius: 10px;
122
- border-bottom-right-radius: 10px;
123
- }
124
-
125
- .Tabs--ios.Tabs--segmented .TabsItem:first-child {
221
+ .TabsItem--ios.TabsItem--segmented:first-child {
126
222
  border-top-left-radius: 10px;
127
223
  border-bottom-left-radius: 10px;
128
224
  }
129
225
 
130
- .Tabs--ios.Tabs--segmented .TabsItem {
131
- border-color: var(--segmented_control_tint);
132
- color: var(--segmented_control_tint);
226
+ .TabsItem--ios.TabsItem--segmented:last-child {
227
+ border-top-right-radius: 10px;
228
+ border-bottom-right-radius: 10px;
133
229
  }
134
230
 
135
- .Tabs--ios.Tabs--segmented .TabsItem--selected {
231
+ .TabsItem--ios.TabsItem--segmented.TabsItem--selected {
136
232
  background-color: var(--segmented_control_tint);
137
- }
138
-
139
- .Tabs--ios.Tabs--segmented .TabsItem--selected {
140
233
  color: var(--background_content);
141
234
  }
142
235
 
143
- .Tabs--ios.Tabs--segmented .TabsItem:not(.TabsItem--selected).TabsItem--active {
144
- background: var(--separator_common);
236
+ .TabsItem--ios.TabsItem--segmented:not(.TabsItem--selected).TabsItem--active {
237
+ background-color: var(--separator_common);
145
238
  }
146
239
 
147
- .PanelHeader--ios
148
- .Tabs--segmented.TabsItem:not(.TabsItem--selected).TabsItem--active
149
- .TabsItem__in {
150
- opacity: 0.7;
240
+ .Tabs--header .TabsItem--ios.TabsItem--segmented.TabsItem--selected {
241
+ background-color: var(--header_tint_alternate);
242
+ color: var(--header_background);
151
243
  }
152
244
 
153
- .PanelHeader--ios .Tabs--segmented .TabsItem {
154
- border-color: var(--header_tint);
155
- color: var(--header_tint);
245
+ .TabsItem--ios.TabsItem--segmented .TabsItem__label {
246
+ color: var(--segmented_control_tint);
156
247
  }
157
248
 
158
- .Tabs--ios.Tabs--segmented.Tabs--header .TabsItem--selected {
159
- background-color: var(--header_tint);
160
- color: var(--header_background);
249
+ .TabsItem--ios.TabsItem--segmented.TabsItem--selected .TabsItem__label {
250
+ color: var(--background_content);
161
251
  }
162
252
 
163
- /*
164
- VKCOM
165
- */
166
-
167
- .Tabs--vkcom .TabsItem--vkcom {
168
- flex-grow: 0;
169
- min-width: auto;
170
- padding-left: 10px;
171
- padding-right: 10px;
253
+ .PanelHeader--ios
254
+ .TabsItem--segmented:not(.TabsItem--selected).TabsItem--active
255
+ .TabsItem__label {
256
+ opacity: 0.7;
172
257
  }
173
258
 
174
- .Tabs--vkcom .TabsItem--vkcom::after {
175
- left: 2px;
176
- bottom: 0;
177
- width: calc(100% - 4px);
259
+ .PanelHeader--ios .TabsItem--segmented {
260
+ border-color: var(--header_tint_alternate);
261
+ color: var(--header_tint_alternate);
178
262
  }
263
+ /* [Конец] */
@@ -1,55 +1,107 @@
1
1
  import * as React from "react";
2
- import { getClassName } from "../../helpers/getClassName";
3
2
  import { Tappable } from "../Tappable/Tappable";
4
3
  import { classNames } from "../../lib/classNames";
5
- import { VKCOM } from "../../lib/platform";
4
+ import { IOS, VKCOM } from "../../lib/platform";
6
5
  import { usePlatform } from "../../hooks/usePlatform";
7
- import { hasReactNode } from "../../lib/utils";
8
- import { TabsProps, TabsModeContext } from "../Tabs/Tabs";
6
+ import { useAdaptivity } from "../../hooks/useAdaptivity";
7
+ import { TabsModeContext, TabsContextProps } from "../Tabs/Tabs";
9
8
  import { Headline } from "../Typography/Headline/Headline";
10
9
  import { Subhead } from "../Typography/Subhead/Subhead";
11
- import { Text } from "../Typography/Text/Text";
12
10
  import "./TabsItem.css";
13
11
 
14
12
  export interface TabsItemProps extends React.HTMLAttributes<HTMLElement> {
13
+ /**
14
+ * Добавляет иконку слева.
15
+ *
16
+ * - Для `mode="default"` используйте иконки размером 24.
17
+ * - Для всех остальных `mode` используйте иконки размером 20.
18
+ */
19
+ before?: React.ReactNode;
20
+ /**
21
+ * Добавляет элемент слева от `after`.
22
+ *
23
+ * - `React.ReactElement` – либо [`Badge`](https://vkcom.github.io/VKUI/#/Badge) с параметром `mode="prominent"`.
24
+ * либо [`Counter`](https://vkcom.github.io/VKUI/#/Counter) с параметрами `mode="prominent" size="s"`.
25
+ * - `number` – для показа текстового блока с переданным числом.
26
+ */
27
+ status?: React.ReactElement | number;
28
+ /**
29
+ * Добавляет иконку справа.
30
+ *
31
+ * Например, `<Icon16Dropdown />`
32
+ */
15
33
  after?: React.ReactNode;
16
34
  selected?: boolean;
35
+ disabled?: boolean;
17
36
  }
18
37
 
19
38
  /**
20
39
  * @see https://vkcom.github.io/VKUI/#/TabsItem
21
40
  */
22
41
  export const TabsItem = ({
42
+ before,
23
43
  children,
24
- selected = false,
44
+ status,
25
45
  after,
46
+ selected = false,
26
47
  ...restProps
27
48
  }: TabsItemProps) => {
28
49
  const platform = usePlatform();
29
- const mode: TabsProps["mode"] = React.useContext(TabsModeContext);
30
-
31
- let ItemTypography =
32
- mode === "buttons" || mode === "segmented" ? Subhead : Headline;
50
+ const { sizeY } = useAdaptivity();
51
+ const { mode, withGaps }: TabsContextProps =
52
+ React.useContext(TabsModeContext);
53
+ let statusComponent = null;
33
54
 
34
- if (platform === VKCOM) {
35
- ItemTypography = Text;
55
+ if (status) {
56
+ statusComponent =
57
+ typeof status === "number" ? (
58
+ <Subhead
59
+ Component="span"
60
+ vkuiClass="TabsItem__status TabsItem__status--count"
61
+ weight="2"
62
+ >
63
+ {status}
64
+ </Subhead>
65
+ ) : (
66
+ <span vkuiClass="TabsItem__status">{status}</span>
67
+ );
36
68
  }
37
69
 
38
70
  return (
39
71
  <Tappable
40
72
  {...restProps}
41
- // eslint-disable-next-line vkui/no-object-expression-in-arguments
42
- vkuiClass={classNames(getClassName("TabsItem", platform), {
43
- "TabsItem--selected": selected,
44
- })}
45
- hasActive={mode === "segmented"}
73
+ vkuiClass={classNames(
74
+ "TabsItem",
75
+ (platform === IOS || platform === VKCOM) && `TabsItem--${platform}`,
76
+ mode && `TabsItem--${mode}`,
77
+ selected && "TabsItem--selected",
78
+ // TODO v5.0.0 новая адаптивность
79
+ sizeY && `TabsItem--sizeY-${sizeY}`,
80
+ withGaps && "TabsItem--withGaps"
81
+ )}
82
+ hoverMode="TabsItem--hover"
46
83
  activeMode="TabsItem--active"
47
84
  focusVisibleMode={mode === "segmented" ? "outside" : "inside"}
85
+ hasActive={mode === "segmented"}
48
86
  >
49
- <ItemTypography Component="span" vkuiClass="TabsItem__in" weight="2">
87
+ {before && <div vkuiClass="TabsItem__before">{before}</div>}
88
+ <Headline
89
+ Component="span"
90
+ vkuiClass="TabsItem__label"
91
+ level={mode === "default" ? "1" : "2"}
92
+ weight="2"
93
+ >
50
94
  {children}
51
- </ItemTypography>
52
- {hasReactNode(after) && <div vkuiClass="TabsItem__after">{after}</div>}
95
+ </Headline>
96
+ {statusComponent}
97
+ {after && <div vkuiClass="TabsItem__after">{after}</div>}
98
+ {mode === "default" && (
99
+ <div
100
+ vkuiClass="TabsItem__underline"
101
+ aria-hidden
102
+ data-selected={selected}
103
+ />
104
+ )}
53
105
  </Tappable>
54
106
  );
55
107
  };
@@ -1,18 +1,48 @@
1
1
  .TextTooltip {
2
- border-radius: 8px;
3
- background: rgba(
4
- 44,
5
- 45,
6
- 46,
7
- 0.88
8
- ); /*TODO узнать у дизайнеров название токена*/
9
-
2
+ border-radius: var(--vkui--size_border_radius--regular);
3
+ background-color: var(--vkui--color_background_modal);
10
4
  padding: 8px 12px 9px;
11
- color: var(--white);
12
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.04), 0 4px 32px rgba(0, 0, 0, 0.16);
5
+ color: var(--vkui--color_text_primary);
6
+ box-shadow: var(--vkui--elevation3);
13
7
  animation: vkui-popper-fadein 0.2s ease;
14
8
  }
15
9
 
16
10
  .TextTooltip__arrow {
17
- color: rgba(44, 45, 46, 0.88);
11
+ color: var(--vkui--color_background_modal);
12
+ }
13
+
14
+ .TextTooltip--accent {
15
+ background-color: var(--vkui--color_background_accent_tint);
16
+ color: var(--vkui--color_text_contrast);
17
+ }
18
+
19
+ .TextTooltip--accent .TextTooltip__arrow {
20
+ color: var(--vkui--color_background_accent_tint);
21
+ }
22
+
23
+ .TextTooltip--white {
24
+ background-color: var(--vkui--color_background_contrast);
25
+ color: var(--vkui--color_text_primary_invariably);
26
+ }
27
+
28
+ .TextTooltip--white .TextTooltip__arrow {
29
+ color: var(--vkui--color_background_contrast);
30
+ }
31
+
32
+ .TextTooltip--black {
33
+ background-color: var(--vkui--color_background_contrast_inverse);
34
+ color: var(--vkui--color_text_contrast);
35
+ }
36
+
37
+ .TextTooltip--black .TextTooltip__arrow {
38
+ color: var(--vkui--color_background_contrast_inverse);
39
+ }
40
+
41
+ .TextTooltip--inversion {
42
+ background-color: var(--vkui--color_background_modal_inverse);
43
+ color: var(--vkui--color_text_contrast_themed);
44
+ }
45
+
46
+ .TextTooltip--inversion .TextTooltip__arrow {
47
+ color: var(--vkui--color_background_modal_inverse);
18
48
  }
@@ -1,10 +1,9 @@
1
1
  import * as React from "react";
2
2
  import { HoverPopper, HoverPopperProps } from "../HoverPopper/HoverPopper";
3
- import { getClassName } from "../../helpers/getClassName";
4
- import { usePlatform } from "../../hooks/usePlatform";
5
3
  import { hasReactNode } from "../../lib/utils";
6
4
  import { Subhead } from "../Typography/Subhead/Subhead";
7
5
  import { prefixClass } from "../../lib/prefixClass";
6
+ import { classNames } from "../../lib/classNames";
8
7
  import "./TextTooltip.css";
9
8
 
10
9
  export interface TextTooltipProps
@@ -17,6 +16,10 @@ export interface TextTooltipProps
17
16
  * Заголовок тултипа
18
17
  */
19
18
  header?: React.ReactNode;
19
+ /**
20
+ * Стиль отображения подсказки
21
+ */
22
+ appearance?: "accent" | "neutral" | "white" | "black" | "inversion";
20
23
  }
21
24
 
22
25
  /**
@@ -26,30 +29,23 @@ export const TextTooltip = ({
26
29
  children,
27
30
  text,
28
31
  header,
32
+ appearance = "black", // TODO v5 сменить по умолчанию на "neutral"
29
33
  ...popperProps
30
34
  }: TextTooltipProps) => {
31
- const platform = usePlatform();
32
-
33
35
  return (
34
36
  <HoverPopper
35
- vkuiClass={getClassName("TextTooltip", platform)}
37
+ vkuiClass={classNames("TextTooltip", `TextTooltip--${appearance}`)}
36
38
  arrow
37
39
  arrowClassName={prefixClass("TextTooltip__arrow")}
38
40
  content={
39
41
  <React.Fragment>
40
42
  {hasReactNode(header) && (
41
- <Subhead
42
- Component="span"
43
- weight="2"
44
- vkuiClass="TextTooltip__header"
45
- >
43
+ <Subhead weight="2" vkuiClass="TextTooltip__header">
46
44
  {header}
47
45
  </Subhead>
48
46
  )}
49
47
  {hasReactNode(text) && (
50
- <Subhead Component="span" vkuiClass="TextTooltip__text">
51
- {text}
52
- </Subhead>
48
+ <Subhead vkuiClass="TextTooltip__text">{text}</Subhead>
53
49
  )}
54
50
  </React.Fragment>
55
51
  }
@@ -34,6 +34,8 @@
34
34
 
35
35
  .Textarea__el::placeholder {
36
36
  color: var(--field_text_placeholder, var(--vkui--color_text_secondary));
37
+ /* Для Firefox */
38
+ opacity: 1;
37
39
  }
38
40
 
39
41
  .Textarea__el:disabled {