@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
@@ -4,10 +4,9 @@ import { HasRef } from "../../types";
4
4
  import { VKCOM } from "../../lib/platform";
5
5
  import PanelHeader, { PanelHeaderProps } from "../PanelHeader/PanelHeader";
6
6
  import Separator from "../Separator/Separator";
7
- import { useAdaptivity } from "../../hooks/useAdaptivity";
7
+ import { useAdaptivityIsDesktop } from "../../hooks/useAdaptivity";
8
8
  import { classNames } from "../../lib/classNames";
9
9
  import { getClassName } from "../../helpers/getClassName";
10
- import { ViewHeight, ViewWidth } from "../AdaptivityProvider/AdaptivityContext";
11
10
  import "./ModalPageHeader.css";
12
11
 
13
12
  export interface ModalPageHeaderProps
@@ -22,11 +21,8 @@ const ModalPageHeader: React.FunctionComponent<ModalPageHeaderProps> = ({
22
21
  ...restProps
23
22
  }: ModalPageHeaderProps) => {
24
23
  const platform = usePlatform();
25
- const { viewWidth, viewHeight, hasMouse } = useAdaptivity();
26
24
  const hasSeparator = separator && platform === VKCOM;
27
- const isDesktop =
28
- viewWidth >= ViewWidth.SMALL_TABLET &&
29
- (hasMouse || viewHeight >= ViewHeight.MEDIUM);
25
+ const isDesktop = useAdaptivityIsDesktop();
30
26
 
31
27
  return (
32
28
  <div
@@ -34,13 +34,14 @@
34
34
  pointer-events: none;
35
35
  }
36
36
 
37
- :not(.ModalRoot--desktop).ModalRoot--ios .ModalRoot__viewport {
37
+ :not(.ModalRoot--desktop).ModalRoot--ios .ModalRoot__viewport,
38
+ :not(.ModalRoot--desktop).ModalRoot--android .ModalRoot__viewport {
38
39
  top: var(--safe-area-inset-top);
39
40
  }
40
41
 
41
42
  :not(.ModalRoot--desktop).ModalRoot--vkapps.ModalRoot--android
42
43
  .ModalRoot__viewport {
43
- top: var(--panelheader_height_android);
44
+ top: calc(var(--safe-area-inset-top) + var(--panelheader_height_android));
44
45
  }
45
46
 
46
47
  :not(.ModalRoot--desktop).ModalRoot--vkapps.ModalRoot--ios
@@ -293,7 +293,7 @@ class ModalRootTouchComponent extends React.Component<
293
293
  if (!prevModalState) {
294
294
  id &&
295
295
  warn(
296
- `closeActiveModal: Modal ${id} does not exist - not closing`,
296
+ `closeActiveModal: модальное окно (страница) ${id} не существует`,
297
297
  "error"
298
298
  );
299
299
  return;
@@ -766,7 +766,11 @@ function initModal(modalState: ModalsStateEntry) {
766
766
  case ModalType.CARD:
767
767
  return initCardModal(modalState);
768
768
  default:
769
- IS_DEV && warn("initActiveModal: modalState.type is unknown", "error");
769
+ IS_DEV &&
770
+ warn(
771
+ `initActiveModal: modalState.type="${modalState.type}" не поддерживается`,
772
+ "error"
773
+ );
770
774
  }
771
775
  }
772
776
 
@@ -1,15 +1,13 @@
1
1
  import * as React from "react";
2
- import {
3
- withAdaptivity,
4
- ViewHeight,
5
- ViewWidth,
6
- } from "../../hoc/withAdaptivity";
2
+ import { withAdaptivity } from "../../hoc/withAdaptivity";
7
3
  import { ModalRootTouch } from "./ModalRoot";
8
4
  import { ModalRootDesktop } from "./ModalRootDesktop";
9
5
  import {
10
6
  AdaptivityContextInterface,
11
7
  AdaptivityProps,
12
8
  } from "../AdaptivityProvider/AdaptivityContext";
9
+ import { useScrollLock } from "../AppRoot/ScrollContext";
10
+ import { useAdaptivityIsDesktop } from "../../hooks/useAdaptivity";
13
11
 
14
12
  export interface ModalRootProps extends AdaptivityProps {
15
13
  activeModal?: string | null;
@@ -38,10 +36,9 @@ export interface ModalRootProps extends AdaptivityProps {
38
36
  const ModalRootComponent: React.FC<
39
37
  ModalRootProps & AdaptivityContextInterface
40
38
  > = (props) => {
41
- const { viewWidth, viewHeight, hasMouse } = props;
42
- const isDesktop =
43
- viewWidth >= ViewWidth.SMALL_TABLET &&
44
- (hasMouse || viewHeight >= ViewHeight.MEDIUM);
39
+ const isDesktop = useAdaptivityIsDesktop();
40
+
41
+ useScrollLock(!!props.activeModal);
45
42
 
46
43
  const RootComponent = isDesktop ? ModalRootDesktop : ModalRootTouch;
47
44
 
@@ -39,7 +39,7 @@ class App extends Component {
39
39
  либо идентификатор предыдущей модалки, либо `null` для скрытия.
40
40
  Каждой конкретной `ModalPage` или `ModalCard` можно передать свой обработчик `onClose`, если нужно переопределить поведение.
41
41
 
42
- ```jsx { "props": { "layout": false, "adaptivity": true } }
42
+ ```jsx { "props": { "layout": false, "adaptivity": true, "webviewType": true } }
43
43
  const MODAL_PAGE_FILTERS = "filters";
44
44
  const MODAL_PAGE_COUNTRIES = "countries";
45
45
  const MODAL_PAGE_STORY_FEEDBACK = "story-feedback";
@@ -133,7 +133,10 @@ export function useModalManager(
133
133
  useIsomorphicLayoutEffect(() => {
134
134
  // ignore non-existent activeModal
135
135
  if (process.env.NODE_ENV === "development" && isMissing) {
136
- warn(`Can't transition - modal ${activeModal} not found`, "error");
136
+ warn(
137
+ `Переход невозможен - модальное окно (страница) ${activeModal} не существует`,
138
+ "error"
139
+ );
137
140
  }
138
141
  dispatchTransition({ type: "setActive", id: safeActiveModal ?? null });
139
142
  }, [activeModal]);
@@ -34,7 +34,7 @@ export interface SelectState {
34
34
  notSelected?: boolean;
35
35
  }
36
36
 
37
- const NativeSelect: React.FC<
37
+ const NativeSelectComponent: React.FC<
38
38
  NativeSelectProps & AdaptivityContextInterface
39
39
  > = ({
40
40
  style,
@@ -107,8 +107,7 @@ const NativeSelect: React.FC<
107
107
  );
108
108
  };
109
109
 
110
- // eslint-disable-next-line import/no-default-export
111
- export default withAdaptivity(NativeSelect, {
110
+ export const NativeSelect = withAdaptivity(NativeSelectComponent, {
112
111
  sizeX: true,
113
112
  sizeY: true,
114
113
  });
@@ -66,10 +66,6 @@
66
66
  min-width: 90px;
67
67
  }
68
68
 
69
- .PanelHeader--sizeX-compact .PanelHeader__separator {
70
- padding-top: 4px;
71
- }
72
-
73
69
  /**
74
70
  * iOS
75
71
  */
@@ -151,14 +147,6 @@
151
147
  /**
152
148
  * Android
153
149
  */
154
-
155
- @supports not (padding-top: env(safe-area-inset-top)) {
156
- .PanelHeader--android,
157
- .PanelHeader--vkcom {
158
- --safe-area-inset-top: 0px;
159
- }
160
- }
161
-
162
150
  .PanelHeader--android ~ .FixedLayout--top,
163
151
  .PanelHeader--android ~ * .FixedLayout--top:not(.PanelHeader__fixed) {
164
152
  top: calc(var(--panelheader_height_android) + var(--safe-area-inset-top));
@@ -242,13 +230,25 @@
242
230
  top: calc(var(--panelheader_height_vkcom) + var(--safe-area-inset-top));
243
231
  }
244
232
 
245
- .PanelHeader--vkcom.PanelHeader--sep .PanelHeader__in {
233
+ /* TODO: v5.0.0 новая адаптивность */
234
+ .PanelHeader--vkcom.PanelHeader--sizeX-regular:not(.ModalPageHeader__in)
235
+ .PanelHeader__in {
246
236
  border-top-left-radius: 8px;
247
237
  border-top-right-radius: 8px;
248
238
  box-shadow: 0 0 0 var(--thin-border) var(--input_border) inset;
249
239
  border-bottom: none;
250
240
  }
251
241
 
242
+ .PanelHeader--vkcom.PanelHeader--sizeX-regular:not(.ModalPageHeader__in)::after {
243
+ position: absolute;
244
+ left: var(--thin-border);
245
+ right: var(--thin-border);
246
+ bottom: 0;
247
+ height: var(--thin-border);
248
+ background-color: var(--header_background);
249
+ content: "";
250
+ }
251
+
252
252
  .PanelHeader--vkcom .PanelHeader__content {
253
253
  text-align: center;
254
254
  }
@@ -44,25 +44,29 @@ const PanelHeaderIn: React.FC<PanelHeaderProps> = ({
44
44
  children,
45
45
  left,
46
46
  right,
47
+ separator,
47
48
  }) => {
48
49
  const { webviewType } = React.useContext(ConfigProviderContext);
49
50
  const { isInsideModal } = React.useContext(ModalRootContext);
50
51
  const platform = usePlatform();
51
52
 
52
53
  return (
53
- <TooltipContainer fixed vkuiClass="PanelHeader__in">
54
- <div vkuiClass="PanelHeader__left">{left}</div>
55
- <div vkuiClass="PanelHeader__content">
56
- {platform === VKCOM ? (
57
- <Text weight="medium">{children}</Text>
58
- ) : (
59
- <span vkuiClass="PanelHeader__content-in">{children}</span>
60
- )}
61
- </div>
62
- <div vkuiClass="PanelHeader__right">
63
- {(webviewType === WebviewType.INTERNAL || isInsideModal) && right}
64
- </div>
65
- </TooltipContainer>
54
+ <React.Fragment>
55
+ <TooltipContainer fixed vkuiClass="PanelHeader__in">
56
+ <div vkuiClass="PanelHeader__left">{left}</div>
57
+ <div vkuiClass="PanelHeader__content">
58
+ {platform === VKCOM ? (
59
+ <Text weight="medium">{children}</Text>
60
+ ) : (
61
+ <span vkuiClass="PanelHeader__content-in">{children}</span>
62
+ )}
63
+ </div>
64
+ <div vkuiClass="PanelHeader__right">
65
+ {(webviewType === WebviewType.INTERNAL || isInsideModal) && right}
66
+ </div>
67
+ </TooltipContainer>
68
+ {separator && platform === VKCOM && <Separator wide />}
69
+ </React.Fragment>
66
70
  );
67
71
  };
68
72
 
@@ -121,10 +125,7 @@ const PanelHeader: React.FC<PanelHeaderProps> = (props: PanelHeaderProps) => {
121
125
  <PanelHeaderIn {...props} />
122
126
  )}
123
127
  {separator && visor && platform !== VKCOM && (
124
- <Separator
125
- vkuiClass="PanelHeader__separator"
126
- expanded={sizeX === SizeType.REGULAR}
127
- />
128
+ <Separator expanded={sizeX === SizeType.REGULAR} />
128
129
  )}
129
130
  </div>
130
131
  );
@@ -11,9 +11,9 @@
11
11
 
12
12
  > **Важно**
13
13
  >
14
- > Правая часть шапки будет скрыта, если в [`ConfigProvider`](#/ConfigProvider) передан `webviewType={WebviewType.VKAPPS}`.
14
+ > Правая часть шапки скрыта по умолчанию, если требуется показать её, передайте в [`ConfigProvider`](#/ConfigProvider) свойство `webviewType={WebviewType.INTERNAL}`.
15
15
 
16
- ```jsx
16
+ ```jsx { "props": { "webviewType": true } }
17
17
  class Example extends React.Component {
18
18
  constructor(props) {
19
19
  super(props);
@@ -9,6 +9,7 @@ import { useIsomorphicLayoutEffect } from "../../lib/useIsomorphicLayoutEffect";
9
9
  import { useGlobalEventListener } from "../../hooks/useGlobalEventListener";
10
10
  import { useTimeout } from "../../hooks/useTimeout";
11
11
  import { usePlatform } from "../../hooks/usePlatform";
12
+ import { useScrollLock } from "../AppRoot/ScrollContext";
12
13
  import "./PanelHeaderContext.css";
13
14
 
14
15
  export interface PanelHeaderContextProps
@@ -35,6 +36,8 @@ export const PanelHeaderContext: React.FC<PanelHeaderContextProps> = ({
35
36
  opened && setVisible(true);
36
37
  }, [opened]);
37
38
 
39
+ useScrollLock(!isDesktop && opened);
40
+
38
41
  // start closing on outer click
39
42
  useGlobalEventListener(
40
43
  document,
@@ -1,16 +1,13 @@
1
1
  import * as React from "react";
2
2
  import { HasRootRef } from "../../types";
3
- import {
4
- withAdaptivity,
5
- ViewWidth,
6
- ViewHeight,
7
- } from "../../hoc/withAdaptivity";
3
+ import { withAdaptivity } from "../../hoc/withAdaptivity";
8
4
  import { AppRootPortal } from "../AppRoot/AppRootPortal";
9
5
  import { blurActiveElement, useDOM } from "../../lib/dom";
10
6
  import {
11
7
  AdaptivityContextInterface,
12
8
  AdaptivityProps,
13
9
  } from "../AdaptivityProvider/AdaptivityContext";
10
+ import { useAdaptivityIsDesktop } from "../../hooks/useAdaptivity";
14
11
  import "./PopoutRoot.css";
15
12
 
16
13
  export interface PopoutRootProps
@@ -36,9 +33,7 @@ export const PopoutRootComponent: React.FC<
36
33
  } = props;
37
34
  const { document } = useDOM();
38
35
 
39
- const isDesktop =
40
- viewWidth >= ViewWidth.SMALL_TABLET &&
41
- (hasMouse || viewHeight >= ViewHeight.MEDIUM);
36
+ const isDesktop = useAdaptivityIsDesktop();
42
37
 
43
38
  React.useEffect(() => {
44
39
  popout && blurActiveElement(document);
@@ -1,5 +1,17 @@
1
- .PopperPortal {
2
- position: relative;
1
+ /**
2
+ * ⚠ WARNING️ ⚠
3
+ *
4
+ * Если указать `position: relaitve` контейнеру, где позиционируется `Popper`, то при кейсе когда:
5
+ * 1. Мы передали `sameWidth`.
6
+ * 2. Мы позциционируем `Popper` через `position: absolute`.
7
+ * 3. Мы используем `height: 100%` или `height: 100vh`, чтобы растянуть страницу на всю высоту.
8
+ * 4. НЕТ скроллбара.
9
+ * будет неправильно высчитан `offsetWidth` у `targetRef` при первом вызове `effect()` модификатора `sameWdith`,
10
+ * а именно из `offsetWidth` будет вычтен размер скроллабара, которого на самом деле на странице нет (см. п. 4)
11
+ *
12
+ * Второй и последующие вызовы исправляют ситуацию.
13
+ */
14
+ .Popper {
3
15
  z-index: 100;
4
16
  }
5
17
 
@@ -5,7 +5,7 @@
5
5
  .FormItem .Radio {
6
6
  width: 100%;
7
7
  box-sizing: content-box;
8
- margin: 0 calc(-1 * var(--formitem_padding));
8
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
9
9
  }
10
10
 
11
11
  .Radio__input {
@@ -7,6 +7,6 @@
7
7
  * FormItem
8
8
  */
9
9
  .FormItem .RadioGroup {
10
- margin: 0 calc(-1 * var(--formitem_padding));
10
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
11
11
  box-sizing: content-box;
12
12
  }
@@ -2,7 +2,7 @@
2
2
  position: relative;
3
3
  display: flex;
4
4
  align-items: center;
5
- padding-left: var(--formitem_padding);
5
+ padding-left: var(--vkui--size_base_padding_horizontal--regular);
6
6
  }
7
7
 
8
8
  .Removable__action {
@@ -102,7 +102,7 @@
102
102
 
103
103
  .Removable--ios .Removable__content {
104
104
  padding-left: 0;
105
- padding-right: var(--formitem_padding);
105
+ padding-right: var(--vkui--size_base_padding_horizontal--regular);
106
106
  }
107
107
 
108
108
  .FormLayoutGroup--removable .Removable__content {
@@ -12,7 +12,7 @@
12
12
  .FormItem .RichCell {
13
13
  width: 100%;
14
14
  box-sizing: content-box;
15
- margin: 0 calc(-1 * var(--formitem_padding));
15
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
16
16
  }
17
17
 
18
18
  .RichCell--mult {
@@ -3,6 +3,7 @@ import Spinner, { SpinnerProps } from "../Spinner/Spinner";
3
3
  import { PopoutWrapper } from "../PopoutWrapper/PopoutWrapper";
4
4
  import { getClassName } from "../../helpers/getClassName";
5
5
  import { usePlatform } from "../../hooks/usePlatform";
6
+ import { useScrollLock } from "../AppRoot/ScrollContext";
6
7
  import "./ScreenSpinner.css";
7
8
 
8
9
  export type ScreenSpinnerProps = React.HTMLAttributes<HTMLDivElement> &
@@ -14,6 +15,8 @@ const ScreenSpinner: React.FC<ScreenSpinnerProps> = (
14
15
  const { style, className, ...restProps } = props;
15
16
  const platform = usePlatform();
16
17
 
18
+ useScrollLock();
19
+
17
20
  return (
18
21
  <PopoutWrapper
19
22
  hasMask={false}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import NativeSelect from "../NativeSelect/NativeSelect";
2
+ import { NativeSelect } from "../NativeSelect/NativeSelect";
3
3
  import { CustomSelect, CustomSelectProps } from "../CustomSelect/CustomSelect";
4
4
  import { withAdaptivity } from "../../hoc/withAdaptivity";
5
5
  import {
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { classNames } from "../../lib/classNames";
3
3
  import { DropdownIcon } from "../DropdownIcon/DropdownIcon";
4
- import { FormField } from "../FormField/FormField";
4
+ import { FormField, FormFieldProps } from "../FormField/FormField";
5
5
  import { HasAlign, HasRootRef } from "../../types";
6
6
  import {
7
7
  withAdaptivity,
@@ -21,10 +21,10 @@ export interface SelectMimicryProps
21
21
  extends React.HTMLAttributes<HTMLElement>,
22
22
  HasAlign,
23
23
  HasRootRef<HTMLElement>,
24
- AdaptivityProps {
24
+ AdaptivityProps,
25
+ Pick<FormFieldProps, "before" | "after"> {
25
26
  multiline?: boolean;
26
27
  disabled?: boolean;
27
- after?: React.ReactNode;
28
28
  selectType?: SelectType;
29
29
  }
30
30
 
@@ -39,6 +39,7 @@ const SelectMimicry: React.FunctionComponent<SelectMimicryProps> = ({
39
39
  onClick,
40
40
  sizeX,
41
41
  sizeY,
42
+ before,
42
43
  after = <DropdownIcon />,
43
44
  selectType = SelectType.Default,
44
45
  ...restProps
@@ -68,6 +69,7 @@ const SelectMimicry: React.FunctionComponent<SelectMimicryProps> = ({
68
69
  getRootRef={getRootRef}
69
70
  onClick={disabled ? undefined : onClick}
70
71
  disabled={disabled}
72
+ before={before}
71
73
  after={after}
72
74
  >
73
75
  <TypographyComponent
@@ -254,5 +254,5 @@
254
254
  * FormItem
255
255
  */
256
256
  .FormItem > .SimpleCell {
257
- margin: 0 calc(-1 * var(--formitem_padding));
257
+ margin: 0 calc(-1 * var(--vkui--size_base_padding_horizontal--regular));
258
258
  }
@@ -46,6 +46,7 @@
46
46
  flex: 1;
47
47
  display: flex;
48
48
  align-items: center;
49
+ overflow: hidden;
49
50
  }
50
51
 
51
52
  .Snackbar--l-vertical .Snackbar__content {
@@ -55,10 +56,12 @@
55
56
 
56
57
  .Snackbar__content-text {
57
58
  flex: 1;
58
- }
59
-
60
- .Snackbar__content-text {
61
59
  color: var(--text_primary);
60
+ width: 100%;
61
+ display: -webkit-box;
62
+ -webkit-line-clamp: 3;
63
+ -webkit-box-orient: vertical;
64
+ overflow: hidden;
62
65
  }
63
66
 
64
67
  .Snackbar--l-horizontal .Snackbar__action {
@@ -26,7 +26,9 @@
26
26
 
27
27
  .SplitLayout--android .SplitLayout__inner--header,
28
28
  .SplitLayout--vkcom .SplitLayout__inner--header {
29
- margin-top: calc(-1 * var(--panelheader_height_android));
29
+ margin-top: calc(
30
+ -1 * calc(var(--panelheader_height_android) + var(--safe-area-inset-top))
31
+ );
30
32
  }
31
33
 
32
34
  .SplitLayout__popout {
@@ -5,51 +5,27 @@
5
5
  <Panel id="switch">
6
6
  <PanelHeader>Switch</PanelHeader>
7
7
  <Group>
8
- <Cell
9
- role={null}
10
- disabled
11
- after={<Switch aria-label="Комментарии к записям" />}
12
- >
8
+ <SimpleCell Component="label" after={<Switch />}>
13
9
  Комментарии к записям
14
- </Cell>
15
- <Cell
16
- role={null}
17
- disabled
18
- after={<Switch defaultChecked aria-label="Ссылки" />}
19
- >
10
+ </SimpleCell>
11
+ <SimpleCell Component="label" after={<Switch defaultChecked />}>
20
12
  Ссылки
21
- </Cell>
22
- <Cell
23
- role={null}
24
- disabled
25
- after={<Switch disabled aria-label="Фотоальбомы" />}
26
- >
13
+ </SimpleCell>
14
+ <SimpleCell Component="label" disabled after={<Switch disabled />}>
27
15
  Фотоальбомы
28
- </Cell>
16
+ </SimpleCell>
29
17
  </Group>
30
18
  <Group header={<Header mode="secondary">Компактный вид</Header>}>
31
19
  <AdaptivityProvider sizeY="compact">
32
- <Cell
33
- role={null}
34
- disabled
35
- after={<Switch aria-label="Комментарии к записям" />}
36
- >
20
+ <SimpleCell Component="label" after={<Switch />}>
37
21
  Комментарии к записям
38
- </Cell>
39
- <Cell
40
- role={null}
41
- disabled
42
- after={<Switch defaultChecked aria-label="Ссылки" />}
43
- >
22
+ </SimpleCell>
23
+ <SimpleCell Component="label" after={<Switch defaultChecked />}>
44
24
  Ссылки
45
- </Cell>
46
- <Cell
47
- role={null}
48
- disabled
49
- after={<Switch disabled aria-label="Фотоальбомы" />}
50
- >
25
+ </SimpleCell>
26
+ <SimpleCell Component="label" disabled after={<Switch disabled />}>
51
27
  Фотоальбомы
52
- </Cell>
28
+ </SimpleCell>
53
29
  </AdaptivityProvider>
54
30
  </Group>
55
31
  </Panel>
@@ -16,7 +16,7 @@ export interface TabbarItemProps
16
16
  HasComponent {
17
17
  selected?: boolean;
18
18
  /**
19
- * Тест рядом с иконкой
19
+ * Текст рядом с иконкой
20
20
  */
21
21
  text?: React.ReactNode;
22
22
  /**