@vkontakte/vkui 4.29.0 → 4.31.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 (439) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +111 -84
  4. package/.cache/ts/src/components/Alert/Alert.d.ts +4 -1
  5. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +6 -14
  6. package/.cache/ts/src/components/Calendar/Calendar.d.ts +10 -1
  7. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  8. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  9. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  10. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +1 -1
  11. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  12. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  13. package/.cache/ts/src/components/FormField/FormField.d.ts +15 -1
  14. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  15. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -2
  16. package/.cache/ts/src/components/Select/Select.d.ts +1 -1
  17. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  18. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  19. package/.cache/ts/src/hooks/useAdaptivity.d.ts +1 -0
  20. package/.cache/ts/src/hooks/useCalendar.d.ts +4 -3
  21. package/.cache/ts/src/index.d.ts +2 -1
  22. package/dist/cjs/components/ActionSheet/ActionSheet.js +6 -10
  23. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  24. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  25. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  26. package/dist/cjs/components/Alert/Alert.d.ts +4 -1
  27. package/dist/cjs/components/Alert/Alert.js +20 -2
  28. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  29. package/dist/cjs/components/AppRoot/AppRoot.js +18 -2
  30. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  31. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +6 -14
  32. package/dist/cjs/components/AppRoot/ScrollContext.js +94 -2
  33. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  34. package/dist/cjs/components/Calendar/Calendar.d.ts +10 -1
  35. package/dist/cjs/components/Calendar/Calendar.js +16 -5
  36. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  37. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  38. package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -9
  39. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  40. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +1 -1
  41. package/dist/cjs/components/CalendarRange/CalendarRange.js +7 -3
  42. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  43. package/dist/cjs/components/ChipsInput/ChipsInput.js +3 -1
  44. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  45. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  46. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +1 -1
  47. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  48. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +1 -1
  49. package/dist/cjs/components/CustomSelect/CustomSelect.js +6 -3
  50. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  51. package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
  52. package/dist/cjs/components/DateInput/DateInput.js +14 -2
  53. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  54. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  55. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -2
  56. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  57. package/dist/cjs/components/Epic/Epic.js +1 -1
  58. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  59. package/dist/cjs/components/FormField/FormField.d.ts +15 -1
  60. package/dist/cjs/components/FormField/FormField.js +6 -2
  61. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  62. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +12 -3
  63. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  64. package/dist/cjs/components/Input/Input.d.ts +1 -1
  65. package/dist/cjs/components/Input/Input.js +3 -1
  66. package/dist/cjs/components/Input/Input.js.map +1 -1
  67. package/dist/cjs/components/ModalCard/ModalCard.js +3 -1
  68. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  69. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -2
  70. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  71. package/dist/cjs/components/ModalPage/ModalPage.js +6 -2
  72. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  73. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +2 -10
  74. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  75. package/dist/cjs/components/ModalRoot/ModalRoot.js +2 -2
  76. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  77. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +6 -4
  78. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  79. package/dist/cjs/components/ModalRoot/useModalManager.js +1 -1
  80. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  81. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +1 -2
  82. package/dist/cjs/components/NativeSelect/NativeSelect.js +5 -7
  83. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  84. package/dist/cjs/components/PanelHeader/PanelHeader.js +6 -4
  85. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  86. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js +4 -1
  87. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  88. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +3 -1
  89. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  90. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +3 -0
  91. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  92. package/dist/cjs/components/Select/Select.d.ts +1 -1
  93. package/dist/cjs/components/Select/Select.js +2 -2
  94. package/dist/cjs/components/Select/Select.js.map +1 -1
  95. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  96. package/dist/cjs/components/SelectMimicry/SelectMimicry.js +3 -1
  97. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  98. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +1 -1
  99. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  100. package/dist/cjs/components/Tooltip/Tooltip.js +1 -1
  101. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  102. package/dist/cjs/components/Typography/Text/Text.js +1 -1
  103. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  104. package/dist/cjs/hooks/useAdaptivity.d.ts +1 -0
  105. package/dist/cjs/hooks/useAdaptivity.js +18 -1
  106. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  107. package/dist/cjs/hooks/useCalendar.d.ts +4 -3
  108. package/dist/cjs/hooks/useCalendar.js +15 -6
  109. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  110. package/dist/cjs/index.d.ts +2 -1
  111. package/dist/cjs/index.js +10 -2
  112. package/dist/cjs/index.js.map +1 -1
  113. package/dist/cjs/lib/getNavId.js +1 -1
  114. package/dist/cjs/lib/getNavId.js.map +1 -1
  115. package/dist/cjs/lib/platform.js +29 -0
  116. package/dist/cjs/lib/platform.js.map +1 -1
  117. package/dist/components/ActionSheet/ActionSheet.js +5 -9
  118. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  119. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  120. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  121. package/dist/components/Alert/Alert.d.ts +4 -1
  122. package/dist/components/Alert/Alert.js +18 -2
  123. package/dist/components/Alert/Alert.js.map +1 -1
  124. package/dist/components/AppRoot/AppRoot.js +17 -2
  125. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  126. package/dist/components/AppRoot/ScrollContext.d.ts +6 -14
  127. package/dist/components/AppRoot/ScrollContext.js +87 -1
  128. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  129. package/dist/components/Calendar/Calendar.d.ts +10 -1
  130. package/dist/components/Calendar/Calendar.js +16 -5
  131. package/dist/components/Calendar/Calendar.js.map +1 -1
  132. package/dist/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  133. package/dist/components/CalendarHeader/CalendarHeader.js +15 -9
  134. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  135. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  136. package/dist/components/CalendarRange/CalendarRange.js +7 -3
  137. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  138. package/dist/components/ChipsInput/ChipsInput.js +3 -1
  139. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  140. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  141. package/dist/components/ConfigProvider/ConfigProvider.js +1 -1
  142. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  143. package/dist/components/CustomSelect/CustomSelect.d.ts +1 -1
  144. package/dist/components/CustomSelect/CustomSelect.js +6 -3
  145. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  146. package/dist/components/DateInput/DateInput.d.ts +1 -1
  147. package/dist/components/DateInput/DateInput.js +14 -2
  148. package/dist/components/DateInput/DateInput.js.map +1 -1
  149. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  150. package/dist/components/DateRangeInput/DateRangeInput.js +6 -2
  151. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  152. package/dist/components/Epic/Epic.js +1 -1
  153. package/dist/components/Epic/Epic.js.map +1 -1
  154. package/dist/components/FormField/FormField.d.ts +15 -1
  155. package/dist/components/FormField/FormField.js +6 -2
  156. package/dist/components/FormField/FormField.js.map +1 -1
  157. package/dist/components/HorizontalScroll/HorizontalScroll.js +12 -3
  158. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  159. package/dist/components/Input/Input.d.ts +1 -1
  160. package/dist/components/Input/Input.js +3 -1
  161. package/dist/components/Input/Input.js.map +1 -1
  162. package/dist/components/ModalCard/ModalCard.js +3 -2
  163. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  164. package/dist/components/ModalCardBase/ModalCardBase.js +5 -4
  165. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  166. package/dist/components/ModalPage/ModalPage.js +5 -3
  167. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  168. package/dist/components/ModalPageHeader/ModalPageHeader.js +2 -9
  169. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  170. package/dist/components/ModalRoot/ModalRoot.js +2 -2
  171. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  172. package/dist/components/ModalRoot/ModalRootAdaptive.js +5 -5
  173. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  174. package/dist/components/ModalRoot/useModalManager.js +1 -1
  175. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  176. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -2
  177. package/dist/components/NativeSelect/NativeSelect.js +3 -4
  178. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  179. package/dist/components/PanelHeader/PanelHeader.js +6 -4
  180. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  181. package/dist/components/PanelHeaderContext/PanelHeaderContext.js +3 -1
  182. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  183. package/dist/components/PopoutRoot/PopoutRoot.js +3 -2
  184. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  185. package/dist/components/ScreenSpinner/ScreenSpinner.js +2 -0
  186. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  187. package/dist/components/Select/Select.d.ts +1 -1
  188. package/dist/components/Select/Select.js +1 -1
  189. package/dist/components/Select/Select.js.map +1 -1
  190. package/dist/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  191. package/dist/components/SelectMimicry/SelectMimicry.js +3 -1
  192. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  193. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  194. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  195. package/dist/components/Tooltip/Tooltip.js +1 -1
  196. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  197. package/dist/components/Typography/Text/Text.js +1 -1
  198. package/dist/components/Typography/Text/Text.js.map +1 -1
  199. package/dist/components.css +18 -18
  200. package/dist/components.css.map +1 -1
  201. package/dist/cssm/components/ActionSheet/ActionSheet.js +5 -9
  202. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  203. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +1 -1
  204. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  205. package/dist/cssm/components/Alert/Alert.d.ts +4 -1
  206. package/dist/cssm/components/Alert/Alert.js +18 -2
  207. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  208. package/dist/cssm/components/AppRoot/AppRoot.js +17 -2
  209. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  210. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +6 -14
  211. package/dist/cssm/components/AppRoot/ScrollContext.js +87 -1
  212. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  213. package/dist/cssm/components/Button/Button.css +9 -9
  214. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  215. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  216. package/dist/cssm/components/Calendar/Calendar.d.ts +10 -1
  217. package/dist/cssm/components/Calendar/Calendar.js +16 -5
  218. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  219. package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
  220. package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
  221. package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
  222. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +8 -0
  223. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +15 -9
  224. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  225. package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
  226. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  227. package/dist/cssm/components/CalendarRange/CalendarRange.js +7 -3
  228. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  229. package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
  230. package/dist/cssm/components/Card/Card.css +2 -2
  231. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  232. package/dist/cssm/components/Cell/Cell.css +1 -1
  233. package/dist/cssm/components/CellButton/CellButton.css +1 -1
  234. package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
  235. package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
  236. package/dist/cssm/components/ChipsInput/ChipsInput.js +3 -1
  237. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  238. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  239. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +1 -1
  240. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  241. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +1 -1
  242. package/dist/cssm/components/CustomSelect/CustomSelect.js +6 -3
  243. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  244. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
  245. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
  246. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  247. package/dist/cssm/components/DateInput/DateInput.js +14 -2
  248. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  249. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  250. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +6 -2
  251. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  252. package/dist/cssm/components/Epic/Epic.js +1 -1
  253. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  254. package/dist/cssm/components/FormField/FormField.css +3 -3
  255. package/dist/cssm/components/FormField/FormField.d.ts +15 -1
  256. package/dist/cssm/components/FormField/FormField.js +6 -2
  257. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  258. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
  259. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  260. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +12 -3
  261. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  262. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  263. package/dist/cssm/components/Input/Input.css +1 -1
  264. package/dist/cssm/components/Input/Input.d.ts +1 -1
  265. package/dist/cssm/components/Input/Input.js +3 -1
  266. package/dist/cssm/components/Input/Input.js.map +1 -1
  267. package/dist/cssm/components/InputLike/InputLike.css +1 -1
  268. package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
  269. package/dist/cssm/components/ModalCard/ModalCard.css +1 -1
  270. package/dist/cssm/components/ModalCard/ModalCard.js +3 -2
  271. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  272. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -4
  273. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  274. package/dist/cssm/components/ModalPage/ModalPage.js +5 -3
  275. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  276. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +2 -9
  277. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  278. package/dist/cssm/components/ModalRoot/ModalRoot.css +1 -1
  279. package/dist/cssm/components/ModalRoot/ModalRoot.js +2 -2
  280. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  281. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +5 -5
  282. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  283. package/dist/cssm/components/ModalRoot/useModalManager.js +1 -1
  284. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  285. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -2
  286. package/dist/cssm/components/NativeSelect/NativeSelect.js +3 -4
  287. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  288. package/dist/cssm/components/Pagination/Pagination.css +1 -1
  289. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  290. package/dist/cssm/components/PanelHeader/PanelHeader.js +6 -4
  291. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  292. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -1
  293. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  294. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +3 -2
  295. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  296. package/dist/cssm/components/Popper/Popper.css +1 -1
  297. package/dist/cssm/components/Radio/Radio.css +1 -1
  298. package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
  299. package/dist/cssm/components/Removable/Removable.css +1 -1
  300. package/dist/cssm/components/RichCell/RichCell.css +1 -1
  301. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +2 -0
  302. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  303. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  304. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  305. package/dist/cssm/components/Select/Select.d.ts +1 -1
  306. package/dist/cssm/components/Select/Select.js +1 -1
  307. package/dist/cssm/components/Select/Select.js.map +1 -1
  308. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +3 -3
  309. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +3 -1
  310. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  311. package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
  312. package/dist/cssm/components/Snackbar/Snackbar.css +1 -1
  313. package/dist/cssm/components/SplitLayout/SplitLayout.css +1 -1
  314. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  315. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  316. package/dist/cssm/components/Tooltip/Tooltip.js +1 -1
  317. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  318. package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
  319. package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
  320. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  321. package/dist/cssm/components/Typography/Text/Text.js +1 -1
  322. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  323. package/dist/cssm/components/Typography/Title/Title.css +1 -1
  324. package/dist/cssm/hooks/useAdaptivity.d.ts +1 -0
  325. package/dist/cssm/hooks/useAdaptivity.js +13 -1
  326. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  327. package/dist/cssm/hooks/useCalendar.d.ts +4 -3
  328. package/dist/cssm/hooks/useCalendar.js +15 -6
  329. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  330. package/dist/cssm/index.d.ts +2 -1
  331. package/dist/cssm/index.js +2 -1
  332. package/dist/cssm/index.js.map +1 -1
  333. package/dist/cssm/lib/getNavId.js +1 -1
  334. package/dist/cssm/lib/getNavId.js.map +1 -1
  335. package/dist/cssm/lib/platform.js +26 -0
  336. package/dist/cssm/lib/platform.js.map +1 -1
  337. package/dist/cssm/styles/bright_light.css +1 -1
  338. package/dist/cssm/styles/components.css +18 -18
  339. package/dist/cssm/styles/constants.css +1 -1
  340. package/dist/cssm/styles/space_gray.css +1 -1
  341. package/dist/cssm/styles/themes.css +3 -3
  342. package/dist/cssm/styles/vkcom_dark.css +2 -2
  343. package/dist/cssm/styles/vkcom_light.css +1 -1
  344. package/dist/default_scheme.css +1 -1
  345. package/dist/default_scheme.css.map +1 -1
  346. package/dist/hooks/useAdaptivity.d.ts +1 -0
  347. package/dist/hooks/useAdaptivity.js +13 -1
  348. package/dist/hooks/useAdaptivity.js.map +1 -1
  349. package/dist/hooks/useCalendar.d.ts +4 -3
  350. package/dist/hooks/useCalendar.js +15 -6
  351. package/dist/hooks/useCalendar.js.map +1 -1
  352. package/dist/index.d.ts +2 -1
  353. package/dist/index.js +2 -1
  354. package/dist/index.js.map +1 -1
  355. package/dist/lib/getNavId.js +1 -1
  356. package/dist/lib/getNavId.js.map +1 -1
  357. package/dist/lib/platform.js +26 -0
  358. package/dist/lib/platform.js.map +1 -1
  359. package/dist/vkui.css +21 -21
  360. package/dist/vkui.css.map +1 -1
  361. package/jest.unit.config.js +1 -0
  362. package/package.json +5 -3
  363. package/postcss-custom-properties-fallback/__tests__/custom_properties.css +5 -0
  364. package/postcss-custom-properties-fallback/index.js +83 -0
  365. package/postcss-plugin-vk-sans/index.js +34 -27
  366. package/src/components/ActionSheet/ActionSheet.tsx +9 -7
  367. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +1 -1
  368. package/src/components/ActionSheet/Readme.md +1 -0
  369. package/src/components/Alert/Alert.tsx +23 -4
  370. package/src/components/AppRoot/AppRoot.tsx +17 -2
  371. package/src/components/AppRoot/ScrollContext.ts +90 -2
  372. package/src/components/Button/Button.css +2 -0
  373. package/src/components/Calendar/Calendar.tsx +32 -3
  374. package/src/components/CalendarHeader/CalendarHeader.css +3 -0
  375. package/src/components/CalendarHeader/CalendarHeader.tsx +24 -2
  376. package/src/components/CalendarRange/CalendarRange.tsx +6 -0
  377. package/src/components/Card/Card.css +2 -1
  378. package/src/components/Cell/Cell.css +1 -1
  379. package/src/components/CellButton/CellButton.css +1 -1
  380. package/src/components/Checkbox/Checkbox.css +1 -1
  381. package/src/components/ChipsInput/ChipsInput.tsx +2 -0
  382. package/src/components/ConfigProvider/ConfigProvider.tsx +1 -1
  383. package/src/components/CustomSelect/CustomSelect.tsx +6 -3
  384. package/src/components/DateInput/DateInput.tsx +18 -0
  385. package/src/components/DateRangeInput/DateRangeInput.tsx +6 -0
  386. package/src/components/Epic/Epic.tsx +3 -1
  387. package/src/components/FixedLayout/FixedLayout.css +10 -0
  388. package/src/components/FormField/FormField.css +10 -0
  389. package/src/components/FormField/FormField.tsx +21 -1
  390. package/src/components/FormField/Readme.md +85 -19
  391. package/src/components/FormItem/FormItem.css +1 -0
  392. package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
  393. package/src/components/Gradient/Gradient.css +4 -2
  394. package/src/components/HorizontalScroll/HorizontalScroll.tsx +9 -3
  395. package/src/components/Input/Input.tsx +2 -0
  396. package/src/components/ModalCard/ModalCard.css +1 -1
  397. package/src/components/ModalCard/ModalCard.tsx +3 -8
  398. package/src/components/ModalCardBase/ModalCardBase.tsx +6 -10
  399. package/src/components/ModalPage/ModalPage.tsx +6 -9
  400. package/src/components/ModalPageHeader/ModalPageHeader.tsx +2 -6
  401. package/src/components/ModalRoot/ModalRoot.css +3 -2
  402. package/src/components/ModalRoot/ModalRoot.tsx +6 -2
  403. package/src/components/ModalRoot/ModalRootAdaptive.tsx +6 -9
  404. package/src/components/ModalRoot/Readme.md +1 -1
  405. package/src/components/ModalRoot/useModalManager.tsx +4 -1
  406. package/src/components/NativeSelect/NativeSelect.tsx +2 -3
  407. package/src/components/PanelHeader/PanelHeader.css +13 -13
  408. package/src/components/PanelHeader/PanelHeader.tsx +18 -17
  409. package/src/components/PanelHeader/Readme.md +2 -2
  410. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +3 -0
  411. package/src/components/PopoutRoot/PopoutRoot.tsx +3 -8
  412. package/src/components/Popper/Popper.css +14 -2
  413. package/src/components/Radio/Radio.css +1 -1
  414. package/src/components/RadioGroup/RadioGroup.css +1 -1
  415. package/src/components/Removable/Removable.css +2 -2
  416. package/src/components/RichCell/RichCell.css +1 -1
  417. package/src/components/ScreenSpinner/ScreenSpinner.tsx +3 -0
  418. package/src/components/Select/Select.tsx +1 -1
  419. package/src/components/SelectMimicry/SelectMimicry.tsx +5 -3
  420. package/src/components/SimpleCell/SimpleCell.css +1 -1
  421. package/src/components/Snackbar/Snackbar.css +6 -3
  422. package/src/components/SplitLayout/SplitLayout.css +3 -1
  423. package/src/components/Switch/Readme.md +12 -36
  424. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  425. package/src/components/Tooltip/Readme.md +35 -47
  426. package/src/components/Tooltip/Tooltip.tsx +2 -2
  427. package/src/components/Typography/Text/Text.tsx +4 -1
  428. package/src/hooks/useAdaptivity.ts +15 -0
  429. package/src/hooks/useCalendar.ts +25 -9
  430. package/src/index.ts +2 -1
  431. package/src/lib/getNavId.ts +1 -1
  432. package/src/lib/platform.ts +34 -0
  433. package/src/styles/bright_light.css +2 -0
  434. package/src/styles/constants.css +3 -2
  435. package/src/styles/space_gray.css +10 -8
  436. package/src/styles/vkcom_dark.css +6 -4
  437. package/src/styles/vkcom_light.css +4 -2
  438. package/src/testing/utils.tsx +5 -1
  439. package/tsconfig.json +1 -0
