@vkontakte/vkui 4.37.0 → 4.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +6 -6
  4. package/dist/cjs/appearance/constants.d.ts +1 -0
  5. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +29 -0
  6. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +8 -0
  7. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.d.ts +3 -0
  8. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.d.ts +4 -0
  9. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +4 -0
  10. package/dist/cjs/components/ActionSheet/types.d.ts +9 -0
  11. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +27 -0
  12. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +46 -0
  13. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +15 -0
  14. package/dist/cjs/components/Alert/Alert.d.ts +25 -0
  15. package/dist/cjs/components/AppRoot/AppRoot.d.ts +23 -0
  16. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +10 -0
  17. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +7 -0
  18. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +27 -0
  19. package/dist/cjs/components/AppRoot/ScrollContext.js +9 -1
  20. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  21. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +11 -0
  22. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +3 -0
  23. package/dist/cjs/components/Avatar/Avatar.d.ts +24 -0
  24. package/dist/cjs/components/Badge/Badge.d.ts +9 -0
  25. package/dist/cjs/components/Banner/Banner.d.ts +67 -0
  26. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +4 -0
  27. package/dist/cjs/components/BaseGallery/helpers.d.ts +12 -0
  28. package/dist/cjs/components/BaseGallery/types.d.ts +43 -0
  29. package/dist/cjs/components/Button/Button.d.ts +22 -0
  30. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +27 -0
  31. package/dist/cjs/components/Calendar/Calendar.d.ts +34 -0
  32. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +24 -0
  33. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +24 -0
  34. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +29 -0
  35. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +19 -0
  36. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +11 -0
  37. package/dist/cjs/components/Card/Card.d.ts +10 -0
  38. package/dist/cjs/components/CardGrid/CardGrid.d.ts +14 -0
  39. package/dist/cjs/components/CardScroll/CardScroll.d.ts +15 -0
  40. package/dist/cjs/components/Cell/Cell.d.ts +50 -0
  41. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +5 -0
  42. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +6 -0
  43. package/dist/cjs/components/Cell/useDraggable.d.ts +15 -0
  44. package/dist/cjs/components/CellButton/CellButton.d.ts +11 -0
  45. package/dist/cjs/components/Checkbox/Checkbox.d.ts +15 -0
  46. package/dist/cjs/components/Chip/Chip.d.ts +26 -0
  47. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +11 -0
  48. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts +17 -0
  49. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +45 -0
  50. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +19 -0
  51. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +37 -0
  52. package/dist/cjs/components/ContentCard/ContentCard.d.ts +36 -0
  53. package/dist/cjs/components/Counter/Counter.d.ts +13 -0
  54. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +11 -0
  55. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  56. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +62 -0
  57. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +17 -0
  58. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +47 -0
  59. package/dist/cjs/components/DateInput/DateInput.d.ts +17 -0
  60. package/dist/cjs/components/DatePicker/DatePicker.d.ts +23 -0
  61. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +23 -0
  62. package/dist/cjs/components/Div/Div.d.ts +9 -0
  63. package/dist/cjs/components/Dropdown/Dropdown.d.ts +52 -0
  64. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +5 -0
  65. package/dist/cjs/components/Epic/Epic.d.ts +11 -0
  66. package/dist/cjs/components/Epic/ScrollSaver.d.ts +10 -0
  67. package/dist/cjs/components/File/File.d.ts +13 -0
  68. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +21 -0
  69. package/dist/cjs/components/FixedLayout/FixedLayout.js +1 -1
  70. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  71. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +11 -0
  72. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +10 -0
  73. package/dist/cjs/components/Footer/Footer.d.ts +8 -0
  74. package/dist/cjs/components/FormField/FormField.d.ts +37 -0
  75. package/dist/cjs/components/FormItem/FormItem.d.ts +17 -0
  76. package/dist/cjs/components/FormLayout/FormLayout.d.ts +8 -0
  77. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +19 -0
  78. package/dist/cjs/components/FormStatus/FormStatus.d.ts +11 -0
  79. package/dist/cjs/components/Gallery/Gallery.d.ts +10 -0
  80. package/dist/cjs/components/Gradient/Gradient.d.ts +16 -0
  81. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +15 -0
  82. package/dist/cjs/components/Group/Group.d.ts +30 -0
  83. package/dist/cjs/components/Header/Header.d.ts +20 -0
  84. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +13 -0
  85. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +22 -0
  86. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +8 -0
  87. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +29 -0
  88. package/dist/cjs/components/IconButton/IconButton.d.ts +14 -0
  89. package/dist/cjs/components/InfoRow/InfoRow.d.ts +9 -0
  90. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +35 -0
  91. package/dist/cjs/components/Input/Input.d.ts +11 -0
  92. package/dist/cjs/components/InputLike/InputLike.d.ts +13 -0
  93. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +3 -0
  94. package/dist/cjs/components/Link/Link.d.ts +13 -0
  95. package/dist/cjs/components/List/List.d.ts +7 -0
  96. package/dist/cjs/components/List/ListContext.d.ts +4 -0
  97. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +2 -0
  98. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +42 -0
  99. package/dist/cjs/components/ModalCard/ModalCard.d.ts +12 -0
  100. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +39 -0
  101. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +7 -0
  102. package/dist/cjs/components/ModalPage/ModalPage.d.ts +51 -0
  103. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +10 -0
  104. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +29 -0
  105. package/dist/cjs/components/ModalRoot/ModalRoot.js +1 -1
  106. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  107. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +26 -0
  108. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +20 -0
  109. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +29 -0
  110. package/dist/cjs/components/ModalRoot/constants.d.ts +3 -0
  111. package/dist/cjs/components/ModalRoot/types.d.ts +60 -0
  112. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +39 -0
  113. package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +5 -0
  114. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +20 -0
  115. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts +6 -0
  116. package/dist/cjs/components/Pagination/Pagination.d.ts +45 -0
  117. package/dist/cjs/components/Panel/Panel.d.ts +12 -0
  118. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +31 -0
  119. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +12 -0
  120. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts +11 -0
  121. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +6 -0
  122. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +11 -0
  123. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +10 -0
  124. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +20 -0
  125. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +6 -0
  126. package/dist/cjs/components/PanelSpinner/PanelSpinner.d.ts +9 -0
  127. package/dist/cjs/components/Placeholder/Placeholder.d.ts +25 -0
  128. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +13 -0
  129. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +13 -0
  130. package/dist/cjs/components/Popper/Popper.d.ts +57 -0
  131. package/dist/cjs/components/PopperArrow/PopperArrow.d.ts +8 -0
  132. package/dist/cjs/components/Progress/Progress.d.ts +10 -0
  133. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +43 -0
  134. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +22 -0
  135. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +10 -0
  136. package/dist/cjs/components/Radio/Radio.d.ts +11 -0
  137. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +9 -0
  138. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +8 -0
  139. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +16 -0
  140. package/dist/cjs/components/Removable/Removable.d.ts +24 -0
  141. package/dist/cjs/components/RichCell/RichCell.d.ts +56 -0
  142. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +13 -0
  143. package/dist/cjs/components/Root/Root.d.ts +33 -0
  144. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  145. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  146. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +10 -0
  147. package/dist/cjs/components/Search/Search.d.ts +16 -0
  148. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +20 -0
  149. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +7 -0
  150. package/dist/cjs/components/Select/Select.d.ts +18 -0
  151. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +15 -0
  152. package/dist/cjs/components/Separator/Separator.d.ts +16 -0
  153. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +74 -0
  154. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +12 -0
  155. package/dist/cjs/components/Slider/Slider.d.ts +7 -0
  156. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +48 -0
  157. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +11 -0
  158. package/dist/cjs/components/Snackbar/Snackbar.d.ts +42 -0
  159. package/dist/cjs/components/Spacing/Spacing.d.ts +23 -0
  160. package/dist/cjs/components/Spinner/Spinner.d.ts +9 -0
  161. package/dist/cjs/components/SplitCol/SplitCol.d.ts +26 -0
  162. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +18 -0
  163. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +10 -0
  164. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.d.ts +25 -0
  165. package/dist/cjs/components/Switch/Switch.d.ts +10 -0
  166. package/dist/cjs/components/Tabbar/Tabbar.d.ts +20 -0
  167. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +23 -0
  168. package/dist/cjs/components/Tabs/Tabs.d.ts +23 -0
  169. package/dist/cjs/components/TabsItem/TabsItem.d.ts +31 -0
  170. package/dist/cjs/components/Tappable/Tappable.d.ts +46 -0
  171. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +21 -0
  172. package/dist/cjs/components/Textarea/Textarea.d.ts +14 -0
  173. package/dist/cjs/components/Tooltip/Tooltip.d.ts +75 -0
  174. package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +5 -0
  175. package/dist/cjs/components/Touch/Touch.d.ts +52 -0
  176. package/dist/cjs/components/Touch/TouchContext.d.ts +7 -0
  177. package/dist/cjs/components/Typography/Caption/Caption.d.ts +17 -0
  178. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +14 -0
  179. package/dist/cjs/components/Typography/Headline/Headline.d.ts +16 -0
  180. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +13 -0
  181. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +15 -0
  182. package/dist/cjs/components/Typography/Text/Text.d.ts +15 -0
  183. package/dist/cjs/components/Typography/Title/Title.d.ts +16 -0
  184. package/dist/cjs/components/UsersStack/UsersStack.d.ts +31 -0
  185. package/dist/cjs/components/View/View.d.ts +67 -0
  186. package/dist/cjs/components/View/View.js +2 -0
  187. package/dist/cjs/components/View/View.js.map +1 -1
  188. package/dist/cjs/components/View/ViewInfinite.d.ts +66 -0
  189. package/dist/cjs/components/View/utils.d.ts +2 -0
  190. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +12 -0
  191. package/dist/cjs/components/WriteBar/WriteBar.d.ts +30 -0
  192. package/dist/cjs/components/WriteBar/WriteBar.js +2 -5
  193. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  194. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.d.ts +21 -0
  195. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js +15 -3
  196. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  197. package/dist/cjs/helpers/avatar.d.ts +5 -0
  198. package/dist/cjs/helpers/getClassName.d.ts +2 -0
  199. package/dist/cjs/helpers/getScheme.d.ts +8 -0
  200. package/dist/cjs/helpers/math.d.ts +5 -0
  201. package/dist/cjs/helpers/scheme.d.ts +34 -0
  202. package/dist/cjs/hoc/withAdaptivity.d.ts +13 -0
  203. package/dist/cjs/hoc/withContext.d.ts +2 -0
  204. package/dist/cjs/hoc/withInsets.d.ts +3 -0
  205. package/dist/cjs/hoc/withPlatform.d.ts +3 -0
  206. package/dist/cjs/hooks/useAdaptivity.d.ts +4 -0
  207. package/dist/cjs/hooks/useAppearance.d.ts +1 -0
  208. package/dist/cjs/hooks/useBooleanState.d.ts +6 -0
  209. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +6 -0
  210. package/dist/cjs/hooks/useBrowserInfo.d.ts +2 -0
  211. package/dist/cjs/hooks/useCalendar.d.ts +19 -0
  212. package/dist/cjs/hooks/useChipsInput.d.ts +15 -0
  213. package/dist/cjs/hooks/useChipsSelect.d.ts +22 -0
  214. package/dist/cjs/hooks/useDateInput.d.ts +30 -0
  215. package/dist/cjs/hooks/useEffectDev.d.ts +2 -0
  216. package/dist/cjs/hooks/useEnsuredControl.d.ts +7 -0
  217. package/dist/cjs/hooks/useEventListener.d.ts +7 -0
  218. package/dist/cjs/hooks/useExternRef.d.ts +2 -0
  219. package/dist/cjs/hooks/useFocusVisible.d.ts +6 -0
  220. package/dist/cjs/hooks/useGlobalEventListener.d.ts +2 -0
  221. package/dist/cjs/hooks/useInsets.d.ts +8 -0
  222. package/dist/cjs/hooks/useKeyboard.d.ts +10 -0
  223. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +3 -0
  224. package/dist/cjs/hooks/useObjectMemo.d.ts +2 -0
  225. package/dist/cjs/hooks/useOrientationChange.d.ts +7 -0
  226. package/dist/cjs/hooks/usePagination.d.ts +34 -0
  227. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +6 -0
  228. package/dist/cjs/hooks/usePlatform.d.ts +2 -0
  229. package/dist/cjs/hooks/usePrevious.d.ts +1 -0
  230. package/dist/cjs/hooks/useTimeout.d.ts +4 -0
  231. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +3 -0
  232. package/dist/cjs/index.d.ts +310 -0
  233. package/dist/cjs/lib/SSR.d.ts +18 -0
  234. package/dist/cjs/lib/accessibility.d.ts +10 -0
  235. package/dist/cjs/lib/animate.d.ts +15 -0
  236. package/dist/cjs/lib/browser.d.ts +11 -0
  237. package/dist/cjs/lib/calendar.d.ts +14 -0
  238. package/dist/cjs/lib/callMultiple.d.ts +1 -0
  239. package/dist/cjs/lib/classNames.d.ts +6 -0
  240. package/dist/cjs/lib/classScopingMode.d.ts +8 -0
  241. package/dist/cjs/lib/date.d.ts +29 -0
  242. package/dist/cjs/lib/dom.d.ts +21 -0
  243. package/dist/cjs/lib/fx.d.ts +5 -0
  244. package/dist/cjs/lib/getNavId.d.ts +7 -0
  245. package/dist/cjs/lib/is.d.ts +1 -0
  246. package/dist/cjs/lib/isRefObject.d.ts +2 -0
  247. package/dist/cjs/lib/jsxRuntime.d.ts +8 -0
  248. package/dist/cjs/lib/offset.d.ts +7 -0
  249. package/dist/cjs/lib/platform.d.ts +19 -0
  250. package/dist/cjs/lib/polyfills.d.ts +6 -0
  251. package/dist/cjs/lib/prefixClass.d.ts +1 -0
  252. package/dist/cjs/lib/removeObjectKeys.d.ts +1 -0
  253. package/dist/cjs/lib/select.d.ts +9 -0
  254. package/dist/cjs/lib/styles.d.ts +1 -0
  255. package/dist/cjs/lib/supportEvents.d.ts +9 -0
  256. package/dist/cjs/lib/taptic.d.ts +2 -0
  257. package/dist/cjs/lib/testing.d.ts +1 -0
  258. package/dist/cjs/lib/touch.d.ts +9 -0
  259. package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +2 -0
  260. package/dist/cjs/lib/utils.d.ts +16 -0
  261. package/dist/cjs/lib/warnOnce.d.ts +2 -0
  262. package/dist/cjs/tokenized/index.d.ts +238 -0
  263. package/dist/cjs/types.d.ts +37 -0
  264. package/dist/cjs/unstable/index.d.ts +17 -0
  265. package/dist/components/AppRoot/ScrollContext.js +9 -1
  266. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  267. package/dist/components/FixedLayout/FixedLayout.js +1 -1
  268. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  269. package/dist/components/ModalRoot/ModalRoot.js +1 -1
  270. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  271. package/dist/components/View/View.js +2 -0
  272. package/dist/components/View/View.js.map +1 -1
  273. package/dist/components/WriteBar/WriteBar.js +2 -5
  274. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  275. package/dist/components/WriteBarIcon/WriteBarIcon.js +15 -3
  276. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  277. package/dist/components.css +1 -1
  278. package/dist/components.css.map +1 -1
  279. package/dist/cssm/components/AppRoot/ScrollContext.js +9 -1
  280. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  281. package/dist/cssm/components/FixedLayout/FixedLayout.js +1 -1
  282. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  283. package/dist/cssm/components/ModalRoot/ModalRoot.js +1 -1
  284. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  285. package/dist/cssm/components/PanelHeader/PanelHeader.css +1 -1
  286. package/dist/cssm/components/View/View.js +2 -0
  287. package/dist/cssm/components/View/View.js.map +1 -1
  288. package/dist/cssm/components/WriteBar/WriteBar.js +2 -5
  289. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  290. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +15 -3
  291. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  292. package/dist/cssm/styles/components.css +1 -1
  293. package/dist/cssm/styles/themes.css +1 -1
  294. package/dist/cssm/styles/vkcom_dark.css +1 -1
  295. package/dist/cssm/styles/vkcom_light.css +1 -1
  296. package/dist/vkui.css +2 -2
  297. package/dist/vkui.css.map +1 -1
  298. package/package.json +3 -3
  299. package/src/components/AppRoot/ScrollContext.tsx +13 -1
  300. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  301. package/src/components/ModalRoot/ModalRoot.tsx +1 -1
  302. package/src/components/PanelHeader/PanelHeader.css +3 -1
  303. package/src/components/View/View.tsx +2 -0
  304. package/src/components/WriteBar/Readme.md +14 -14
  305. package/src/components/WriteBar/WriteBar.tsx +2 -2
  306. package/src/components/WriteBarIcon/WriteBarIcon.tsx +13 -4
  307. package/src/styles/vkcom_dark.css +16 -16
  308. package/src/styles/vkcom_light.css +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"WriteBar.js","names":["React","Headline","usePlatform","useExternRef","hasReactNode","isFunction","classNames","IOS","WriteBar","className","style","before","inlineAfter","after","value","onChange","getRootRef","getRef","onHeightChange","shadow","restProps","platform","isControlledOutside","textareaRef","currentScrollHeight","useRef","resize","useCallback","textareaEl","current","offsetParent","height","scrollHeight","onTextareaChange","event","useEffect","e","preventDefault"],"sources":["../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { hasReactNode, isFunction } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./WriteBar.css\";\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода\n */\n onHeightChange?: VoidFunction;\n /**\n * Добавляет тень вокруг поля ввода\n */\n shadow?: boolean;\n\n children?: never;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBar\n */\nexport const WriteBar = ({\n className,\n style,\n before,\n inlineAfter,\n after,\n value,\n onChange,\n getRootRef,\n getRef,\n onHeightChange,\n shadow = false,\n ...restProps\n}: WriteBarProps) => {\n const platform = usePlatform();\n\n const isControlledOutside = value != null;\n\n const textareaRef = useExternRef(getRef);\n const currentScrollHeight = React.useRef<number>();\n\n const resize = React.useCallback(() => {\n const textareaEl = textareaRef.current;\n if (!textareaEl) {\n return;\n }\n\n if (textareaEl.offsetParent) {\n textareaEl.style.height = \"\";\n textareaEl.style.height = `${textareaEl.scrollHeight}px`;\n\n if (\n textareaEl.scrollHeight !== currentScrollHeight.current &&\n onHeightChange\n ) {\n onHeightChange();\n currentScrollHeight.current = textareaEl.scrollHeight;\n }\n }\n }, [onHeightChange, textareaRef]);\n\n const onTextareaChange: React.ChangeEventHandler<HTMLTextAreaElement> = (\n event\n ) => {\n if (isFunction(onChange)) {\n onChange(event);\n }\n\n if (!isControlledOutside) {\n resize();\n }\n };\n\n React.useEffect(() => {\n resize();\n }, [resize, value]);\n\n return (\n <div\n ref={getRootRef}\n vkuiClass={classNames(\n \"WriteBar\",\n platform === IOS && \"WriteBar--ios\",\n shadow && \"WriteBar--shadow\"\n )}\n className={className}\n style={style}\n >\n <form vkuiClass=\"WriteBar__form\" onSubmit={(e) => e.preventDefault()}>\n {hasReactNode(before) && (\n <div vkuiClass=\"WriteBar__before\">{before}</div>\n )}\n\n <div vkuiClass=\"WriteBar__formIn\">\n <Headline\n {...restProps}\n Component=\"textarea\"\n vkuiClass=\"WriteBar__textarea\"\n onChange={onTextareaChange}\n getRootRef={textareaRef}\n value={value}\n />\n {hasReactNode(inlineAfter) && (\n <div vkuiClass=\"WriteBar__inlineAfter\">{inlineAfter}</div>\n )}\n </div>\n\n {hasReactNode(after) && <div vkuiClass=\"WriteBar__after\">{after}</div>}\n </form>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"WriteBar.js","names":["React","Headline","usePlatform","useExternRef","hasReactNode","isFunction","classNames","IOS","WriteBar","className","style","before","inlineAfter","after","value","onChange","getRootRef","getRef","onHeightChange","shadow","restProps","platform","isControlledOutside","textareaRef","currentScrollHeight","useRef","resize","useCallback","textareaEl","current","offsetParent","height","scrollHeight","onTextareaChange","event","useEffect"],"sources":["../../../src/components/WriteBar/WriteBar.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Headline } from \"../Typography/Headline/Headline\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { hasReactNode, isFunction } from \"../../lib/utils\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport \"./WriteBar.css\";\n\nexport interface WriteBarProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLTextAreaElement> {\n /**\n * Содержимое, отображаемое слева от поля ввода.\n */\n before?: React.ReactNode;\n /**\n * Содержимое, отображаемое поверх поля ввода (актуально для iOS)\n */\n inlineAfter?: React.ReactNode;\n /**\n * Содержимое, отображаемое справа от поля ввода\n */\n after?: React.ReactNode;\n /**\n * Вызывается при смене высоты поля ввода\n */\n onHeightChange?: VoidFunction;\n /**\n * Добавляет тень вокруг поля ввода\n */\n shadow?: boolean;\n\n children?: never;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBar\n */\nexport const WriteBar = ({\n className,\n style,\n before,\n inlineAfter,\n after,\n value,\n onChange,\n getRootRef,\n getRef,\n onHeightChange,\n shadow = false,\n ...restProps\n}: WriteBarProps) => {\n const platform = usePlatform();\n\n const isControlledOutside = value != null;\n\n const textareaRef = useExternRef(getRef);\n const currentScrollHeight = React.useRef<number>();\n\n const resize = React.useCallback(() => {\n const textareaEl = textareaRef.current;\n if (!textareaEl) {\n return;\n }\n\n if (textareaEl.offsetParent) {\n textareaEl.style.height = \"\";\n textareaEl.style.height = `${textareaEl.scrollHeight}px`;\n\n if (\n textareaEl.scrollHeight !== currentScrollHeight.current &&\n onHeightChange\n ) {\n onHeightChange();\n currentScrollHeight.current = textareaEl.scrollHeight;\n }\n }\n }, [onHeightChange, textareaRef]);\n\n const onTextareaChange: React.ChangeEventHandler<HTMLTextAreaElement> = (\n event\n ) => {\n if (isFunction(onChange)) {\n onChange(event);\n }\n\n if (!isControlledOutside) {\n resize();\n }\n };\n\n React.useEffect(() => {\n resize();\n }, [resize, value]);\n\n return (\n <div\n ref={getRootRef}\n vkuiClass={classNames(\n \"WriteBar\",\n platform === IOS && \"WriteBar--ios\",\n shadow && \"WriteBar--shadow\"\n )}\n className={className}\n style={style}\n >\n <div vkuiClass=\"WriteBar__form\">\n {hasReactNode(before) && (\n <div vkuiClass=\"WriteBar__before\">{before}</div>\n )}\n\n <div vkuiClass=\"WriteBar__formIn\">\n <Headline\n {...restProps}\n Component=\"textarea\"\n vkuiClass=\"WriteBar__textarea\"\n onChange={onTextareaChange}\n getRootRef={textareaRef}\n value={value}\n />\n {hasReactNode(inlineAfter) && (\n <div vkuiClass=\"WriteBar__inlineAfter\">{inlineAfter}</div>\n )}\n </div>\n\n {hasReactNode(after) && <div vkuiClass=\"WriteBar__after\">{after}</div>}\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -28,17 +28,29 @@ export var WriteBarIcon = function WriteBarIcon(_ref) {
