@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
- [{"/home/runner/work/VKUI/VKUI/src/fonts/fonts.css":"1","/home/runner/work/VKUI/VKUI/src/styles/animations.css":"2","/home/runner/work/VKUI/VKUI/src/styles/bright_light.css":"3","/home/runner/work/VKUI/VKUI/src/styles/common.css":"4","/home/runner/work/VKUI/VKUI/src/styles/components.css":"5","/home/runner/work/VKUI/VKUI/src/styles/constants.css":"6","/home/runner/work/VKUI/VKUI/src/styles/space_gray.css":"7","/home/runner/work/VKUI/VKUI/src/styles/themes.css":"8","/home/runner/work/VKUI/VKUI/src/styles/unstable.css":"9","/home/runner/work/VKUI/VKUI/src/styles/vkcom_dark.css":"10","/home/runner/work/VKUI/VKUI/src/styles/vkcom_light.css":"11","/home/runner/work/VKUI/VKUI/src/components/ActionSheet/ActionSheet.css":"12","/home/runner/work/VKUI/VKUI/src/components/ActionSheetItem/ActionSheetItem.css":"13","/home/runner/work/VKUI/VKUI/src/components/Alert/Alert.css":"14","/home/runner/work/VKUI/VKUI/src/components/AppRoot/AppRoot.css":"15","/home/runner/work/VKUI/VKUI/src/components/Avatar/Avatar.css":"16","/home/runner/work/VKUI/VKUI/src/components/Badge/Badge.css":"17","/home/runner/work/VKUI/VKUI/src/components/Banner/Banner.css":"18","/home/runner/work/VKUI/VKUI/src/components/BaseGallery/BaseGallery.css":"19","/home/runner/work/VKUI/VKUI/src/components/Button/Button.css":"20","/home/runner/work/VKUI/VKUI/src/components/ButtonGroup/ButtonGroup.css":"21","/home/runner/work/VKUI/VKUI/src/components/Calendar/Calendar.css":"22","/home/runner/work/VKUI/VKUI/src/components/CalendarDay/CalendarDay.css":"23","/home/runner/work/VKUI/VKUI/src/components/CalendarDays/CalendarDays.css":"24","/home/runner/work/VKUI/VKUI/src/components/CalendarHeader/CalendarHeader.css":"25","/home/runner/work/VKUI/VKUI/src/components/CalendarRange/CalendarRange.css":"26","/home/runner/work/VKUI/VKUI/src/components/CalendarTime/CalendarTime.css":"27","/home/runner/work/VKUI/VKUI/src/components/Card/Card.css":"28","/home/runner/work/VKUI/VKUI/src/components/CardGrid/CardGrid.css":"29","/home/runner/work/VKUI/VKUI/src/components/CardScroll/CardScroll.css":"30","/home/runner/work/VKUI/VKUI/src/components/Cell/Cell.css":"31","/home/runner/work/VKUI/VKUI/src/components/CellButton/CellButton.css":"32","/home/runner/work/VKUI/VKUI/src/components/Checkbox/Checkbox.css":"33","/home/runner/work/VKUI/VKUI/src/components/Chip/Chip.css":"34","/home/runner/work/VKUI/VKUI/src/components/ChipsInput/ChipsInput.css":"35","/home/runner/work/VKUI/VKUI/src/components/ChipsInputBase/ChipsInputBase.css":"36","/home/runner/work/VKUI/VKUI/src/components/ChipsSelect/ChipsSelect.css":"37","/home/runner/work/VKUI/VKUI/src/components/ContentCard/ContentCard.css":"38","/home/runner/work/VKUI/VKUI/src/components/Counter/Counter.css":"39","/home/runner/work/VKUI/VKUI/src/components/CustomScrollView/CustomScrollView.css":"40","/home/runner/work/VKUI/VKUI/src/components/CustomSelect/CustomSelect.css":"41","/home/runner/work/VKUI/VKUI/src/components/CustomSelectDropdown/CustomSelectDropdown.css":"42","/home/runner/work/VKUI/VKUI/src/components/CustomSelectOption/CustomSelectOption.css":"43","/home/runner/work/VKUI/VKUI/src/components/DateInput/DateInput.css":"44","/home/runner/work/VKUI/VKUI/src/components/DatePicker/DatePicker.css":"45","/home/runner/work/VKUI/VKUI/src/components/DateRangeInput/DateRangeInput.css":"46","/home/runner/work/VKUI/VKUI/src/components/Div/Div.css":"47","/home/runner/work/VKUI/VKUI/src/components/Dropdown/Dropdown.css":"48","/home/runner/work/VKUI/VKUI/src/components/Epic/Epic.css":"49","/home/runner/work/VKUI/VKUI/src/components/FixedLayout/FixedLayout.css":"50","/home/runner/work/VKUI/VKUI/src/components/FocusVisible/FocusVisible.css":"51","/home/runner/work/VKUI/VKUI/src/components/Footer/Footer.css":"52","/home/runner/work/VKUI/VKUI/src/components/FormField/FormField.css":"53","/home/runner/work/VKUI/VKUI/src/components/FormItem/FormItem.css":"54","/home/runner/work/VKUI/VKUI/src/components/FormLayout/FormLayout.css":"55","/home/runner/work/VKUI/VKUI/src/components/FormLayoutGroup/FormLayoutGroup.css":"56","/home/runner/work/VKUI/VKUI/src/components/FormStatus/FormStatus.css":"57","/home/runner/work/VKUI/VKUI/src/components/Gradient/Gradient.css":"58","/home/runner/work/VKUI/VKUI/src/components/GridAvatar/GridAvatar.css":"59","/home/runner/work/VKUI/VKUI/src/components/Group/Group.css":"60","/home/runner/work/VKUI/VKUI/src/components/Header/Header.css":"61","/home/runner/work/VKUI/VKUI/src/components/HorizontalCell/HorizontalCell.css":"62","/home/runner/work/VKUI/VKUI/src/components/HorizontalScroll/HorizontalScroll.css":"63","/home/runner/work/VKUI/VKUI/src/components/HorizontalScroll/HorizontalScrollArrow.css":"64","/home/runner/work/VKUI/VKUI/src/components/IconButton/IconButton.css":"65","/home/runner/work/VKUI/VKUI/src/components/InfoRow/InfoRow.css":"66","/home/runner/work/VKUI/VKUI/src/components/InitialsAvatar/InitialsAvatar.css":"67","/home/runner/work/VKUI/VKUI/src/components/Input/Input.css":"68","/home/runner/work/VKUI/VKUI/src/components/InputLike/InputLike.css":"69","/home/runner/work/VKUI/VKUI/src/components/InputLike/InputLikeDivider.css":"70","/home/runner/work/VKUI/VKUI/src/components/Link/Link.css":"71","/home/runner/work/VKUI/VKUI/src/components/List/List.css":"72","/home/runner/work/VKUI/VKUI/src/components/MiniInfoCell/MiniInfoCell.css":"73","/home/runner/work/VKUI/VKUI/src/components/ModalCard/ModalCard.css":"74","/home/runner/work/VKUI/VKUI/src/components/ModalCardBase/ModalCardBase.css":"75","/home/runner/work/VKUI/VKUI/src/components/ModalDismissButton/ModalDismissButton.css":"76","/home/runner/work/VKUI/VKUI/src/components/ModalPage/ModalPage.css":"77","/home/runner/work/VKUI/VKUI/src/components/ModalPageHeader/ModalPageHeader.css":"78","/home/runner/work/VKUI/VKUI/src/components/ModalRoot/ModalRoot.css":"79","/home/runner/work/VKUI/VKUI/src/components/Pagination/Pagination.css":"80","/home/runner/work/VKUI/VKUI/src/components/Panel/Panel.css":"81","/home/runner/work/VKUI/VKUI/src/components/PanelHeader/PanelHeader.css":"82","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderBack/PanelHeaderBack.css":"83","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderButton/PanelHeaderButton.css":"84","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderContent/PanelHeaderContent.css":"85","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderContext/PanelHeaderContext.css":"86","/home/runner/work/VKUI/VKUI/src/components/Placeholder/Placeholder.css":"87","/home/runner/work/VKUI/VKUI/src/components/PopoutRoot/PopoutRoot.css":"88","/home/runner/work/VKUI/VKUI/src/components/PopoutWrapper/PopoutWrapper.css":"89","/home/runner/work/VKUI/VKUI/src/components/Popper/Popper.css":"90","/home/runner/work/VKUI/VKUI/src/components/PopperArrow/PopperArrow.css":"91","/home/runner/work/VKUI/VKUI/src/components/Progress/Progress.css":"92","/home/runner/work/VKUI/VKUI/src/components/PromoBanner/PromoBanner.css":"93","/home/runner/work/VKUI/VKUI/src/components/PullToRefresh/PullToRefresh.css":"94","/home/runner/work/VKUI/VKUI/src/components/Radio/Radio.css":"95","/home/runner/work/VKUI/VKUI/src/components/RadioGroup/RadioGroup.css":"96","/home/runner/work/VKUI/VKUI/src/components/Removable/Removable.css":"97","/home/runner/work/VKUI/VKUI/src/components/RichCell/RichCell.css":"98","/home/runner/work/VKUI/VKUI/src/components/RichTooltip/RichTooltip.css":"99","/home/runner/work/VKUI/VKUI/src/components/Root/Root.css":"100","/home/runner/work/VKUI/VKUI/src/components/ScreenSpinner/ScreenSpinner.css":"101","/home/runner/work/VKUI/VKUI/src/components/Search/Search.css":"102","/home/runner/work/VKUI/VKUI/src/components/SegmentedControl/SegmentedControl.css":"103","/home/runner/work/VKUI/VKUI/src/components/Select/Select.css":"104","/home/runner/work/VKUI/VKUI/src/components/Separator/Separator.css":"105","/home/runner/work/VKUI/VKUI/src/components/SimpleCell/SimpleCell.css":"106","/home/runner/work/VKUI/VKUI/src/components/SimpleCheckbox/SimpleCheckbox.css":"107","/home/runner/work/VKUI/VKUI/src/components/Slider/Slider.css":"108","/home/runner/work/VKUI/VKUI/src/components/SliderSwitch/SliderSwitch.css":"109","/home/runner/work/VKUI/VKUI/src/components/Snackbar/Snackbar.css":"110","/home/runner/work/VKUI/VKUI/src/components/Spacing/Spacing.css":"111","/home/runner/work/VKUI/VKUI/src/components/Spinner/Spinner.css":"112","/home/runner/work/VKUI/VKUI/src/components/SplitCol/SplitCol.css":"113","/home/runner/work/VKUI/VKUI/src/components/SplitLayout/SplitLayout.css":"114","/home/runner/work/VKUI/VKUI/src/components/SubnavigationBar/SubnavigationBar.css":"115","/home/runner/work/VKUI/VKUI/src/components/SubnavigationButton/SubnavigationButton.css":"116","/home/runner/work/VKUI/VKUI/src/components/Switch/Switch.css":"117","/home/runner/work/VKUI/VKUI/src/components/Tabbar/Tabbar.css":"118","/home/runner/work/VKUI/VKUI/src/components/TabbarItem/TabbarItem.css":"119","/home/runner/work/VKUI/VKUI/src/components/Tabs/Tabs.css":"120","/home/runner/work/VKUI/VKUI/src/components/TabsItem/TabsItem.css":"121","/home/runner/work/VKUI/VKUI/src/components/Tappable/Tappable.css":"122","/home/runner/work/VKUI/VKUI/src/components/TextTooltip/TextTooltip.css":"123","/home/runner/work/VKUI/VKUI/src/components/Textarea/Textarea.css":"124","/home/runner/work/VKUI/VKUI/src/components/Tooltip/Tooltip.css":"125","/home/runner/work/VKUI/VKUI/src/components/UsersStack/UsersStack.css":"126","/home/runner/work/VKUI/VKUI/src/components/View/View.css":"127","/home/runner/work/VKUI/VKUI/src/components/View/ViewIOS.css":"128","/home/runner/work/VKUI/VKUI/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css":"129","/home/runner/work/VKUI/VKUI/src/components/WriteBar/WriteBar.css":"130","/home/runner/work/VKUI/VKUI/src/components/WriteBarIcon/WriteBarIcon.css":"131","/home/runner/work/VKUI/VKUI/src/components/Cell/CellCheckbox/CellCheckbox.css":"132","/home/runner/work/VKUI/VKUI/src/components/Cell/CellDragger/CellDragger.css":"133","/home/runner/work/VKUI/VKUI/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css":"134","/home/runner/work/VKUI/VKUI/src/components/Typography/Caption/Caption.css":"135","/home/runner/work/VKUI/VKUI/src/components/Typography/Footnote/Footnote.css":"136","/home/runner/work/VKUI/VKUI/src/components/Typography/Headline/Headline.css":"137","/home/runner/work/VKUI/VKUI/src/components/Typography/Paragraph/Paragraph.css":"138","/home/runner/work/VKUI/VKUI/src/components/Typography/Subhead/Subhead.css":"139","/home/runner/work/VKUI/VKUI/src/components/Typography/Text/Text.css":"140","/home/runner/work/VKUI/VKUI/src/components/Typography/Title/Title.css":"141"},{"size":214,"mtime":1662472119620,"hashOfConfig":"142"},{"size":205,"mtime":1662472119620,"hashOfConfig":"142"},{"size":9949,"mtime":1662472119620,"hashOfConfig":"142"},{"size":706,"mtime":1662472119620,"hashOfConfig":"142"},{"size":6989,"mtime":1662472119620,"hashOfConfig":"142"},{"size":2498,"mtime":1662472119620,"hashOfConfig":"142"},{"size":10057,"mtime":1662472119620,"hashOfConfig":"142"},{"size":895,"mtime":1662472119620,"hashOfConfig":"142"},{"size":277,"mtime":1662472119620,"hashOfConfig":"142"},{"size":10147,"mtime":1662472119620,"hashOfConfig":"142"},{"size":9990,"mtime":1662472119620,"hashOfConfig":"142"},{"size":2125,"mtime":1662472119428,"hashOfConfig":"142"},{"size":5240,"mtime":1662472119504,"hashOfConfig":"142"},{"size":5141,"mtime":1662472119504,"hashOfConfig":"142"},{"size":343,"mtime":1662472119504,"hashOfConfig":"142"},{"size":3547,"mtime":1662472119504,"hashOfConfig":"142"},{"size":326,"mtime":1662472119508,"hashOfConfig":"142"},{"size":2814,"mtime":1662472119508,"hashOfConfig":"142"},{"size":1165,"mtime":1662472119508,"hashOfConfig":"142"},{"size":20198,"mtime":1662472119508,"hashOfConfig":"142"},{"size":2225,"mtime":1662472119508,"hashOfConfig":"142"},{"size":594,"mtime":1662472119548,"hashOfConfig":"142"},{"size":1769,"mtime":1662472119548,"hashOfConfig":"142"},{"size":555,"mtime":1662472119548,"hashOfConfig":"142"},{"size":642,"mtime":1662472119548,"hashOfConfig":"142"},{"size":535,"mtime":1662472119548,"hashOfConfig":"142"},{"size":259,"mtime":1662472119552,"hashOfConfig":"142"},{"size":1631,"mtime":1662472119552,"hashOfConfig":"142"},{"size":1331,"mtime":1662472119552,"hashOfConfig":"142"},{"size":846,"mtime":1662472119552,"hashOfConfig":"142"},{"size":964,"mtime":1662472119552,"hashOfConfig":"142"},{"size":963,"mtime":1662472119552,"hashOfConfig":"142"},{"size":2288,"mtime":1662472119556,"hashOfConfig":"142"},{"size":1225,"mtime":1662472119560,"hashOfConfig":"142"},{"size":35,"mtime":1662472119560,"hashOfConfig":"142"},{"size":1348,"mtime":1662472119560,"hashOfConfig":"142"},{"size":267,"mtime":1662472119560,"hashOfConfig":"142"},{"size":781,"mtime":1662472119564,"hashOfConfig":"142"},{"size":5555,"mtime":1662472119564,"hashOfConfig":"142"},{"size":1610,"mtime":1662472119564,"hashOfConfig":"142"},{"size":367,"mtime":1662472119564,"hashOfConfig":"142"},{"size":897,"mtime":1662472119564,"hashOfConfig":"142"},{"size":1473,"mtime":1662472119564,"hashOfConfig":"142"},{"size":372,"mtime":1662472119568,"hashOfConfig":"142"},{"size":357,"mtime":1662472119568,"hashOfConfig":"142"},{"size":317,"mtime":1662472119568,"hashOfConfig":"142"},{"size":125,"mtime":1662472119568,"hashOfConfig":"142"},{"size":580,"mtime":1662472119568,"hashOfConfig":"142"},{"size":41,"mtime":1662472119568,"hashOfConfig":"142"},{"size":2152,"mtime":1662472119568,"hashOfConfig":"142"},{"size":1462,"mtime":1662472119568,"hashOfConfig":"142"},{"size":176,"mtime":1662472119568,"hashOfConfig":"142"},{"size":4385,"mtime":1662472119568,"hashOfConfig":"142"},{"size":1893,"mtime":1662472119568,"hashOfConfig":"142"},{"size":227,"mtime":1662472119572,"hashOfConfig":"142"},{"size":1264,"mtime":1662472119572,"hashOfConfig":"142"},{"size":936,"mtime":1662472119572,"hashOfConfig":"142"},{"size":673,"mtime":1662472119572,"hashOfConfig":"142"},{"size":909,"mtime":1662472119572,"hashOfConfig":"142"},{"size":2142,"mtime":1662472119572,"hashOfConfig":"142"},{"size":2655,"mtime":1662472119572,"hashOfConfig":"142"},{"size":1264,"mtime":1662472119576,"hashOfConfig":"142"},{"size":1380,"mtime":1662472119576,"hashOfConfig":"142"},{"size":1681,"mtime":1662472119576,"hashOfConfig":"142"},{"size":2491,"mtime":1662472119576,"hashOfConfig":"142"},{"size":276,"mtime":1662472119576,"hashOfConfig":"142"},{"size":1308,"mtime":1662472119576,"hashOfConfig":"142"},{"size":1371,"mtime":1662472119576,"hashOfConfig":"142"},{"size":443,"mtime":1662472119580,"hashOfConfig":"142"},{"size":100,"mtime":1662472119580,"hashOfConfig":"142"},{"size":1014,"mtime":1662472119580,"hashOfConfig":"142"},{"size":10,"mtime":1662472119580,"hashOfConfig":"142"},{"size":1476,"mtime":1662472119580,"hashOfConfig":"142"},{"size":975,"mtime":1662472119580,"hashOfConfig":"142"},{"size":2067,"mtime":1662472119580,"hashOfConfig":"142"},{"size":833,"mtime":1662472119584,"hashOfConfig":"142"},{"size":3211,"mtime":1662472119584,"hashOfConfig":"142"},{"size":513,"mtime":1662472119584,"hashOfConfig":"142"},{"size":1647,"mtime":1662472119584,"hashOfConfig":"142"},{"size":1379,"mtime":1662472119584,"hashOfConfig":"142"},{"size":2877,"mtime":1662472119588,"hashOfConfig":"142"},{"size":5276,"mtime":1662472119588,"hashOfConfig":"142"},{"size":154,"mtime":1662472119588,"hashOfConfig":"142"},{"size":1524,"mtime":1662472119588,"hashOfConfig":"142"},{"size":1834,"mtime":1662472119588,"hashOfConfig":"142"},{"size":2323,"mtime":1662472119588,"hashOfConfig":"142"},{"size":866,"mtime":1662472119588,"hashOfConfig":"142"},{"size":455,"mtime":1662472119588,"hashOfConfig":"142"},{"size":1714,"mtime":1662472119588,"hashOfConfig":"142"},{"size":963,"mtime":1662472119588,"hashOfConfig":"142"},{"size":616,"mtime":1662472119588,"hashOfConfig":"142"},{"size":283,"mtime":1662472119588,"hashOfConfig":"142"},{"size":937,"mtime":1662472119588,"hashOfConfig":"142"},{"size":2083,"mtime":1662472119588,"hashOfConfig":"142"},{"size":1844,"mtime":1662472119592,"hashOfConfig":"142"},{"size":202,"mtime":1662472119592,"hashOfConfig":"142"},{"size":2530,"mtime":1662472119592,"hashOfConfig":"142"},{"size":3121,"mtime":1662472119592,"hashOfConfig":"142"},{"size":1341,"mtime":1662472119592,"hashOfConfig":"142"},{"size":2592,"mtime":1662472119596,"hashOfConfig":"142"},{"size":1254,"mtime":1662472119596,"hashOfConfig":"142"},{"size":9040,"mtime":1662472119596,"hashOfConfig":"142"},{"size":1116,"mtime":1662472119596,"hashOfConfig":"142"},{"size":1424,"mtime":1662472119596,"hashOfConfig":"142"},{"size":857,"mtime":1662472119596,"hashOfConfig":"142"},{"size":3357,"mtime":1662472119596,"hashOfConfig":"142"},{"size":2533,"mtime":1662472119600,"hashOfConfig":"142"},{"size":1683,"mtime":1662472119600,"hashOfConfig":"142"},{"size":1686,"mtime":1662472119600,"hashOfConfig":"142"},{"size":3053,"mtime":1662472119600,"hashOfConfig":"142"},{"size":869,"mtime":1662472119600,"hashOfConfig":"142"},{"size":475,"mtime":1662472119600,"hashOfConfig":"142"},{"size":453,"mtime":1662472119600,"hashOfConfig":"142"},{"size":1015,"mtime":1662472119600,"hashOfConfig":"142"},{"size":609,"mtime":1662472119600,"hashOfConfig":"142"},{"size":3332,"mtime":1662472119600,"hashOfConfig":"142"},{"size":4496,"mtime":1662472119604,"hashOfConfig":"142"},{"size":956,"mtime":1662472119604,"hashOfConfig":"142"},{"size":2307,"mtime":1662472119604,"hashOfConfig":"142"},{"size":1117,"mtime":1662472119604,"hashOfConfig":"142"},{"size":5778,"mtime":1662472119604,"hashOfConfig":"142"},{"size":2197,"mtime":1662472119604,"hashOfConfig":"142"},{"size":1300,"mtime":1662472119604,"hashOfConfig":"142"},{"size":1138,"mtime":1662472119604,"hashOfConfig":"142"},{"size":1475,"mtime":1662472119608,"hashOfConfig":"142"},{"size":2111,"mtime":1662472119616,"hashOfConfig":"142"},{"size":1674,"mtime":1662472119616,"hashOfConfig":"142"},{"size":3097,"mtime":1662472119616,"hashOfConfig":"142"},{"size":167,"mtime":1662472119616,"hashOfConfig":"142"},{"size":1722,"mtime":1662472119616,"hashOfConfig":"142"},{"size":1229,"mtime":1662472119616,"hashOfConfig":"142"},{"size":379,"mtime":1662472119552,"hashOfConfig":"142"},{"size":105,"mtime":1662472119552,"hashOfConfig":"142"},{"size":627,"mtime":1662472119596,"hashOfConfig":"142"},{"size":3303,"mtime":1662472119608,"hashOfConfig":"142"},{"size":699,"mtime":1662472119608,"hashOfConfig":"142"},{"size":1676,"mtime":1662472119612,"hashOfConfig":"142"},{"size":419,"mtime":1662472119612,"hashOfConfig":"142"},{"size":980,"mtime":1662472119612,"hashOfConfig":"142"},{"size":1086,"mtime":1662472119612,"hashOfConfig":"142"},{"size":1346,"mtime":1662472119616,"hashOfConfig":"142"},"1qcj77v"]
1
+ [{"/home/runner/work/VKUI/VKUI/src/fonts/fonts.css":"1","/home/runner/work/VKUI/VKUI/src/styles/animations.css":"2","/home/runner/work/VKUI/VKUI/src/styles/bright_light.css":"3","/home/runner/work/VKUI/VKUI/src/styles/common.css":"4","/home/runner/work/VKUI/VKUI/src/styles/components.css":"5","/home/runner/work/VKUI/VKUI/src/styles/constants.css":"6","/home/runner/work/VKUI/VKUI/src/styles/space_gray.css":"7","/home/runner/work/VKUI/VKUI/src/styles/themes.css":"8","/home/runner/work/VKUI/VKUI/src/styles/unstable.css":"9","/home/runner/work/VKUI/VKUI/src/styles/vkcom_dark.css":"10","/home/runner/work/VKUI/VKUI/src/styles/vkcom_light.css":"11","/home/runner/work/VKUI/VKUI/src/components/ActionSheet/ActionSheet.css":"12","/home/runner/work/VKUI/VKUI/src/components/ActionSheetItem/ActionSheetItem.css":"13","/home/runner/work/VKUI/VKUI/src/components/Alert/Alert.css":"14","/home/runner/work/VKUI/VKUI/src/components/AppRoot/AppRoot.css":"15","/home/runner/work/VKUI/VKUI/src/components/Avatar/Avatar.css":"16","/home/runner/work/VKUI/VKUI/src/components/Badge/Badge.css":"17","/home/runner/work/VKUI/VKUI/src/components/Banner/Banner.css":"18","/home/runner/work/VKUI/VKUI/src/components/BaseGallery/BaseGallery.css":"19","/home/runner/work/VKUI/VKUI/src/components/Button/Button.css":"20","/home/runner/work/VKUI/VKUI/src/components/ButtonGroup/ButtonGroup.css":"21","/home/runner/work/VKUI/VKUI/src/components/Calendar/Calendar.css":"22","/home/runner/work/VKUI/VKUI/src/components/CalendarDay/CalendarDay.css":"23","/home/runner/work/VKUI/VKUI/src/components/CalendarDays/CalendarDays.css":"24","/home/runner/work/VKUI/VKUI/src/components/CalendarHeader/CalendarHeader.css":"25","/home/runner/work/VKUI/VKUI/src/components/CalendarRange/CalendarRange.css":"26","/home/runner/work/VKUI/VKUI/src/components/CalendarTime/CalendarTime.css":"27","/home/runner/work/VKUI/VKUI/src/components/Card/Card.css":"28","/home/runner/work/VKUI/VKUI/src/components/CardGrid/CardGrid.css":"29","/home/runner/work/VKUI/VKUI/src/components/CardScroll/CardScroll.css":"30","/home/runner/work/VKUI/VKUI/src/components/Cell/Cell.css":"31","/home/runner/work/VKUI/VKUI/src/components/CellButton/CellButton.css":"32","/home/runner/work/VKUI/VKUI/src/components/Checkbox/Checkbox.css":"33","/home/runner/work/VKUI/VKUI/src/components/Chip/Chip.css":"34","/home/runner/work/VKUI/VKUI/src/components/ChipsInput/ChipsInput.css":"35","/home/runner/work/VKUI/VKUI/src/components/ChipsInputBase/ChipsInputBase.css":"36","/home/runner/work/VKUI/VKUI/src/components/ChipsSelect/ChipsSelect.css":"37","/home/runner/work/VKUI/VKUI/src/components/ContentCard/ContentCard.css":"38","/home/runner/work/VKUI/VKUI/src/components/Counter/Counter.css":"39","/home/runner/work/VKUI/VKUI/src/components/CustomScrollView/CustomScrollView.css":"40","/home/runner/work/VKUI/VKUI/src/components/CustomSelect/CustomSelect.css":"41","/home/runner/work/VKUI/VKUI/src/components/CustomSelectDropdown/CustomSelectDropdown.css":"42","/home/runner/work/VKUI/VKUI/src/components/CustomSelectOption/CustomSelectOption.css":"43","/home/runner/work/VKUI/VKUI/src/components/DateInput/DateInput.css":"44","/home/runner/work/VKUI/VKUI/src/components/DatePicker/DatePicker.css":"45","/home/runner/work/VKUI/VKUI/src/components/DateRangeInput/DateRangeInput.css":"46","/home/runner/work/VKUI/VKUI/src/components/Div/Div.css":"47","/home/runner/work/VKUI/VKUI/src/components/Dropdown/Dropdown.css":"48","/home/runner/work/VKUI/VKUI/src/components/Epic/Epic.css":"49","/home/runner/work/VKUI/VKUI/src/components/FixedLayout/FixedLayout.css":"50","/home/runner/work/VKUI/VKUI/src/components/FocusVisible/FocusVisible.css":"51","/home/runner/work/VKUI/VKUI/src/components/Footer/Footer.css":"52","/home/runner/work/VKUI/VKUI/src/components/FormField/FormField.css":"53","/home/runner/work/VKUI/VKUI/src/components/FormItem/FormItem.css":"54","/home/runner/work/VKUI/VKUI/src/components/FormLayout/FormLayout.css":"55","/home/runner/work/VKUI/VKUI/src/components/FormLayoutGroup/FormLayoutGroup.css":"56","/home/runner/work/VKUI/VKUI/src/components/FormStatus/FormStatus.css":"57","/home/runner/work/VKUI/VKUI/src/components/Gradient/Gradient.css":"58","/home/runner/work/VKUI/VKUI/src/components/GridAvatar/GridAvatar.css":"59","/home/runner/work/VKUI/VKUI/src/components/Group/Group.css":"60","/home/runner/work/VKUI/VKUI/src/components/Header/Header.css":"61","/home/runner/work/VKUI/VKUI/src/components/HorizontalCell/HorizontalCell.css":"62","/home/runner/work/VKUI/VKUI/src/components/HorizontalScroll/HorizontalScroll.css":"63","/home/runner/work/VKUI/VKUI/src/components/HorizontalScroll/HorizontalScrollArrow.css":"64","/home/runner/work/VKUI/VKUI/src/components/IconButton/IconButton.css":"65","/home/runner/work/VKUI/VKUI/src/components/InfoRow/InfoRow.css":"66","/home/runner/work/VKUI/VKUI/src/components/InitialsAvatar/InitialsAvatar.css":"67","/home/runner/work/VKUI/VKUI/src/components/Input/Input.css":"68","/home/runner/work/VKUI/VKUI/src/components/InputLike/InputLike.css":"69","/home/runner/work/VKUI/VKUI/src/components/InputLike/InputLikeDivider.css":"70","/home/runner/work/VKUI/VKUI/src/components/Link/Link.css":"71","/home/runner/work/VKUI/VKUI/src/components/List/List.css":"72","/home/runner/work/VKUI/VKUI/src/components/MiniInfoCell/MiniInfoCell.css":"73","/home/runner/work/VKUI/VKUI/src/components/ModalCard/ModalCard.css":"74","/home/runner/work/VKUI/VKUI/src/components/ModalCardBase/ModalCardBase.css":"75","/home/runner/work/VKUI/VKUI/src/components/ModalDismissButton/ModalDismissButton.css":"76","/home/runner/work/VKUI/VKUI/src/components/ModalPage/ModalPage.css":"77","/home/runner/work/VKUI/VKUI/src/components/ModalPageHeader/ModalPageHeader.css":"78","/home/runner/work/VKUI/VKUI/src/components/ModalRoot/ModalRoot.css":"79","/home/runner/work/VKUI/VKUI/src/components/Pagination/Pagination.css":"80","/home/runner/work/VKUI/VKUI/src/components/Panel/Panel.css":"81","/home/runner/work/VKUI/VKUI/src/components/PanelHeader/PanelHeader.css":"82","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderBack/PanelHeaderBack.css":"83","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderButton/PanelHeaderButton.css":"84","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderContent/PanelHeaderContent.css":"85","/home/runner/work/VKUI/VKUI/src/components/PanelHeaderContext/PanelHeaderContext.css":"86","/home/runner/work/VKUI/VKUI/src/components/Placeholder/Placeholder.css":"87","/home/runner/work/VKUI/VKUI/src/components/PopoutRoot/PopoutRoot.css":"88","/home/runner/work/VKUI/VKUI/src/components/PopoutWrapper/PopoutWrapper.css":"89","/home/runner/work/VKUI/VKUI/src/components/Popper/Popper.css":"90","/home/runner/work/VKUI/VKUI/src/components/PopperArrow/PopperArrow.css":"91","/home/runner/work/VKUI/VKUI/src/components/Progress/Progress.css":"92","/home/runner/work/VKUI/VKUI/src/components/PromoBanner/PromoBanner.css":"93","/home/runner/work/VKUI/VKUI/src/components/PullToRefresh/PullToRefresh.css":"94","/home/runner/work/VKUI/VKUI/src/components/Radio/Radio.css":"95","/home/runner/work/VKUI/VKUI/src/components/RadioGroup/RadioGroup.css":"96","/home/runner/work/VKUI/VKUI/src/components/Removable/Removable.css":"97","/home/runner/work/VKUI/VKUI/src/components/RichCell/RichCell.css":"98","/home/runner/work/VKUI/VKUI/src/components/RichTooltip/RichTooltip.css":"99","/home/runner/work/VKUI/VKUI/src/components/Root/Root.css":"100","/home/runner/work/VKUI/VKUI/src/components/ScreenSpinner/ScreenSpinner.css":"101","/home/runner/work/VKUI/VKUI/src/components/Search/Search.css":"102","/home/runner/work/VKUI/VKUI/src/components/SegmentedControl/SegmentedControl.css":"103","/home/runner/work/VKUI/VKUI/src/components/Select/Select.css":"104","/home/runner/work/VKUI/VKUI/src/components/Separator/Separator.css":"105","/home/runner/work/VKUI/VKUI/src/components/SimpleCell/SimpleCell.css":"106","/home/runner/work/VKUI/VKUI/src/components/SimpleCheckbox/SimpleCheckbox.css":"107","/home/runner/work/VKUI/VKUI/src/components/Slider/Slider.css":"108","/home/runner/work/VKUI/VKUI/src/components/SliderSwitch/SliderSwitch.css":"109","/home/runner/work/VKUI/VKUI/src/components/Snackbar/Snackbar.css":"110","/home/runner/work/VKUI/VKUI/src/components/Spacing/Spacing.css":"111","/home/runner/work/VKUI/VKUI/src/components/Spinner/Spinner.css":"112","/home/runner/work/VKUI/VKUI/src/components/SplitCol/SplitCol.css":"113","/home/runner/work/VKUI/VKUI/src/components/SplitLayout/SplitLayout.css":"114","/home/runner/work/VKUI/VKUI/src/components/SubnavigationBar/SubnavigationBar.css":"115","/home/runner/work/VKUI/VKUI/src/components/SubnavigationButton/SubnavigationButton.css":"116","/home/runner/work/VKUI/VKUI/src/components/Switch/Switch.css":"117","/home/runner/work/VKUI/VKUI/src/components/Tabbar/Tabbar.css":"118","/home/runner/work/VKUI/VKUI/src/components/TabbarItem/TabbarItem.css":"119","/home/runner/work/VKUI/VKUI/src/components/Tabs/Tabs.css":"120","/home/runner/work/VKUI/VKUI/src/components/TabsItem/TabsItem.css":"121","/home/runner/work/VKUI/VKUI/src/components/Tappable/Tappable.css":"122","/home/runner/work/VKUI/VKUI/src/components/TextTooltip/TextTooltip.css":"123","/home/runner/work/VKUI/VKUI/src/components/Textarea/Textarea.css":"124","/home/runner/work/VKUI/VKUI/src/components/Tooltip/Tooltip.css":"125","/home/runner/work/VKUI/VKUI/src/components/UsersStack/UsersStack.css":"126","/home/runner/work/VKUI/VKUI/src/components/View/View.css":"127","/home/runner/work/VKUI/VKUI/src/components/View/ViewIOS.css":"128","/home/runner/work/VKUI/VKUI/src/components/VisuallyHiddenInput/VisuallyHiddenInput.css":"129","/home/runner/work/VKUI/VKUI/src/components/WriteBar/WriteBar.css":"130","/home/runner/work/VKUI/VKUI/src/components/WriteBarIcon/WriteBarIcon.css":"131","/home/runner/work/VKUI/VKUI/src/components/Cell/CellCheckbox/CellCheckbox.css":"132","/home/runner/work/VKUI/VKUI/src/components/Cell/CellDragger/CellDragger.css":"133","/home/runner/work/VKUI/VKUI/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css":"134","/home/runner/work/VKUI/VKUI/src/components/Typography/Caption/Caption.css":"135","/home/runner/work/VKUI/VKUI/src/components/Typography/Footnote/Footnote.css":"136","/home/runner/work/VKUI/VKUI/src/components/Typography/Headline/Headline.css":"137","/home/runner/work/VKUI/VKUI/src/components/Typography/Paragraph/Paragraph.css":"138","/home/runner/work/VKUI/VKUI/src/components/Typography/Subhead/Subhead.css":"139","/home/runner/work/VKUI/VKUI/src/components/Typography/Text/Text.css":"140","/home/runner/work/VKUI/VKUI/src/components/Typography/Title/Title.css":"141"},{"size":214,"mtime":1663340405381,"hashOfConfig":"142"},{"size":205,"mtime":1663340405385,"hashOfConfig":"142"},{"size":9949,"mtime":1663340405385,"hashOfConfig":"142"},{"size":706,"mtime":1663340405385,"hashOfConfig":"142"},{"size":6989,"mtime":1663340405385,"hashOfConfig":"142"},{"size":2498,"mtime":1663340405385,"hashOfConfig":"142"},{"size":10057,"mtime":1663340405385,"hashOfConfig":"142"},{"size":895,"mtime":1663340405385,"hashOfConfig":"142"},{"size":277,"mtime":1663340405385,"hashOfConfig":"142"},{"size":10147,"mtime":1663340405385,"hashOfConfig":"142"},{"size":9990,"mtime":1663340405385,"hashOfConfig":"142"},{"size":2125,"mtime":1663340405197,"hashOfConfig":"142"},{"size":5240,"mtime":1663340405289,"hashOfConfig":"142"},{"size":5141,"mtime":1663340405289,"hashOfConfig":"142"},{"size":343,"mtime":1663340405289,"hashOfConfig":"142"},{"size":3547,"mtime":1663340405289,"hashOfConfig":"142"},{"size":326,"mtime":1663340405289,"hashOfConfig":"142"},{"size":2814,"mtime":1663340405289,"hashOfConfig":"142"},{"size":1165,"mtime":1663340405293,"hashOfConfig":"142"},{"size":20198,"mtime":1663340405293,"hashOfConfig":"142"},{"size":2225,"mtime":1663340405293,"hashOfConfig":"142"},{"size":594,"mtime":1663340405309,"hashOfConfig":"142"},{"size":1769,"mtime":1663340405313,"hashOfConfig":"142"},{"size":555,"mtime":1663340405313,"hashOfConfig":"142"},{"size":642,"mtime":1663340405313,"hashOfConfig":"142"},{"size":535,"mtime":1663340405313,"hashOfConfig":"142"},{"size":259,"mtime":1663340405313,"hashOfConfig":"142"},{"size":1631,"mtime":1663340405313,"hashOfConfig":"142"},{"size":1331,"mtime":1663340405313,"hashOfConfig":"142"},{"size":846,"mtime":1663340405313,"hashOfConfig":"142"},{"size":964,"mtime":1663340405313,"hashOfConfig":"142"},{"size":963,"mtime":1663340405317,"hashOfConfig":"142"},{"size":2288,"mtime":1663340405317,"hashOfConfig":"142"},{"size":1225,"mtime":1663340405321,"hashOfConfig":"142"},{"size":35,"mtime":1663340405321,"hashOfConfig":"142"},{"size":1348,"mtime":1663340405321,"hashOfConfig":"142"},{"size":267,"mtime":1663340405321,"hashOfConfig":"142"},{"size":781,"mtime":1663340405321,"hashOfConfig":"142"},{"size":5555,"mtime":1663340405321,"hashOfConfig":"142"},{"size":1610,"mtime":1663340405325,"hashOfConfig":"142"},{"size":367,"mtime":1663340405325,"hashOfConfig":"142"},{"size":897,"mtime":1663340405325,"hashOfConfig":"142"},{"size":1473,"mtime":1663340405325,"hashOfConfig":"142"},{"size":372,"mtime":1663340405325,"hashOfConfig":"142"},{"size":357,"mtime":1663340405325,"hashOfConfig":"142"},{"size":317,"mtime":1663340405325,"hashOfConfig":"142"},{"size":125,"mtime":1663340405329,"hashOfConfig":"142"},{"size":580,"mtime":1663340405329,"hashOfConfig":"142"},{"size":41,"mtime":1663340405329,"hashOfConfig":"142"},{"size":2152,"mtime":1663340405329,"hashOfConfig":"142"},{"size":1462,"mtime":1663340405329,"hashOfConfig":"142"},{"size":176,"mtime":1663340405329,"hashOfConfig":"142"},{"size":4385,"mtime":1663340405329,"hashOfConfig":"142"},{"size":1893,"mtime":1663340405329,"hashOfConfig":"142"},{"size":227,"mtime":1663340405329,"hashOfConfig":"142"},{"size":1264,"mtime":1663340405329,"hashOfConfig":"142"},{"size":936,"mtime":1663340405329,"hashOfConfig":"142"},{"size":673,"mtime":1663340405329,"hashOfConfig":"142"},{"size":909,"mtime":1663340405329,"hashOfConfig":"142"},{"size":2142,"mtime":1663340405329,"hashOfConfig":"142"},{"size":2655,"mtime":1663340405333,"hashOfConfig":"142"},{"size":1264,"mtime":1663340405333,"hashOfConfig":"142"},{"size":1380,"mtime":1663340405333,"hashOfConfig":"142"},{"size":1681,"mtime":1663340405333,"hashOfConfig":"142"},{"size":2491,"mtime":1663340405337,"hashOfConfig":"142"},{"size":276,"mtime":1663340405337,"hashOfConfig":"142"},{"size":1308,"mtime":1663340405337,"hashOfConfig":"142"},{"size":1371,"mtime":1663340405337,"hashOfConfig":"142"},{"size":443,"mtime":1663340405337,"hashOfConfig":"142"},{"size":100,"mtime":1663340405337,"hashOfConfig":"142"},{"size":1014,"mtime":1663340405337,"hashOfConfig":"142"},{"size":10,"mtime":1663340405337,"hashOfConfig":"142"},{"size":1476,"mtime":1663340405337,"hashOfConfig":"142"},{"size":975,"mtime":1663340405341,"hashOfConfig":"142"},{"size":2067,"mtime":1663340405341,"hashOfConfig":"142"},{"size":833,"mtime":1663340405341,"hashOfConfig":"142"},{"size":3211,"mtime":1663340405341,"hashOfConfig":"142"},{"size":513,"mtime":1663340405341,"hashOfConfig":"142"},{"size":1647,"mtime":1663340405349,"hashOfConfig":"142"},{"size":1379,"mtime":1663340405349,"hashOfConfig":"142"},{"size":2877,"mtime":1663340405349,"hashOfConfig":"142"},{"size":5373,"mtime":1663340405353,"hashOfConfig":"142"},{"size":154,"mtime":1663340405353,"hashOfConfig":"142"},{"size":1524,"mtime":1663340405353,"hashOfConfig":"142"},{"size":1834,"mtime":1663340405353,"hashOfConfig":"142"},{"size":2323,"mtime":1663340405353,"hashOfConfig":"142"},{"size":866,"mtime":1663340405353,"hashOfConfig":"142"},{"size":455,"mtime":1663340405353,"hashOfConfig":"142"},{"size":1714,"mtime":1663340405353,"hashOfConfig":"142"},{"size":963,"mtime":1663340405353,"hashOfConfig":"142"},{"size":616,"mtime":1663340405353,"hashOfConfig":"142"},{"size":283,"mtime":1663340405353,"hashOfConfig":"142"},{"size":937,"mtime":1663340405353,"hashOfConfig":"142"},{"size":2083,"mtime":1663340405353,"hashOfConfig":"142"},{"size":1844,"mtime":1663340405353,"hashOfConfig":"142"},{"size":202,"mtime":1663340405357,"hashOfConfig":"142"},{"size":2530,"mtime":1663340405357,"hashOfConfig":"142"},{"size":3121,"mtime":1663340405357,"hashOfConfig":"142"},{"size":1341,"mtime":1663340405357,"hashOfConfig":"142"},{"size":2592,"mtime":1663340405357,"hashOfConfig":"142"},{"size":1254,"mtime":1663340405361,"hashOfConfig":"142"},{"size":9040,"mtime":1663340405361,"hashOfConfig":"142"},{"size":1116,"mtime":1663340405361,"hashOfConfig":"142"},{"size":1424,"mtime":1663340405361,"hashOfConfig":"142"},{"size":857,"mtime":1663340405361,"hashOfConfig":"142"},{"size":3357,"mtime":1663340405361,"hashOfConfig":"142"},{"size":2533,"mtime":1663340405365,"hashOfConfig":"142"},{"size":1683,"mtime":1663340405365,"hashOfConfig":"142"},{"size":1686,"mtime":1663340405365,"hashOfConfig":"142"},{"size":3053,"mtime":1663340405365,"hashOfConfig":"142"},{"size":869,"mtime":1663340405365,"hashOfConfig":"142"},{"size":475,"mtime":1663340405365,"hashOfConfig":"142"},{"size":453,"mtime":1663340405365,"hashOfConfig":"142"},{"size":1015,"mtime":1663340405365,"hashOfConfig":"142"},{"size":609,"mtime":1663340405365,"hashOfConfig":"142"},{"size":3332,"mtime":1663340405365,"hashOfConfig":"142"},{"size":4496,"mtime":1663340405365,"hashOfConfig":"142"},{"size":956,"mtime":1663340405369,"hashOfConfig":"142"},{"size":2307,"mtime":1663340405369,"hashOfConfig":"142"},{"size":1117,"mtime":1663340405369,"hashOfConfig":"142"},{"size":5778,"mtime":1663340405369,"hashOfConfig":"142"},{"size":2197,"mtime":1663340405369,"hashOfConfig":"142"},{"size":1300,"mtime":1663340405369,"hashOfConfig":"142"},{"size":1138,"mtime":1663340405369,"hashOfConfig":"142"},{"size":1475,"mtime":1663340405373,"hashOfConfig":"142"},{"size":2111,"mtime":1663340405377,"hashOfConfig":"142"},{"size":1674,"mtime":1663340405381,"hashOfConfig":"142"},{"size":3097,"mtime":1663340405381,"hashOfConfig":"142"},{"size":167,"mtime":1663340405381,"hashOfConfig":"142"},{"size":1722,"mtime":1663340405381,"hashOfConfig":"142"},{"size":1229,"mtime":1663340405381,"hashOfConfig":"142"},{"size":379,"mtime":1663340405313,"hashOfConfig":"142"},{"size":105,"mtime":1663340405313,"hashOfConfig":"142"},{"size":627,"mtime":1663340405361,"hashOfConfig":"142"},{"size":3303,"mtime":1663340405373,"hashOfConfig":"142"},{"size":699,"mtime":1663340405373,"hashOfConfig":"142"},{"size":1676,"mtime":1663340405373,"hashOfConfig":"142"},{"size":419,"mtime":1663340405377,"hashOfConfig":"142"},{"size":980,"mtime":1663340405377,"hashOfConfig":"142"},{"size":1086,"mtime":1663340405377,"hashOfConfig":"142"},{"size":1346,"mtime":1663340405377,"hashOfConfig":"142"},"1qcj77v"]
@@ -806,7 +806,7 @@
806
806
  "signature": "da767ddb9006cf326c65025ff199f700c129b509d4e6a38fb3ec4f1993f70eca"