@@ -48,12 +48,12 @@ class Example extends React.Component {
48
48
  <PanelHeader>Tooltip</PanelHeader>
49
49
  <Group>
50
50
  <List>
51
- <Cell>Музыка</Cell>
52
- <Cell>Видео</Cell>
53
- <Cell>Игры</Cell>
54
- <Cell>Закладки</Cell>
55
- <Cell>Документы</Cell>
56
- <Cell>Денежные переводы</Cell>
51
+ <SimpleCell>Музыка</SimpleCell>
52
+ <SimpleCell>Видео</SimpleCell>
53
+ <SimpleCell>Игры</SimpleCell>
54
+ <SimpleCell>Закладки</SimpleCell>
55
+ <SimpleCell>Документы</SimpleCell>
56
+ <SimpleCell>Денежные переводы</SimpleCell>
57
57
  </List>
58
58
  </Group>
59
59
  <Group>
@@ -64,9 +64,11 @@ class Example extends React.Component {
64
64
  onClose={() => this.setState({ tooltip: false })}
65
65
  offsetX={10}
66
66
  >
67
- <Cell onClick={() => this.setState({ activePanel: "tooltip2" })}>
67
+ <SimpleCell
68
+ onClick={() => this.setState({ activePanel: "tooltip2" })}
69
+ >
68
70
  VK Pay
69
- </Cell>
71
+ </SimpleCell>
70
72
  </Tooltip>
71
73
  </Group>
72
74
  </Panel>
@@ -74,39 +76,25 @@ class Example extends React.Component {
74
76
  <Panel id="tooltip2">
75
77
  <PanelHeader
76
78
  left={
77
- <PanelHeaderButton
78
- onClick={() => this.setState({ activePanel: "tooltip" })}
79
+ <Tooltip
80
+ isShown={this.state.tooltip2}
81
+ onClose={() =>
82
+ this.setState({ tooltip2: false, tooltip3: true })
83
+ }
84
+ text="Нажмите на кнопку, если хотите вернуться"
85
+ header="Возвратиться"
79
86
  >
80
- {this.props.platform === ANDROID ||
81
- this.props.platform === VKCOM ? (
82
- <Icon24Back />
83
- ) : (
84
- <Icon28ChevronBack />
85
- )}
86
- </PanelHeaderButton>
87
- }
88
- right={
89
- <PanelHeaderButton>
90
- <Tooltip
91
- isShown={this.state.tooltip2}
92
- onClose={() =>
93
- this.setState({ tooltip2: false, tooltip3: true })
94
- }
95
- cornerOffset={-10}
96
- offsetX={7}
97
- text="Обновлённый раздел поможет найти друзей"
98
- header="Рекомендации друзей"
99
- >
100
- <Icon24Add />
101
- </Tooltip>
102
- </PanelHeaderButton>
87
+ <PanelHeaderBack
88
+ onClick={() => this.setState({ activePanel: "tooltip" })}
89
+ />
90
+ </Tooltip>
103
91
  }
104
92
  >
105
93
  Tooltip
106
94
  </PanelHeader>
107
95
  <Group>
108
96
  <List>
109
- <Cell
97
+ <SimpleCell
110
98
  before={
111
99
  <Tooltip
112
100
  text="Теперь у нас появились аватарки в списках. Правда круто?"
@@ -120,25 +108,25 @@ class Example extends React.Component {
120
108
  description="Веб-сайт"
121
109
  >
122
110
  Команда ВКонтакте
123
- </Cell>
124
- <Cell before={<Avatar />} description="Музыкант">
111
+ </SimpleCell>
112
+ <SimpleCell before={<Avatar />} description="Музыкант">
125
113
  Robbie Williams
126
- </Cell>
127
- <Cell before={<Avatar />} description="Издательский дом">
114
+ </SimpleCell>
115
+ <SimpleCell before={<Avatar />} description="Издательский дом">
128
116
  ПостНаука
129
- </Cell>
130
- <Cell before={<Avatar />} description="Издательский дом">
117
+ </SimpleCell>
118
+ <SimpleCell before={<Avatar />} description="Издательский дом">
131
119
  ПостНаука
132
- </Cell>
133
- <Cell before={<Avatar />} description="Издательский дом">
120
+ </SimpleCell>
121
+ <SimpleCell before={<Avatar />} description="Издательский дом">
134
122
  ПостНаука
135
- </Cell>
136
- <Cell before={<Avatar />} description="Издательский дом">
123
+ </SimpleCell>
124
+ <SimpleCell before={<Avatar />} description="Издательский дом">
137
125
  ПостНаука
138
- </Cell>
139
- <Cell before={<Avatar />} description="Издательский дом">
126
+ </SimpleCell>
127
+ <SimpleCell before={<Avatar />} description="Издательский дом">
140
128
  ПостНаука
141
- </Cell>
129
+ </SimpleCell>
142
130
  </List>
143
131
  </Group>
144
132
  </Panel>
@@ -179,8 +179,8 @@ const Tooltip: React.FC<TooltipProps> = ({
179
179
  (multiChildren || primitiveChild) &&
180
180
  warn(
181
181
  [
182
- "children must be a single React element, got",
183
- multiChildren && "multiple",
182
+ "children должен быть одним React элементом, получено",
183
+ multiChildren && "несколько",
184
184
  primitiveChild && JSON.stringify(children),
185
185
  ]
186
186
  .filter(Boolean)
@@ -28,7 +28,10 @@ const Text: React.FC<TextProps> = ({
28
28
  typeof Component !== "string" &&
29
29
  getRootRef
30
30
  ) {
31
- warn("getRootRef can only be used with DOM components", "error");
31
+ warn(
32
+ `Свойство "getRootRef" может использоваться только с компонентами DOM`,
33
+ "error"
34
+ );
32
35
  }
33
36
 
34
37
  return (
@@ -3,10 +3,25 @@ import {
3
3
  AdaptivityContext,
4
4
  AdaptivityProps,
5
5
  AdaptivityContextInterface,
6
+ ViewWidth,
7
+ ViewHeight,
6
8
  } from "../components/AdaptivityProvider/AdaptivityContext";
9
+ import { usePlatform } from "./usePlatform";
10
+ import { VKCOM } from "../lib/platform";
7
11
 
8
12
  export type { AdaptivityProps };
9
13
 
10
14
  export const useAdaptivity = (): AdaptivityContextInterface => {
11
15
  return React.useContext(AdaptivityContext);
12
16
  };
17
+
18
+ export const useAdaptivityIsDesktop = (): boolean => {
19
+ const platform = usePlatform();
20
+ const { viewWidth, viewHeight, hasMouse } = useAdaptivity();
21
+
22
+ return (
23
+ (viewWidth >= ViewWidth.SMALL_TABLET &&
24
+ (hasMouse || viewHeight >= ViewHeight.MEDIUM)) ||
25
+ platform === VKCOM
26
+ );
27
+ };
@@ -8,8 +8,13 @@ import {
8
8
  isAfter,
9
9
  startOfDay,
10
10
  } from "../lib/date";
11
+ import { CalendarProps } from "../components/Calendar/Calendar";
11
12
 
12
- export interface UseCalendarDependencies {
13
+ export interface UseCalendarDependencies
14
+ extends Pick<
15
+ CalendarProps,
16
+ "onHeaderChange" | "onNextMonth" | "onPrevMonth"
17
+ > {
13
18
  value?: Array<Date | null> | Date;
14
19
  disablePast?: boolean;
15
20
  disableFuture?: boolean;
@@ -21,19 +26,30 @@ export function useCalendar({
21
26
  disablePast,
22
27
  disableFuture,
23
28
  shouldDisableDate,
29
+ onHeaderChange,
30
+ onNextMonth,
31
+ onPrevMonth,
24
32
  }: UseCalendarDependencies) {
25
33
  const [viewDate, setViewDate] = React.useState(
26
34
  (Array.isArray(value) ? value[0] : value) ?? new Date()
27
35
  );
28
36
  const [focusedDay, setFocusedDay] = React.useState<Date>();
29
37
 
30
- const setPrevMonth = React.useCallback(
31
- () => setViewDate(subMonths(viewDate, 1)),
32
- [viewDate]
33
- );
34
- const setNextMonth = React.useCallback(
35
- () => setViewDate(addMonths(viewDate, 1)),
36
- [viewDate]
38
+ const setPrevMonth = React.useCallback(() => {
39
+ onPrevMonth?.();
40
+ setViewDate(subMonths(viewDate, 1));
41
+ }, [viewDate, onPrevMonth]);
42
+ const setNextMonth = React.useCallback(() => {
43
+ onNextMonth?.();
44
+ setViewDate(addMonths(viewDate, 1));
45
+ }, [viewDate, onNextMonth]);
46
+
47
+ const handleSetViewDate = React.useCallback(
48
+ (value: Date) => {
49
+ onHeaderChange?.(value);
50
+ setViewDate(value);
51
+ },
52
+ [onHeaderChange]
37
53
  );
38
54
 
39
55
  const isDayFocused = React.useCallback(
@@ -66,7 +82,7 @@ export function useCalendar({
66
82
 
67
83
  return {
68
84
  viewDate,
69
- setViewDate,
85
+ setViewDate: handleSetViewDate,
70
86
  setPrevMonth,
71
87
  setNextMonth,
72
88
  focusedDay,
package/src/index.ts CHANGED
@@ -200,7 +200,7 @@ export { Select } from "./components/Select/Select";
200
200
  export type { SelectProps } from "./components/Select/Select";
201
201
  export { default as SelectMimicry } from "./components/SelectMimicry/SelectMimicry";
202
202
  export type { SelectMimicryProps } from "./components/SelectMimicry/SelectMimicry";
203
- export { default as NativeSelect } from "./components/NativeSelect/NativeSelect";
203
+ export { NativeSelect } from "./components/NativeSelect/NativeSelect";
204
204
  export type { NativeSelectProps } from "./components/NativeSelect/NativeSelect";
205
205
  export { CustomSelect } from "./components/CustomSelect/CustomSelect";
206
206
  export type {
@@ -308,6 +308,7 @@ export { usePlatform } from "./hooks/usePlatform";
308
308
  export { useAdaptivity } from "./hooks/useAdaptivity";
309
309
  export { useAppearance } from "./hooks/useAppearance";
310
310
  export { usePagination } from "./hooks/usePagination";
311
+ export { useScrollLock } from "./components/AppRoot/ScrollContext";
311
312
 
312
313
  /**
313
314
  * Utils
@@ -9,7 +9,7 @@ export interface NavIdProps {
9
9
  export function getNavId(props: NavIdProps, warn?: WarnOnceHandler) {
10
10
  const id = props.nav || props.id;
11
11
  if (process.env.NODE_ENV === "development" && !id && warn) {
12
- warn('Navigation item should have "nav" or "id" prop', "error");
12
+ warn('Навигационный элемент должен иметь свойство "nav" или "id"', "error");
13
13
  }
14
14
  return id;
15
15
  }
@@ -1,4 +1,6 @@
1
1
  import { BrowserInfo, computeBrowserInfo } from "./browser";
2
+ import { querystring } from "@vkontakte/vkjs";
3
+ import { canUseDOM } from "./dom";
2
4
 
3
5
  export enum Platform {
4
6
  ANDROID = "android",
@@ -6,6 +8,34 @@ export enum Platform {
6
8
  VKCOM = "vkcom",
7
9
  }
8
10
 
11
+ const PLATFORM_ALIAS = {
12
+ desktop_web: Platform.VKCOM,
13
+ };
14
+
15
+ function isPlatformAlias(
16
+ platformAlias: string
17
+ ): platformAlias is keyof typeof PLATFORM_ALIAS {
18
+ return platformAlias in PLATFORM_ALIAS;
19
+ }
20
+
21
+ /**
22
+ * Значение, которое передаётся в качестве query-параметра при открытии VK Mini Apps
23
+ * @see {@link https://dev.vk.com/mini-apps/development/launch-params#vk_platform vk_platform}
24
+ */
25
+ function getPlatformByQueryString(queryString: string): Platform | undefined {
26
+ const parsedQuery = querystring.parse(queryString);
27
+ const platformAliasByQuery = parsedQuery["vk_platform"];
28
+
29
+ return typeof platformAliasByQuery === "string" &&
30
+ isPlatformAlias(platformAliasByQuery)
31
+ ? PLATFORM_ALIAS[platformAliasByQuery]
32
+ : undefined;
33
+ }
34
+
35
+ const platformByQueryString = canUseDOM
36
+ ? getPlatformByQueryString(location.search)
37
+ : undefined;
38
+
9
39
  export const ANDROID = Platform.ANDROID;
10
40
  export const IOS = Platform.IOS;
11
41
  export const VKCOM = Platform.VKCOM;
@@ -17,6 +47,10 @@ export type PlatformType =
17
47
  | string;
18
48
 
19
49
  export function platform(browserInfo?: BrowserInfo): PlatformType {
50
+ if (platformByQueryString) {
51
+ return platformByQueryString;
52
+ }
53
+
20
54
  if (!browserInfo) {
21
55
  browserInfo = computeBrowserInfo();
22
56
  }
@@ -52,6 +52,7 @@ body[scheme="bright_light"],
52
52
  --content_tint_foreground: #7f8285;
53
53
  --content_warning_background: #fff2d6;
54
54
  --control_background: #ebedf0;
55
+ --control_background_secondary: #ffffff;
55
56
  --control_foreground: #5181b8;
56
57
  --control_tint: #ffffff;
57
58
  --control_tint_muted: #76787a;
@@ -65,6 +66,7 @@ body[scheme="bright_light"],
65
66
  --dynamic_blue: #2688eb;
66
67
  --dynamic_gray: #a3adb8;
67
68
  --dynamic_green: #4bb34b;
69
+ --dynamic_neon_pink: #f45fff;
68
70
  --dynamic_orange: #ffa000;
69
71
  --dynamic_purple: #735ce6;
70
72
  --dynamic_raspberry_pink: #e03fab;
@@ -32,14 +32,15 @@
32
32
  --thin-border: 1px;
33
33
 
34
34
  /* paddings */
35
+ /* TODO: v5 удалить */
35
36
  --formitem_padding: 16px;
36
37
 
37
38
  /* colors */
38
39
  --white: #fff;
39
40
  --blue_200: #5c9ce6;
40
41
 
41
- /* iOS insets */
42
- --safe-area-inset-top: 20px;
42
+ /* insets */
43
+ --safe-area-inset-top: 0px;
43
44
  --safe-area-inset-right: 0px;
44
45
  --safe-area-inset-bottom: 0px;
45
46
  --safe-area-inset-left: 0px;
@@ -5,7 +5,7 @@
5
5
  body[scheme="space_gray"],
6
6
  [scheme="space_gray"],
7
7
  .vkuispace_gray {
8
- --accent: #71aaeb;
8
+ --accent: #529ef4;
9
9
  --accent_alternate: #ffffff;
10
10
  --action_sheet_action_foreground: #ffffff;
11
11
  --action_sheet_separator: rgba(255, 255, 255, 0.12);
@@ -23,7 +23,7 @@ body[scheme="space_gray"],
23
23
  --background_light: #232324;
24
24
  --background_page: #0a0a0a;
25
25
  --background_suggestions: #2c2d2e;
26
- --background_text_highlighted: rgba(113, 170, 235, 0.24);
26
+ --background_text_highlighted: rgba(82, 158, 244, 0.24);
27
27
  --button_bot_shadow: #19191a;
28
28
  --button_commerce_background: #4bb34b;
29
29
  --button_commerce_foreground: #ffffff;
@@ -51,6 +51,7 @@ body[scheme="space_gray"],
51
51
  --content_tint_foreground: #909499;
52
52
  --content_warning_background: #857250;
53
53
  --control_background: #454647;
54
+ --control_background_secondary: #76787a;
54
55
  --control_foreground: #e1e3e6;
55
56
  --control_tint: #19191a;
56
57
  --control_tint_muted: #909499;
@@ -64,6 +65,7 @@ body[scheme="space_gray"],
64
65
  --dynamic_blue: #2688eb;
65
66
  --dynamic_gray: #a3adb8;
66
67
  --dynamic_green: #4bb34b;
68
+ --dynamic_neon_pink: #f45fff;
67
69
  --dynamic_orange: #ffa000;
68
70
  --dynamic_purple: #937ff5;
69
71
  --dynamic_raspberry_pink: #f060c0;
@@ -90,7 +92,7 @@ body[scheme="space_gray"],
90
92
  --header_search_field_background: #363738;
91
93
  --header_search_field_tint: #aaaeb3;
92
94
  --header_tab_active_background: #5d5f61;
93
- --header_tab_active_indicator: #71aaeb;
95
+ --header_tab_active_indicator: #529ef4;
94
96
  --header_tab_active_text: #e1e3e6;
95
97
  --header_tab_inactive_text: #76787a;
96
98
  --header_text: #e1e3e6;
@@ -141,7 +143,7 @@ body[scheme="space_gray"],
141
143
  --im_forward_line_tint: rgba(255, 255, 255, 0.24);
142
144
  --im_reply_separator: #ffffff;
143
145
  --im_service_message_text: #76787a;
144
- --im_text_name: #71aaeb;
146
+ --im_text_name: #529ef4;
145
147
  --im_toolbar_separator: #aaaeb3;
146
148
  --im_toolbar_voice_msg_background: #454647;
147
149
  --image_border: rgba(255, 255, 255, 0.08);
@@ -171,7 +173,7 @@ body[scheme="space_gray"],
171
173
  --loader_track_value_fill: #ffffff;
172
174
  --media_overlay_button_background: #ffffff;
173
175
  --media_overlay_button_foreground: #2c2d2e;
174
- --modal_card_background: #2c2d2e;
176
+ --modal_card_background: #232324;
175
177
  --modal_card_border: rgba(255, 255, 255, 0.12);
176
178
  --modal_card_header_close: #ffffff;
177
179
  --music_playback_icon: #ffffff;
@@ -217,14 +219,14 @@ body[scheme="space_gray"],
217
219
  --tabbar_active_icon: #ffffff;
218
220
  --tabbar_background: #2c2d2e;
219
221
  --tabbar_inactive_icon: #76787a;
220
- --tabbar_tablet_active_icon: #71aaeb;
222
+ --tabbar_tablet_active_icon: #529ef4;
221
223
  --tabbar_tablet_background: #232324;
222
224
  --tabbar_tablet_inactive_icon: #76787a;
223
225
  --tabbar_tablet_text_primary: #e1e3e6;
224
226
  --tabbar_tablet_text_secondary: #76787a;
225
227
  --text_action_counter: #aaaeb3;
226
- --text_link: #71aaeb;
227
- --text_link_highlighted_background: #71aaeb;
228
+ --text_link: #529ef4;
229
+ --text_link_highlighted_background: #529ef4;
228
230
  --text_muted: #c4c8cc;
229
231
  --text_name: #e1e3e6;
230
232
  --text_placeholder: #aaaeb3;
@@ -21,7 +21,7 @@ body[scheme="vkcom_dark"],
21
21
  --background_hover: rgba(255, 255, 255, 0.08);
22
22
  --background_keyboard: #333333;
23
23
  --background_light: #292929;
24
- --background_page: #0a0a0a;
24
+ --background_page: #141414;
25
25
  --background_suggestions: #333333;
26
26
  --background_text_highlighted: rgba(81, 129, 184, 0.2);
27
27
  --button_bot_shadow: #222222;
@@ -53,10 +53,11 @@ body[scheme="vkcom_dark"],
53
53
  --content_placeholder_icon: #b2b2b2;
54
54
  --content_placeholder_text: #b2b2b2;
55
55
  --content_positive_background: rgba(75, 179, 75, 0.16);
56
- --content_tint_background: #292929;
56
+ --content_tint_background: #333333;
57
57
  --content_tint_foreground: #939393;
58
58
  --content_warning_background: rgba(255, 202, 99, 0.16);
59
59
  --control_background: #555555;
60
+ --control_background_secondary: #828282;
60
61
  --control_foreground: #e1e3e6;
61
62
  --control_tint: #222222;
62
63
  --control_tint_muted: #939393;
@@ -70,6 +71,7 @@ body[scheme="vkcom_dark"],
70
71
  --dynamic_blue: #5181b8;
71
72
  --dynamic_gray: #aeb7c2;
72
73
  --dynamic_green: #4bb34b;
74
+ --dynamic_neon_pink: #f45fff;
73
75
  --dynamic_orange: #ffa000;
74
76
  --dynamic_purple: #937ff5;
75
77
  --dynamic_raspberry_pink: #f060c0;
@@ -177,7 +179,7 @@ body[scheme="vkcom_dark"],
177
179
  --loader_track_value_fill: #ffffff;
178
180
  --media_overlay_button_background: #ffffff;
179
181
  --media_overlay_button_foreground: #333333;
180
- --modal_card_background: #333333;
182
+ --modal_card_background: #292929;
181
183
  --modal_card_border: rgba(255, 255, 255, 0.12);
182
184
  --modal_card_header_close: #ffffff;
183
185
  --music_playback_icon: #ffffff;
@@ -203,7 +205,7 @@ body[scheme="vkcom_dark"],
203
205
  --segmented_control_tint: #828282;
204
206
  --selection_off_icon: #656565;
205
207
  --separator_alpha: rgba(255, 255, 255, 0.16);
206
- --separator_alternate: #292929;
208
+ --separator_alternate: #333333;
207
209
  --separator_common: #424242;
208
210
  --skeleton_foreground_from: #292929;
209
211
  --skeleton_foreground_to: #333333;
@@ -54,7 +54,7 @@ body[scheme="vkcom_light"],
54
54
  --button_tertiary_background: rgba(0, 0, 0, 0);
55
55
  --button_tertiary_foreground: #2a5885;
56
56
  --cell_button_foreground: #2a5885;
57
- --content_negative_background: #ff5c5c;
57
+ --content_negative_background: #faebeb;
58
58
  --content_placeholder_icon: #99a2ad;
59
59
  --content_placeholder_text: #818c99;
60
60
  --content_positive_background: #def0d3;
@@ -62,6 +62,7 @@ body[scheme="vkcom_light"],
62
62
  --content_tint_foreground: #828282;
63
63
  --content_warning_background: #faefd2;
64
64
  --control_background: #edeef0;
65
+ --control_background_secondary: #ffffff;
65
66
  --control_foreground: #5181b8;
66
67
  --control_tint: #ffffff;
67
68
  --control_tint_muted: #828282;
@@ -75,6 +76,7 @@ body[scheme="vkcom_light"],
75
76
  --dynamic_blue: #5181b8;
76
77
  --dynamic_gray: #aeb7c2;
77
78
  --dynamic_green: #1b7a1b;
79
+ --dynamic_neon_pink: #f45fff;
78
80
  --dynamic_orange: #ffa000;
79
81
  --dynamic_purple: #735ce6;
80
82
  --dynamic_raspberry_pink: #e03fab;
@@ -211,7 +213,7 @@ body[scheme="vkcom_light"],
211
213
  --separator_alternate: #e7e8ec;
212
214
  --separator_common: #dce1e6;
213
215
  --skeleton_foreground_from: #f0f2f5;
214
- --skeleton_foreground_to: #e7e8ec;
216
+ --skeleton_foreground_to: #edeef0;
215
217
  --skeleton_shimmer_from: #ffffff;
216
218
  --skeleton_shimmer_to: rgba(255, 255, 255, 0);
217
219
  --snippet_background: #ffffff;
@@ -142,9 +142,13 @@ export const mockScrollContext = (
142
142
  ): [React.FC, jest.Mock] => {
143
143
  const getScroll = () => ({ x: 0, y: getY() });
144
144
  const scrollTo = jest.fn();
145
+ const enableScrollLock = jest.fn();
146
+ const disableScrollLock = jest.fn();
145
147
  return [
146
148
  (props) => (
147
- <ScrollContext.Provider value={{ getScroll, scrollTo }}>
149
+ <ScrollContext.Provider
150
+ value={{ getScroll, scrollTo, enableScrollLock, disableScrollLock }}
151
+ >
148
152
  {props.children}
149
153
  </ScrollContext.Provider>
150
154
  ),
package/tsconfig.json CHANGED
@@ -29,6 +29,7 @@
29
29
  ".github/**/*.js",
30
30
  "eslint-plugin-vkui/*.js",
31
31
  "postcss-plugin-vk-sans/*.js",
32
+ "postcss-custom-properties-fallback/*.js",
32
33
  "*.js"
33
34
  ],
34
35
  "files": [