28
28
 
29
29
  switch (mode) {
30
30
  case "attach":
31
- icon = platform === IOS ? createScopedElement(Icon28AddCircleOutline, null) : createScopedElement(Icon28AttachOutline, null);
31
+ icon = platform === IOS ? createScopedElement(Icon28AddCircleOutline, {
32
+ "aria-hidden": true
33
+ }) : createScopedElement(Icon28AttachOutline, {
34
+ "aria-hidden": true
35
+ });
32
36
  ariaLabel = "Прикрепить файл";
33
37
  break;
34
38
 
35
39
  case "send":
36
- icon = platform === IOS ? createScopedElement(Icon48WritebarSend, null) : createScopedElement(Icon24Send, null);
40
+ icon = platform === IOS ? createScopedElement(Icon48WritebarSend, {
41
+ "aria-hidden": true
42
+ }) : createScopedElement(Icon24Send, {
43
+ "aria-hidden": true
44
+ });
37
45
  ariaLabel = "Отправить";
38
46
  break;
39
47
 
40
48
  case "done":
41
- icon = platform === IOS ? createScopedElement(Icon48WritebarDone, null) : createScopedElement(Icon28CheckCircleOutline, null);
49
+ icon = platform === IOS ? createScopedElement(Icon48WritebarDone, {
50
+ "aria-hidden": true
51
+ }) : createScopedElement(Icon28CheckCircleOutline, {
52
+ "aria-hidden": true
53
+ });
42
54
  ariaLabel = "Готово";
43
55
  break;
44
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"WriteBarIcon.js","names":["Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon48WritebarDone","Icon48WritebarSend","usePlatform","classNames","IOS","Platform","Counter","Tappable","warnOnce","hasReactNode","warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","undefined"],"sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, Platform } from \"../../lib/platform\";\nimport { Counter } from \"../Counter/Counter\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./WriteBarIcon.css\";\n\nexport interface WriteBarIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: \"attach\" | \"send\" | \"done\";\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce(\"WriteBarIcon\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n\n let icon: React.ReactNode;\n let ariaLabel: string | undefined = undefined;\n\n switch (mode) {\n case \"attach\":\n icon =\n platform === IOS ? <Icon28AddCircleOutline /> : <Icon28AttachOutline />;\n ariaLabel = \"Прикрепить файл\";\n break;\n\n case \"send\":\n icon = platform === IOS ? <Icon48WritebarSend /> : <Icon24Send />;\n ariaLabel = \"Отправить\";\n break;\n\n case \"done\":\n icon =\n platform === IOS ? (\n <Icon48WritebarDone />\n ) : (\n <Icon28CheckCircleOutline />\n );\n ariaLabel = \"Готово\";\n break;\n\n default:\n break;\n }\n\n if (IS_DEV && !restProps[\"aria-label\"] && !ariaLabel) {\n warn(\n \"a11y: У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.\",\n \"error\"\n );\n }\n\n return (\n <Tappable\n aria-label={ariaLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode=\"WriteBarIcon__active\"\n vkuiClass={classNames(\n \"WriteBarIcon\",\n platform === Platform.IOS && \"WriteBarIcon--ios\",\n !!mode && `WriteBarIcon--${mode}`\n )}\n >\n <span vkuiClass=\"WriteBarIcon__in\">\n {icon || children}\n {hasReactNode(count) && (\n <Counter vkuiClass=\"WriteBarIcon__counter\" size=\"s\">\n {count}\n </Counter>\n )}\n </span>\n </Tappable>\n );\n};\n"],"mappings":";;;;AACA,SACEA,UADF,EAEEC,sBAFF,EAGEC,mBAHF,EAIEC,wBAJF,EAKEC,kBALF,EAMEC,kBANF,QAOO,kBAPP;AAQA,SAASC,WAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,QAAd;AACA,SAASC,OAAT;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,YAAT;AAoBA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,cAAD,CAArB;AACA,IAAMG,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;AAEA;AACA;AACA;;AACA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAKH;EAAA,IAJvBC,IAIuB,QAJvBA,IAIuB;EAAA,IAHvBC,QAGuB,QAHvBA,QAGuB;EAAA,IAFvBC,KAEuB,QAFvBA,KAEuB;EAAA,IADpBC,SACoB;;EACvB,IAAMC,QAAQ,GAAGlB,WAAW,EAA5B;EAEA,IAAImB,IAAJ;EACA,IAAIC,SAA6B,GAAGC,SAApC;;EAEA,QAAQP,IAAR;IACE,KAAK,QAAL;MACEK,IAAI,GACFD,QAAQ,KAAKhB,GAAb,GAAmB,oBAAC,sBAAD,OAAnB,GAAgD,oBAAC,mBAAD,OADlD;MAEAkB,SAAS,GAAG,iBAAZ;MACA;;IAEF,KAAK,MAAL;MACED,IAAI,GAAGD,QAAQ,KAAKhB,GAAb,GAAmB,oBAAC,kBAAD,OAAnB,GAA4C,oBAAC,UAAD,OAAnD;MACAkB,SAAS,GAAG,WAAZ;MACA;;IAEF,KAAK,MAAL;MACED,IAAI,GACFD,QAAQ,KAAKhB,GAAb,GACE,oBAAC,kBAAD,OADF,GAGE,oBAAC,wBAAD,OAJJ;MAMAkB,SAAS,GAAG,QAAZ;MACA;;IAEF;MACE;EAvBJ;;EA0BA,IAAIX,MAAM,IAAI,CAACQ,SAAS,CAAC,YAAD,CAApB,IAAsC,CAACG,SAA3C,EAAsD;IACpDZ,IAAI,CACF,wFADE,EAEF,OAFE,CAAJ;EAID;;EAED,OACE,oBAAC,QAAD;IACE,cAAYY;EADd,GAEMH,SAFN;IAGE,SAAS,EAAC,QAHZ;IAIE,QAAQ,EAAE,KAJZ;IAKE,UAAU,EAAC,sBALb;IAME,SAAS,EAAEhB,UAAU,CACnB,cADmB,EAEnBiB,QAAQ,KAAKf,QAAQ,CAACD,GAAtB,IAA6B,mBAFV,EAGnB,CAAC,CAACY,IAAF,4BAA2BA,IAA3B,CAHmB;EANvB,IAYE;IAAM,SAAS,EAAC;EAAhB,GACGK,IAAI,IAAIJ,QADX,EAEGR,YAAY,CAACS,KAAD,CAAZ,IACC,oBAAC,OAAD;IAAS,SAAS,EAAC,uBAAnB;IAA2C,IAAI,EAAC;EAAhD,GACGA,KADH,CAHJ,CAZF,CADF;AAuBD,CAnEM"}
1
+ {"version":3,"file":"WriteBarIcon.js","names":["Icon24Send","Icon28AddCircleOutline","Icon28AttachOutline","Icon28CheckCircleOutline","Icon48WritebarDone","Icon48WritebarSend","usePlatform","classNames","IOS","Platform","Counter","Tappable","warnOnce","hasReactNode","warn","IS_DEV","process","env","NODE_ENV","WriteBarIcon","mode","children","count","restProps","platform","icon","ariaLabel","undefined"],"sources":["../../../src/components/WriteBarIcon/WriteBarIcon.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n Icon24Send,\n Icon28AddCircleOutline,\n Icon28AttachOutline,\n Icon28CheckCircleOutline,\n Icon48WritebarDone,\n Icon48WritebarSend,\n} from \"@vkontakte/icons\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { classNames } from \"../../lib/classNames\";\nimport { IOS, Platform } from \"../../lib/platform\";\nimport { Counter } from \"../Counter/Counter\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport \"./WriteBarIcon.css\";\n\nexport interface WriteBarIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * Предустановленные типы кнопок в WriteBar для отрисовки иконки в зависимости от платформы.\n * Если передать валидное значение для этого свойства, `children` игнорируется.\n *\n * - `attach` – иконка прикрепления.\n * - `send` – иконка отправки.\n * - `done` – иконка отправки в режиме редактирования.\n */\n mode?: \"attach\" | \"send\" | \"done\";\n /**\n * Значение счётчика для кнопки. Например, для количества прикреплённых файлов.\n */\n count?: number;\n}\n\nconst warn = warnOnce(\"WriteBarIcon\");\nconst IS_DEV = process.env.NODE_ENV === \"development\";\n\n/**\n * @see https://vkcom.github.io/VKUI/#/WriteBarIcon\n */\nexport const WriteBarIcon = ({\n mode,\n children,\n count,\n ...restProps\n}: WriteBarIconProps) => {\n const platform = usePlatform();\n\n let icon: React.ReactNode;\n let ariaLabel: string | undefined = undefined;\n\n switch (mode) {\n case \"attach\":\n icon =\n platform === IOS ? (\n <Icon28AddCircleOutline aria-hidden />\n ) : (\n <Icon28AttachOutline aria-hidden />\n );\n ariaLabel = \"Прикрепить файл\";\n break;\n\n case \"send\":\n icon =\n platform === IOS ? (\n <Icon48WritebarSend aria-hidden />\n ) : (\n <Icon24Send aria-hidden />\n );\n ariaLabel = \"Отправить\";\n break;\n\n case \"done\":\n icon =\n platform === IOS ? (\n <Icon48WritebarDone aria-hidden />\n ) : (\n <Icon28CheckCircleOutline aria-hidden />\n );\n ariaLabel = \"Готово\";\n break;\n\n default:\n break;\n }\n\n if (IS_DEV && !restProps[\"aria-label\"] && !ariaLabel) {\n warn(\n \"a11y: У WriteBarIcon нет aria-label. Кнопка будет недоступной для части пользователей.\",\n \"error\"\n );\n }\n\n return (\n <Tappable\n aria-label={ariaLabel}\n {...restProps}\n Component=\"button\"\n hasHover={false}\n activeMode=\"WriteBarIcon__active\"\n vkuiClass={classNames(\n \"WriteBarIcon\",\n platform === Platform.IOS && \"WriteBarIcon--ios\",\n !!mode && `WriteBarIcon--${mode}`\n )}\n >\n <span vkuiClass=\"WriteBarIcon__in\">\n {icon || children}\n {hasReactNode(count) && (\n <Counter vkuiClass=\"WriteBarIcon__counter\" size=\"s\">\n {count}\n </Counter>\n )}\n </span>\n </Tappable>\n );\n};\n"],"mappings":";;;;AACA,SACEA,UADF,EAEEC,sBAFF,EAGEC,mBAHF,EAIEC,wBAJF,EAKEC,kBALF,EAMEC,kBANF,QAOO,kBAPP;AAQA,SAASC,WAAT;AACA,SAASC,UAAT;AACA,SAASC,GAAT,EAAcC,QAAd;AACA,SAASC,OAAT;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,YAAT;AAoBA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,cAAD,CAArB;AACA,IAAMG,MAAM,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAxC;AAEA;AACA;AACA;;AACA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAKH;EAAA,IAJvBC,IAIuB,QAJvBA,IAIuB;EAAA,IAHvBC,QAGuB,QAHvBA,QAGuB;EAAA,IAFvBC,KAEuB,QAFvBA,KAEuB;EAAA,IADpBC,SACoB;;EACvB,IAAMC,QAAQ,GAAGlB,WAAW,EAA5B;EAEA,IAAImB,IAAJ;EACA,IAAIC,SAA6B,GAAGC,SAApC;;EAEA,QAAQP,IAAR;IACE,KAAK,QAAL;MACEK,IAAI,GACFD,QAAQ,KAAKhB,GAAb,GACE,oBAAC,sBAAD;QAAwB;MAAxB,EADF,GAGE,oBAAC,mBAAD;QAAqB;MAArB,EAJJ;MAMAkB,SAAS,GAAG,iBAAZ;MACA;;IAEF,KAAK,MAAL;MACED,IAAI,GACFD,QAAQ,KAAKhB,GAAb,GACE,oBAAC,kBAAD;QAAoB;MAApB,EADF,GAGE,oBAAC,UAAD;QAAY;MAAZ,EAJJ;MAMAkB,SAAS,GAAG,WAAZ;MACA;;IAEF,KAAK,MAAL;MACED,IAAI,GACFD,QAAQ,KAAKhB,GAAb,GACE,oBAAC,kBAAD;QAAoB;MAApB,EADF,GAGE,oBAAC,wBAAD;QAA0B;MAA1B,EAJJ;MAMAkB,SAAS,GAAG,QAAZ;MACA;;IAEF;MACE;EAhCJ;;EAmCA,IAAIX,MAAM,IAAI,CAACQ,SAAS,CAAC,YAAD,CAApB,IAAsC,CAACG,SAA3C,EAAsD;IACpDZ,IAAI,CACF,wFADE,EAEF,OAFE,CAAJ;EAID;;EAED,OACE,oBAAC,QAAD;IACE,cAAYY;EADd,GAEMH,SAFN;IAGE,SAAS,EAAC,QAHZ;IAIE,QAAQ,EAAE,KAJZ;IAKE,UAAU,EAAC,sBALb;IAME,SAAS,EAAEhB,UAAU,CACnB,cADmB,EAEnBiB,QAAQ,KAAKf,QAAQ,CAACD,GAAtB,IAA6B,mBAFV,EAGnB,CAAC,CAACY,IAAF,4BAA2BA,IAA3B,CAHmB;EANvB,IAYE;IAAM,SAAS,EAAC;EAAhB,GACGK,IAAI,IAAIJ,QADX,EAEGR,YAAY,CAACS,KAAD,CAAZ,IACC,oBAAC,OAAD;IAAS,SAAS,EAAC,uBAAnB;IAA2C,IAAI,EAAC;EAAhD,GACGA,KADH,CAHJ,CAZF,CADF;AAuBD,CA5EM"}
@@ -86,7 +86,7 @@
86
86
  --panelheader_height_ios,var(--vkui--size_panel_header_height--regular)