807
807
  },
808
808
  "../src/components/AppRoot/ScrollContext.tsx": {
809
- "version": "9ff65e505f1f5bc0afbef4b1e891397467ccecc0a46db61f416b3d88853e108a",
809
+ "version": "8f1361e8bc4f4c0812e17f562d1732e8e71bdfda21a89c9ac727bdd3babdf364",
810
810
  "signature": "ea8f8f1885b4dd8019b91b84802d487203ac27d1341d1465c2cba301324a5ce3"
811
811
  },
812
812
  "../src/components/SplitCol/SplitCol.tsx": {
@@ -914,7 +914,7 @@
914
914
  "signature": "140f114921466842827a6e6b9bb2e685660265f32704824842e781cc6db89d6a"
915
915
  },
916
916
  "../src/components/View/View.tsx": {
917
- "version": "1e1df8c7fc6cf67b761dc30eb8ed0626bb912a95e4dc1088706e7be10469ea14",
917
+ "version": "0f9eb229fbc8f225442d21c685b9201301a7d559d24c84a9c2f952db31baba31",
918
918
  "signature": "a868ff1f7f6fa91df96a926fd2f1fb27d5c18b85191343757e5e8ebf4d683e56"
919
919
  },
920
920
  "../src/components/Tooltip/TooltipContainer.tsx": {
@@ -994,7 +994,7 @@
994
994
  "signature": "7e16c36963726a390cd0534fdf5d18a44a00615b365ede71b841106ece2ae97a"
995
995
  },
