@vkontakte/vkui 4.25.0 → 4.27.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 (541) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +539 -382
  4. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  5. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  6. package/.cache/ts/src/components/Alert/Alert.d.ts +4 -4
  7. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +1 -2
  8. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  9. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  10. package/.cache/ts/src/components/Card/Card.d.ts +1 -2
  11. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +1 -1
  12. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +9 -5
  13. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +1 -1
  14. package/.cache/ts/src/components/Chip/Chip.d.ts +2 -2
  15. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  16. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  17. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +6 -6
  18. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  19. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  20. package/.cache/ts/src/components/Epic/Epic.d.ts +4 -4
  21. package/.cache/ts/src/components/Gallery/Gallery.d.ts +1 -1
  22. package/.cache/ts/src/components/Gradient/Gradient.d.ts +1 -2
  23. package/.cache/ts/src/components/Group/Group.d.ts +1 -1
  24. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  25. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  26. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  27. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +3 -3
  28. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  29. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +3 -3
  30. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
  31. package/.cache/ts/src/components/ModalRoot/withModalRootContext.d.ts +1 -1
  32. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +3 -3
  33. package/.cache/ts/src/components/Panel/Panel.d.ts +3 -3
  34. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  35. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  36. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +4 -4
  37. package/.cache/ts/src/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  38. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  39. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  40. package/.cache/ts/src/components/RichCell/RichCell.d.ts +1 -1
  41. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  42. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  43. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  44. package/.cache/ts/src/components/Select/Select.d.ts +3 -3
  45. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  46. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  47. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  48. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  49. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +3 -3
  50. package/.cache/ts/src/components/Switch/Switch.d.ts +3 -2
  51. package/.cache/ts/src/components/Tabs/Tabs.d.ts +1 -1
  52. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  53. package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
  54. package/.cache/ts/src/components/Typography/Title/Title.d.ts +4 -1
  55. package/.cache/ts/src/components/View/View.d.ts +1 -1
  56. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  57. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  58. package/.cache/ts/src/hooks/usePlatform.d.ts +1 -1
  59. package/.cache/ts/src/index.d.ts +10 -8
  60. package/.cache/ts/src/lib/platform.d.ts +1 -1
  61. package/.cache/ts/src/lib/utils.d.ts +1 -0
  62. package/.cache/ts/src/tokenized/index.d.ts +8 -0
  63. package/VKUI_TOKENS_MIGRATION_GUIDE.md +77 -0
  64. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  65. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +19 -17
  66. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  67. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  68. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +4 -6
  69. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  70. package/dist/cjs/components/Alert/Alert.d.ts +4 -4
  71. package/dist/cjs/components/Alert/Alert.js +14 -17
  72. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  73. package/dist/cjs/components/AppRoot/AppRoot.d.ts +1 -2
  74. package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
  75. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  76. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  77. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +29 -2
  78. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  79. package/dist/cjs/components/Banner/Banner.js +1 -1
  80. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  81. package/dist/cjs/components/Button/Button.d.ts +1 -1
  82. package/dist/cjs/components/Button/Button.js +10 -4
  83. package/dist/cjs/components/Button/Button.js.map +1 -1
  84. package/dist/cjs/components/Card/Card.d.ts +1 -2
  85. package/dist/cjs/components/Card/Card.js +4 -8
  86. package/dist/cjs/components/Card/Card.js.map +1 -1
  87. package/dist/cjs/components/CardGrid/CardGrid.d.ts +1 -1
  88. package/dist/cjs/components/CardScroll/CardScroll.d.ts +9 -5
  89. package/dist/cjs/components/CardScroll/CardScroll.js +20 -18
  90. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  91. package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -1
  92. package/dist/cjs/components/Chip/Chip.d.ts +2 -2
  93. package/dist/cjs/components/Chip/Chip.js +3 -5
  94. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  95. package/dist/cjs/components/ChipsInput/ChipsInput.js +2 -2
  96. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  97. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  98. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  99. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +15 -6
  100. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  101. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +6 -6
  102. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  103. package/dist/cjs/components/ContentCard/ContentCard.js +12 -4
  104. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  105. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -1
  106. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
  107. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  108. package/dist/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  109. package/dist/cjs/components/Epic/Epic.d.ts +4 -4
  110. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  111. package/dist/cjs/components/Gallery/Gallery.d.ts +1 -1
  112. package/dist/cjs/components/Gradient/Gradient.d.ts +1 -2
  113. package/dist/cjs/components/Gradient/Gradient.js +6 -10
  114. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  115. package/dist/cjs/components/Group/Group.d.ts +1 -1
  116. package/dist/cjs/components/Header/Header.js +1 -1
  117. package/dist/cjs/components/Header/Header.js.map +1 -1
  118. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  119. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +7 -3
  120. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  121. package/dist/cjs/components/IconButton/IconButton.d.ts +1 -1
  122. package/dist/cjs/components/IconButton/IconButton.js +8 -0
  123. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  124. package/dist/cjs/components/Input/Input.d.ts +1 -1
  125. package/dist/cjs/components/ModalCard/ModalCard.d.ts +3 -3
  126. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  127. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  128. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +1 -1
  129. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  130. package/dist/cjs/components/ModalPage/ModalPage.d.ts +3 -3
  131. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  132. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
  133. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  134. package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +1 -1
  135. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  136. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +3 -3
  137. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  138. package/dist/cjs/components/Panel/Panel.d.ts +3 -3
  139. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  140. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +1 -1
  141. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  142. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +15 -6
  143. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  144. package/dist/cjs/components/Placeholder/Placeholder.js +1 -1
  145. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  146. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +4 -4
  147. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  148. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -0
  149. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  150. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  151. package/dist/cjs/components/Radio/Radio.d.ts +1 -1
  152. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +1 -1
  153. package/dist/cjs/components/RichCell/RichCell.d.ts +1 -1
  154. package/dist/cjs/components/Root/Root.js +5 -0
  155. package/dist/cjs/components/Root/Root.js.map +1 -1
  156. package/dist/cjs/components/Search/Search.d.ts +1 -1
  157. package/dist/cjs/components/Search/Search.js +47 -23
  158. package/dist/cjs/components/Search/Search.js.map +1 -1
  159. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  160. package/dist/cjs/components/SegmentedControl/SegmentedControl.js +116 -0
  161. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -0
  162. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  163. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +61 -0
  164. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  165. package/dist/cjs/components/Select/Select.d.ts +3 -3
  166. package/dist/cjs/components/Select/Select.js.map +1 -1
  167. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  168. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +1 -1
  169. package/dist/cjs/components/SimpleCell/SimpleCell.js +21 -8
  170. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  171. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  172. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +18 -6
  173. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  174. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  175. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -5
  176. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  177. package/dist/cjs/components/Snackbar/Snackbar.d.ts +3 -3
  178. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  179. package/dist/cjs/components/Switch/Switch.d.ts +3 -2
  180. package/dist/cjs/components/Switch/Switch.js +3 -6
  181. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  182. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -1
  183. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  184. package/dist/cjs/components/Tabs/Tabs.d.ts +1 -1
  185. package/dist/cjs/components/Tappable/Tappable.d.ts +1 -1
  186. package/dist/cjs/components/Textarea/Textarea.d.ts +1 -1
  187. package/dist/cjs/components/Typography/Title/Title.d.ts +4 -1
  188. package/dist/cjs/components/Typography/Title/Title.js +9 -19
  189. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  190. package/dist/cjs/components/View/View.d.ts +1 -1
  191. package/dist/cjs/components/View/View.js +29 -18
  192. package/dist/cjs/components/View/View.js.map +1 -1
  193. package/dist/cjs/components/View/ViewInfinite.d.ts +1 -1
  194. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  195. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js +37 -0
  196. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  197. package/dist/cjs/hooks/usePlatform.d.ts +1 -1
  198. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  199. package/dist/cjs/index.d.ts +10 -8
  200. package/dist/cjs/index.js +24 -16
  201. package/dist/cjs/index.js.map +1 -1
  202. package/dist/cjs/lib/platform.d.ts +1 -1
  203. package/dist/cjs/lib/platform.js.map +1 -1
  204. package/dist/cjs/lib/utils.d.ts +1 -0
  205. package/dist/cjs/lib/utils.js +7 -0
  206. package/dist/cjs/lib/utils.js.map +1 -1
  207. package/dist/cjs/tokenized/index.d.ts +8 -0
  208. package/dist/cjs/tokenized/index.js +40 -0
  209. package/dist/cjs/tokenized/index.js.map +1 -0
  210. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -2
  211. package/dist/components/ActionSheetItem/ActionSheetItem.js +16 -14
  212. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  213. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  214. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  215. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  216. package/dist/components/Alert/Alert.d.ts +4 -4
  217. package/dist/components/Alert/Alert.js +12 -13
  218. package/dist/components/Alert/Alert.js.map +1 -1
  219. package/dist/components/AppRoot/AppRoot.d.ts +1 -2
  220. package/dist/components/AppRoot/AppRoot.js +1 -3
  221. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  222. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +1 -0
  223. package/dist/components/AppearanceProvider/AppearanceProvider.js +25 -2
  224. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  225. package/dist/components/Banner/Banner.js +1 -1
  226. package/dist/components/Banner/Banner.js.map +1 -1
  227. package/dist/components/Button/Button.d.ts +1 -1
  228. package/dist/components/Button/Button.js +10 -4
  229. package/dist/components/Button/Button.js.map +1 -1
  230. package/dist/components/Card/Card.d.ts +1 -2
  231. package/dist/components/Card/Card.js +3 -9
  232. package/dist/components/Card/Card.js.map +1 -1
  233. package/dist/components/CardGrid/CardGrid.d.ts +1 -1
  234. package/dist/components/CardScroll/CardScroll.d.ts +9 -5
  235. package/dist/components/CardScroll/CardScroll.js +16 -16
  236. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  237. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  238. package/dist/components/Chip/Chip.d.ts +2 -2
  239. package/dist/components/Chip/Chip.js +2 -6
  240. package/dist/components/Chip/Chip.js.map +1 -1
  241. package/dist/components/ChipsInput/ChipsInput.js +1 -1
  242. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  243. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  244. package/dist/components/ConfigProvider/ConfigProvider.d.ts +1 -1
  245. package/dist/components/ConfigProvider/ConfigProvider.js +16 -7
  246. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  247. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +6 -6
  248. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  249. package/dist/components/ContentCard/ContentCard.js +10 -3
  250. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  251. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  252. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  253. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  254. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  255. package/dist/components/Epic/Epic.d.ts +4 -4
  256. package/dist/components/Epic/Epic.js.map +1 -1
  257. package/dist/components/Gallery/Gallery.d.ts +1 -1
  258. package/dist/components/Gradient/Gradient.d.ts +1 -2
  259. package/dist/components/Gradient/Gradient.js +5 -11
  260. package/dist/components/Gradient/Gradient.js.map +1 -1
  261. package/dist/components/Group/Group.d.ts +1 -1
  262. package/dist/components/Header/Header.js +1 -1
  263. package/dist/components/Header/Header.js.map +1 -1
  264. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -2
  265. package/dist/components/HorizontalScroll/HorizontalScroll.js +5 -3
  266. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  267. package/dist/components/IconButton/IconButton.d.ts +1 -1
  268. package/dist/components/IconButton/IconButton.js +7 -0
  269. package/dist/components/IconButton/IconButton.js.map +1 -1
  270. package/dist/components/Input/Input.d.ts +1 -1
  271. package/dist/components/ModalCard/ModalCard.d.ts +3 -3
  272. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  273. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  274. package/dist/components/ModalCardBase/ModalCardBase.js +2 -2
  275. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  276. package/dist/components/ModalPage/ModalPage.d.ts +3 -3
  277. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  278. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +3 -3
  279. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  280. package/dist/components/ModalRoot/withModalRootContext.d.ts +1 -1
  281. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  282. package/dist/components/NativeSelect/NativeSelect.d.ts +3 -3
  283. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  284. package/dist/components/Panel/Panel.d.ts +3 -3
  285. package/dist/components/Panel/Panel.js.map +1 -1
  286. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  287. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +1 -1
  288. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +14 -7
  289. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  290. package/dist/components/Placeholder/Placeholder.js +1 -1
  291. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  292. package/dist/components/PopoutRoot/PopoutRoot.d.ts +4 -4
  293. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  294. package/dist/components/PromoBanner/PromoBanner.js +6 -0
  295. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  296. package/dist/components/PullToRefresh/PullToRefresh.d.ts +1 -1
  297. package/dist/components/Radio/Radio.d.ts +1 -1
  298. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  299. package/dist/components/RichCell/RichCell.d.ts +1 -1
  300. package/dist/components/Root/Root.js +5 -0
  301. package/dist/components/Root/Root.js.map +1 -1
  302. package/dist/components/Search/Search.d.ts +1 -1
  303. package/dist/components/Search/Search.js +45 -22
  304. package/dist/components/Search/Search.js.map +1 -1
  305. package/dist/components/SegmentedControl/SegmentedControl.d.ts +17 -0
  306. package/dist/components/SegmentedControl/SegmentedControl.js +94 -0
  307. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -0
  308. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +4 -0
  309. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +40 -0
  310. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  311. package/dist/components/Select/Select.d.ts +3 -3
  312. package/dist/components/Select/Select.js.map +1 -1
  313. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  314. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  315. package/dist/components/SimpleCell/SimpleCell.js +21 -9
  316. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  317. package/dist/components/SliderSwitch/SliderSwitch.d.ts +6 -2
  318. package/dist/components/SliderSwitch/SliderSwitch.js +14 -3
  319. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  320. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +4 -2
  321. package/dist/components/SliderSwitch/SliderSwitchButton.js +5 -5
  322. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  323. package/dist/components/Snackbar/Snackbar.d.ts +3 -3
  324. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  325. package/dist/components/Switch/Switch.d.ts +3 -2
  326. package/dist/components/Switch/Switch.js +3 -6
  327. package/dist/components/Switch/Switch.js.map +1 -1
  328. package/dist/components/TabbarItem/TabbarItem.js +7 -1
  329. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  330. package/dist/components/Tabs/Tabs.d.ts +1 -1
  331. package/dist/components/Tappable/Tappable.d.ts +1 -1
  332. package/dist/components/Textarea/Textarea.d.ts +1 -1
  333. package/dist/components/Typography/Title/Title.d.ts +4 -1
  334. package/dist/components/Typography/Title/Title.js +7 -16
  335. package/dist/components/Typography/Title/Title.js.map +1 -1
  336. package/dist/components/View/View.d.ts +1 -1
  337. package/dist/components/View/View.js +29 -18
  338. package/dist/components/View/View.js.map +1 -1
  339. package/dist/components/View/ViewInfinite.d.ts +1 -1
  340. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  341. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js +23 -0
  342. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  343. package/dist/components.css +15 -12
  344. package/dist/components.css.map +1 -1
  345. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +16 -14
  346. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  347. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  348. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  349. package/dist/cssm/components/Alert/Alert.js +12 -13
  350. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  351. package/dist/cssm/components/AppRoot/AppRoot.js +1 -3
  352. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  353. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +25 -2
  354. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  355. package/dist/cssm/components/Banner/Banner.js +1 -1
  356. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  357. package/dist/cssm/components/Button/Button.css +9 -11
  358. package/dist/cssm/components/Button/Button.js +10 -4
  359. package/dist/cssm/components/Button/Button.js.map +1 -1
  360. package/dist/cssm/components/Card/Card.css +6 -1
  361. package/dist/cssm/components/Card/Card.js +3 -9
  362. package/dist/cssm/components/Card/Card.js.map +1 -1
  363. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  364. package/dist/cssm/components/CardScroll/CardScroll.js +16 -16
  365. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  366. package/dist/cssm/components/Chip/Chip.js +2 -6
  367. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  368. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  369. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  370. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +16 -7
  371. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  372. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  373. package/dist/cssm/components/ContentCard/ContentCard.js +10 -3
  374. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  375. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  376. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  377. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  378. package/dist/cssm/components/FocusVisible/FocusVisible.css +1 -1
  379. package/dist/cssm/components/Gradient/Gradient.js +5 -11
  380. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  381. package/dist/cssm/components/Header/Header.js +1 -1
  382. package/dist/cssm/components/Header/Header.js.map +1 -1
  383. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +5 -3
  384. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  385. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  386. package/dist/cssm/components/IconButton/IconButton.js +7 -0
  387. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  388. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  389. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +2 -2
  390. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  391. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  392. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  393. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  394. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  395. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  396. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +14 -7
  397. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  398. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  399. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  400. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  401. package/dist/cssm/components/PromoBanner/PromoBanner.js +6 -0
  402. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  403. package/dist/cssm/components/Root/Root.js +5 -0
  404. package/dist/cssm/components/Root/Root.js.map +1 -1
  405. package/dist/cssm/components/Search/Search.js +45 -22
  406. package/dist/cssm/components/Search/Search.js.map +1 -1
  407. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -0
  408. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +95 -0
  409. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -0
  410. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -0
  411. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +41 -0
  412. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -0
  413. package/dist/cssm/components/Select/Select.js.map +1 -1
  414. package/dist/cssm/components/SimpleCell/SimpleCell.js +21 -9
  415. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  416. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +14 -3
  417. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  418. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +5 -5
  419. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  420. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  421. package/dist/cssm/components/Switch/Switch.css +1 -1
  422. package/dist/cssm/components/Switch/Switch.js +3 -6
  423. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  424. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -1
  425. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  426. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  427. package/dist/cssm/components/Typography/Title/Title.js +7 -16
  428. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  429. package/dist/cssm/components/View/View.js +29 -18
  430. package/dist/cssm/components/View/View.js.map +1 -1
  431. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.css +1 -0
  432. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +24 -0
  433. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -0
  434. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  435. package/dist/cssm/index.js +9 -8
  436. package/dist/cssm/index.js.map +1 -1
  437. package/dist/cssm/lib/platform.js.map +1 -1
  438. package/dist/cssm/lib/utils.js +3 -0
  439. package/dist/cssm/lib/utils.js.map +1 -1
  440. package/dist/cssm/styles/components.css +15 -12
  441. package/dist/cssm/styles/themes.css +1 -1
  442. package/dist/cssm/tokenized/index.js +5 -0
  443. package/dist/cssm/tokenized/index.js.map +1 -0
  444. package/dist/hooks/usePlatform.d.ts +1 -1
  445. package/dist/hooks/usePlatform.js.map +1 -1
  446. package/dist/index.d.ts +10 -8
  447. package/dist/index.js +9 -8
  448. package/dist/index.js.map +1 -1
  449. package/dist/lib/platform.d.ts +1 -1
  450. package/dist/lib/platform.js.map +1 -1
  451. package/dist/lib/utils.d.ts +1 -0
  452. package/dist/lib/utils.js +3 -0
  453. package/dist/lib/utils.js.map +1 -1
  454. package/dist/tokenized/index.d.ts +8 -0
  455. package/dist/tokenized/index.js +5 -0
  456. package/dist/tokenized/index.js.map +1 -0
  457. package/dist/vkui.css +16 -13
  458. package/dist/vkui.css.map +1 -1
  459. package/package.json +3 -3
  460. package/postcss.config.js +10 -1
  461. package/src/components/ActionSheetItem/ActionSheetItem.tsx +29 -28
  462. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -2
  463. package/src/components/Alert/Alert.tsx +15 -11
  464. package/src/components/AppRoot/AppRoot.tsx +0 -3
  465. package/src/components/AppearanceProvider/AppearanceProvider.tsx +27 -3
  466. package/src/components/Banner/Banner.tsx +1 -1
  467. package/src/components/Button/Button.css +9 -39
  468. package/src/components/Button/Button.tsx +8 -6
  469. package/src/components/Card/Card.css +45 -12
  470. package/src/components/Card/Card.tsx +2 -9
  471. package/src/components/CardScroll/CardScroll.css +11 -61
  472. package/src/components/CardScroll/CardScroll.tsx +19 -18
  473. package/src/components/CardScroll/Readme.md +3 -2
  474. package/src/components/Chip/Chip.tsx +1 -4
  475. package/src/components/ChipsInput/ChipsInput.tsx +1 -1
  476. package/src/components/ConfigProvider/ConfigProvider.tsx +26 -9
  477. package/src/components/ConfigProvider/ConfigProviderContext.tsx +5 -5
  478. package/src/components/ContentCard/ContentCard.tsx +8 -2
  479. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  480. package/src/components/Epic/Epic.tsx +8 -3
  481. package/src/components/FocusVisible/FocusVisible.css +4 -8
  482. package/src/components/FormItem/Readme.md +14 -2
  483. package/src/components/Gradient/Gradient.tsx +4 -12
  484. package/src/components/Gradient/Readme.md +1 -1
  485. package/src/components/Header/Header.tsx +1 -1
  486. package/src/components/HorizontalScroll/HorizontalScroll.tsx +10 -4
  487. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +3 -1
  488. package/src/components/IconButton/IconButton.tsx +8 -0
  489. package/src/components/ModalCard/ModalCard.tsx +8 -3
  490. package/src/components/ModalCardBase/ModalCardBase.tsx +2 -2
  491. package/src/components/ModalPage/ModalPage.tsx +8 -3
  492. package/src/components/ModalRoot/ModalRootAdaptive.tsx +8 -3
  493. package/src/components/ModalRoot/Readme.md +1 -1
  494. package/src/components/ModalRoot/withModalRootContext.tsx +1 -1
  495. package/src/components/NativeSelect/NativeSelect.tsx +8 -3
  496. package/src/components/Panel/Panel.tsx +6 -3
  497. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +20 -12
  498. package/src/components/Placeholder/Placeholder.tsx +1 -1
  499. package/src/components/PopoutRoot/PopoutRoot.tsx +8 -5
  500. package/src/components/PromoBanner/PromoBanner.tsx +8 -0
  501. package/src/components/Root/Root.tsx +12 -2
  502. package/src/components/Search/Search.tsx +38 -14
  503. package/src/components/SegmentedControl/Readme.md +94 -0
  504. package/src/components/SegmentedControl/SegmentedControl.css +42 -0
  505. package/src/components/SegmentedControl/SegmentedControl.tsx +105 -0
  506. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +30 -0
  507. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +42 -0
  508. package/src/components/Select/Select.tsx +6 -5
  509. package/src/components/SimpleCell/SimpleCell.tsx +10 -6
  510. package/src/components/SliderSwitch/Readme.md +4 -0
  511. package/src/components/SliderSwitch/SliderSwitch.tsx +17 -3
  512. package/src/components/SliderSwitch/SliderSwitchButton.tsx +4 -4
  513. package/src/components/Snackbar/Snackbar.tsx +8 -3
  514. package/src/components/Switch/Switch.css +0 -12
  515. package/src/components/Switch/Switch.tsx +8 -10
  516. package/src/components/TabbarItem/TabbarItem.tsx +8 -1
  517. package/src/components/Typography/Title/Readme.md +28 -41
  518. package/src/components/Typography/Title/Title.css +22 -13
  519. package/src/components/Typography/Title/Title.tsx +27 -22
  520. package/src/components/View/View.tsx +15 -2
  521. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css +9 -0
  522. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +25 -0
  523. package/src/hooks/usePlatform.ts +1 -1
  524. package/src/index.ts +14 -8
  525. package/src/lib/platform.ts +5 -1
  526. package/src/lib/utils.ts +6 -0
  527. package/src/styles/components.css +3 -0
  528. package/src/styles/themes.css +6 -0
  529. package/src/testing/utils.tsx +1 -1
  530. package/src/tokenized/index.ts +15 -0
  531. package/types/global.d.ts +0 -5
  532. package/.cache/ts/src/tokenized/tokenized.d.ts +0 -2
  533. package/dist/cjs/tokenized/tokenized.d.ts +0 -2
  534. package/dist/cjs/tokenized/tokenized.js +0 -16
  535. package/dist/cjs/tokenized/tokenized.js.map +0 -1
  536. package/dist/cssm/tokenized/tokenized.js +0 -2
  537. package/dist/cssm/tokenized/tokenized.js.map +0 -1
  538. package/dist/tokenized/tokenized.d.ts +0 -2
  539. package/dist/tokenized/tokenized.js +0 -2
  540. package/dist/tokenized/tokenized.js.map +0 -1
  541. package/src/tokenized/tokenized.ts +0 -2
