@vkontakte/vkui 4.34.0 → 4.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/.browserslistrc +5 -0
  2. package/.cache/.eslintcache +1 -1
  3. package/.cache/.stylelintcache +1 -1
  4. package/.cache/.tsbuildinfo +291 -268
  5. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  6. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -1
  7. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  8. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
  9. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  10. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  11. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  12. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  13. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  14. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  15. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +46 -5
  16. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
  17. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  18. package/.cache/ts/src/components/Group/Group.d.ts +1 -1
  19. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  20. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  21. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  22. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  23. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  24. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
  25. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +1 -1
  26. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  27. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  28. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
  29. package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
  30. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  31. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  32. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  33. package/.cache/ts/src/components/Popper/Popper.d.ts +18 -1
  34. package/.cache/ts/src/components/PopperArrow/PopperArrow.d.ts +8 -0
  35. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  36. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  37. package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
  38. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +7 -2
  39. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  40. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  41. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  42. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  43. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +5 -1
  44. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -0
  45. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +8 -1
  46. package/.cache/ts/src/components/Tabs/Tabs.d.ts +14 -3
  47. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +22 -1
  48. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  49. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +5 -1
  50. package/.cache/ts/src/components/Textarea/Textarea.d.ts +4 -1
  51. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +18 -1
  52. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +3 -3
  53. package/.cache/ts/src/components/View/View.d.ts +2 -18
  54. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  55. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +5 -1
  56. package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
  57. package/.cache/ts/src/hoc/withContext.d.ts +1 -1
  58. package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
  59. package/.cache/ts/src/tokenized/index.d.ts +26 -0
  60. package/.eslintrc.json +14 -4
  61. package/dist/cjs/components/AppRoot/AppRoot.js +13 -15
  62. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  63. package/dist/cjs/components/Button/Button.js +6 -4
  64. package/dist/cjs/components/Button/Button.js.map +1 -1
  65. package/dist/cjs/components/CardScroll/CardScroll.js +3 -1
  66. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  67. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +5 -0
  68. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  69. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +7 -1
  70. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  71. package/dist/cjs/components/CustomSelect/CustomSelect.js +477 -553
  72. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  73. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +73 -35
  74. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  75. package/dist/cjs/components/Dropdown/Dropdown.js +147 -26
  76. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  77. package/dist/cjs/components/Epic/Epic.js +1 -6
  78. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  79. package/dist/cjs/components/FocusTrap/FocusTrap.js +9 -10
  80. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  81. package/dist/cjs/components/FormField/FormField.js +4 -10
  82. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  83. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +4 -7
  84. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  85. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +1 -0
  86. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  87. package/dist/cjs/components/Input/Input.js +3 -6
  88. package/dist/cjs/components/Input/Input.js.map +1 -1
  89. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +2 -2
  90. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  91. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -0
  92. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  93. package/dist/cjs/components/NativeSelect/NativeSelect.js +1 -0
  94. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  95. package/dist/cjs/components/Panel/Panel.js +1 -0
  96. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  97. package/dist/cjs/components/PanelHeader/PanelHeader.js +1 -0
  98. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  99. package/dist/cjs/components/Popper/Popper.js +16 -22
  100. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  101. package/dist/cjs/components/PopperArrow/PopperArrow.js +40 -0
  102. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -0
  103. package/dist/cjs/components/Radio/Radio.js +1 -0
  104. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  105. package/dist/cjs/components/RangeSlider/UniversalSlider.js +1 -0
  106. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  107. package/dist/cjs/components/RichTooltip/RichTooltip.js +6 -15
  108. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  109. package/dist/cjs/components/Select/Select.js +1 -0
  110. package/dist/cjs/components/Select/Select.js.map +1 -1
  111. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +4 -1
  112. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  113. package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -31
  114. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  115. package/dist/cjs/components/Snackbar/Snackbar.js +7 -11
  116. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  117. package/dist/cjs/components/SplitCol/SplitCol.js +7 -1
  118. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  119. package/dist/cjs/components/SplitLayout/SplitLayout.js +5 -8
  120. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  121. package/dist/cjs/components/Tabbar/Tabbar.js +15 -14
  122. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  123. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -10
  124. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  125. package/dist/cjs/components/Tabs/Tabs.js +23 -5
  126. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  127. package/dist/cjs/components/TabsItem/TabsItem.js +39 -22
  128. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  129. package/dist/cjs/components/TextTooltip/TextTooltip.js +6 -9
  130. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  131. package/dist/cjs/components/Textarea/Textarea.js +5 -4
  132. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  133. package/dist/cjs/components/Tooltip/Tooltip.js +94 -71
  134. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  135. package/dist/cjs/components/Typography/Headline/Headline.js +11 -2
  136. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  137. package/dist/cjs/components/View/View.js +388 -453
  138. package/dist/cjs/components/View/View.js.map +1 -1
  139. package/dist/cjs/components/WriteBar/WriteBar.js +12 -5
  140. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  141. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +3 -8
  142. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  143. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  144. package/dist/cjs/hoc/withContext.js.map +1 -1
  145. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  146. package/dist/cjs/hooks/useOrientationChange.js +2 -1
  147. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  148. package/dist/cjs/tokenized/index.js +104 -0
  149. package/dist/cjs/tokenized/index.js.map +1 -1
  150. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  151. package/dist/components/AppRoot/AppRoot.d.ts +1 -1
  152. package/dist/components/AppRoot/AppRoot.js +13 -15
  153. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  154. package/dist/components/Button/Button.d.ts +1 -1
  155. package/dist/components/Button/Button.js +6 -4
  156. package/dist/components/Button/Button.js.map +1 -1
  157. package/dist/components/CardGrid/CardGrid.d.ts +1 -1
  158. package/dist/components/CardScroll/CardScroll.js +3 -1
  159. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  160. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  161. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  162. package/dist/components/ChipsSelect/ChipsSelect.js +5 -0
  163. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  164. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  165. package/dist/components/ConfigProvider/ConfigProviderContext.js +3 -0
  166. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  167. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  168. package/dist/components/CustomSelect/CustomSelect.js +473 -579
  169. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  170. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  171. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
  172. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  173. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  174. package/dist/components/Dropdown/Dropdown.d.ts +46 -5
  175. package/dist/components/Dropdown/Dropdown.js +137 -27
  176. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  177. package/dist/components/Epic/Epic.d.ts +1 -1
  178. package/dist/components/Epic/Epic.js +1 -4
  179. package/dist/components/Epic/Epic.js.map +1 -1
  180. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  181. package/dist/components/FocusTrap/FocusTrap.js +9 -9
  182. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  183. package/dist/components/FormField/FormField.js +4 -8
  184. package/dist/components/FormField/FormField.js.map +1 -1
  185. package/dist/components/Group/Group.d.ts +1 -1
  186. package/dist/components/HorizontalCell/HorizontalCell.js +3 -5
  187. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  188. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  189. package/dist/components/HorizontalScroll/HorizontalScroll.js +1 -0
  190. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  191. package/dist/components/IconButton/IconButton.d.ts +1 -1
  192. package/dist/components/Input/Input.d.ts +1 -1
  193. package/dist/components/Input/Input.js +3 -4
  194. package/dist/components/Input/Input.js.map +1 -1
  195. package/dist/components/MiniInfoCell/MiniInfoCell.js +2 -2
  196. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  197. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  198. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  199. package/dist/components/ModalCardBase/ModalCardBase.js +1 -0
  200. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  201. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  202. package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
  203. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  204. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  205. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  206. package/dist/components/NativeSelect/NativeSelect.js +1 -0
  207. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  208. package/dist/components/Panel/Panel.d.ts +1 -1
  209. package/dist/components/Panel/Panel.js +1 -0
  210. package/dist/components/Panel/Panel.js.map +1 -1
  211. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  212. package/dist/components/PanelHeader/PanelHeader.js +1 -0
  213. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  214. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  215. package/dist/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  216. package/dist/components/Popper/Popper.d.ts +18 -1
  217. package/dist/components/Popper/Popper.js +15 -22
  218. package/dist/components/Popper/Popper.js.map +1 -1
  219. package/dist/components/PopperArrow/PopperArrow.d.ts +8 -0
  220. package/dist/components/PopperArrow/PopperArrow.js +27 -0
  221. package/dist/components/PopperArrow/PopperArrow.js.map +1 -0
  222. package/dist/components/Radio/Radio.d.ts +1 -1
  223. package/dist/components/Radio/Radio.js +1 -0
  224. package/dist/components/Radio/Radio.js.map +1 -1
  225. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  226. package/dist/components/RangeSlider/UniversalSlider.js +1 -0
  227. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  228. package/dist/components/RichCell/RichCell.d.ts +1 -1
  229. package/dist/components/RichTooltip/RichTooltip.d.ts +7 -2
  230. package/dist/components/RichTooltip/RichTooltip.js +5 -10
  231. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  232. package/dist/components/Search/Search.d.ts +1 -1
  233. package/dist/components/Select/Select.d.ts +1 -1
  234. package/dist/components/Select/Select.js +1 -0
  235. package/dist/components/Select/Select.js.map +1 -1
  236. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  237. package/dist/components/SelectMimicry/SelectMimicry.js +4 -1
  238. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  239. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  240. package/dist/components/SimpleCell/SimpleCell.js +19 -28
  241. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  242. package/dist/components/Snackbar/Snackbar.d.ts +5 -1
  243. package/dist/components/Snackbar/Snackbar.js +8 -11
  244. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  245. package/dist/components/SplitCol/SplitCol.d.ts +1 -0
  246. package/dist/components/SplitCol/SplitCol.js +3 -0
  247. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  248. package/dist/components/SplitLayout/SplitLayout.js +4 -7
  249. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  250. package/dist/components/Tabbar/Tabbar.d.ts +8 -1
  251. package/dist/components/Tabbar/Tabbar.js +15 -14
  252. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  253. package/dist/components/TabbarItem/TabbarItem.js +7 -9
  254. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  255. package/dist/components/Tabs/Tabs.d.ts +14 -3
  256. package/dist/components/Tabs/Tabs.js +23 -5
  257. package/dist/components/Tabs/Tabs.js.map +1 -1
  258. package/dist/components/TabsItem/TabsItem.d.ts +22 -1
  259. package/dist/components/TabsItem/TabsItem.js +40 -21
  260. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  261. package/dist/components/Tappable/Tappable.d.ts +1 -1
  262. package/dist/components/TextTooltip/TextTooltip.d.ts +5 -1
  263. package/dist/components/TextTooltip/TextTooltip.js +5 -7
  264. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  265. package/dist/components/Textarea/Textarea.d.ts +4 -1
  266. package/dist/components/Textarea/Textarea.js +5 -4
  267. package/dist/components/Textarea/Textarea.js.map +1 -1
  268. package/dist/components/Tooltip/Tooltip.d.ts +18 -1
  269. package/dist/components/Tooltip/Tooltip.js +89 -68
  270. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  271. package/dist/components/Typography/Headline/Headline.d.ts +3 -3
  272. package/dist/components/Typography/Headline/Headline.js +10 -2
  273. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  274. package/dist/components/View/View.d.ts +2 -18
  275. package/dist/components/View/View.js +384 -462
  276. package/dist/components/View/View.js.map +1 -1
  277. package/dist/components/View/ViewInfinite.d.ts +1 -1
  278. package/dist/components/WriteBar/WriteBar.d.ts +5 -1
  279. package/dist/components/WriteBar/WriteBar.js +10 -5
  280. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  281. package/dist/components/WriteBarIcon/WriteBarIcon.js +3 -6
  282. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  283. package/dist/components.css +143 -127
  284. package/dist/components.css.map +1 -1
  285. package/dist/cssm/components/ActionSheet/ActionSheet.css +1 -1
  286. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.css +1 -1
  287. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  288. package/dist/cssm/components/Alert/Alert.css +1 -1
  289. package/dist/cssm/components/AppRoot/AppRoot.css +1 -1
  290. package/dist/cssm/components/AppRoot/AppRoot.d.ts +1 -1
  291. package/dist/cssm/components/AppRoot/AppRoot.js +13 -15
  292. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  293. package/dist/cssm/components/Avatar/Avatar.css +3 -5
  294. package/dist/cssm/components/Badge/Badge.css +3 -3
  295. package/dist/cssm/components/Banner/Banner.css +5 -5
  296. package/dist/cssm/components/BaseGallery/BaseGallery.css +1 -1
  297. package/dist/cssm/components/Button/Button.css +53 -35
  298. package/dist/cssm/components/Button/Button.d.ts +1 -1
  299. package/dist/cssm/components/Button/Button.js +6 -4
  300. package/dist/cssm/components/Button/Button.js.map +1 -1
  301. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  302. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  303. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  304. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  305. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  306. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  307. package/dist/cssm/components/Card/Card.css +5 -6
  308. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  309. package/dist/cssm/components/CardGrid/CardGrid.d.ts +1 -1
  310. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  311. package/dist/cssm/components/CardScroll/CardScroll.js +3 -1
  312. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  313. package/dist/cssm/components/Cell/Cell.css +3 -3
  314. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.css +1 -1
  315. package/dist/cssm/components/Cell/CellDragger/CellDragger.css +1 -1
  316. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  317. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  318. package/dist/cssm/components/Checkbox/Checkbox.d.ts +1 -1
  319. package/dist/cssm/components/Chip/Chip.css +1 -1
  320. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  321. package/dist/cssm/components/ChipsSelect/ChipsSelect.css +1 -1
  322. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  323. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +5 -0
  324. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  325. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +1 -0
  326. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +3 -0
  327. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  328. package/dist/cssm/components/ContentCard/ContentCard.css +1 -1
  329. package/dist/cssm/components/Counter/Counter.css +31 -31
  330. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  331. package/dist/cssm/components/CustomSelect/CustomSelect.css +1 -1
  332. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  333. package/dist/cssm/components/CustomSelect/CustomSelect.js +473 -579
  334. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  335. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +3 -3
  336. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +2 -1
  337. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +71 -35
  338. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  339. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +3 -3
  340. package/dist/cssm/components/DateInput/DateInput.css +1 -1
  341. package/dist/cssm/components/DatePicker/DatePicker.css +1 -1
  342. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
  343. package/dist/cssm/components/DateRangeInput/DateRangeInput.css +1 -1
  344. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  345. package/dist/cssm/components/Dropdown/Dropdown.d.ts +46 -5
  346. package/dist/cssm/components/Dropdown/Dropdown.js +137 -27
  347. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  348. package/dist/cssm/components/Epic/Epic.css +1 -1
  349. package/dist/cssm/components/Epic/Epic.d.ts +1 -1
  350. package/dist/cssm/components/Epic/Epic.js +1 -4
  351. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  352. package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
  353. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  354. package/dist/cssm/components/FocusTrap/FocusTrap.js +9 -9
  355. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  356. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  357. package/dist/cssm/components/Footer/Footer.css +1 -1
  358. package/dist/cssm/components/FormField/FormField.css +9 -9
  359. package/dist/cssm/components/FormField/FormField.js +4 -8
  360. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  361. package/dist/cssm/components/FormItem/FormItem.css +1 -1
  362. package/dist/cssm/components/FormLayout/FormLayout.css +1 -1
  363. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  364. package/dist/cssm/components/FormStatus/FormStatus.css +1 -1
  365. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  366. package/dist/cssm/components/GridAvatar/GridAvatar.css +1 -1
  367. package/dist/cssm/components/Group/Group.css +1 -1
  368. package/dist/cssm/components/Group/Group.d.ts +1 -1
  369. package/dist/cssm/components/Header/Header.css +1 -1
  370. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  371. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -5
  372. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  373. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  374. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  375. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +1 -0
  376. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  377. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +3 -3
  378. package/dist/cssm/components/IconButton/IconButton.css +1 -1
  379. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  380. package/dist/cssm/components/InfoRow/InfoRow.css +1 -1
  381. package/dist/cssm/components/InitialsAvatar/InitialsAvatar.css +1 -1
  382. package/dist/cssm/components/Input/Input.css +1 -1
  383. package/dist/cssm/components/Input/Input.d.ts +1 -1
  384. package/dist/cssm/components/Input/Input.js +3 -4
  385. package/dist/cssm/components/Input/Input.js.map +1 -1
  386. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  387. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  388. package/dist/cssm/components/Link/Link.css +1 -1
  389. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  390. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +2 -2
  391. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  392. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  393. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  394. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -3
  395. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  396. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +1 -0
  397. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  398. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.css +1 -1
  399. package/dist/cssm/components/ModalPage/ModalPage.css +1 -1
  400. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  401. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.css +1 -1
  402. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  403. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +1 -1
  404. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +1 -1
  405. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +1 -1
  406. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  407. package/dist/cssm/components/NativeSelect/NativeSelect.js +1 -0
  408. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  409. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  410. package/dist/cssm/components/Panel/Panel.css +1 -1
  411. package/dist/cssm/components/Panel/Panel.d.ts +1 -1
  412. package/dist/cssm/components/Panel/Panel.js +1 -0
  413. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  414. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  415. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
  416. package/dist/cssm/components/PanelHeader/PanelHeader.js +1 -0
  417. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  418. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  419. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.css +1 -1
  420. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.css +1 -1
  421. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.css +1 -1
  422. package/dist/cssm/components/Placeholder/Placeholder.css +3 -3
  423. package/dist/cssm/components/PopoutRoot/PopoutRoot.css +1 -1
  424. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +1 -1
  425. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.css +1 -1
  426. package/dist/cssm/components/Popper/Popper.css +1 -1
  427. package/dist/cssm/components/Popper/Popper.d.ts +18 -1
  428. package/dist/cssm/components/Popper/Popper.js +15 -22
  429. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  430. package/dist/cssm/components/PopperArrow/PopperArrow.css +1 -0
  431. package/dist/cssm/components/PopperArrow/PopperArrow.d.ts +8 -0
  432. package/dist/cssm/components/PopperArrow/PopperArrow.js +28 -0
  433. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -0
  434. package/dist/cssm/components/Progress/Progress.css +1 -1
  435. package/dist/cssm/components/PromoBanner/PromoBanner.css +1 -1
  436. package/dist/cssm/components/PullToRefresh/PullToRefresh.css +3 -3
  437. package/dist/cssm/components/Radio/Radio.css +1 -1
  438. package/dist/cssm/components/Radio/Radio.d.ts +1 -1
  439. package/dist/cssm/components/Radio/Radio.js +1 -0
  440. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  441. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  442. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
  443. package/dist/cssm/components/RangeSlider/UniversalSlider.js +1 -0
  444. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  445. package/dist/cssm/components/Removable/Removable.css +1 -1
  446. package/dist/cssm/components/RichCell/RichCell.css +3 -3
  447. package/dist/cssm/components/RichCell/RichCell.d.ts +1 -1
  448. package/dist/cssm/components/RichTooltip/RichTooltip.css +3 -1
  449. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +7 -2
  450. package/dist/cssm/components/RichTooltip/RichTooltip.js +5 -10
  451. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  452. package/dist/cssm/components/Root/Root.css +1 -1
  453. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  454. package/dist/cssm/components/Search/Search.css +1 -1
  455. package/dist/cssm/components/Search/Search.d.ts +1 -1
  456. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  457. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  458. package/dist/cssm/components/Select/Select.css +1 -1
  459. package/dist/cssm/components/Select/Select.d.ts +1 -1
  460. package/dist/cssm/components/Select/Select.js +1 -0
  461. package/dist/cssm/components/Select/Select.js.map +1 -1
  462. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  463. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +4 -1
  464. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  465. package/dist/cssm/components/Separator/Separator.css +1 -1
  466. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  467. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  468. package/dist/cssm/components/SimpleCell/SimpleCell.js +19 -28
  469. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  470. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.css +1 -1
  471. package/dist/cssm/components/Slider/Slider.css +3 -3
  472. package/dist/cssm/components/SliderSwitch/SliderSwitch.css +1 -1
  473. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  474. package/dist/cssm/components/Snackbar/Snackbar.d.ts +5 -1
  475. package/dist/cssm/components/Snackbar/Snackbar.js +8 -11
  476. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  477. package/dist/cssm/components/Spacing/Spacing.css +1 -1
  478. package/dist/cssm/components/Spinner/Spinner.css +1 -1
  479. package/dist/cssm/components/SplitCol/SplitCol.css +1 -1
  480. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -0
  481. package/dist/cssm/components/SplitCol/SplitCol.js +3 -0
  482. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  483. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  484. package/dist/cssm/components/SplitLayout/SplitLayout.js +4 -7
  485. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  486. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.css +1 -1
  487. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.css +1 -1
  488. package/dist/cssm/components/Switch/Switch.css +3 -3
  489. package/dist/cssm/components/Tabbar/Tabbar.css +5 -3
  490. package/dist/cssm/components/Tabbar/Tabbar.d.ts +8 -1
  491. package/dist/cssm/components/Tabbar/Tabbar.js +15 -14
  492. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  493. package/dist/cssm/components/TabbarItem/TabbarItem.css +1 -1
  494. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -9
  495. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  496. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  497. package/dist/cssm/components/Tabs/Tabs.d.ts +14 -3
  498. package/dist/cssm/components/Tabs/Tabs.js +23 -5
  499. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  500. package/dist/cssm/components/TabsItem/TabsItem.css +5 -1
  501. package/dist/cssm/components/TabsItem/TabsItem.d.ts +22 -1
  502. package/dist/cssm/components/TabsItem/TabsItem.js +40 -21
  503. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  504. package/dist/cssm/components/Tappable/Tappable.css +5 -5
  505. package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
  506. package/dist/cssm/components/TextTooltip/TextTooltip.css +1 -1
  507. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +5 -1
  508. package/dist/cssm/components/TextTooltip/TextTooltip.js +5 -7
  509. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  510. package/dist/cssm/components/Textarea/Textarea.css +1 -1
  511. package/dist/cssm/components/Textarea/Textarea.d.ts +4 -1
  512. package/dist/cssm/components/Textarea/Textarea.js +5 -4
  513. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  514. package/dist/cssm/components/Tooltip/Tooltip.css +1 -1
  515. package/dist/cssm/components/Tooltip/Tooltip.d.ts +18 -1
  516. package/dist/cssm/components/Tooltip/Tooltip.js +89 -68
  517. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  518. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  519. package/dist/cssm/components/Typography/Footnote/Footnote.css +1 -1
  520. package/dist/cssm/components/Typography/Headline/Headline.css +1 -1
  521. package/dist/cssm/components/Typography/Headline/Headline.d.ts +3 -3
  522. package/dist/cssm/components/Typography/Headline/Headline.js +10 -2
  523. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  524. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  525. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  526. package/dist/cssm/components/Typography/Text/Text.css +1 -1
  527. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  528. package/dist/cssm/components/UsersStack/UsersStack.css +5 -5
  529. package/dist/cssm/components/View/View.css +1 -1
  530. package/dist/cssm/components/View/View.d.ts +2 -18
  531. package/dist/cssm/components/View/View.js +384 -462
  532. package/dist/cssm/components/View/View.js.map +1 -1
  533. package/dist/cssm/components/View/ViewIOS.css +1 -1
  534. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  535. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -1
  536. package/dist/cssm/components/WriteBar/WriteBar.css +3 -1
  537. package/dist/cssm/components/WriteBar/WriteBar.d.ts +5 -1
  538. package/dist/cssm/components/WriteBar/WriteBar.js +10 -5
  539. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  540. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.css +1 -1
  541. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +3 -6
  542. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  543. package/dist/cssm/fonts/fonts.css +1 -1
  544. package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
  545. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  546. package/dist/cssm/hoc/withContext.d.ts +1 -1
  547. package/dist/cssm/hoc/withContext.js.map +1 -1
  548. package/dist/cssm/hoc/withPlatform.d.ts +1 -1
  549. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  550. package/dist/cssm/hooks/useOrientationChange.js +2 -1
  551. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  552. package/dist/cssm/lib/calendar.d.ts +2 -2
  553. package/dist/cssm/styles/animations.css +1 -1
  554. package/dist/cssm/styles/bright_light.css +1 -1
  555. package/dist/cssm/styles/common.css +1 -1
  556. package/dist/cssm/styles/components.css +143 -127
  557. package/dist/cssm/styles/constants.css +3 -10
  558. package/dist/cssm/styles/space_gray.css +1 -1
  559. package/dist/cssm/styles/themes.css +1 -16
  560. package/dist/cssm/styles/unstable.css +3 -1
  561. package/dist/cssm/styles/vkcom_dark.css +1 -6
  562. package/dist/cssm/styles/vkcom_light.css +1 -11
  563. package/dist/cssm/tokenized/index.d.ts +26 -0
  564. package/dist/cssm/tokenized/index.js +13 -0
  565. package/dist/cssm/tokenized/index.js.map +1 -1
  566. package/dist/default_scheme.css +1 -1
  567. package/dist/default_scheme.css.map +1 -1
  568. package/dist/fonts.css +1 -1
  569. package/dist/fonts.css.map +1 -1
  570. package/dist/hoc/withAdaptivity.d.ts +1 -1
  571. package/dist/hoc/withAdaptivity.js.map +1 -1
  572. package/dist/hoc/withContext.d.ts +1 -1
  573. package/dist/hoc/withContext.js.map +1 -1
  574. package/dist/hoc/withPlatform.d.ts +1 -1
  575. package/dist/hoc/withPlatform.js.map +1 -1
  576. package/dist/hooks/useOrientationChange.js +2 -1
  577. package/dist/hooks/useOrientationChange.js.map +1 -1
  578. package/dist/lib/calendar.d.ts +2 -2
  579. package/dist/tokenized/index.d.ts +26 -0
  580. package/dist/tokenized/index.js +13 -0
  581. package/dist/tokenized/index.js.map +1 -1
  582. package/dist/unstable.css +3 -1
  583. package/dist/unstable.css.map +1 -1
  584. package/dist/vkui.css +144 -143
  585. package/dist/vkui.css.map +1 -1
  586. package/package.json +6 -5
  587. package/src/components/AppRoot/AppRoot.tsx +15 -11
  588. package/src/components/Badge/Badge.css +0 -5
  589. package/src/components/Button/Button.css +0 -4
  590. package/src/components/Button/Button.tsx +4 -2
  591. package/src/components/Button/Readme.md +30 -59
  592. package/src/components/CardScroll/CardScroll.tsx +1 -1
  593. package/src/components/Cell/Cell.css +3 -2
  594. package/src/components/ChipsInput/ChipsInput.css +2 -0
  595. package/src/components/ChipsSelect/ChipsSelect.tsx +8 -0
  596. package/src/components/ConfigProvider/ConfigProviderContext.tsx +2 -0
  597. package/src/components/Counter/Counter.css +30 -0
  598. package/src/components/CustomScrollView/CustomScrollView.css +10 -5
  599. package/src/components/CustomSelect/CustomSelect.tsx +543 -573
  600. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +45 -22
  601. package/src/components/Dropdown/Dropdown.css +12 -0
  602. package/src/components/Dropdown/Dropdown.tsx +174 -20
  603. package/src/components/Dropdown/Readme.md +1 -0
  604. package/src/components/Epic/Epic.tsx +1 -4
  605. package/src/components/FixedLayout/Readme.md +103 -109
  606. package/src/components/FocusTrap/FocusTrap.tsx +10 -10
  607. package/src/components/FormField/FormField.css +31 -22
  608. package/src/components/FormField/FormField.tsx +4 -8
  609. package/src/components/FormField/Readme.md +9 -82
  610. package/src/components/Group/Group.css +1 -1
  611. package/src/components/Group/Readme.md +1 -1
  612. package/src/components/HorizontalCell/HorizontalCell.css +25 -43
  613. package/src/components/HorizontalCell/HorizontalCell.tsx +3 -9
  614. package/src/components/HorizontalScroll/HorizontalScroll.css +23 -0
  615. package/src/components/HorizontalScroll/HorizontalScroll.tsx +2 -0
  616. package/src/components/IconButton/IconButton.css +46 -25
  617. package/src/components/Input/Input.css +20 -9
  618. package/src/components/Input/Input.tsx +6 -5
  619. package/src/components/Input/Readme.md +128 -24
  620. package/src/components/MiniInfoCell/MiniInfoCell.css +13 -3
  621. package/src/components/MiniInfoCell/MiniInfoCell.tsx +3 -3
  622. package/src/components/ModalCardBase/ModalCardBase.tsx +2 -0
  623. package/src/components/NativeSelect/NativeSelect.tsx +2 -0
  624. package/src/components/Panel/Panel.tsx +2 -0
  625. package/src/components/PanelHeader/PanelHeader.tsx +2 -0
  626. package/src/components/Popper/Popper.css +0 -35
  627. package/src/components/Popper/Popper.tsx +33 -25
  628. package/src/components/PopperArrow/PopperArrow.css +34 -0
  629. package/src/components/PopperArrow/PopperArrow.tsx +40 -0
  630. package/src/components/Radio/Radio.tsx +2 -0
  631. package/src/components/RangeSlider/UniversalSlider.tsx +2 -0
  632. package/src/components/RichTooltip/RichTooltip.css +44 -4
  633. package/src/components/RichTooltip/RichTooltip.tsx +9 -11
  634. package/src/components/ScreenSpinner/ScreenSpinner.css +1 -1
  635. package/src/components/Select/Select.css +23 -9
  636. package/src/components/Select/Select.tsx +2 -0
  637. package/src/components/SelectMimicry/SelectMimicry.tsx +6 -2
  638. package/src/components/SimpleCell/Readme.md +115 -129
  639. package/src/components/SimpleCell/SimpleCell.css +30 -68
  640. package/src/components/SimpleCell/SimpleCell.tsx +23 -25
  641. package/src/components/Snackbar/Readme.md +95 -123
  642. package/src/components/Snackbar/Snackbar.css +18 -27
  643. package/src/components/Snackbar/Snackbar.tsx +17 -11
  644. package/src/components/SplitCol/SplitCol.css +1 -1
  645. package/src/components/SplitCol/SplitCol.tsx +2 -0
  646. package/src/components/SplitLayout/SplitLayout.css +3 -7
  647. package/src/components/SplitLayout/SplitLayout.tsx +9 -6
  648. package/src/components/Switch/Switch.css +6 -2
  649. package/src/components/Tabbar/Tabbar.css +4 -1
  650. package/src/components/Tabbar/Tabbar.tsx +23 -12
  651. package/src/components/TabbarItem/TabbarItem.css +7 -5
  652. package/src/components/TabbarItem/TabbarItem.tsx +13 -7
  653. package/src/components/Tabs/Readme.md +191 -251
  654. package/src/components/Tabs/Tabs.css +27 -80
  655. package/src/components/Tabs/Tabs.tsx +45 -7
  656. package/src/components/TabsItem/Readme.md +1 -0
  657. package/src/components/TabsItem/TabsItem.css +191 -106
  658. package/src/components/TabsItem/TabsItem.tsx +72 -20
  659. package/src/components/TextTooltip/TextTooltip.css +41 -11
  660. package/src/components/TextTooltip/TextTooltip.tsx +9 -13
  661. package/src/components/Textarea/Textarea.css +7 -3
  662. package/src/components/Textarea/Textarea.tsx +5 -4
  663. package/src/components/Tooltip/Readme.md +128 -101
  664. package/src/components/Tooltip/Tooltip.css +29 -40
  665. package/src/components/Tooltip/Tooltip.tsx +98 -66
  666. package/src/components/Typography/Headline/Headline.tsx +15 -1
  667. package/src/components/View/Readme.md +2 -0
  668. package/src/components/View/View.tsx +451 -514
  669. package/src/components/WriteBar/WriteBar.css +27 -33
  670. package/src/components/WriteBar/WriteBar.tsx +16 -5
  671. package/src/components/WriteBarIcon/WriteBarIcon.css +6 -19
  672. package/src/components/WriteBarIcon/WriteBarIcon.tsx +6 -6
  673. package/src/hoc/withAdaptivity.tsx +4 -4
  674. package/src/hoc/withContext.tsx +1 -1
  675. package/src/hoc/withPlatform.tsx +1 -1
  676. package/src/hooks/useOrientationChange.ts +1 -0
  677. package/src/styles/components.css +1 -0
  678. package/src/styles/constants.css +8 -0
  679. package/src/tokenized/index.ts +39 -0
  680. package/tsconfig.json +1 -1
  681. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +0 -21
  682. package/dist/cjs/components/ClickPopper/ClickPopper.js +0 -96
  683. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +0 -1
  684. package/dist/components/ClickPopper/ClickPopper.d.ts +0 -21
  685. package/dist/components/ClickPopper/ClickPopper.js +0 -71
  686. package/dist/components/ClickPopper/ClickPopper.js.map +0 -1
  687. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +0 -21
  688. package/dist/cssm/components/ClickPopper/ClickPopper.js +0 -71
  689. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +0 -1
  690. 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
  }