996
996
  "../src/components/FixedLayout/FixedLayout.tsx": {
997
- "version": "b8e36ee189bc7701313e29efc67f77df76f64bfd30cebcc22c36ab580df453a4",
997
+ "version": "24a6fcdba75dda9ac4ca228d86c63f3c03739798f4255fc2d5b3849f48692fb8",
998
998
  "signature": "918baa6e7a3ae44b0eae41c498ecfee2da82529366c7ebea97b7db5674dceac3"
999
999
  },
1000
1000
  "../src/components/Separator/Separator.tsx": {
@@ -9674,7 +9674,7 @@
9674
9674
  "signature": "ef48f2d57e6fc20fd2ceb54997240be039ecb4ea540044f3ff870ab1a1b92919"
9675
9675
  },
9676
9676
  "../src/components/ModalRoot/ModalRoot.tsx": {
9677
- "version": "edd39f352959fd6385edb8076cb018aef21efe2224f8e5d3165cceeed41d4459",
9677
+ "version": "6de0f85aded38059e1718177ff06a209dab86c1f5a5a438c4eacfe4b674ee449",
9678
9678
  "signature": "1714081eb773e1f9d0b9c1860aad58a4fd0a8dddc5791c8b3d70bc63677f031f"
9679
9679
  },
9680
9680
  "../src/components/ModalRoot/ModalRootDesktop.tsx": {
@@ -9890,11 +9890,11 @@
9890
9890
  "signature": "45be78c33704cc12dca2f27323c71671b73c8756112fe85162c91f664c05cd00"
9891
9891
  },