@@ -14,7 +14,10 @@ export interface ButtonProps
14
14
  hovered?: boolean;
15
15
  }
16
16
 
17
- const SliderSwitchButton: React.FunctionComponent<ButtonProps> = (
17
+ /**
18
+ * @deprecated Этот компонент устарел и будет удален в 5.0.0.
19
+ */
20
+ export const SliderSwitchButton: React.FunctionComponent<ButtonProps> = (
18
21
  props: ButtonProps
19
22
  ) => {
20
23
  const { active, hovered, children, getRootRef, ...restProps } = props;
@@ -48,6 +51,3 @@ const SliderSwitchButton: React.FunctionComponent<ButtonProps> = (
48
51
  </Tappable>
49
52
  );
50
53
  };
51
-
52
- // eslint-disable-next-line import/no-default-export
53
- export default SliderSwitchButton;
@@ -12,13 +12,16 @@ import { AppRootPortal } from "../AppRoot/AppRootPortal";
12
12
  import { useWaitTransitionFinish } from "../../hooks/useWaitTransitionFinish";
13
13
  import { usePlatform } from "../../hooks/usePlatform";
14
14
  import { useTimeout } from "../../hooks/useTimeout";
15
- import { AdaptivityContextInterface } from "../AdaptivityProvider/AdaptivityContext";
15
+ import {
16
+ AdaptivityContextInterface,
17
+ AdaptivityProps,
18
+ } from "../AdaptivityProvider/AdaptivityContext";
16
19
  import "./Snackbar.css";
17
20
 
18
21
  export interface SnackbarProps
19
22
  extends React.HTMLAttributes<HTMLElement>,
20
23
  HasPlatform,
21
- AdaptivityContextInterface {
24
+ AdaptivityProps {
22
25
  /**
23
26
  * Название кнопки действия в уведомлении
24
27
  */
@@ -51,7 +54,9 @@ export interface SnackbarProps
51
54
  onClose: () => void;
52
55
  }
53
56
 
54
- const SnackbarComponent: React.FC<SnackbarProps> = (props: SnackbarProps) => {
57
+ const SnackbarComponent: React.FC<
58
+ SnackbarProps & AdaptivityContextInterface
59
+ > = (props) => {
55
60
  const {
56
61
  children,
57
62
  layout,
@@ -8,18 +8,6 @@
8
8
  cursor: default;
9
9
  }
10
10
 
11
- .Switch__self {
12
- position: absolute;
13
- width: 1px;
14
- height: 1px;
15
- margin: 0;
16
- padding: 0;
17
- border: 0;
18
- clip: rect(1px, 1px, 1px, 1px);
19
- overflow: hidden;
20
- opacity: 0;
21
- }
22
-
23
11
  .Switch__pseudo {
24
12
  position: relative;
25
13
  display: block;
@@ -3,22 +3,23 @@ import { getClassName } from "../../helpers/getClassName";
3
3
  import { classNames } from "../../lib/classNames";
4
4
  import { callMultiple } from "../../lib/callMultiple";
5
5
  import { usePlatform } from "../../hooks/usePlatform";
6
- import { HasRef, HasRootRef } from "../../types";
6
+ import { HasRootRef } from "../../types";
7
7
  import { useAdaptivity } from "../../hooks/useAdaptivity";
8
- import { useExternRef } from "../../hooks/useExternRef";
8
+ import {
9
+ VisuallyHiddenInput,
10
+ VisuallyHiddenInputProps,
11
+ } from "../VisuallyHiddenInput/VisuallyHiddenInput";
9
12
  import { useFocusVisible } from "../../hooks/useFocusVisible";
10
13
  import { FocusVisible } from "../FocusVisible/FocusVisible";
11
14
  import "./Switch.css";
12
15
 
13
16
  export interface SwitchProps
14
- extends React.InputHTMLAttributes<HTMLInputElement>,
15
- HasRootRef<HTMLLabelElement>,
16
- HasRef<HTMLInputElement> {}
17
+ extends VisuallyHiddenInputProps,
18
+ HasRootRef<HTMLLabelElement> {}
17
19
 
18
20
  export const Switch: React.FC<SwitchProps> = ({
19
21
  style,
20
22
  className,
21
- getRef,
22
23
  getRootRef,
23
24
  ...restProps
24
25
  }: SwitchProps) => {
@@ -26,8 +27,6 @@ export const Switch: React.FC<SwitchProps> = ({
26
27
  const { sizeY } = useAdaptivity();
27
28
  const { focusVisible, onBlur, onFocus } = useFocusVisible();
28
29
 
29
- const inputRef = useExternRef(getRef);
30
-
31
30
  return (
32
31
  <label
33
32
  vkuiClass={classNames(
@@ -43,11 +42,10 @@ export const Switch: React.FC<SwitchProps> = ({
43
42
  ref={getRootRef}
44
43
  role="presentation"
45
44
  >
46
- <input
45
+ <VisuallyHiddenInput
47
46
  {...restProps}
48
47
  type="checkbox"
49
48
  vkuiClass="Switch__self"
50
- ref={inputRef}
51
49
  onBlur={callMultiple(onBlur, restProps.onBlur)}
52
50
  onFocus={callMultiple(onFocus, restProps.onFocus)}
53
51
  />
@@ -7,6 +7,7 @@ import { hasReactNode } from "../../lib/utils";
7
7
  import Tappable from "../Tappable/Tappable";
8
8
  import { Platform } from "../../lib/platform";
9
9
  import { HasComponent, HasRootRef } from "../../types";
10
+ import { warnOnce } from "../../lib/warnOnce";
10
11
  import "./TabbarItem.css";
11
12
 
12
13
  export interface TabbarItemProps
@@ -28,6 +29,7 @@ export interface TabbarItemProps
28
29
  label?: React.ReactNode;
29
30
  }
30
31
 
32
+ const warn = warnOnce("TabbarItem");
31
33
  const TabbarItem: React.FunctionComponent<TabbarItemProps> = ({
32
34
  children,
33
35
  selected,
@@ -41,7 +43,12 @@ const TabbarItem: React.FunctionComponent<TabbarItemProps> = ({
41
43
  }: TabbarItemProps) => {
42
44
  const platform = usePlatform();
43
45
 
44
- // @ts-ignore ругается на то, что у AllHTMLAttributes type это строка, а button не любую строку считает валидным значением
46
+ if (label && process.env.NODE_ENV === "development") {
47
+ warn(
48
+ "Свойство label устарело и будет удалено в 5.0.0. Используйте indicator."
49
+ );
50
+ }
51
+
45
52
  return (
46
53
  <Component
47
54
  {...restProps}
@@ -1,44 +1,31 @@
1
- Упрощения в Android-версии (происходят автоматически):
1
+ Семейство заголовков.
2
2
 
3
- - `semibold` превращается в `medium`
4
- - `heavy` превращается в `bold`
5
- - `<Title level="3" />` превращается в `<Headline />`
3
+ ```jsx { "props": { "layout": false, "iframe": false } }
4
+ <div style={{ padding: 20 }}>
5
+ <Title level="1" style={{ marginBottom: 16 }}>
6
+ Title 1
7
+ </Title>
8
+ <Title level="2" style={{ marginBottom: 16 }}>
9
+ Title 2
10
+ </Title>
11
+ <Title level="3">Title 3</Title>
12
+ </div>
13
+ ```
14
+
15
+ ## Кастомизация
16
+
17
+ Есть возможность переопределить жирность.
6
18
 
7
- ```jsx
8
- <View activePanel="test">
9
- <Panel id="test">
10
- <PanelHeader>Title</PanelHeader>
11
- <Group>
12
- <Div>
13
- <Title level="1" weight="semibold" style={{ marginBottom: 16 }}>
14
- Title 1 semibold
15
- </Title>
16
- <Title level="1" weight="bold" style={{ marginBottom: 16 }}>
17
- Title 1 bold
18
- </Title>
19
- <Title level="1" weight="heavy" style={{ marginBottom: 16 }}>
20
- Title 1 heavy
21
- </Title>
22
- <Title level="2" weight="regular" style={{ marginBottom: 16 }}>
23
- Title 2 regular
24
- </Title>
25
- <Title level="2" weight="semibold" style={{ marginBottom: 16 }}>
26
- Title 2 semibold
27
- </Title>
28
- <Title level="2" weight="heavy" style={{ marginBottom: 16 }}>
29
- Title 2 heavy
30
- </Title>
31
- <Title level="3" weight="regular" style={{ marginBottom: 16 }}>
32
- Title 3 regular
33
- </Title>
34
- <Title level="3" weight="medium" style={{ marginBottom: 16 }}>
35
- Title 3 medium
36
- </Title>
37
- <Title level="3" weight="semibold">
38
- Title 3 semibold
39
- </Title>
40
- </Div>
41
- </Group>
42
- </Panel>
43
- </View>
19
+ ```jsx { "props": { "layout": false, "iframe": false } }
20
+ <div style={{ padding: 20 }}>
21
+ <Title level="3" weight="1" style={{ marginBottom: 16 }}>
22
+ Title 3 weight 1
23
+ </Title>
24
+ <Title level="3" weight="2" style={{ marginBottom: 16 }}>
25
+ Title 3 weight 2
26
+ </Title>
27
+ <Title level="3" weight="3">
28
+ Title 3 weight 3
29
+ </Title>
30
+ </div>
44
31
  ```
@@ -4,47 +4,56 @@
4
4
  }
5
5
 
6
6
  .Title--l-1 {
7
- font-size: 24px;
8
- line-height: 28px;
7
+ font-size: var(--vkui--font_title1--font_size--regular);
8
+ line-height: var(--vkui--font_title1--line_height--regular);
9
+ font-weight: var(--vkui--font_title1--font_weight--regular);
9
10
  }
10
11
 
11
12
  .Title--l-2 {
12
- font-size: 20px;
13
- line-height: 24px;
13
+ font-size: var(--vkui--font_title2--font_size--regular);
14
+ line-height: var(--vkui--font_title2--line_height--regular);
15
+ font-weight: var(--vkui--font_title2--font_weight--regular);
14
16
  }
15
17
 
16
18
  .Title--l-3 {
17
- font-size: 17px;
18
- line-height: 22px;
19
+ font-size: var(--vkui--font_title3--font_size--regular);
20
+ line-height: var(--vkui--font_title3--line_height--regular);
21
+ font-weight: var(--vkui--font_title3--font_weight--regular);
19
22
  }
20
23
 
24
+ /* TODO удалить перед релизом 5.0.0 */
21
25
  .Title--w-regular {
22
26
  font-weight: 400;
23
27
  }
24
28
 
29
+ /* TODO удалить перед релизом 5.0.0 */
25
30
  .Title--w-medium {
26
31
  font-weight: 500;
27
32
  }
28
33
 
34
+ /* TODO удалить перед релизом 5.0.0 */
29
35
  .Title--w-semibold {
30
36
  font-weight: 600;
31
37
  }
32
38
 
39
+ /* TODO удалить перед релизом 5.0.0 */
33
40
  .Title--w-bold {
34
41
  font-weight: 700;
35
42
  }
36
43
 
44
+ /* TODO удалить перед релизом 5.0.0 */
37
45
  .Title--w-heavy {
38
46
  font-weight: 800;
39
47
  }
40
48
 
41
- /**
42
- * ANDROID
43
- */
44
- .Title--android.Title--w-semibold {
45
- font-weight: 500;
49
+ .Title--w-1 {
50
+ font-weight: var(--vkui--font_weight_accent1);
46
51
  }
47
52
 
48
- .Title--android.Title--w-heavy {
49
- font-weight: 700;
53
+ .Title--w-2 {
54
+ font-weight: var(--vkui--font_weight_accent2);
55
+ }
56
+
57
+ .Title--w-3 {
58
+ font-weight: var(--vkui--font_weight_accent3);
50
59
  }
@@ -1,51 +1,56 @@
1
1
  import * as React from "react";
2
2
  import { HasComponent } from "../../../types";
3
- import { usePlatform } from "../../../hooks/usePlatform";
4
3
  import { classNames } from "../../../lib/classNames";
5
- import { getClassName } from "../../../helpers/getClassName";
6
- import { ANDROID } from "../../../lib/platform";
7
- import Headline, { HeadlineProps } from "../Headline/Headline";
4
+ import { warnOnce } from "../../../lib/warnOnce";
8
5
  import "./Title.css";
9
6
 
10
7
  export interface TitleProps
11
8
  extends React.AllHTMLAttributes<HTMLElement>,
12
9
  HasComponent {
13
- weight: "heavy" | "bold" | "semibold" | "medium" | "regular";
10
+ /**
11
+ * Начертания "heavy", "bold", "semibold", "medium" и "regular" устарели и будут удалены в 5.0.0.
12
+ */
13
+ weight?:
14
+ | "heavy"
15
+ | "bold"
16
+ | "semibold"
17
+ | "medium"
18
+ | "regular"
19
+ | "1"
20
+ | "2"
21
+ | "3";
14
22
  level: "1" | "2" | "3";
15
23
  }
16
24
 
25
+ const warn = warnOnce("Title");
26
+
17
27
  const Title: React.FC<TitleProps> = ({
18
28
  children,
19
- weight = "regular",
29
+ weight,
20
30
  level = "1",
21
31
  Component,
22
32
  ...restProps
23
33
  }: TitleProps) => {
24
- const platform = usePlatform();
25
-
26
34
  if (!Component) {
27
35
  Component = ("h" + level) as React.ElementType;
28
36
  }
29
37
 
30
- if (platform === ANDROID && level === "3") {
31
- const headlineWeight: HeadlineProps["weight"] =
32
- weight === "regular" ? weight : "medium";
33
-
34
- return (
35
- <Headline Component={Component} {...restProps} weight={headlineWeight}>
36
- {children}
37
- </Headline>
38
- );
38
+ if (process.env.NODE_ENV === "development") {
39
+ if (
40
+ weight &&
41
+ ["heavy", "bold", "semibold", "medium", "regular"].includes(weight)
42
+ )
43
+ warn(
44
+ `Начертание "${weight}" устарело и будет удалено в 5.0.0. Используйте значения "1", "2" и "3"`
45
+ );
39
46
  }
40
47
 
41
48
  return (
42
49
  <Component
43
50
  {...restProps}
44
- vkuiClass={classNames(
45
- getClassName("Title", platform),
46
- `Title--w-${weight}`,
47
- `Title--l-${level}`
48
- )}
51
+ vkuiClass={classNames("Title", `Title--l-${level}`, {
52
+ [`Title--w-${weight}`]: !!weight,
53
+ })}
49
54
  >
50
55
  {children}
51
56
  </Component>
@@ -24,8 +24,6 @@ import { warnOnce } from "../../lib/warnOnce";
24
24
  import { swipeBackExcluded } from "./utils";
25
25
  import "./View.css";
26
26
 
27
- const warn = warnOnce("View");
28
-
29
27
  enum SwipeBackResults {
30
28
  fail = 1,
31
29
  success,
@@ -107,6 +105,7 @@ export interface ViewState {
107
105
  browserSwipe: boolean;
108
106
  }
109
107
 
108
+ const warn = warnOnce("View");
110
109
  class View extends React.Component<ViewProps & DOMProps, ViewState> {
111
110
  constructor(props: ViewProps) {
112
111
  super(props);
@@ -153,6 +152,20 @@ class View extends React.Component<ViewProps & DOMProps, ViewState> {
153
152
 
154
153
  panelNodes: { [id: string]: HTMLDivElement | null } = {};
155
154
 
155
+ componentDidMount() {
156
+ if (process.env.NODE_ENV === "development") {
157
+ const { popout, modal } = this.props;
158
+ popout &&
159
+ warn(
160
+ "Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout."
161
+ );
162
+ modal &&
163
+ warn(
164
+ "Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout."
165
+ );
166
+ }
167
+ }
168
+
156
169
  componentWillUnmount() {
157
170
  const id = getNavId(this.props);
158
171
  if (id) {
@@ -0,0 +1,9 @@
1
+ .VisuallyHiddenInput {
2
+ position: absolute;
3
+ height: 1px;
4
+ white-space: nowrap;
5
+ clip: rect(0 0 0 0);
6
+ clip-path: inset(50%);
7
+ overflow: hidden;
8
+ opacity: 0;
9
+ }
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import { useExternRef } from "../../hooks/useExternRef";
3
+ import { HasRef } from "../../types";
4
+ import "./VisuallyHiddenInput.css";
5
+
6
+ export interface VisuallyHiddenInputProps
7
+ extends React.InputHTMLAttributes<HTMLInputElement>,
8
+ HasRef<HTMLInputElement> {}
9
+
10
+ /**
11
+ * @description
12
+ * Обертка над обычным `<input/>`; дает
13
+ * скрыть его визуально и оставить
14
+ * доступным для ассистивных технологий.
15
+ */
16
+ export const VisuallyHiddenInput: React.FC<VisuallyHiddenInputProps> = ({
17
+ getRef,
18
+ ...restProps
19
+ }) => {
20
+ const inputRef = useExternRef(getRef);
21
+
22
+ return (
23
+ <input {...restProps} vkuiClass="VisuallyHiddenInput" ref={inputRef} />
24
+ );
25
+ };
@@ -3,7 +3,7 @@ import { PlatformType } from "../lib/platform";
3
3
  import { SSRContext } from "../lib/SSR";
4
4
  import { ConfigProviderContext } from "../components/ConfigProvider/ConfigProviderContext";
5
5
 
6
- export function usePlatform(): PlatformType | undefined {
6
+ export function usePlatform(): PlatformType {
7
7
  const ssrContext = React.useContext(SSRContext);
8
8
  const { platform } = React.useContext(ConfigProviderContext);
9
9
  return ssrContext.platform || platform;
package/src/index.ts CHANGED
@@ -41,14 +41,14 @@ export type { FixedLayoutProps } from "./components/FixedLayout/FixedLayout";
41
41
  */
42
42
  export { PopoutWrapper } from "./components/PopoutWrapper/PopoutWrapper";
43
43
  export type { PopoutWrapperProps } from "./components/PopoutWrapper/PopoutWrapper";
44
- export { default as Alert } from "./components/Alert/Alert";
44
+ export { Alert } from "./components/Alert/Alert";
45
45
  export type {
46
46
  AlertProps,
47
47
  AlertActionInterface,
48
48
  } from "./components/Alert/Alert";
49
49
  export { ActionSheet } from "./components/ActionSheet/ActionSheet";
50
50
  export type { ActionSheetProps } from "./components/ActionSheet/ActionSheet";
51
- export { default as ActionSheetItem } from "./components/ActionSheetItem/ActionSheetItem";
51
+ export { ActionSheetItem } from "./components/ActionSheetItem/ActionSheetItem";
52
52
  export type { ActionSheetItemProps } from "./components/ActionSheetItem/ActionSheetItem";
53
53
  export { default as ScreenSpinner } from "./components/ScreenSpinner/ScreenSpinner";
54
54
  export type { ScreenSpinnerProps } from "./components/ScreenSpinner/ScreenSpinner";
@@ -80,11 +80,11 @@ export { default as Button } from "./components/Button/Button";
80
80
  export type { ButtonProps } from "./components/Button/Button";
81
81
  export { default as IconButton } from "./components/IconButton/IconButton";
82
82
  export type { IconButtonProps } from "./components/IconButton/IconButton";
83
- export { default as Card } from "./components/Card/Card";
83
+ export { Card } from "./components/Card/Card";
84
84
  export type { CardProps } from "./components/Card/Card";
85
85
  export { default as CardGrid } from "./components/CardGrid/CardGrid";
86
86
  export type { CardGridProps } from "./components/CardGrid/CardGrid";
87
- export { default as CardScroll } from "./components/CardScroll/CardScroll";
87
+ export { CardScroll } from "./components/CardScroll/CardScroll";
88
88
  export type { CardScrollProps } from "./components/CardScroll/CardScroll";
89
89
  export { default as ContentCard } from "./components/ContentCard/ContentCard";
90
90
  export type { ContentCardProps } from "./components/ContentCard/ContentCard";
@@ -94,7 +94,7 @@ export { default as Header } from "./components/Header/Header";
94
94
  export type { HeaderProps } from "./components/Header/Header";
95
95
  export { default as Group } from "./components/Group/Group";
96
96
  export type { GroupProps } from "./components/Group/Group";
97
- export { default as Gradient } from "./components/Gradient/Gradient";
97
+ export { Gradient } from "./components/Gradient/Gradient";
98
98
  export type { GradientProps } from "./components/Gradient/Gradient";
99
99
  export { default as List } from "./components/List/List";
100
100
  export { Cell } from "./components/Cell/Cell";
@@ -176,7 +176,7 @@ export { default as File } from "./components/File/File";
176
176
  export type { FileProps } from "./components/File/File";
177
177
  export { default as Input } from "./components/Input/Input";
178
178
  export type { InputProps } from "./components/Input/Input";
179
- export { default as Chip } from "./components/Chip/Chip";
179
+ export { Chip } from "./components/Chip/Chip";
180
180
  export type { ChipProps } from "./components/Chip/Chip";
181
181
  export { default as ChipsInput } from "./components/ChipsInput/ChipsInput";
182
182
  export type { ChipsInputProps } from "./components/ChipsInput/ChipsInput";
@@ -210,11 +210,17 @@ export type {
210
210
  DatePickerProps,
211
211
  DatePickerDateFormat,
212
212
  } from "./components/DatePicker/DatePicker";
213
- export { default as SliderSwitch } from "./components/SliderSwitch/SliderSwitch";
213
+ export { SliderSwitch } from "./components/SliderSwitch/SliderSwitch";
214
214
  export type {
215
215
  SliderSwitchProps,
216
216
  SliderSwitchOptionInterface,
217
217
  } from "./components/SliderSwitch/SliderSwitch";
218
+ export { SegmentedControl } from "./components/SegmentedControl/SegmentedControl";
219
+ export type {
220
+ SegmentedControlProps,
221
+ SegmentedControlOptionInterface,
222
+ SegmentedControlValue,
223
+ } from "./components/SegmentedControl/SegmentedControl";
218
224
 
219
225
  /**
220
226
  * Helpers
@@ -239,7 +245,7 @@ export type { ModalCardBaseProps } from "./components/ModalCardBase/ModalCardBas
239
245
  * Wrappers
240
246
  */
241
247
  export { AppRoot } from "./components/AppRoot/AppRoot";
242
- export { default as AdaptivityProvider } from "./components/AdaptivityProvider/AdaptivityProvider";
248
+ export { AdaptivityProvider } from "./components/AdaptivityProvider/AdaptivityProvider";
243
249
  export { default as ConfigProvider } from "./components/ConfigProvider/ConfigProvider";
244
250
  export type { ConfigProviderProps } from "./components/ConfigProvider/ConfigProvider";
245
251
  export {
@@ -10,7 +10,11 @@ export const ANDROID = Platform.ANDROID;
10
10
  export const IOS = Platform.IOS;
11
11
  export const VKCOM = Platform.VKCOM;
12
12
 
13
- export type PlatformType = Platform.ANDROID | Platform.IOS | Platform.VKCOM;
13
+ export type PlatformType =
14
+ | Platform.ANDROID
15
+ | Platform.IOS
16
+ | Platform.VKCOM
17
+ | string;
14
18
 
15
19
  export function platform(browserInfo?: BrowserInfo): PlatformType {
16
20
  if (!browserInfo) {
package/src/lib/utils.ts CHANGED
@@ -88,3 +88,9 @@ export function getTitleFromChildren(children: React.ReactNode): string {
88
88
 
89
89
  return label;
90
90
  }
91
+
92
+ export const generateRandomId = () => {
93
+ return Math.random()
94
+ .toString(36)
95
+ .replace(/[^a-z]+/g, "");
96
+ };
@@ -126,6 +126,9 @@
126
126
  @import "../components/SliderSwitch/SliderSwitch.css";
127
127
  @import "../components/Popper/Popper.css";
128
128
  @import "../components/CustomSelectDropdown/CustomSelectDropdown.css";
129
+ @import "../components/SegmentedControl/SegmentedControl.css";
130
+ @import "../components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css";
131
+ @import "../components/VisuallyHiddenInput/VisuallyHiddenInput.css";
129
132
 
130
133
  /* Advertisement */
131
134
  @import "../components/PromoBanner/PromoBanner.css";
@@ -2,3 +2,9 @@
2
2
  @import "./space_gray.css";
3
3
  @import "./vkcom_light.css";
4
4
  @import "./vkcom_dark.css";
5
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkBase/cssVars/declarations/onlyVariables.css";
6
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkBaseDark/cssVars/declarations/onlyVariablesLocal.css";
7
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkIOS/cssVars/declarations/onlyVariablesLocal.css";
8
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkIOSDark/cssVars/declarations/onlyVariablesLocal.css";
9
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkCom/cssVars/declarations/onlyVariablesLocal.css";
10
+ @import "../../node_modules/@vkontakte/vkui-tokens/themes/vkComDark/cssVars/declarations/onlyVariablesLocal.css";
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { render, RenderResult, screen } from "@testing-library/react";
3
- import AdaptivityProvider from "../components/AdaptivityProvider/AdaptivityProvider";
3
+ import { AdaptivityProvider } from "../components/AdaptivityProvider/AdaptivityProvider";
4
4
  import { AdaptivityProps } from "../components/AdaptivityProvider/AdaptivityContext";
5
5
  import { ImgOnlyAttributes } from "../lib/utils";
6
6
  import { ScrollContext } from "../components/AppRoot/ScrollContext";
@@ -0,0 +1,15 @@
1
+ export { default as Button } from "../components/Button/Button";
2
+ export type { ButtonProps } from "../components/Button/Button";
3
+
4
+ export { Card } from "../components/Card/Card";
5
+ export type { CardProps } from "../components/Card/Card";
6
+
7
+ export { CardScroll } from "../components/CardScroll/CardScroll";
8
+ export type { CardScrollProps } from "../components/CardScroll/CardScroll";
9
+
10
+ export { SegmentedControl } from "../components/SegmentedControl/SegmentedControl";
11
+ export type {
12
+ SegmentedControlProps,
13
+ SegmentedControlOptionInterface,
14
+ SegmentedControlValue,
15
+ } from "../components/SegmentedControl/SegmentedControl";
package/types/global.d.ts CHANGED
@@ -1,12 +1,7 @@
1
1
  import "react";
2
- import { Scheme } from "../src/helpers/scheme";
3
2
 
4
3
  declare module "react" {
5
4
  interface Attributes {
6
5
  vkuiClass?: string | string[];
7
6
  }
8
-
9
- interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
10
- scheme?: Scheme | "inherit";
11
- }
12
7
  }
@@ -1,2 +0,0 @@
1
- export { default as Button } from "../components/Button/Button";
2
- export type { ButtonProps } from "../components/Button/Button";
@@ -1,2 +0,0 @@
1
- export { default as Button } from "../components/Button/Button";
2
- export type { ButtonProps } from "../components/Button/Button";
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "Button", {
9
- enumerable: true,
10
- get: function get() {
11
- return _Button.default;
12
- }
13
- });
14
-
15
- var _Button = _interopRequireDefault(require("../components/Button/Button"));
16
- //# sourceMappingURL=tokenized.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/tokenized/tokenized.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export { default as Button } from \"../components/Button/Button\";\nexport type { ButtonProps } from \"../components/Button/Button\";\n"],"file":"tokenized.js"}
@@ -1,2 +0,0 @@
1
- export { default as Button } from "../components/Button/Button";
2
- //# sourceMappingURL=tokenized.js.map