87
87
  )}.vkuiPanelHeader--ios .vkuiPanelHeader__before{flex-basis:0;flex-grow:1;flex-shrink:0;opacity:1;padding:4px 0 4px 4px;transition:opacity .3s cubic-bezier(.36,.66,.04,1);transition:opacity .3s var(--ios-easing)}.vkuiPanelHeader--ios .vkuiPanelHeader__before .vkuiPanelHeaderButton+.vkuiPanelHeaderButton--primitive{margin-left:-6px;padding-left:0}.vkuiPanelHeader--ios .vkuiPanelHeader__content{opacity:1;text-align:center;transition:opacity .3s cubic-bezier(.36,.66,.04,1);transition:opacity .3s var(--ios-easing)}.vkuiPanelHeader--ios .vkuiPanelHeader__content-in{font-size:21px}.vkuiPanelHeader--ios .vkuiPanelHeader__content>*{padding:0 4px}.vkuiPanelHeader--ios.vkuiPanelHeader--no-before .vkuiPanelHeader__content{padding-left:8px}.vkuiPanelHeader--ios.vkuiPanelHeader--no-after .vkuiPanelHeader__content>*{padding-right:0}.vkuiPanelHeader--ios.vkuiPanelHeader--no-after .vkuiPanelHeader__content{padding-right:8px}.vkuiPanelHeader--ios .vkuiPanelHeader__after{flex-basis:0;flex-grow:1;flex-shrink:0;opacity:1;padding:4px 4px 4px 0;transition:opacity .3s cubic-bezier(.36,.66,.04,1);transition:opacity .3s var(--ios-easing)}.vkuiView--ios .vkuiView__panel--prev .vkuiPanelHeader__after,.vkuiView--ios .vkuiView__panel--prev .vkuiPanelHeader__before,.vkuiView--ios .vkuiView__panel--prev .vkuiPanelHeader__content{opacity:0}.vkuiPanelHeader--android .vkuiPanelHeader__before:not(:empty){padding:4px 0 4px 4px}.vkuiPanelHeader--android .vkuiPanelHeader__content{align-items:center;flex-grow:1;max-width:100%}.vkuiPanelHeader--android .vkuiPanelHeader__content-in{font-size:23px}.vkuiPanelHeader--android .vkuiPanelHeader__content>*{padding:0 12px}.vkuiPanelHeader--android .vkuiSearch,.vkuiPanelHeader--vkcom .vkuiSearch{padding:0 4px}.vkuiSplitCol--spaced .vkuiPanelHeader--android.vkuiPanelHeader--no-before:not(.vkuiModalPageHeader__in) .vkuiPanelHeader__content{padding-left:0}.vkuiPanelHeader--android.vkuiPanelHeader--no-after .vkuiPanelHeader__content>*,.vkuiPanelHeader--vkcom.vkuiPanelHeader--no-after .vkuiPanelHeader__content>*{padding-right:0}.vkuiPanelHeader--android.vkuiPanelHeader--no-after .vkuiPanelHeader__content{padding-right:16px}.vkuiPanelHeader--android.vkuiPanelHeader--no-before .vkuiPanelHeader__content{padding-left:16px}.vkuiSplitCol--spaced .vkuiPanelHeader--android.vkuiPanelHeader--no-after:not(.vkuiModalPageHeader__in) .vkuiPanelHeader__content{padding-right:0}.vkuiPanelHeader--android .vkuiPanelHeader__after:not(:empty),.vkuiPanelHeader--vkcom .vkuiPanelHeader__after:not(:empty){padding:4px 4px 4px 0}.vkuiPanelHeader--vkcom{--panelheader_height:var(
88
88
  --panelheader_height_vkcom,var(--vkui--size_panel_header_height--regular)
89
- );position:relative;z-index:10}.vkuiPanelHeader--vkcom.vkuiPanelHeader--sizeX-regular:not(.vkuiModalPageHeader__in):after{background-color:#fff;background-color:var(
89
+ );position:relative;z-index:10}.vkuiPanelHeader--vkcom.vkuiPanelHeader--sizeX-regular:not(.vkuiModalPageHeader__in):after,.vkuiPanelHeader--vkcom.vkuiPanelHeader--sizeX-regular:not(.vkuiPanelHeader--sep) .vkuiPanelHeader__in:after{background-color:#fff;background-color:var(
90
90
  --header_background,var(--vkui--color_background_content)
91
91
  );bottom:0;content:"";height:1px;height:var(--thin-border);left:1px;left:var(--thin-border);position:absolute;right:1px;right:var(--thin-border)}.vkuiPanelHeader--vkcom.vkuiPanelHeader--sizeX-regular:not(.vkuiModalPageHeader__in) .vkuiPanelHeader__in{border-bottom:none;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:inset 0 0 0 1px #e1e3e6;box-shadow:0 0 0 var(--thin-border) var(--input_border) inset}.vkuiPanelHeader--vkcom .vkuiPanelHeader__content{text-align:center}.vkuiPanelHeader--vkcom .vkuiPanelHeader__before:not(:empty){padding:0 0 0 4px}.vkuiPanelHeader--vkcom .vkuiPanelHeader__after,.vkuiPanelHeader--vkcom .vkuiPanelHeader__before{flex-basis:0;flex-grow:1;flex-shrink:0}.vkuiPanelHeader--no-before .vkuiPanelHeader__content>*{padding-left:0}.vkuiPanelHeaderButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;box-shadow:none;color:currentColor;display:block;margin:0;padding:0;position:relative}.vkuiPanelHeaderButton[disabled]{opacity:.6}.vkuiPanelHeaderButton .vkuiCounter{padding:0;position:absolute;right:2px;top:8px}.vkuiPanelHeaderButton--primitive{height:48px;line-height:48px;padding:0 12px}.vkuiPanelHeaderButton--ios{align-items:center;display:flex;font-size:17px;position:relative}.vkuiPanelHeaderButton--ios.vkuiPanelHeaderButton--primitive{height:44px;line-height:44px}.vkuiPanelHeaderButton--ios .vkuiIcon--24{padding:10px}.vkuiPanelHeaderButton--ios .vkuiIcon--28{padding:8px}.vkuiPanelHeaderButton--android.vkuiPanelHeaderButton--notPrimitive{border-radius:50%}.vkuiPanelHeaderButton--android .vkuiIcon--24{padding:12px}.vkuiPanelHeaderButton--android .vkuiIcon--28{padding:10px}.vkuiPanelHeaderButton--vkcom{color:#818c99;color:var(--header_text_secondary,var(--vkui--color_text_secondary))}.vkuiPanelHeaderButton--vkcom>:not(.vkuiCounter){opacity:.7;transition:opacity .3s}.vkuiPanelHeaderButton--vkcom.vkuiPanelHeaderButton--active>:not(.vkuiCounter),.vkuiPanelHeaderButton--vkcom.vkuiPanelHeaderButton--hover>:not(.vkuiCounter){opacity:1}.vkuiPanelHeaderButton--vkcom{align-items:center;display:flex;padding:10px}.vkuiPanelHeaderButton--vkcom.vkuiPanelHeaderButton--notPrimitive{border-radius:50%}.vkuiPanelHeaderBack--vkcom.vkuiPanelHeaderBack--has-label{padding-right:11px}.vkuiPanelHeaderBack--ios.vkuiPanelHeaderBack--has-label{padding-right:8px}.vkuiPanelHeaderContent{align-items:center;box-sizing:border-box;display:flex;font-family:-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-common);height:100%;justify-content:flex-start;line-height:normal;max-width:100%}.vkuiPanelHeaderContent__before{flex-shrink:0;margin-right:12px}.vkuiPanelHeaderContent__in{align-items:flex-start;display:flex;flex-direction:column;flex-grow:1;height:100%;justify-content:center;min-width:0}.vkuiPanelHeaderContent__children-in,.vkuiPanelHeaderContent__status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vkuiPanelHeaderContent__status{color:#818c99;color:var(--header_text_secondary,var(--vkui--color_text_secondary));margin-top:1px;max-width:100%;order:1}.vkuiPanelHeaderContent__children{align-items:center;display:flex;max-width:100%}.vkuiPanelHeaderContent__children-in{flex-grow:0;min-width:0}.vkuiPanelHeaderContent__aside{align-items:center;color:#2688eb;color:var(--header_tint,var(--vkui--color_icon_accent));display:flex;justify-content:flex-start;margin-left:2px}.vkuiPanelHeaderContent__width{width:1000px}.vkuiPanelHeaderContent__in--centered{align-items:center}.vkuiPanelHeaderContent--ios .vkuiPanelHeaderContent__children-in{font-family:VK Sans Display,-apple-system,system-ui,Helvetica Neue,Roboto,sans-serif;font-family:var(--font-display);font-size:21px;font-weight:500;line-height:52px;line-height:var(
92
92
  --panelheader_height_ios,var(--vkui--size_panel_header_height--regular)