@@ -9,8 +9,9 @@
9
9
  box-sizing: border-box;
10
10
  resize: none;
11
11
  appearance: none;
12
- line-height: 20px;
13
- font-size: 16px;
12
+ font-weight: var(--vkui--font_text--font_weight--regular);
13
+ font-size: var(--vkui--font_text--font_size--regular);
14
+ line-height: var(--vkui--font_text--line_height--regular);
14
15
  color: var(--text_primary, var(--vkui--color_text_primary));
15
16
  padding: 12px;
16
17
  max-height: 204px;
@@ -26,12 +27,15 @@
26
27
 
27
28
  /* TODO. v5.0.0 Новая адаптивность */
28
29
  .Textarea--sizeY-compact .Textarea__el {
29
- font-size: 15px;
30
+ font-size: var(--vkui--font_text--font_size--compact);
31
+ line-height: var(--vkui--font_text--line_height--compact);
30
32
  max-height: 196px;
31
33
  }
32
34
 
33
35
  .Textarea__el::placeholder {
34
36
  color: var(--field_text_placeholder, var(--vkui--color_text_secondary));
37
+ /* Для Firefox */
38
+ opacity: 1;
35
39
  }
36
40
 
37
41
  .Textarea__el:disabled {
@@ -18,9 +18,6 @@ export interface TextareaProps
18
18
  defaultValue?: string;
19
19
  }
20
20
 
21
- /**
22
- * @see https://vkcom.github.io/VKUI/#/Textarea
23
- */
24
21
  const TextareaComponent = ({
25
22
  defaultValue = "",
26
23
  grow = true,
@@ -78,5 +75,9 @@ const TextareaComponent = ({
78
75
  );
79
76
  };
80
77
 
81
- // eslint-disable-next-line import/no-default-export
78
+ /**
79
+ * @see https://vkcom.github.io/VKUI/#/Textarea
80
+ */
82
81
  export const Textarea = withAdaptivity(TextareaComponent, { sizeY: true });
82
+
83
+ Textarea.displayName = "Textarea";