9892
9892
  "../src/components/WriteBar/WriteBar.tsx": {
9893
- "version": "10565fb1019350bb50336a25e7631926a06b2a061ca342b5652db410fcbff84c",
9893
+ "version": "a5d3f997f716680cfa8a8d90f2c8d6d754660f327f7981ff489ebe511d767a50",
9894
9894
  "signature": "5726bbae6826c89ac719769305ec186f856ee4938fb22e2245629864b0de3c51"
9895
9895
  },
9896
9896
  "../src/components/WriteBarIcon/WriteBarIcon.tsx": {
9897
- "version": "3844f14020fc2fda06d51d0bf217cdf96601b5d9e70f795a29738311f64c1d5d",
9897
+ "version": "4121d029173ce9c98ebbbe7eb29ae104a590539d59b49d28d48275a6194de341",
9898
9898
  "signature": "dfd2613f618a108a23432371e0db24d0892e3212336bc54c4c960fb55f89c927"
9899
9899
  },
9900
9900
  "../src/components/SubnavigationBar/SubnavigationBar.tsx": {
@@ -0,0 +1 @@
1
+ export declare const tabbarHeight = 48;
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import { PopupDirection, ToggleRef } from "./types";
3
+ import "./ActionSheet.css";
4
+ export interface ActionSheetProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ header?: React.ReactNode;
6
+ text?: React.ReactNode;
7
+ /**
8
+ * Закрыть попап по клику снаружи. В v5 будет обязательным.
9
+ */
10
+ onClose?: VoidFunction;
11
+ /**
12
+ * Элемент, рядом с которым вылезает попап на десктопе.
13
+ * Лучше передавать RefObject c current.
14
+ * В v5 будет обязательным.
15
+ */
16
+ toggleRef?: ToggleRef;
17
+ /**
18
+ * Направление на десктопе
19
+ */
20
+ popupDirection?: PopupDirection;
21
+ /**
22
+ * Только iOS. В v5 будет обязательным.
23
+ */
24
+ iosCloseItem?: React.ReactNode;
25
+ }
26
+ /**
27
+ * @see https://vkcom.github.io/VKUI/#/ActionSheet
28
+ */
29
+ export declare const ActionSheet: ({ children, className, header, text, style, iosCloseItem, popupDirection, ...restProps }: ActionSheetProps) => JSX.Element;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export declare type ActionType<T> = (event: React.MouseEvent<T>) => void;
3
+ export declare type ItemClickHandler<T extends Element = Element> = (action: ActionType<T> | undefined, immediateAction: ActionType<T> | undefined, autoclose: boolean) => (event: React.MouseEvent) => void;
4
+ export declare type ActionSheetContextType<T extends Element = Element> = {
5
+ onItemClick?: ItemClickHandler<T>;
6
+ isDesktop?: boolean;
7
+ };
8
+ export declare const ActionSheetContext: React.Context<ActionSheetContextType<any>>;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { ActionSheetItemProps } from "../ActionSheetItem/ActionSheetItem";
3
+ export declare const ActionSheetDefaultIosCloseItem: (props: ActionSheetItemProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { SharedDropdownProps } from "./types";
3
+ import "./ActionSheet.css";
4
+ export declare const ActionSheetDropdown: ({ children, closing, toggleRef, popupDirection, ...restProps }: SharedDropdownProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { SharedDropdownProps } from "./types";
3
+ import "./ActionSheet.css";
4
+ export declare const ActionSheetDropdownDesktop: ({ children, toggleRef, closing, popupDirection, onClose, className, style, ...restProps }: SharedDropdownProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { FocusTrapProps } from "../FocusTrap/FocusTrap";
3
+ export declare type PopupDirection = "top" | "bottom" | ((elRef: React.RefObject<HTMLDivElement>) => "top" | "bottom");
4
+ export declare type ToggleRef = Element | null | undefined | React.RefObject<Element>;
5
+ export interface SharedDropdownProps extends React.AllHTMLAttributes<HTMLElement>, FocusTrapProps {
6
+ closing: boolean;
7
+ toggleRef: ToggleRef;
8
+ popupDirection: PopupDirection;
9
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import { AdaptivityProps } from "../../hoc/withAdaptivity";
3
+ import "./ActionSheetItem.css";
4
+ export interface ActionSheetItemProps extends React.HTMLAttributes<HTMLElement>, React.AnchorHTMLAttributes<HTMLElement>, Pick<React.InputHTMLAttributes<HTMLInputElement>, "name" | "checked" | "value">, AdaptivityProps {
5
+ mode?: "default" | "destructive" | "cancel";
6
+ before?: React.ReactNode;
7
+ meta?: React.ReactNode;
8
+ subtitle?: React.ReactNode;
9
+ autoclose?: boolean;
10
+ selectable?: boolean;
11
+ disabled?: boolean;
12
+ /**
13
+ * Все текстовые элементы при необходимости занимают несколько строк
14
+ */
15
+ multiline?: boolean;
16
+ /**
17
+ * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.
18
+ * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.
19
+ * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.
20
+ */
21
+ onClick?: React.MouseEventHandler<HTMLElement>;
22
+ onImmediateClick?: React.MouseEventHandler<HTMLElement>;
23
+ }
24
+ /**
25
+ * @see https://vkcom.github.io/VKUI/#/ActionSheetItem
26
+ */
27
+ export declare const ActionSheetItem: React.FC<Pick<ActionSheetItemProps, "disabled" | "media" | "hidden" | "dir" | "meta" | "slot" | "style" | "title" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "name" | "target" | "type" | "role" | "tabIndex" | "href" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "hrefLang" | "referrerPolicy" | "rel" | "value" | "download" | "ping" | "checked" | "before" | "autoclose" | "subtitle" | "selectable" | "onImmediateClick" | "multiline"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -0,0 +1,46 @@
1
+ import * as React from "react";
2
+ export declare enum SizeType {
3
+ COMPACT = "compact",
4
+ REGULAR = "regular"
5
+ }
6
+ export declare enum ViewWidth {
7
+ SMALL_MOBILE = 1,
8
+ MOBILE = 2,
9
+ SMALL_TABLET = 3,
10
+ TABLET = 4,
11
+ DESKTOP = 5
12
+ }
13
+ export declare enum ViewHeight {
14
+ EXTRA_SMALL = 1,
15
+ SMALL = 2,
16
+ MEDIUM = 3
17
+ }
18
+ export interface SizeProps {
19
+ sizeX?: SizeType;
20
+ sizeY?: SizeType;
21
+ }
22
+ export interface AdaptivityProps extends SizeProps {
23
+ /**
24
+ * @ignore
25
+ */
26
+ viewWidth?: ViewWidth;
27
+ /**
28
+ * @ignore
29
+ */
30
+ viewHeight?: ViewHeight;
31
+ /**
32
+ * @ignore
33
+ */
34
+ hasMouse?: boolean;
35
+ /**
36
+ * @ignore
37
+ */
38
+ deviceHasHover?: boolean;
39
+ }
40
+ export interface AdaptivityContextInterface extends SizeProps {
41
+ viewWidth: ViewWidth;
42
+ viewHeight: ViewHeight;
43
+ hasMouse: boolean;
44
+ deviceHasHover: boolean;
45
+ }
46
+ export declare const AdaptivityContext: React.Context<AdaptivityContextInterface>;
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ import { AdaptivityProps } from "./AdaptivityContext";
3
+ export declare const DESKTOP_SIZE = 1280;
4
+ export declare const TABLET_SIZE = 1024;
5
+ export declare const SMALL_TABLET_SIZE = 768;
6
+ export declare const MOBILE_SIZE = 320;
7
+ export declare const MOBILE_LANDSCAPE_HEIGHT = 414;
8
+ export declare const MEDIUM_HEIGHT = 720;
9
+ export interface AdaptivityProviderProps extends AdaptivityProps {
10
+ children?: React.ReactNode;
11
+ }
12
+ /**
13
+ * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider
14
+ */
15
+ export declare const AdaptivityProvider: (props: AdaptivityProviderProps) => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import { ButtonProps } from "../Button/Button";
3
+ import "./Alert.css";
4
+ export declare type AlertActionInterface = AlertAction & React.AnchorHTMLAttributes<HTMLElement>;
5
+ export interface AlertAction extends Pick<ButtonProps, "Component" | "href"> {
6
+ title: string;
7
+ action?: VoidFunction;
8
+ autoclose?: boolean;
9
+ mode: "cancel" | "destructive" | "default";
10
+ }
11
+ export interface AlertProps extends React.HTMLAttributes<HTMLElement> {
12
+ actionsLayout?: "vertical" | "horizontal";
13
+ actions?: AlertAction[];
14
+ header?: React.ReactNode;
15
+ text?: React.ReactNode;
16
+ onClose?: VoidFunction;
17
+ /**
18
+ * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.
19
+ */
20
+ dismissLabel?: string;
21
+ }
22
+ /**
23
+ * @see https://vkcom.github.io/VKUI/#/Alert
24
+ */
25
+ export declare const Alert: ({ actions, actionsLayout, children, className, style, text, header, onClose, dismissLabel, ...restProps }: AlertProps) => JSX.Element;
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import { AdaptivityProps } from "../../hoc/withAdaptivity";
3
+ import "./AppRoot.css";
4
+ export interface AppRootProps extends React.HTMLAttributes<HTMLDivElement>, Pick<AdaptivityProps, "sizeX" | "hasMouse"> {
5
+ /** @deprecated Use mode="embedded" */
6
+ embedded?: boolean;
7
+ /** Режим встраивания */
8
+ mode?: "partial" | "embedded" | "full";
9
+ window?: Window;
10
+ /** Убирает классы без префикса (.Button) */
11
+ noLegacyClasses?: boolean;
12
+ scroll?: "global" | "contain";
13
+ /** Элемент используемый в качестве root для порталов
14
+ * При передаче своего элемента необходимо задать ему class="vkui__portal-root" и добавить в DOM
15
+ */
16
+ portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;
17
+ /** Disable portal for components */
18
+ disablePortal?: boolean;
19
+ }
20
+ /**
21
+ * @see https://vkcom.github.io/VKUI/#/AppRoot
22
+ */
23
+ export declare const AppRoot: React.FC<Pick<AppRootProps, "window" | "hidden" | "dir" | "slot" | "style" | "title" | "scroll" | "color" | "translate" | "prefix" | "children" | "className" | "id" | "lang" | "role" | "tabIndex" | "mode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "embedded" | "portalRoot" | "disablePortal" | "noLegacyClasses"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface AppRootContextInterface {
3
+ appRoot?: React.RefObject<HTMLDivElement>;
4
+ portalRoot?: HTMLDivElement | null;
5
+ embedded?: boolean;
6
+ mode?: "partial" | "embedded" | "full";
7
+ keyboardInput?: boolean;
8
+ disablePortal?: boolean;
9
+ }
10
+ export declare const AppRootContext: React.Context<AppRootContextInterface>;
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ export interface AppRootPortalProps {
3
+ className?: string;
4
+ forcePortal?: boolean;
5
+ children?: React.ReactNode;
6
+ }
7
+ export declare const AppRootPortal: ({ children, className, forcePortal, }: AppRootPortalProps) => JSX.Element;
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ export interface ScrollContextInterface {
3
+ getScroll(this: void): {
4
+ x: number;
5
+ y: number;
6
+ };
7
+ scrollTo(this: void, x?: number, y?: number): void;
8
+ isScrollLock: boolean;
9
+ enableScrollLock(this: void): void;
10
+ disableScrollLock(this: void): void;
11
+ beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;
12
+ }
13
+ export declare const ScrollContext: React.Context<ScrollContextInterface>;
14
+ export declare const useScroll: () => ScrollContextInterface;
15
+ export interface ScrollControllerProps {
16
+ elRef: React.RefObject<HTMLElement>;
17
+ children?: React.ReactNode;
18
+ }
19
+ export declare const GlobalScrollController: ({ children }: ScrollControllerProps) => JSX.Element;
20
+ export declare const ElementScrollController: ({ elRef, children, }: ScrollControllerProps) => JSX.Element;
21
+ /**
22
+ * Вызывает функцию effect, до блокировки прокрутки
23
+ * @param effect функция, которая может возвращать функцию очистки
24
+ * @param deps effect обновится только при изменении значений в списке.
25
+ */
26
+ export declare const useScrollLockEffect: (effect: React.EffectCallback, deps: React.DependencyList) => void;
27
+ export declare const useScrollLock: (enabled?: boolean) => void;
@@ -34,6 +34,14 @@ var clearDisableScrollStyle = function clearDisableScrollStyle(node) {
34
34
  });
35
35
  };
36
36
 
37
+ var getPageYOffsetWithoutKeyboardHeight = function getPageYOffsetWithoutKeyboardHeight(window) {
38
+ // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.
39
+ // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,
40
+ // то надо задать `box-sizing: border-box`, чтобы они не учитывались.
41
+ var diffOfClientHeightAndViewportHeight = window.document.documentElement.clientHeight - window.innerHeight;
42
+ return window.pageYOffset - diffOfClientHeightAndViewportHeight;
43
+ };
44
+
37
45
  var ScrollContext = /*#__PURE__*/React.createContext({
38
46
  getScroll: function getScroll() {
39
47
  return {
@@ -70,7 +78,7 @@ var GlobalScrollController = function GlobalScrollController(_ref) {
70
78
  var getScroll = React.useCallback(function () {
71
79
  return {
72
80
  x: window.pageXOffset,
73
- y: window.pageYOffset
81
+ y: getPageYOffsetWithoutKeyboardHeight(window)
74
82
  };
75
83
  }, [window]);
76
84
  var scrollTo = React.useCallback(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollContext.js","names":["clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","useDOM","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","innerHeight","current","forEach","fn","scrollY","scrollX","documentElement","clientWidth","clientHeight","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled","useIsomorphicLayoutEffect"],"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({ x: window!.pageXOffset, y: window!.pageYOffset }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScrollContext.js","names":["clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","ScrollContext","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","useDOM","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","current","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","ElementScrollController","elRef","scrollLeft","scrollTop","el","useScrollLockEffect","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","useScrollLock","enabled","useIsomorphicLayoutEffect"],"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { noop } from \"../../lib/utils\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { clamp } from \"../../helpers/math\";\nimport { useDOM } from \"../../lib/dom\";\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: \"\",\n top: \"\",\n left: \"\",\n right: \"\",\n overflowY: \"\",\n overflowX: \"\",\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps {\n elRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: window!.pageXOffset,\n y: getPageYOffsetWithoutKeyboardHeight(window!),\n }),\n [window]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0\n );\n },\n [document, window]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY =\n window!.innerWidth > document!.documentElement.clientWidth\n ? \"scroll\"\n : \"\";\n const overflowX =\n window!.innerHeight > document!.documentElement.clientHeight\n ? \"scroll\"\n : \"\";\n\n Object.assign(document!.body.style, {\n position: \"fixed\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [document, window]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const scrollY = document!.body.style.top;\n const scrollX = document!.body.style.left;\n\n clearDisableScrollStyle(document!.body);\n window!.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [document, window]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n\n beforeScrollLockFnSetRef: beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\nexport const ElementScrollController = ({\n elRef,\n children,\n}: ScrollControllerProps) => {\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface[\"getScroll\"]>(\n () => ({\n x: elRef.current?.scrollLeft ?? 0,\n y: elRef.current?.scrollTop ?? 0,\n }),\n [elRef]\n );\n const scrollTo = React.useCallback<ScrollContextInterface[\"scrollTo\"]>(\n (x = 0, y = 0) => {\n const el = elRef.current;\n // Some iOS versions do not normalize scroll — do it manually.\n el?.scrollTo(\n x ? clamp(x, 0, el.scrollWidth - el.clientWidth) : 0,\n y ? clamp(y, 0, el.scrollHeight - el.clientHeight) : 0\n );\n },\n [elRef]\n );\n\n const enableScrollLock = React.useCallback<\n ScrollContextInterface[\"enableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = el.scrollTop;\n const scrollX = el.scrollLeft;\n const overflowY = el.scrollWidth > el.clientWidth ? \"scroll\" : \"\";\n const overflowX = el.scrollHeight > el.clientHeight ? \"scroll\" : \"\";\n\n Object.assign(el.style, {\n position: \"absolute\",\n top: `-${scrollY}px`,\n left: `-${scrollX}px`,\n right: \"0\",\n overflowY,\n overflowX,\n });\n setScrollLock(true);\n }, [elRef]);\n\n const disableScrollLock = React.useCallback<\n ScrollContextInterface[\"disableScrollLock\"]\n >(() => {\n const el = elRef.current;\n if (!el) {\n return;\n }\n\n const scrollY = el.style.top;\n const scrollX = el.style.left;\n\n clearDisableScrollStyle(el);\n el.scrollTo(-parseInt(scrollX || \"0\"), -parseInt(scrollY || \"0\"));\n setScrollLock(false);\n }, [elRef]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () => ({\n getScroll,\n scrollTo,\n isScrollLock,\n disableScrollLock,\n enableScrollLock,\n beforeScrollLockFnSetRef,\n }),\n [getScroll, scrollTo, isScrollLock, disableScrollLock, enableScrollLock]\n );\n\n return (\n <ScrollContext.Provider value={scrollController}>\n {children}\n </ScrollContext.Provider>\n );\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (\n effect: React.EffectCallback,\n deps: React.DependencyList\n) => {\n const destructorRef = React.useRef<ReturnType<React.EffectCallback>>(noop);\n const { isScrollLock, beforeScrollLockFnSetRef } = useScroll();\n\n // Изменяем effectCallback только при изменении deps\n const effectCallback = React.useCallback(() => {\n destructorRef.current = effect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n\n // Добавляем effectCallback в список функций, которые необходимо вызвать\n // до блокировки\n React.useEffect(() => {\n const beforeSet = beforeScrollLockFnSetRef?.current;\n if (!beforeSet) {\n return noop;\n }\n\n beforeSet.add(effectCallback);\n\n return () => {\n beforeSet.delete(effectCallback);\n };\n }, [beforeScrollLockFnSetRef, effectCallback]);\n\n // Вызываем сбрасывающую функцию, после отключения блокировки\n React.useEffect(() => {\n if (!isScrollLock && destructorRef.current) {\n destructorRef.current();\n }\n }, [isScrollLock]);\n};\n\nexport const useScrollLock = (enabled = true) => {\n const { enableScrollLock, disableScrollLock } = useScroll();\n useIsomorphicLayoutEffect(() => {\n if (enabled) {\n enableScrollLock();\n return disableScrollLock;\n }\n return noop;\n }, [enableScrollLock, disableScrollLock, enabled]);\n};\n"],"mappings":"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"}