@vkontakte/vkui 4.33.4 → 4.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1594) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +544 -475
  4. package/.cache/ts/src/components/ActionSheet/ActionSheet.d.ts +1 -1
  5. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  6. package/.cache/ts/src/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  7. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  8. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  9. package/.cache/ts/src/components/Alert/Alert.d.ts +1 -1
  10. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +7 -1
  11. package/.cache/ts/src/components/AppRoot/AppRootContext.d.ts +1 -0
  12. package/.cache/ts/src/components/AppRoot/AppRootPortal.d.ts +4 -2
  13. package/.cache/ts/src/components/AppRoot/ScrollContext.d.ts +7 -6
  14. package/.cache/ts/src/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  15. package/.cache/ts/src/components/Avatar/Avatar.d.ts +1 -1
  16. package/.cache/ts/src/components/Badge/Badge.d.ts +1 -1
  17. package/.cache/ts/src/components/BaseGallery/helpers.d.ts +2 -2
  18. package/.cache/ts/src/components/BaseGallery/types.d.ts +1 -1
  19. package/.cache/ts/src/components/Button/Button.d.ts +1 -1
  20. package/.cache/ts/src/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  21. package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
  22. package/.cache/ts/src/components/CalendarDay/CalendarDay.d.ts +1 -1
  23. package/.cache/ts/src/components/CalendarDays/CalendarDays.d.ts +1 -1
  24. package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  25. package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
  26. package/.cache/ts/src/components/CalendarTime/CalendarTime.d.ts +2 -2
  27. package/.cache/ts/src/components/Card/Card.d.ts +1 -1
  28. package/.cache/ts/src/components/CardGrid/CardGrid.d.ts +8 -2
  29. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +1 -1
  30. package/.cache/ts/src/components/Cell/Cell.d.ts +2 -2
  31. package/.cache/ts/src/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  32. package/.cache/ts/src/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  33. package/.cache/ts/src/components/CellButton/CellButton.d.ts +2 -2
  34. package/.cache/ts/src/components/Checkbox/Checkbox.d.ts +2 -2
  35. package/.cache/ts/src/components/Chip/Chip.d.ts +1 -1
  36. package/.cache/ts/src/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  37. package/.cache/ts/src/components/ClickPopper/ClickPopper.d.ts +1 -1
  38. package/.cache/ts/src/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  39. package/.cache/ts/src/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  40. package/.cache/ts/src/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  41. package/.cache/ts/src/components/CustomSelect/CustomSelect.d.ts +4 -3
  42. package/.cache/ts/src/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  43. package/.cache/ts/src/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  44. package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
  45. package/.cache/ts/src/components/DatePicker/DatePicker.d.ts +1 -1
  46. package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  47. package/.cache/ts/src/components/Div/Div.d.ts +1 -1
  48. package/.cache/ts/src/components/Dropdown/Dropdown.d.ts +2 -2
  49. package/.cache/ts/src/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  50. package/.cache/ts/src/components/Epic/Epic.d.ts +1 -1
  51. package/.cache/ts/src/components/Epic/ScrollSaver.d.ts +2 -1
  52. package/.cache/ts/src/components/File/File.d.ts +1 -1
  53. package/.cache/ts/src/components/FixedLayout/FixedLayout.d.ts +1 -1
  54. package/.cache/ts/src/components/FocusTrap/FocusTrap.d.ts +1 -1
  55. package/.cache/ts/src/components/Footer/Footer.d.ts +1 -1
  56. package/.cache/ts/src/components/FormField/FormField.d.ts +3 -3
  57. package/.cache/ts/src/components/FormItem/FormItem.d.ts +1 -1
  58. package/.cache/ts/src/components/FormLayout/FormLayout.d.ts +1 -1
  59. package/.cache/ts/src/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  60. package/.cache/ts/src/components/FormStatus/FormStatus.d.ts +1 -1
  61. package/.cache/ts/src/components/Gradient/Gradient.d.ts +7 -1
  62. package/.cache/ts/src/components/Group/Group.d.ts +2 -1
  63. package/.cache/ts/src/components/Header/Header.d.ts +1 -1
  64. package/.cache/ts/src/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  65. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  66. package/.cache/ts/src/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  67. package/.cache/ts/src/components/HoverPopper/HoverPopper.d.ts +1 -1
  68. package/.cache/ts/src/components/IconButton/IconButton.d.ts +1 -1
  69. package/.cache/ts/src/components/InfoRow/InfoRow.d.ts +1 -1
  70. package/.cache/ts/src/components/Input/Input.d.ts +1 -1
  71. package/.cache/ts/src/components/InputLike/InputLike.d.ts +4 -1
  72. package/.cache/ts/src/components/InputLike/InputLikeDivider.d.ts +1 -1
  73. package/.cache/ts/src/components/Link/Link.d.ts +8 -3
  74. package/.cache/ts/src/components/List/List.d.ts +1 -1
  75. package/.cache/ts/src/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  76. package/.cache/ts/src/components/ModalCard/ModalCard.d.ts +1 -1
  77. package/.cache/ts/src/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  78. package/.cache/ts/src/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  79. package/.cache/ts/src/components/ModalPage/ModalPage.d.ts +1 -1
  80. package/.cache/ts/src/components/ModalRoot/ModalRoot.d.ts +2 -1
  81. package/.cache/ts/src/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  82. package/.cache/ts/src/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  83. package/.cache/ts/src/components/ModalRoot/useModalManager.d.ts +2 -1
  84. package/.cache/ts/src/components/NativeSelect/NativeSelect.d.ts +1 -1
  85. package/.cache/ts/src/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  86. package/.cache/ts/src/components/Pagination/Pagination.d.ts +1 -1
  87. package/.cache/ts/src/components/Panel/Panel.d.ts +1 -1
  88. package/.cache/ts/src/components/PanelHeader/PanelHeader.d.ts +1 -1
  89. package/.cache/ts/src/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  90. package/.cache/ts/src/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  91. package/.cache/ts/src/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  92. package/.cache/ts/src/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  93. package/.cache/ts/src/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  94. package/.cache/ts/src/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  95. package/.cache/ts/src/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  96. package/.cache/ts/src/components/Placeholder/Placeholder.d.ts +1 -1
  97. package/.cache/ts/src/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  98. package/.cache/ts/src/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  99. package/.cache/ts/src/components/Popper/Popper.d.ts +1 -1
  100. package/.cache/ts/src/components/Progress/Progress.d.ts +1 -1
  101. package/.cache/ts/src/components/PromoBanner/PromoBanner.d.ts +1 -1
  102. package/.cache/ts/src/components/Radio/Radio.d.ts +1 -1
  103. package/.cache/ts/src/components/RadioGroup/RadioGroup.d.ts +1 -1
  104. package/.cache/ts/src/components/RangeSlider/RangeSlider.d.ts +2 -2
  105. package/.cache/ts/src/components/RangeSlider/UniversalSlider.d.ts +1 -1
  106. package/.cache/ts/src/components/Removable/Removable.d.ts +1 -1
  107. package/.cache/ts/src/components/RichCell/RichCell.d.ts +18 -9
  108. package/.cache/ts/src/components/RichTooltip/RichTooltip.d.ts +2 -2
  109. package/.cache/ts/src/components/Root/Root.d.ts +1 -1
  110. package/.cache/ts/src/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  111. package/.cache/ts/src/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  112. package/.cache/ts/src/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  113. package/.cache/ts/src/components/Search/Search.d.ts +1 -1
  114. package/.cache/ts/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  115. package/.cache/ts/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  116. package/.cache/ts/src/components/Select/Select.d.ts +2 -2
  117. package/.cache/ts/src/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  118. package/.cache/ts/src/components/Separator/Separator.d.ts +2 -2
  119. package/.cache/ts/src/components/SimpleCell/SimpleCell.d.ts +1 -1
  120. package/.cache/ts/src/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  121. package/.cache/ts/src/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  122. package/.cache/ts/src/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  123. package/.cache/ts/src/components/Snackbar/Snackbar.d.ts +2 -2
  124. package/.cache/ts/src/components/Spacing/Spacing.d.ts +1 -1
  125. package/.cache/ts/src/components/SplitCol/SplitCol.d.ts +1 -1
  126. package/.cache/ts/src/components/SplitLayout/SplitLayout.d.ts +1 -1
  127. package/.cache/ts/src/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  128. package/.cache/ts/src/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  129. package/.cache/ts/src/components/Switch/Switch.d.ts +2 -2
  130. package/.cache/ts/src/components/Tabbar/Tabbar.d.ts +1 -1
  131. package/.cache/ts/src/components/TabbarItem/TabbarItem.d.ts +1 -1
  132. package/.cache/ts/src/components/Tabs/Tabs.d.ts +1 -1
  133. package/.cache/ts/src/components/TabsItem/TabsItem.d.ts +1 -1
  134. package/.cache/ts/src/components/Tappable/Tappable.d.ts +1 -1
  135. package/.cache/ts/src/components/TextTooltip/TextTooltip.d.ts +1 -1
  136. package/.cache/ts/src/components/Textarea/Textarea.d.ts +1 -1
  137. package/.cache/ts/src/components/Tooltip/Tooltip.d.ts +3 -2
  138. package/.cache/ts/src/components/Touch/Touch.d.ts +1 -1
  139. package/.cache/ts/src/components/Typography/Caption/Caption.d.ts +1 -1
  140. package/.cache/ts/src/components/Typography/Headline/Headline.d.ts +1 -1
  141. package/.cache/ts/src/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  142. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +1 -1
  143. package/.cache/ts/src/components/Typography/Text/Text.d.ts +1 -1
  144. package/.cache/ts/src/components/Typography/Title/Title.d.ts +1 -1
  145. package/.cache/ts/src/components/View/View.d.ts +1 -1
  146. package/.cache/ts/src/components/View/ViewInfinite.d.ts +1 -1
  147. package/.cache/ts/src/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  148. package/.cache/ts/src/components/WriteBar/WriteBar.d.ts +1 -1
  149. package/.cache/ts/src/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  150. package/.cache/ts/src/hoc/withAdaptivity.d.ts +1 -1
  151. package/.cache/ts/src/hoc/withContext.d.ts +1 -1
  152. package/.cache/ts/src/hoc/withInsets.d.ts +1 -1
  153. package/.cache/ts/src/hoc/withPlatform.d.ts +1 -1
  154. package/.cache/ts/src/hooks/useEnsuredControl.d.ts +2 -1
  155. package/.cache/ts/src/index.d.ts +1 -1
  156. package/.cache/ts/src/lib/SSR.d.ts +2 -1
  157. package/.cache/ts/src/testing/utils.d.ts +3 -2
  158. package/.cache/ts/src/tokenized/index.d.ts +28 -0
  159. package/.cache/ts/src/types.d.ts +3 -0
  160. package/.eslintignore +1 -0
  161. package/.eslintrc.json +4 -1
  162. package/.prettierignore +1 -1
  163. package/README.md +3 -4
  164. package/dist/cjs/components/ActionSheet/ActionSheet.js +4 -4
  165. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  166. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  167. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  168. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  169. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  170. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  171. package/dist/cjs/components/AppRoot/AppRoot.js +27 -8
  172. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  173. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  174. package/dist/cjs/components/AppRoot/AppRootPortal.js +3 -2
  175. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  176. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  177. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  178. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  179. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  180. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  181. package/dist/cjs/components/BaseGallery/BaseGallery.js +9 -9
  182. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  183. package/dist/cjs/components/BaseGallery/helpers.js +8 -8
  184. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  185. package/dist/cjs/components/Button/Button.js +27 -27
  186. package/dist/cjs/components/Button/Button.js.map +1 -1
  187. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +4 -2
  188. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  189. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  190. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  191. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  192. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  193. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  194. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  195. package/dist/cjs/components/Card/Card.js.map +1 -1
  196. package/dist/cjs/components/CardGrid/CardGrid.js +15 -19
  197. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  198. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  199. package/dist/cjs/components/Cell/Cell.js +3 -11
  200. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  201. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  202. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  203. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  204. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  205. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  206. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  207. package/dist/cjs/components/ClickPopper/ClickPopper.js.map +1 -1
  208. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +24 -22
  209. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  210. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +36 -5
  211. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  212. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js +90 -0
  213. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  214. package/dist/cjs/components/CustomSelect/CustomSelect.js +7 -3
  215. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  216. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  217. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  218. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  219. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  220. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  221. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  222. package/dist/cjs/components/Div/Div.js.map +1 -1
  223. package/dist/cjs/components/Dropdown/Dropdown.js +1 -6
  224. package/dist/cjs/components/Dropdown/Dropdown.js.map +1 -1
  225. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  226. package/dist/cjs/components/Epic/Epic.js +10 -10
  227. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  228. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  229. package/dist/cjs/components/File/File.js.map +1 -1
  230. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  231. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  232. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  233. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  234. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  235. package/dist/cjs/components/FormLayout/FormLayout.js +8 -8
  236. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  237. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  238. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  239. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  240. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  241. package/dist/cjs/components/Group/Group.js +28 -19
  242. package/dist/cjs/components/Group/Group.js.map +1 -1
  243. package/dist/cjs/components/Header/Header.js.map +1 -1
  244. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  245. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +12 -9
  246. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  247. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js +33 -11
  248. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  249. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  250. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  251. package/dist/cjs/components/Input/Input.js.map +1 -1
  252. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  253. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  254. package/dist/cjs/components/Link/Link.js +8 -10
  255. package/dist/cjs/components/Link/Link.js.map +1 -1
  256. package/dist/cjs/components/List/List.js +1 -9
  257. package/dist/cjs/components/List/List.js.map +1 -1
  258. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js +14 -26
  259. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  260. package/dist/cjs/components/ModalCard/ModalCard.js +2 -5
  261. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  262. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -13
  263. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  264. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  265. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  266. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  267. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  268. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  269. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  270. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  271. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  272. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  273. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  274. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  275. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  276. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  277. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  278. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  279. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  280. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  281. package/dist/cjs/components/Placeholder/Placeholder.js +10 -13
  282. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  283. package/dist/cjs/components/PopoutRoot/PopoutRoot.js +9 -9
  284. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  285. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  286. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  287. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  288. package/dist/cjs/components/PromoBanner/PromoBanner.js +9 -8
  289. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  290. package/dist/cjs/components/Radio/Radio.js +8 -8
  291. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  292. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  294. package/dist/cjs/components/RangeSlider/UniversalSlider.js.map +1 -1
  295. package/dist/cjs/components/Removable/Removable.js +2 -4
  296. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  297. package/dist/cjs/components/RichCell/RichCell.js +25 -25
  298. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  299. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  300. package/dist/cjs/components/Root/Root.js.map +1 -1
  301. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js +31 -0
  302. package/dist/cjs/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  303. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js +32 -0
  304. package/dist/cjs/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  305. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js +28 -8
  306. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  307. package/dist/cjs/components/Search/Search.js.map +1 -1
  308. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  309. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  310. package/dist/cjs/components/Select/Select.js.map +1 -1
  311. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  312. package/dist/cjs/components/Separator/Separator.js +2 -1
  313. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  314. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  315. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  316. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  317. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  318. package/dist/cjs/components/SliderSwitch/SliderSwitch.js +1 -1
  319. package/dist/cjs/components/SliderSwitch/SliderSwitch.js.map +1 -1
  320. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js +6 -6
  321. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  322. package/dist/cjs/components/Snackbar/Snackbar.js +13 -16
  323. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  324. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  325. package/dist/cjs/components/SplitCol/SplitCol.js +11 -11
  326. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  327. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  328. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  329. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +11 -13
  330. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  331. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  332. package/dist/cjs/components/Tabbar/Tabbar.js +3 -6
  333. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  334. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  335. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  336. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  337. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  338. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  339. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  340. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  341. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  342. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  343. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  344. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  345. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  346. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  347. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  348. package/dist/cjs/components/WriteBar/WriteBar.js +12 -12
  349. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  350. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  351. package/dist/cjs/helpers/scheme.js +4 -4
  352. package/dist/cjs/helpers/scheme.js.map +1 -1
  353. package/dist/cjs/hoc/withAdaptivity.js.map +1 -1
  354. package/dist/cjs/hoc/withContext.js.map +1 -1
  355. package/dist/cjs/hoc/withInsets.js.map +1 -1
  356. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  357. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  358. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  359. package/dist/cjs/index.js +2 -4
  360. package/dist/cjs/index.js.map +1 -1
  361. package/dist/cjs/lib/SSR.js +4 -4
  362. package/dist/cjs/lib/SSR.js.map +1 -1
  363. package/dist/cjs/lib/classScopingMode.js +1 -0
  364. package/dist/cjs/lib/classScopingMode.js.map +1 -1
  365. package/dist/cjs/lib/dom.js.map +1 -1
  366. package/dist/cjs/tokenized/index.js +112 -0
  367. package/dist/cjs/tokenized/index.js.map +1 -1
  368. package/dist/components/ActionSheet/ActionSheet.d.ts +1 -1
  369. package/dist/components/ActionSheet/ActionSheet.js +4 -4
  370. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  371. package/dist/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  372. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  373. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  374. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  375. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  376. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  377. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  378. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  379. package/dist/components/Alert/Alert.d.ts +1 -1
  380. package/dist/components/Alert/Alert.js.map +1 -1
  381. package/dist/components/AppRoot/AppRoot.d.ts +7 -1
  382. package/dist/components/AppRoot/AppRoot.js +26 -8
  383. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  384. package/dist/components/AppRoot/AppRootContext.d.ts +1 -0
  385. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  386. package/dist/components/AppRoot/AppRootPortal.d.ts +4 -2
  387. package/dist/components/AppRoot/AppRootPortal.js +3 -2
  388. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  389. package/dist/components/AppRoot/ScrollContext.d.ts +7 -6
  390. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  391. package/dist/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  392. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  393. package/dist/components/Avatar/Avatar.d.ts +1 -1
  394. package/dist/components/Avatar/Avatar.js.map +1 -1
  395. package/dist/components/Badge/Badge.d.ts +1 -1
  396. package/dist/components/Badge/Badge.js.map +1 -1
  397. package/dist/components/Banner/Banner.js.map +1 -1
  398. package/dist/components/BaseGallery/BaseGallery.js +7 -7
  399. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  400. package/dist/components/BaseGallery/helpers.d.ts +2 -2
  401. package/dist/components/BaseGallery/helpers.js +8 -8
  402. package/dist/components/BaseGallery/helpers.js.map +1 -1
  403. package/dist/components/BaseGallery/types.d.ts +1 -1
  404. package/dist/components/Button/Button.d.ts +1 -1
  405. package/dist/components/Button/Button.js +27 -27
  406. package/dist/components/Button/Button.js.map +1 -1
  407. package/dist/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  408. package/dist/components/ButtonGroup/ButtonGroup.js +4 -2
  409. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
  410. package/dist/components/Calendar/Calendar.d.ts +1 -1
  411. package/dist/components/Calendar/Calendar.js.map +1 -1
  412. package/dist/components/CalendarDay/CalendarDay.d.ts +1 -1
  413. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  414. package/dist/components/CalendarDays/CalendarDays.d.ts +1 -1
  415. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  416. package/dist/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  417. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  418. package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
  419. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  420. package/dist/components/CalendarTime/CalendarTime.d.ts +2 -2
  421. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  422. package/dist/components/Card/Card.d.ts +1 -1
  423. package/dist/components/Card/Card.js.map +1 -1
  424. package/dist/components/CardGrid/CardGrid.d.ts +8 -2
  425. package/dist/components/CardGrid/CardGrid.js +13 -14
  426. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  427. package/dist/components/CardScroll/CardScroll.d.ts +1 -1
  428. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  429. package/dist/components/Cell/Cell.d.ts +2 -2
  430. package/dist/components/Cell/Cell.js +4 -11
  431. package/dist/components/Cell/Cell.js.map +1 -1
  432. package/dist/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  433. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  434. package/dist/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  435. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  436. package/dist/components/CellButton/CellButton.d.ts +2 -2
  437. package/dist/components/CellButton/CellButton.js.map +1 -1
  438. package/dist/components/Checkbox/Checkbox.d.ts +2 -2
  439. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  440. package/dist/components/Chip/Chip.d.ts +1 -1
  441. package/dist/components/Chip/Chip.js.map +1 -1
  442. package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  443. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  444. package/dist/components/ClickPopper/ClickPopper.d.ts +1 -1
  445. package/dist/components/ClickPopper/ClickPopper.js.map +1 -1
  446. package/dist/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  447. package/dist/components/ConfigProvider/ConfigProvider.js +25 -21
  448. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  449. package/dist/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  450. package/dist/components/CustomScrollView/CustomScrollView.js +33 -4
  451. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  452. package/dist/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  453. package/dist/components/CustomScrollView/useTrackerVisibility.js +75 -0
  454. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  455. package/dist/components/CustomSelect/CustomSelect.d.ts +4 -3
  456. package/dist/components/CustomSelect/CustomSelect.js +7 -3
  457. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  458. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  459. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  460. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  461. package/dist/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  462. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  463. package/dist/components/DateInput/DateInput.d.ts +1 -1
  464. package/dist/components/DateInput/DateInput.js.map +1 -1
  465. package/dist/components/DatePicker/DatePicker.d.ts +1 -1
  466. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  467. package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  468. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  469. package/dist/components/Div/Div.d.ts +1 -1
  470. package/dist/components/Div/Div.js.map +1 -1
  471. package/dist/components/Dropdown/Dropdown.d.ts +2 -2
  472. package/dist/components/Dropdown/Dropdown.js +1 -4
  473. package/dist/components/Dropdown/Dropdown.js.map +1 -1
  474. package/dist/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  475. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  476. package/dist/components/Epic/Epic.d.ts +1 -1
  477. package/dist/components/Epic/Epic.js +10 -10
  478. package/dist/components/Epic/Epic.js.map +1 -1
  479. package/dist/components/Epic/ScrollSaver.d.ts +2 -1
  480. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  481. package/dist/components/File/File.d.ts +1 -1
  482. package/dist/components/File/File.js.map +1 -1
  483. package/dist/components/FixedLayout/FixedLayout.d.ts +1 -1
  484. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  485. package/dist/components/FocusTrap/FocusTrap.d.ts +1 -1
  486. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  487. package/dist/components/Footer/Footer.d.ts +1 -1
  488. package/dist/components/Footer/Footer.js.map +1 -1
  489. package/dist/components/FormField/FormField.d.ts +3 -3
  490. package/dist/components/FormField/FormField.js.map +1 -1
  491. package/dist/components/FormItem/FormItem.d.ts +1 -1
  492. package/dist/components/FormItem/FormItem.js.map +1 -1
  493. package/dist/components/FormLayout/FormLayout.d.ts +1 -1
  494. package/dist/components/FormLayout/FormLayout.js +8 -8
  495. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  496. package/dist/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  497. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  498. package/dist/components/FormStatus/FormStatus.d.ts +1 -1
  499. package/dist/components/FormStatus/FormStatus.js.map +1 -1
  500. package/dist/components/Gallery/Gallery.js.map +1 -1
  501. package/dist/components/Gradient/Gradient.d.ts +7 -1
  502. package/dist/components/Gradient/Gradient.js.map +1 -1
  503. package/dist/components/Group/Group.d.ts +2 -1
  504. package/dist/components/Group/Group.js +27 -19
  505. package/dist/components/Group/Group.js.map +1 -1
  506. package/dist/components/Header/Header.d.ts +1 -1
  507. package/dist/components/Header/Header.js.map +1 -1
  508. package/dist/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  509. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  510. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  511. package/dist/components/HorizontalScroll/HorizontalScroll.js +9 -5
  512. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  513. package/dist/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  514. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  515. package/dist/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  516. package/dist/components/HoverPopper/HoverPopper.d.ts +1 -1
  517. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  518. package/dist/components/IconButton/IconButton.d.ts +1 -1
  519. package/dist/components/InfoRow/InfoRow.d.ts +1 -1
  520. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  521. package/dist/components/Input/Input.d.ts +1 -1
  522. package/dist/components/Input/Input.js.map +1 -1
  523. package/dist/components/InputLike/InputLike.d.ts +4 -1
  524. package/dist/components/InputLike/InputLike.js.map +1 -1
  525. package/dist/components/InputLike/InputLikeDivider.d.ts +1 -1
  526. package/dist/components/InputLike/InputLikeDivider.js.map +1 -1
  527. package/dist/components/Link/Link.d.ts +8 -3
  528. package/dist/components/Link/Link.js +8 -9
  529. package/dist/components/Link/Link.js.map +1 -1
  530. package/dist/components/List/List.d.ts +1 -1
  531. package/dist/components/List/List.js +1 -8
  532. package/dist/components/List/List.js.map +1 -1
  533. package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  534. package/dist/components/MiniInfoCell/MiniInfoCell.js +13 -23
  535. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  536. package/dist/components/ModalCard/ModalCard.d.ts +1 -1
  537. package/dist/components/ModalCard/ModalCard.js +2 -5
  538. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  539. package/dist/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  540. package/dist/components/ModalCardBase/ModalCardBase.js +5 -14
  541. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  542. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  543. package/dist/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  544. package/dist/components/ModalPage/ModalPage.d.ts +1 -1
  545. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  546. package/dist/components/ModalRoot/ModalRoot.d.ts +2 -1
  547. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  548. package/dist/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  549. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  550. package/dist/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  551. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  552. package/dist/components/ModalRoot/useModalManager.d.ts +2 -1
  553. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  554. package/dist/components/NativeSelect/NativeSelect.d.ts +1 -1
  555. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  556. package/dist/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  557. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  558. package/dist/components/Pagination/Pagination.d.ts +1 -1
  559. package/dist/components/Pagination/Pagination.js.map +1 -1
  560. package/dist/components/Panel/Panel.d.ts +1 -1
  561. package/dist/components/PanelHeader/PanelHeader.d.ts +1 -1
  562. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  563. package/dist/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  564. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  565. package/dist/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  566. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  567. package/dist/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  568. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  569. package/dist/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  570. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  571. package/dist/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  572. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  573. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  574. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  575. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  576. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  577. package/dist/components/Placeholder/Placeholder.d.ts +1 -1
  578. package/dist/components/Placeholder/Placeholder.js +10 -13
  579. package/dist/components/Placeholder/Placeholder.js.map +1 -1
  580. package/dist/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  581. package/dist/components/PopoutRoot/PopoutRoot.js +9 -9
  582. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  583. package/dist/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  584. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  585. package/dist/components/Popper/Popper.d.ts +1 -1
  586. package/dist/components/Popper/Popper.js.map +1 -1
  587. package/dist/components/Progress/Progress.d.ts +1 -1
  588. package/dist/components/Progress/Progress.js.map +1 -1
  589. package/dist/components/PromoBanner/PromoBanner.d.ts +1 -1
  590. package/dist/components/PromoBanner/PromoBanner.js +10 -10
  591. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  592. package/dist/components/Radio/Radio.d.ts +1 -1
  593. package/dist/components/Radio/Radio.js +8 -8
  594. package/dist/components/Radio/Radio.js.map +1 -1
  595. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  596. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  597. package/dist/components/RangeSlider/RangeSlider.d.ts +2 -2
  598. package/dist/components/RangeSlider/RangeSlider.js.map +1 -1
  599. package/dist/components/RangeSlider/UniversalSlider.d.ts +1 -1
  600. package/dist/components/RangeSlider/UniversalSlider.js.map +1 -1
  601. package/dist/components/Removable/Removable.d.ts +1 -1
  602. package/dist/components/Removable/Removable.js +3 -4
  603. package/dist/components/Removable/Removable.js.map +1 -1
  604. package/dist/components/RichCell/RichCell.d.ts +18 -9
  605. package/dist/components/RichCell/RichCell.js +25 -21
  606. package/dist/components/RichCell/RichCell.js.map +1 -1
  607. package/dist/components/RichTooltip/RichTooltip.d.ts +2 -2
  608. package/dist/components/RichTooltip/RichTooltip.js.map +1 -1
  609. package/dist/components/Root/Root.d.ts +1 -1
  610. package/dist/components/Root/Root.js.map +1 -1
  611. package/dist/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  612. package/dist/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  613. package/dist/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  614. package/dist/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  615. package/dist/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  616. package/dist/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  617. package/dist/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  618. package/dist/components/ScreenSpinner/ScreenSpinner.js +25 -7
  619. package/dist/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  620. package/dist/components/Search/Search.d.ts +1 -1
  621. package/dist/components/Search/Search.js.map +1 -1
  622. package/dist/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  623. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  624. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  625. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  626. package/dist/components/Select/Select.d.ts +2 -2
  627. package/dist/components/Select/Select.js.map +1 -1
  628. package/dist/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  629. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  630. package/dist/components/Separator/Separator.d.ts +2 -2
  631. package/dist/components/Separator/Separator.js +2 -1
  632. package/dist/components/Separator/Separator.js.map +1 -1
  633. package/dist/components/SimpleCell/SimpleCell.d.ts +1 -1
  634. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  635. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  636. package/dist/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  637. package/dist/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  638. package/dist/components/Slider/Slider.js.map +1 -1
  639. package/dist/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  640. package/dist/components/SliderSwitch/SliderSwitch.js +1 -1
  641. package/dist/components/SliderSwitch/SliderSwitch.js.map +1 -1
  642. package/dist/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  643. package/dist/components/SliderSwitch/SliderSwitchButton.js +6 -6
  644. package/dist/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  645. package/dist/components/Snackbar/Snackbar.d.ts +2 -2
  646. package/dist/components/Snackbar/Snackbar.js +13 -16
  647. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  648. package/dist/components/Spacing/Spacing.d.ts +1 -1
  649. package/dist/components/Spacing/Spacing.js.map +1 -1
  650. package/dist/components/SplitCol/SplitCol.d.ts +1 -1
  651. package/dist/components/SplitCol/SplitCol.js +11 -11
  652. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  653. package/dist/components/SplitLayout/SplitLayout.d.ts +1 -1
  654. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  655. package/dist/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  656. package/dist/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  657. package/dist/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  658. package/dist/components/SubnavigationButton/SubnavigationButton.js +12 -15
  659. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  660. package/dist/components/Switch/Switch.d.ts +2 -2
  661. package/dist/components/Switch/Switch.js.map +1 -1
  662. package/dist/components/Tabbar/Tabbar.d.ts +1 -1
  663. package/dist/components/Tabbar/Tabbar.js +2 -5
  664. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  665. package/dist/components/TabbarItem/TabbarItem.d.ts +1 -1
  666. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  667. package/dist/components/Tabs/Tabs.d.ts +1 -1
  668. package/dist/components/Tabs/Tabs.js.map +1 -1
  669. package/dist/components/TabsItem/TabsItem.d.ts +1 -1
  670. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  671. package/dist/components/Tappable/Tappable.d.ts +1 -1
  672. package/dist/components/TextTooltip/TextTooltip.d.ts +1 -1
  673. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  674. package/dist/components/Textarea/Textarea.d.ts +1 -1
  675. package/dist/components/Textarea/Textarea.js.map +1 -1
  676. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  677. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  678. package/dist/components/Touch/Touch.d.ts +1 -1
  679. package/dist/components/Touch/Touch.js.map +1 -1
  680. package/dist/components/Typography/Caption/Caption.d.ts +1 -1
  681. package/dist/components/Typography/Caption/Caption.js.map +1 -1
  682. package/dist/components/Typography/Headline/Headline.d.ts +1 -1
  683. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  684. package/dist/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  685. package/dist/components/Typography/Paragraph/Paragraph.js.map +1 -1
  686. package/dist/components/Typography/Subhead/Subhead.d.ts +1 -1
  687. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  688. package/dist/components/Typography/Text/Text.d.ts +1 -1
  689. package/dist/components/Typography/Text/Text.js.map +1 -1
  690. package/dist/components/Typography/Title/Title.d.ts +1 -1
  691. package/dist/components/Typography/Title/Title.js.map +1 -1
  692. package/dist/components/View/View.d.ts +1 -1
  693. package/dist/components/View/ViewInfinite.d.ts +1 -1
  694. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  695. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  696. package/dist/components/WriteBar/WriteBar.d.ts +1 -1
  697. package/dist/components/WriteBar/WriteBar.js +13 -14
  698. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  699. package/dist/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  700. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  701. package/dist/components.css +18 -11
  702. package/dist/components.css.map +1 -1
  703. package/dist/cssm/components/ActionSheet/ActionSheet.d.ts +1 -1
  704. package/dist/cssm/components/ActionSheet/ActionSheet.js +4 -4
  705. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  706. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.d.ts +2 -2
  707. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  708. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +2 -2
  709. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  710. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.d.ts +1 -1
  711. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  712. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.d.ts +3 -1
  713. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  714. package/dist/cssm/components/Alert/Alert.d.ts +1 -1
  715. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  716. package/dist/cssm/components/AppRoot/AppRoot.d.ts +7 -1
  717. package/dist/cssm/components/AppRoot/AppRoot.js +26 -8
  718. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  719. package/dist/cssm/components/AppRoot/AppRootContext.d.ts +1 -0
  720. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  721. package/dist/cssm/components/AppRoot/AppRootPortal.d.ts +4 -2
  722. package/dist/cssm/components/AppRoot/AppRootPortal.js +3 -2
  723. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  724. package/dist/cssm/components/AppRoot/ScrollContext.d.ts +7 -6
  725. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  726. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.d.ts +2 -1
  727. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  728. package/dist/cssm/components/Avatar/Avatar.css +1 -1
  729. package/dist/cssm/components/Avatar/Avatar.d.ts +1 -1
  730. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  731. package/dist/cssm/components/Badge/Badge.d.ts +1 -1
  732. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  733. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  734. package/dist/cssm/components/BaseGallery/BaseGallery.js +7 -7
  735. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  736. package/dist/cssm/components/BaseGallery/helpers.d.ts +2 -2
  737. package/dist/cssm/components/BaseGallery/helpers.js +8 -8
  738. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  739. package/dist/cssm/components/BaseGallery/types.d.ts +1 -1
  740. package/dist/cssm/components/Button/Button.d.ts +1 -1
  741. package/dist/cssm/components/Button/Button.js +27 -27
  742. package/dist/cssm/components/Button/Button.js.map +1 -1
  743. package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
  744. package/dist/cssm/components/ButtonGroup/ButtonGroup.d.ts +3 -3
  745. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +4 -2
  746. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  747. package/dist/cssm/components/Calendar/Calendar.css +1 -1
  748. package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
  749. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  750. package/dist/cssm/components/CalendarDay/CalendarDay.d.ts +1 -1
  751. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  752. package/dist/cssm/components/CalendarDays/CalendarDays.d.ts +1 -1
  753. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  754. package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +1 -1
  755. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  756. package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
  757. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  758. package/dist/cssm/components/CalendarTime/CalendarTime.d.ts +2 -2
  759. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  760. package/dist/cssm/components/Card/Card.d.ts +1 -1
  761. package/dist/cssm/components/Card/Card.js.map +1 -1
  762. package/dist/cssm/components/CardGrid/CardGrid.css +1 -1
  763. package/dist/cssm/components/CardGrid/CardGrid.d.ts +8 -2
  764. package/dist/cssm/components/CardGrid/CardGrid.js +13 -14
  765. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  766. package/dist/cssm/components/CardScroll/CardScroll.d.ts +1 -1
  767. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  768. package/dist/cssm/components/Cell/Cell.css +3 -1
  769. package/dist/cssm/components/Cell/Cell.d.ts +2 -2
  770. package/dist/cssm/components/Cell/Cell.js +4 -11
  771. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  772. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.d.ts +1 -1
  773. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  774. package/dist/cssm/components/Cell/CellDragger/CellDragger.d.ts +1 -1
  775. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  776. package/dist/cssm/components/CellButton/CellButton.d.ts +2 -2
  777. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  778. package/dist/cssm/components/Checkbox/Checkbox.d.ts +2 -2
  779. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  780. package/dist/cssm/components/Chip/Chip.d.ts +1 -1
  781. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  782. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +1 -1
  783. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  784. package/dist/cssm/components/ClickPopper/ClickPopper.d.ts +1 -1
  785. package/dist/cssm/components/ClickPopper/ClickPopper.js.map +1 -1
  786. package/dist/cssm/components/ConfigProvider/ConfigProvider.d.ts +2 -1
  787. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +25 -21
  788. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  789. package/dist/cssm/components/CustomScrollView/CustomScrollView.css +1 -1
  790. package/dist/cssm/components/CustomScrollView/CustomScrollView.d.ts +4 -3
  791. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +33 -4
  792. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  793. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.d.ts +43 -0
  794. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +75 -0
  795. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -0
  796. package/dist/cssm/components/CustomSelect/CustomSelect.d.ts +4 -3
  797. package/dist/cssm/components/CustomSelect/CustomSelect.js +7 -3
  798. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  799. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +3 -2
  800. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +6 -2
  801. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  802. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.d.ts +1 -1
  803. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  804. package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
  805. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  806. package/dist/cssm/components/DatePicker/DatePicker.d.ts +1 -1
  807. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  808. package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
  809. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  810. package/dist/cssm/components/Div/Div.d.ts +1 -1
  811. package/dist/cssm/components/Div/Div.js.map +1 -1
  812. package/dist/cssm/components/Dropdown/Dropdown.css +1 -1
  813. package/dist/cssm/components/Dropdown/Dropdown.d.ts +2 -2
  814. package/dist/cssm/components/Dropdown/Dropdown.js +1 -4
  815. package/dist/cssm/components/Dropdown/Dropdown.js.map +1 -1
  816. package/dist/cssm/components/DropdownIcon/DropdownIcon.d.ts +1 -1
  817. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  818. package/dist/cssm/components/Epic/Epic.d.ts +1 -1
  819. package/dist/cssm/components/Epic/Epic.js +10 -10
  820. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  821. package/dist/cssm/components/Epic/ScrollSaver.d.ts +2 -1
  822. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  823. package/dist/cssm/components/File/File.d.ts +1 -1
  824. package/dist/cssm/components/File/File.js.map +1 -1
  825. package/dist/cssm/components/FixedLayout/FixedLayout.d.ts +1 -1
  826. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  827. package/dist/cssm/components/FocusTrap/FocusTrap.d.ts +1 -1
  828. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  829. package/dist/cssm/components/Footer/Footer.d.ts +1 -1
  830. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  831. package/dist/cssm/components/FormField/FormField.d.ts +3 -3
  832. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  833. package/dist/cssm/components/FormItem/FormItem.d.ts +1 -1
  834. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  835. package/dist/cssm/components/FormLayout/FormLayout.d.ts +1 -1
  836. package/dist/cssm/components/FormLayout/FormLayout.js +8 -8
  837. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  838. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.d.ts +1 -1
  839. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  840. package/dist/cssm/components/FormStatus/FormStatus.d.ts +1 -1
  841. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  842. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  843. package/dist/cssm/components/Gradient/Gradient.css +1 -1
  844. package/dist/cssm/components/Gradient/Gradient.d.ts +7 -1
  845. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  846. package/dist/cssm/components/Group/Group.css +1 -1
  847. package/dist/cssm/components/Group/Group.d.ts +2 -1
  848. package/dist/cssm/components/Group/Group.js +27 -19
  849. package/dist/cssm/components/Group/Group.js.map +1 -1
  850. package/dist/cssm/components/Header/Header.d.ts +1 -1
  851. package/dist/cssm/components/Header/Header.js.map +1 -1
  852. package/dist/cssm/components/HorizontalCell/HorizontalCell.css +1 -1
  853. package/dist/cssm/components/HorizontalCell/HorizontalCell.d.ts +1 -1
  854. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  855. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.css +1 -1
  856. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.d.ts +2 -1
  857. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +9 -5
  858. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  859. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +2 -5
  860. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.d.ts +4 -4
  861. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js +26 -12
  862. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.js.map +1 -1
  863. package/dist/cssm/components/HoverPopper/HoverPopper.d.ts +1 -1
  864. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  865. package/dist/cssm/components/IconButton/IconButton.d.ts +1 -1
  866. package/dist/cssm/components/InfoRow/InfoRow.d.ts +1 -1
  867. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  868. package/dist/cssm/components/Input/Input.d.ts +1 -1
  869. package/dist/cssm/components/Input/Input.js.map +1 -1
  870. package/dist/cssm/components/InputLike/InputLike.d.ts +4 -1
  871. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  872. package/dist/cssm/components/InputLike/InputLikeDivider.d.ts +1 -1
  873. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  874. package/dist/cssm/components/Link/Link.css +1 -1
  875. package/dist/cssm/components/Link/Link.d.ts +8 -3
  876. package/dist/cssm/components/Link/Link.js +8 -9
  877. package/dist/cssm/components/Link/Link.js.map +1 -1
  878. package/dist/cssm/components/List/List.d.ts +1 -1
  879. package/dist/cssm/components/List/List.js +1 -8
  880. package/dist/cssm/components/List/List.js.map +1 -1
  881. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.css +1 -1
  882. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.d.ts +1 -1
  883. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +13 -23
  884. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  885. package/dist/cssm/components/ModalCard/ModalCard.d.ts +1 -1
  886. package/dist/cssm/components/ModalCard/ModalCard.js +2 -5
  887. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  888. package/dist/cssm/components/ModalCardBase/ModalCardBase.css +3 -1
  889. package/dist/cssm/components/ModalCardBase/ModalCardBase.d.ts +1 -1
  890. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -14
  891. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  892. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.d.ts +1 -1
  893. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  894. package/dist/cssm/components/ModalPage/ModalPage.d.ts +1 -1
  895. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  896. package/dist/cssm/components/ModalRoot/ModalRoot.d.ts +2 -1
  897. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  898. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.d.ts +2 -1
  899. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  900. package/dist/cssm/components/ModalRoot/ModalRootDesktop.d.ts +2 -1
  901. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  902. package/dist/cssm/components/ModalRoot/useModalManager.d.ts +2 -1
  903. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  904. package/dist/cssm/components/NativeSelect/NativeSelect.d.ts +1 -1
  905. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  906. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.d.ts +1 -1
  907. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  908. package/dist/cssm/components/Pagination/Pagination.d.ts +1 -1
  909. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  910. package/dist/cssm/components/Panel/Panel.d.ts +1 -1
  911. package/dist/cssm/components/PanelHeader/PanelHeader.d.ts +1 -1
  912. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  913. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.d.ts +2 -2
  914. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  915. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.d.ts +1 -1
  916. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  917. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.d.ts +2 -2
  918. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  919. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.d.ts +1 -1
  920. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  921. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.d.ts +1 -1
  922. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  923. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +2 -2
  924. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  925. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +2 -2
  926. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  927. package/dist/cssm/components/Placeholder/Placeholder.css +3 -1
  928. package/dist/cssm/components/Placeholder/Placeholder.d.ts +1 -1
  929. package/dist/cssm/components/Placeholder/Placeholder.js +10 -13
  930. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  931. package/dist/cssm/components/PopoutRoot/PopoutRoot.d.ts +5 -2
  932. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +9 -9
  933. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  934. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.d.ts +1 -1
  935. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  936. package/dist/cssm/components/Popper/Popper.d.ts +1 -1
  937. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  938. package/dist/cssm/components/Progress/Progress.d.ts +1 -1
  939. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  940. package/dist/cssm/components/PromoBanner/PromoBanner.d.ts +1 -1
  941. package/dist/cssm/components/PromoBanner/PromoBanner.js +10 -10
  942. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  943. package/dist/cssm/components/Radio/Radio.d.ts +1 -1
  944. package/dist/cssm/components/Radio/Radio.js +8 -8
  945. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  946. package/dist/cssm/components/RadioGroup/RadioGroup.d.ts +1 -1
  947. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  948. package/dist/cssm/components/RangeSlider/RangeSlider.d.ts +2 -2
  949. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  950. package/dist/cssm/components/RangeSlider/UniversalSlider.d.ts +1 -1
  951. package/dist/cssm/components/RangeSlider/UniversalSlider.js.map +1 -1
  952. package/dist/cssm/components/Removable/Removable.css +1 -1
  953. package/dist/cssm/components/Removable/Removable.d.ts +1 -1
  954. package/dist/cssm/components/Removable/Removable.js +3 -4
  955. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  956. package/dist/cssm/components/RichCell/RichCell.css +3 -1
  957. package/dist/cssm/components/RichCell/RichCell.d.ts +18 -9
  958. package/dist/cssm/components/RichCell/RichCell.js +25 -21
  959. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  960. package/dist/cssm/components/RichTooltip/RichTooltip.d.ts +2 -2
  961. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  962. package/dist/cssm/components/Root/Root.d.ts +1 -1
  963. package/dist/cssm/components/Root/Root.js.map +1 -1
  964. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.d.ts +3 -0
  965. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js +18 -0
  966. package/dist/cssm/components/ScreenSpinner/Icon48CancelCircle.js.map +1 -0
  967. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.d.ts +3 -0
  968. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js +19 -0
  969. package/dist/cssm/components/ScreenSpinner/Icon48DoneOutline.js.map +1 -0
  970. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.css +1 -1
  971. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.d.ts +5 -3
  972. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +25 -7
  973. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  974. package/dist/cssm/components/Search/Search.css +1 -1
  975. package/dist/cssm/components/Search/Search.d.ts +1 -1
  976. package/dist/cssm/components/Search/Search.js.map +1 -1
  977. package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
  978. package/dist/cssm/components/SegmentedControl/SegmentedControl.d.ts +1 -1
  979. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  980. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  981. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +2 -2
  982. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  983. package/dist/cssm/components/Select/Select.d.ts +2 -2
  984. package/dist/cssm/components/Select/Select.js.map +1 -1
  985. package/dist/cssm/components/SelectMimicry/SelectMimicry.d.ts +1 -1
  986. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  987. package/dist/cssm/components/Separator/Separator.css +1 -1
  988. package/dist/cssm/components/Separator/Separator.d.ts +2 -2
  989. package/dist/cssm/components/Separator/Separator.js +2 -1
  990. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  991. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +1 -1
  992. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  993. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.d.ts +2 -2
  994. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js +10 -10
  995. package/dist/cssm/components/SimpleCheckbox/SimpleCheckbox.js.map +1 -1
  996. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  997. package/dist/cssm/components/SliderSwitch/SliderSwitch.d.ts +1 -1
  998. package/dist/cssm/components/SliderSwitch/SliderSwitch.js +1 -1
  999. package/dist/cssm/components/SliderSwitch/SliderSwitch.js.map +1 -1
  1000. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.d.ts +1 -1
  1001. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js +6 -6
  1002. package/dist/cssm/components/SliderSwitch/SliderSwitchButton.js.map +1 -1
  1003. package/dist/cssm/components/Snackbar/Snackbar.d.ts +2 -2
  1004. package/dist/cssm/components/Snackbar/Snackbar.js +13 -16
  1005. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  1006. package/dist/cssm/components/Spacing/Spacing.d.ts +1 -1
  1007. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  1008. package/dist/cssm/components/SplitCol/SplitCol.d.ts +1 -1
  1009. package/dist/cssm/components/SplitCol/SplitCol.js +11 -11
  1010. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  1011. package/dist/cssm/components/SplitLayout/SplitLayout.d.ts +1 -1
  1012. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  1013. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.d.ts +1 -1
  1014. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  1015. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.d.ts +1 -1
  1016. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +12 -15
  1017. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  1018. package/dist/cssm/components/Switch/Switch.css +1 -1
  1019. package/dist/cssm/components/Switch/Switch.d.ts +2 -2
  1020. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  1021. package/dist/cssm/components/Tabbar/Tabbar.css +3 -1
  1022. package/dist/cssm/components/Tabbar/Tabbar.d.ts +1 -1
  1023. package/dist/cssm/components/Tabbar/Tabbar.js +2 -5
  1024. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  1025. package/dist/cssm/components/TabbarItem/TabbarItem.d.ts +1 -1
  1026. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  1027. package/dist/cssm/components/Tabs/Tabs.css +1 -1
  1028. package/dist/cssm/components/Tabs/Tabs.d.ts +1 -1
  1029. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  1030. package/dist/cssm/components/TabsItem/TabsItem.d.ts +1 -1
  1031. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  1032. package/dist/cssm/components/Tappable/Tappable.d.ts +1 -1
  1033. package/dist/cssm/components/TextTooltip/TextTooltip.d.ts +1 -1
  1034. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  1035. package/dist/cssm/components/Textarea/Textarea.d.ts +1 -1
  1036. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  1037. package/dist/cssm/components/Tooltip/Tooltip.d.ts +3 -2
  1038. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  1039. package/dist/cssm/components/Touch/Touch.d.ts +1 -1
  1040. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  1041. package/dist/cssm/components/Typography/Caption/Caption.d.ts +1 -1
  1042. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  1043. package/dist/cssm/components/Typography/Headline/Headline.d.ts +1 -1
  1044. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  1045. package/dist/cssm/components/Typography/Paragraph/Paragraph.d.ts +1 -1
  1046. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  1047. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +1 -1
  1048. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  1049. package/dist/cssm/components/Typography/Text/Text.d.ts +1 -1
  1050. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  1051. package/dist/cssm/components/Typography/Title/Title.d.ts +1 -1
  1052. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  1053. package/dist/cssm/components/UsersStack/UsersStack.css +1 -1
  1054. package/dist/cssm/components/View/View.d.ts +1 -1
  1055. package/dist/cssm/components/View/ViewInfinite.d.ts +1 -1
  1056. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +1 -1
  1057. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  1058. package/dist/cssm/components/WriteBar/WriteBar.d.ts +1 -1
  1059. package/dist/cssm/components/WriteBar/WriteBar.js +13 -14
  1060. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  1061. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.d.ts +1 -1
  1062. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  1063. package/dist/cssm/helpers/scheme.js +4 -4
  1064. package/dist/cssm/helpers/scheme.js.map +1 -1
  1065. package/dist/cssm/hoc/withAdaptivity.d.ts +1 -1
  1066. package/dist/cssm/hoc/withAdaptivity.js.map +1 -1
  1067. package/dist/cssm/hoc/withContext.d.ts +1 -1
  1068. package/dist/cssm/hoc/withContext.js.map +1 -1
  1069. package/dist/cssm/hoc/withInsets.d.ts +1 -1
  1070. package/dist/cssm/hoc/withInsets.js.map +1 -1
  1071. package/dist/cssm/hoc/withPlatform.d.ts +1 -1
  1072. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  1073. package/dist/cssm/hooks/useEnsuredControl.d.ts +2 -1
  1074. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1075. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1076. package/dist/cssm/index.d.ts +1 -1
  1077. package/dist/cssm/index.js +1 -1
  1078. package/dist/cssm/index.js.map +1 -1
  1079. package/dist/cssm/lib/SSR.d.ts +2 -1
  1080. package/dist/cssm/lib/SSR.js +4 -4
  1081. package/dist/cssm/lib/SSR.js.map +1 -1
  1082. package/dist/cssm/lib/classScopingMode.js +1 -0
  1083. package/dist/cssm/lib/classScopingMode.js.map +1 -1
  1084. package/dist/cssm/lib/dom.js.map +1 -1
  1085. package/dist/cssm/styles/components.css +18 -11
  1086. package/dist/cssm/styles/themes.css +1 -1
  1087. package/dist/cssm/styles/unstable.css +1 -1
  1088. package/dist/cssm/tokenized/index.d.ts +28 -0
  1089. package/dist/cssm/tokenized/index.js +14 -0
  1090. package/dist/cssm/tokenized/index.js.map +1 -1
  1091. package/dist/cssm/types.d.ts +3 -0
  1092. package/dist/helpers/scheme.js +4 -4
  1093. package/dist/helpers/scheme.js.map +1 -1
  1094. package/dist/hoc/withAdaptivity.d.ts +1 -1
  1095. package/dist/hoc/withAdaptivity.js.map +1 -1
  1096. package/dist/hoc/withContext.d.ts +1 -1
  1097. package/dist/hoc/withContext.js.map +1 -1
  1098. package/dist/hoc/withInsets.d.ts +1 -1
  1099. package/dist/hoc/withInsets.js.map +1 -1
  1100. package/dist/hoc/withPlatform.d.ts +1 -1
  1101. package/dist/hoc/withPlatform.js.map +1 -1
  1102. package/dist/hooks/useEnsuredControl.d.ts +2 -1
  1103. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1104. package/dist/hooks/useEventListener.js.map +1 -1
  1105. package/dist/index.d.ts +1 -1
  1106. package/dist/index.js +1 -1
  1107. package/dist/index.js.map +1 -1
  1108. package/dist/lib/SSR.d.ts +2 -1
  1109. package/dist/lib/SSR.js +4 -4
  1110. package/dist/lib/SSR.js.map +1 -1
  1111. package/dist/lib/classScopingMode.js +1 -0
  1112. package/dist/lib/classScopingMode.js.map +1 -1
  1113. package/dist/lib/dom.js.map +1 -1
  1114. package/dist/tokenized/index.d.ts +28 -0
  1115. package/dist/tokenized/index.js +14 -0
  1116. package/dist/tokenized/index.js.map +1 -1
  1117. package/dist/types.d.ts +3 -0
  1118. package/dist/unstable.css +1 -1
  1119. package/dist/unstable.css.map +1 -1
  1120. package/dist/vkui.css +19 -12
  1121. package/dist/vkui.css.map +1 -1
  1122. package/package.json +16 -15
  1123. package/src/components/ActionSheet/ActionSheet.tsx +4 -6
  1124. package/src/components/ActionSheet/ActionSheetDropdown.tsx +2 -2
  1125. package/src/components/ActionSheet/ActionSheetDropdownDesktop.tsx +6 -3
  1126. package/src/components/ActionSheet/Readme.md +1 -1
  1127. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -1
  1128. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +3 -1
  1129. package/src/components/Alert/Alert.tsx +7 -6
  1130. package/src/components/Alert/Readme.md +1 -1
  1131. package/src/components/AppRoot/AppRoot.tsx +27 -6
  1132. package/src/components/AppRoot/AppRootContext.ts +1 -0
  1133. package/src/components/AppRoot/AppRootPortal.tsx +13 -5
  1134. package/src/components/AppRoot/Readme.md +1 -1
  1135. package/src/components/AppRoot/ScrollContext.tsx +8 -9
  1136. package/src/components/AppearanceProvider/AppearanceProvider.tsx +3 -2
  1137. package/src/components/Avatar/Avatar.css +0 -14
  1138. package/src/components/Avatar/Avatar.tsx +1 -1
  1139. package/src/components/Badge/Badge.tsx +1 -1
  1140. package/src/components/Banner/Banner.tsx +5 -6
  1141. package/src/components/BaseGallery/BaseGallery.tsx +7 -7
  1142. package/src/components/BaseGallery/helpers.ts +7 -7
  1143. package/src/components/BaseGallery/types.ts +1 -1
  1144. package/src/components/Button/Button.tsx +8 -6
  1145. package/src/components/ButtonGroup/ButtonGroup.css +12 -1
  1146. package/src/components/ButtonGroup/ButtonGroup.tsx +8 -5
  1147. package/src/components/ButtonGroup/Readme.md +15 -1
  1148. package/src/components/Calendar/Calendar.css +2 -2
  1149. package/src/components/Calendar/Calendar.tsx +2 -2
  1150. package/src/components/CalendarDay/CalendarDay.tsx +2 -2
  1151. package/src/components/CalendarDays/CalendarDays.tsx +2 -2
  1152. package/src/components/CalendarHeader/CalendarHeader.tsx +2 -2
  1153. package/src/components/CalendarRange/CalendarRange.tsx +2 -2
  1154. package/src/components/CalendarTime/CalendarTime.tsx +2 -2
  1155. package/src/components/Card/Card.tsx +1 -1
  1156. package/src/components/CardGrid/CardGrid.css +12 -20
  1157. package/src/components/CardGrid/CardGrid.tsx +15 -16
  1158. package/src/components/CardGrid/Readme.md +5 -0
  1159. package/src/components/CardScroll/CardScroll.tsx +1 -1
  1160. package/src/components/Cell/Cell.css +10 -3
  1161. package/src/components/Cell/Cell.tsx +11 -11
  1162. package/src/components/Cell/CellCheckbox/CellCheckbox.tsx +2 -2
  1163. package/src/components/Cell/CellDragger/CellDragger.tsx +2 -2
  1164. package/src/components/CellButton/CellButton.tsx +1 -2
  1165. package/src/components/Checkbox/Checkbox.tsx +2 -2
  1166. package/src/components/Chip/Chip.tsx +1 -1
  1167. package/src/components/ChipsSelect/ChipsSelect.tsx +4 -4
  1168. package/src/components/ChipsSelect/Readme.md +1 -1
  1169. package/src/components/ClickPopper/ClickPopper.tsx +1 -1
  1170. package/src/components/ConfigProvider/ConfigProvider.tsx +22 -15
  1171. package/src/components/ConfigProvider/Readme.md +1 -1
  1172. package/src/components/CustomScrollView/CustomScrollView.css +5 -0
  1173. package/src/components/CustomScrollView/CustomScrollView.tsx +38 -4
  1174. package/src/components/CustomScrollView/useTrackerVisibility.ts +109 -0
  1175. package/src/components/CustomSelect/CustomSelect.tsx +9 -3
  1176. package/src/components/CustomSelect/Readme.md +228 -170
  1177. package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +9 -3
  1178. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  1179. package/src/components/DateInput/DateInput.tsx +2 -2
  1180. package/src/components/DatePicker/DatePicker.tsx +6 -10
  1181. package/src/components/DateRangeInput/DateRangeInput.tsx +2 -2
  1182. package/src/components/Div/Div.tsx +1 -5
  1183. package/src/components/Dropdown/Dropdown.css +3 -16
  1184. package/src/components/Dropdown/Dropdown.tsx +2 -11
  1185. package/src/components/Dropdown/Readme.md +1 -1
  1186. package/src/components/DropdownIcon/DropdownIcon.tsx +1 -3
  1187. package/src/components/Epic/Epic.tsx +7 -4
  1188. package/src/components/Epic/ScrollSaver.tsx +3 -2
  1189. package/src/components/File/File.tsx +2 -2
  1190. package/src/components/FixedLayout/FixedLayout.tsx +1 -1
  1191. package/src/components/FocusTrap/FocusTrap.tsx +2 -2
  1192. package/src/components/Footer/Footer.tsx +1 -4
  1193. package/src/components/FormField/FormField.tsx +3 -3
  1194. package/src/components/FormField/Readme.md +1 -1
  1195. package/src/components/FormItem/FormItem.tsx +1 -1
  1196. package/src/components/FormLayout/FormLayout.tsx +7 -11
  1197. package/src/components/FormLayoutGroup/FormLayoutGroup.tsx +1 -1
  1198. package/src/components/FormStatus/FormStatus.tsx +1 -1
  1199. package/src/components/Gallery/Gallery.tsx +1 -1
  1200. package/src/components/Gradient/Gradient.css +14 -76
  1201. package/src/components/Gradient/Gradient.tsx +8 -2
  1202. package/src/components/Gradient/Readme.md +53 -15
  1203. package/src/components/Group/Group.css +10 -14
  1204. package/src/components/Group/Group.tsx +32 -23
  1205. package/src/components/Header/Header.tsx +3 -3
  1206. package/src/components/HorizontalCell/HorizontalCell.css +2 -2
  1207. package/src/components/HorizontalCell/HorizontalCell.tsx +2 -2
  1208. package/src/components/HorizontalScroll/HorizontalScroll.css +14 -5
  1209. package/src/components/HorizontalScroll/HorizontalScroll.tsx +21 -9
  1210. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +28 -24
  1211. package/src/components/HorizontalScroll/HorizontalScrollArrow.tsx +28 -9
  1212. package/src/components/HorizontalScroll/Readme.md +1 -0
  1213. package/src/components/HoverPopper/HoverPopper.tsx +1 -1
  1214. package/src/components/InfoRow/InfoRow.tsx +1 -5
  1215. package/src/components/InitialsAvatar/Readme.md +1 -1
  1216. package/src/components/Input/Input.tsx +1 -1
  1217. package/src/components/InputLike/InputLike.tsx +2 -2
  1218. package/src/components/InputLike/InputLikeDivider.tsx +4 -3
  1219. package/src/components/Link/Link.css +21 -1
  1220. package/src/components/Link/Link.tsx +12 -14
  1221. package/src/components/Link/Readme.md +36 -4
  1222. package/src/components/List/List.tsx +5 -10
  1223. package/src/components/MiniInfoCell/MiniInfoCell.css +6 -14
  1224. package/src/components/MiniInfoCell/MiniInfoCell.tsx +13 -22
  1225. package/src/components/ModalCard/ModalCard.tsx +6 -8
  1226. package/src/components/ModalCardBase/ModalCardBase.css +13 -9
  1227. package/src/components/ModalCardBase/ModalCardBase.tsx +15 -19
  1228. package/src/components/ModalCardBase/Readme.md +1 -1
  1229. package/src/components/ModalDismissButton/ModalDismissButton.tsx +1 -1
  1230. package/src/components/ModalPage/ModalPage.tsx +2 -4
  1231. package/src/components/ModalRoot/ModalRoot.tsx +1 -0
  1232. package/src/components/ModalRoot/ModalRootAdaptive.tsx +4 -3
  1233. package/src/components/ModalRoot/ModalRootDesktop.tsx +1 -0
  1234. package/src/components/ModalRoot/Readme.md +1 -1
  1235. package/src/components/ModalRoot/useModalManager.tsx +5 -2
  1236. package/src/components/NativeSelect/NativeSelect.tsx +2 -4
  1237. package/src/components/NavTransitionContext/NavTransitionContext.tsx +2 -2
  1238. package/src/components/Pagination/Pagination.tsx +2 -2
  1239. package/src/components/PanelHeader/PanelHeader.tsx +2 -2
  1240. package/src/components/PanelHeader/Readme.md +1 -1
  1241. package/src/components/PanelHeaderBack/PanelHeaderBack.tsx +1 -3
  1242. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +2 -5
  1243. package/src/components/PanelHeaderClose/PanelHeaderClose.tsx +4 -4
  1244. package/src/components/PanelHeaderContent/PanelHeaderContent.tsx +4 -5
  1245. package/src/components/PanelHeaderContext/PanelHeaderContext.tsx +2 -2
  1246. package/src/components/PanelHeaderEdit/PanelHeaderEdit.tsx +1 -2
  1247. package/src/components/PanelHeaderSubmit/PanelHeaderSubmit.tsx +4 -4
  1248. package/src/components/Placeholder/Placeholder.css +7 -8
  1249. package/src/components/Placeholder/Placeholder.tsx +31 -40
  1250. package/src/components/Placeholder/Readme.md +77 -90
  1251. package/src/components/PopoutRoot/PopoutRoot.tsx +10 -13
  1252. package/src/components/PopoutWrapper/PopoutWrapper.tsx +1 -1
  1253. package/src/components/PopoutWrapper/Readme.md +1 -1
  1254. package/src/components/Popper/Popper.tsx +1 -1
  1255. package/src/components/Popper/Readme.md +2 -2
  1256. package/src/components/Progress/Progress.tsx +1 -1
  1257. package/src/components/PromoBanner/PromoBanner.tsx +8 -4
  1258. package/src/components/Radio/Radio.tsx +9 -10
  1259. package/src/components/RadioGroup/RadioGroup.tsx +2 -2
  1260. package/src/components/RangeSlider/RangeSlider.tsx +3 -2
  1261. package/src/components/RangeSlider/UniversalSlider.tsx +2 -2
  1262. package/src/components/Removable/Removable.css +2 -2
  1263. package/src/components/Removable/Removable.tsx +8 -7
  1264. package/src/components/RichCell/Readme.md +78 -19
  1265. package/src/components/RichCell/RichCell.css +76 -59
  1266. package/src/components/RichCell/RichCell.tsx +49 -43
  1267. package/src/components/RichTooltip/Readme.md +2 -2
  1268. package/src/components/RichTooltip/RichTooltip.tsx +1 -2
  1269. package/src/components/Root/Root.tsx +1 -1
  1270. package/src/components/ScreenSpinner/Icon48CancelCircle.tsx +18 -0
  1271. package/src/components/ScreenSpinner/Icon48DoneOutline.tsx +19 -0
  1272. package/src/components/ScreenSpinner/Readme.md +57 -36
  1273. package/src/components/ScreenSpinner/ScreenSpinner.css +44 -9
  1274. package/src/components/ScreenSpinner/ScreenSpinner.tsx +27 -9
  1275. package/src/components/Search/Search.css +6 -2
  1276. package/src/components/Search/Search.tsx +7 -5
  1277. package/src/components/SegmentedControl/SegmentedControl.css +1 -1
  1278. package/src/components/SegmentedControl/SegmentedControl.tsx +2 -2
  1279. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
  1280. package/src/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.tsx +2 -3
  1281. package/src/components/Select/Select.tsx +7 -5
  1282. package/src/components/SelectMimicry/SelectMimicry.tsx +2 -2
  1283. package/src/components/Separator/Separator.css +11 -11
  1284. package/src/components/Separator/Separator.tsx +3 -6
  1285. package/src/components/SimpleCell/SimpleCell.tsx +2 -4
  1286. package/src/components/SimpleCheckbox/Readme.md +1 -1
  1287. package/src/components/SimpleCheckbox/SimpleCheckbox.tsx +12 -15
  1288. package/src/components/Slider/Slider.tsx +2 -1
  1289. package/src/components/SliderSwitch/Readme.md +1 -1
  1290. package/src/components/SliderSwitch/SliderSwitch.tsx +1 -1
  1291. package/src/components/SliderSwitch/SliderSwitchButton.tsx +7 -4
  1292. package/src/components/Snackbar/Snackbar.tsx +13 -22
  1293. package/src/components/Spacing/Spacing.tsx +1 -1
  1294. package/src/components/SplitCol/SplitCol.tsx +11 -12
  1295. package/src/components/SplitLayout/SplitLayout.tsx +1 -1
  1296. package/src/components/SubnavigationBar/SubnavigationBar.tsx +1 -1
  1297. package/src/components/SubnavigationButton/Readme.md +1 -1
  1298. package/src/components/SubnavigationButton/SubnavigationButton.tsx +14 -21
  1299. package/src/components/Switch/Switch.css +3 -3
  1300. package/src/components/Switch/Switch.tsx +1 -2
  1301. package/src/components/Tabbar/Tabbar.css +12 -10
  1302. package/src/components/Tabbar/Tabbar.tsx +5 -7
  1303. package/src/components/TabbarItem/TabbarItem.tsx +1 -1
  1304. package/src/components/Tabs/Tabs.css +12 -0
  1305. package/src/components/Tabs/Tabs.tsx +1 -1
  1306. package/src/components/TabsItem/TabsItem.tsx +1 -1
  1307. package/src/components/Tappable/Readme.md +1 -1
  1308. package/src/components/TextTooltip/Readme.md +1 -1
  1309. package/src/components/TextTooltip/TextTooltip.tsx +1 -1
  1310. package/src/components/Textarea/Textarea.tsx +1 -1
  1311. package/src/components/Tooltip/Readme.md +1 -1
  1312. package/src/components/Tooltip/Tooltip.css +2 -2
  1313. package/src/components/Tooltip/Tooltip.tsx +6 -3
  1314. package/src/components/Touch/Touch.tsx +1 -1
  1315. package/src/components/Typography/Caption/Caption.tsx +1 -1
  1316. package/src/components/Typography/Headline/Headline.tsx +1 -1
  1317. package/src/components/Typography/Paragraph/Paragraph.tsx +2 -2
  1318. package/src/components/Typography/Subhead/Subhead.tsx +2 -2
  1319. package/src/components/Typography/Text/Text.tsx +1 -1
  1320. package/src/components/Typography/Title/Title.tsx +2 -2
  1321. package/src/components/UsersStack/UsersStack.css +0 -8
  1322. package/src/components/View/Readme.md +1 -1
  1323. package/src/components/VisuallyHiddenInput/VisuallyHiddenInput.tsx +2 -2
  1324. package/src/components/WriteBar/WriteBar.css +1 -0
  1325. package/src/components/WriteBar/WriteBar.tsx +13 -17
  1326. package/src/components/WriteBarIcon/WriteBarIcon.tsx +1 -1
  1327. package/src/helpers/scheme.ts +4 -3
  1328. package/src/hoc/withAdaptivity.tsx +1 -1
  1329. package/src/hoc/withContext.tsx +1 -1
  1330. package/src/hoc/withInsets.tsx +1 -1
  1331. package/src/hoc/withPlatform.tsx +1 -1
  1332. package/src/hooks/useEnsuredControl.ts +2 -2
  1333. package/src/hooks/useEventListener.ts +4 -1
  1334. package/src/index.ts +1 -1
  1335. package/src/lib/SSR.tsx +6 -3
  1336. package/src/lib/classScopingMode.ts +1 -0
  1337. package/src/lib/dom.tsx +1 -1
  1338. package/src/lib/jsxRuntime.d.ts +2 -2
  1339. package/src/testing/setup.ts +3 -0
  1340. package/src/testing/utils.tsx +3 -5
  1341. package/src/tokenized/index.ts +42 -0
  1342. package/src/types.ts +4 -0
  1343. package/stylelint.config.js +22 -1
  1344. package/tasks/{styleint-atomic.js → stylelint-atomic.js} +1 -1
  1345. package/tasks/stylelint-bad-multiplication.js +69 -0
  1346. package/CONTRIBUTING.md +0 -66
  1347. package/CSS_GUIDE.md +0 -145
  1348. package/TESTING.md +0 -58
  1349. package/VKUI_TOKENS_MIGRATION_GUIDE.md +0 -76
  1350. package/dist/cjs/appearance/constants.d.ts +0 -1
  1351. package/dist/cjs/components/ActionSheet/ActionSheet.d.ts +0 -29
  1352. package/dist/cjs/components/ActionSheet/ActionSheetContext.d.ts +0 -8
  1353. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.d.ts +0 -4
  1354. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.d.ts +0 -4
  1355. package/dist/cjs/components/ActionSheet/types.d.ts +0 -9
  1356. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +0 -23
  1357. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.d.ts +0 -46
  1358. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +0 -13
  1359. package/dist/cjs/components/Alert/Alert.d.ts +0 -25
  1360. package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -17
  1361. package/dist/cjs/components/AppRoot/AppRootContext.d.ts +0 -9
  1362. package/dist/cjs/components/AppRoot/AppRootPortal.d.ts +0 -5
  1363. package/dist/cjs/components/AppRoot/ScrollContext.d.ts +0 -26
  1364. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.d.ts +0 -10
  1365. package/dist/cjs/components/AppearanceProvider/AppearanceProviderContext.d.ts +0 -3
  1366. package/dist/cjs/components/Avatar/Avatar.d.ts +0 -24
  1367. package/dist/cjs/components/Badge/Badge.d.ts +0 -9
  1368. package/dist/cjs/components/Banner/Banner.d.ts +0 -67
  1369. package/dist/cjs/components/BaseGallery/BaseGallery.d.ts +0 -4
  1370. package/dist/cjs/components/BaseGallery/helpers.d.ts +0 -12
  1371. package/dist/cjs/components/BaseGallery/types.d.ts +0 -43
  1372. package/dist/cjs/components/Button/Button.d.ts +0 -22
  1373. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +0 -23
  1374. package/dist/cjs/components/Calendar/Calendar.d.ts +0 -33
  1375. package/dist/cjs/components/CalendarDay/CalendarDay.d.ts +0 -22
  1376. package/dist/cjs/components/CalendarDays/CalendarDays.d.ts +0 -22
  1377. package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +0 -24
  1378. package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +0 -19
  1379. package/dist/cjs/components/CalendarTime/CalendarTime.d.ts +0 -11
  1380. package/dist/cjs/components/Card/Card.d.ts +0 -10
  1381. package/dist/cjs/components/CardGrid/CardGrid.d.ts +0 -8
  1382. package/dist/cjs/components/CardScroll/CardScroll.d.ts +0 -15
  1383. package/dist/cjs/components/Cell/Cell.d.ts +0 -50
  1384. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.d.ts +0 -5
  1385. package/dist/cjs/components/Cell/CellDragger/CellDragger.d.ts +0 -6
  1386. package/dist/cjs/components/Cell/useDraggable.d.ts +0 -15
  1387. package/dist/cjs/components/CellButton/CellButton.d.ts +0 -11
  1388. package/dist/cjs/components/Checkbox/Checkbox.d.ts +0 -15
  1389. package/dist/cjs/components/Chip/Chip.d.ts +0 -19
  1390. package/dist/cjs/components/ChipsInput/ChipsInput.d.ts +0 -32
  1391. package/dist/cjs/components/ChipsInput/useChipsInput.d.ts +0 -14
  1392. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +0 -43
  1393. package/dist/cjs/components/ChipsSelect/useChipsSelect.d.ts +0 -22
  1394. package/dist/cjs/components/ClickPopper/ClickPopper.d.ts +0 -21
  1395. package/dist/cjs/components/ConfigProvider/ConfigProvider.d.ts +0 -18
  1396. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -36
  1397. package/dist/cjs/components/ContentCard/ContentCard.d.ts +0 -36
  1398. package/dist/cjs/components/Counter/Counter.d.ts +0 -13
  1399. package/dist/cjs/components/CustomScrollView/CustomScrollView.d.ts +0 -10
  1400. package/dist/cjs/components/CustomSelect/CustomSelect.d.ts +0 -61
  1401. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.d.ts +0 -15
  1402. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.d.ts +0 -47
  1403. package/dist/cjs/components/DateInput/DateInput.d.ts +0 -15
  1404. package/dist/cjs/components/DatePicker/DatePicker.d.ts +0 -23
  1405. package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +0 -21
  1406. package/dist/cjs/components/Div/Div.d.ts +0 -9
  1407. package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -11
  1408. package/dist/cjs/components/DropdownIcon/DropdownIcon.d.ts +0 -3
  1409. package/dist/cjs/components/Epic/Epic.d.ts +0 -11
  1410. package/dist/cjs/components/Epic/ScrollSaver.d.ts +0 -9
  1411. package/dist/cjs/components/File/File.d.ts +0 -13
  1412. package/dist/cjs/components/FixedLayout/FixedLayout.d.ts +0 -21
  1413. package/dist/cjs/components/FocusTrap/FocusTrap.d.ts +0 -11
  1414. package/dist/cjs/components/FocusVisible/FocusVisible.d.ts +0 -10
  1415. package/dist/cjs/components/Footer/Footer.d.ts +0 -8
  1416. package/dist/cjs/components/FormField/FormField.d.ts +0 -36
  1417. package/dist/cjs/components/FormItem/FormItem.d.ts +0 -17
  1418. package/dist/cjs/components/FormLayout/FormLayout.d.ts +0 -8
  1419. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.d.ts +0 -15
  1420. package/dist/cjs/components/FormStatus/FormStatus.d.ts +0 -10
  1421. package/dist/cjs/components/Gallery/Gallery.d.ts +0 -10
  1422. package/dist/cjs/components/Gradient/Gradient.d.ts +0 -10
  1423. package/dist/cjs/components/GridAvatar/GridAvatar.d.ts +0 -15
  1424. package/dist/cjs/components/Group/Group.d.ts +0 -25
  1425. package/dist/cjs/components/Header/Header.d.ts +0 -20
  1426. package/dist/cjs/components/HorizontalCell/HorizontalCell.d.ts +0 -13
  1427. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +0 -21
  1428. package/dist/cjs/components/HorizontalScroll/HorizontalScrollArrow.d.ts +0 -8
  1429. package/dist/cjs/components/HoverPopper/HoverPopper.d.ts +0 -29
  1430. package/dist/cjs/components/IconButton/IconButton.d.ts +0 -14
  1431. package/dist/cjs/components/InfoRow/InfoRow.d.ts +0 -9
  1432. package/dist/cjs/components/InitialsAvatar/InitialsAvatar.d.ts +0 -35
  1433. package/dist/cjs/components/Input/Input.d.ts +0 -11
  1434. package/dist/cjs/components/InputLike/InputLike.d.ts +0 -10
  1435. package/dist/cjs/components/InputLike/InputLikeDivider.d.ts +0 -3
  1436. package/dist/cjs/components/Link/Link.d.ts +0 -8
  1437. package/dist/cjs/components/List/List.d.ts +0 -6
  1438. package/dist/cjs/components/List/ListContext.d.ts +0 -4
  1439. package/dist/cjs/components/LocaleProviderContext/LocaleProviderContext.d.ts +0 -2
  1440. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.d.ts +0 -42
  1441. package/dist/cjs/components/ModalCard/ModalCard.d.ts +0 -12
  1442. package/dist/cjs/components/ModalCardBase/ModalCardBase.d.ts +0 -39
  1443. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.d.ts +0 -7
  1444. package/dist/cjs/components/ModalPage/ModalPage.d.ts +0 -39
  1445. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.d.ts +0 -10
  1446. package/dist/cjs/components/ModalRoot/ModalRoot.d.ts +0 -28
  1447. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.d.ts +0 -25
  1448. package/dist/cjs/components/ModalRoot/ModalRootContext.d.ts +0 -20
  1449. package/dist/cjs/components/ModalRoot/ModalRootDesktop.d.ts +0 -28
  1450. package/dist/cjs/components/ModalRoot/constants.d.ts +0 -3
  1451. package/dist/cjs/components/ModalRoot/types.d.ts +0 -60
  1452. package/dist/cjs/components/ModalRoot/useModalManager.d.ts +0 -38
  1453. package/dist/cjs/components/ModalRoot/withModalRootContext.d.ts +0 -5
  1454. package/dist/cjs/components/NativeSelect/NativeSelect.d.ts +0 -19
  1455. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.d.ts +0 -6
  1456. package/dist/cjs/components/Pagination/Pagination.d.ts +0 -45
  1457. package/dist/cjs/components/Panel/Panel.d.ts +0 -12
  1458. package/dist/cjs/components/PanelHeader/PanelHeader.d.ts +0 -31
  1459. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.d.ts +0 -12
  1460. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.d.ts +0 -11
  1461. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.d.ts +0 -6
  1462. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.d.ts +0 -11
  1463. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.d.ts +0 -10
  1464. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.d.ts +0 -20
  1465. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.d.ts +0 -6
  1466. package/dist/cjs/components/PanelSpinner/PanelSpinner.d.ts +0 -9
  1467. package/dist/cjs/components/Placeholder/Placeholder.d.ts +0 -25
  1468. package/dist/cjs/components/PopoutRoot/PopoutRoot.d.ts +0 -10
  1469. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.d.ts +0 -13
  1470. package/dist/cjs/components/Popper/Popper.d.ts +0 -40
  1471. package/dist/cjs/components/Progress/Progress.d.ts +0 -10
  1472. package/dist/cjs/components/PromoBanner/PromoBanner.d.ts +0 -43
  1473. package/dist/cjs/components/PullToRefresh/PullToRefresh.d.ts +0 -22
  1474. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.d.ts +0 -10
  1475. package/dist/cjs/components/Radio/Radio.d.ts +0 -11
  1476. package/dist/cjs/components/RadioGroup/RadioGroup.d.ts +0 -9
  1477. package/dist/cjs/components/RangeSlider/RangeSlider.d.ts +0 -8
  1478. package/dist/cjs/components/RangeSlider/UniversalSlider.d.ts +0 -16
  1479. package/dist/cjs/components/Removable/Removable.d.ts +0 -24
  1480. package/dist/cjs/components/RichCell/RichCell.d.ts +0 -47
  1481. package/dist/cjs/components/RichTooltip/RichTooltip.d.ts +0 -8
  1482. package/dist/cjs/components/Root/Root.d.ts +0 -33
  1483. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.d.ts +0 -8
  1484. package/dist/cjs/components/Search/Search.d.ts +0 -16
  1485. package/dist/cjs/components/SegmentedControl/SegmentedControl.d.ts +0 -20
  1486. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.d.ts +0 -7
  1487. package/dist/cjs/components/Select/Select.d.ts +0 -18
  1488. package/dist/cjs/components/SelectMimicry/SelectMimicry.d.ts +0 -15
  1489. package/dist/cjs/components/Separator/Separator.d.ts +0 -16
  1490. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +0 -41
  1491. package/dist/cjs/components/SimpleCheckbox/SimpleCheckbox.d.ts +0 -12
  1492. package/dist/cjs/components/Slider/Slider.d.ts +0 -7
  1493. package/dist/cjs/components/SliderSwitch/SliderSwitch.d.ts +0 -48
  1494. package/dist/cjs/components/SliderSwitch/SliderSwitchButton.d.ts +0 -11
  1495. package/dist/cjs/components/Snackbar/Snackbar.d.ts +0 -38
  1496. package/dist/cjs/components/Spacing/Spacing.d.ts +0 -23
  1497. package/dist/cjs/components/Spinner/Spinner.d.ts +0 -9
  1498. package/dist/cjs/components/SplitCol/SplitCol.d.ts +0 -25
  1499. package/dist/cjs/components/SplitLayout/SplitLayout.d.ts +0 -18
  1500. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.d.ts +0 -10
  1501. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.d.ts +0 -24
  1502. package/dist/cjs/components/Switch/Switch.d.ts +0 -10
  1503. package/dist/cjs/components/Tabbar/Tabbar.d.ts +0 -13
  1504. package/dist/cjs/components/TabbarItem/TabbarItem.d.ts +0 -23
  1505. package/dist/cjs/components/Tabs/Tabs.d.ts +0 -12
  1506. package/dist/cjs/components/TabsItem/TabsItem.d.ts +0 -10
  1507. package/dist/cjs/components/Tappable/Tappable.d.ts +0 -45
  1508. package/dist/cjs/components/TextTooltip/TextTooltip.d.ts +0 -17
  1509. package/dist/cjs/components/Textarea/Textarea.d.ts +0 -10
  1510. package/dist/cjs/components/Tooltip/Tooltip.d.ts +0 -57
  1511. package/dist/cjs/components/Tooltip/TooltipContainer.d.ts +0 -5
  1512. package/dist/cjs/components/Touch/Touch.d.ts +0 -52
  1513. package/dist/cjs/components/Touch/TouchContext.d.ts +0 -7
  1514. package/dist/cjs/components/Typography/Caption/Caption.d.ts +0 -17
  1515. package/dist/cjs/components/Typography/Footnote/Footnote.d.ts +0 -14
  1516. package/dist/cjs/components/Typography/Headline/Headline.d.ts +0 -16
  1517. package/dist/cjs/components/Typography/Paragraph/Paragraph.d.ts +0 -13
  1518. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +0 -15
  1519. package/dist/cjs/components/Typography/Text/Text.d.ts +0 -15
  1520. package/dist/cjs/components/Typography/Title/Title.d.ts +0 -16
  1521. package/dist/cjs/components/UsersStack/UsersStack.d.ts +0 -25
  1522. package/dist/cjs/components/UsersStack/masks.d.ts +0 -1
  1523. package/dist/cjs/components/View/View.d.ts +0 -83
  1524. package/dist/cjs/components/View/ViewInfinite.d.ts +0 -66
  1525. package/dist/cjs/components/View/utils.d.ts +0 -2
  1526. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.d.ts +0 -12
  1527. package/dist/cjs/components/WriteBar/WriteBar.d.ts +0 -26
  1528. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.d.ts +0 -21
  1529. package/dist/cjs/helpers/avatar.d.ts +0 -5
  1530. package/dist/cjs/helpers/getClassName.d.ts +0 -2
  1531. package/dist/cjs/helpers/getScheme.d.ts +0 -8
  1532. package/dist/cjs/helpers/math.d.ts +0 -5
  1533. package/dist/cjs/helpers/scheme.d.ts +0 -34
  1534. package/dist/cjs/hoc/withAdaptivity.d.ts +0 -13
  1535. package/dist/cjs/hoc/withContext.d.ts +0 -2
  1536. package/dist/cjs/hoc/withInsets.d.ts +0 -3
  1537. package/dist/cjs/hoc/withPlatform.d.ts +0 -3
  1538. package/dist/cjs/hooks/useAdaptivity.d.ts +0 -4
  1539. package/dist/cjs/hooks/useAppearance.d.ts +0 -1
  1540. package/dist/cjs/hooks/useBooleanState.d.ts +0 -6
  1541. package/dist/cjs/hooks/useBridgeAdaptivity.d.ts +0 -6
  1542. package/dist/cjs/hooks/useBrowserInfo.d.ts +0 -2
  1543. package/dist/cjs/hooks/useCalendar.d.ts +0 -19
  1544. package/dist/cjs/hooks/useDateInput.d.ts +0 -30
  1545. package/dist/cjs/hooks/useEffectDev.d.ts +0 -2
  1546. package/dist/cjs/hooks/useEnsuredControl.d.ts +0 -6
  1547. package/dist/cjs/hooks/useEventListener.d.ts +0 -7
  1548. package/dist/cjs/hooks/useExternRef.d.ts +0 -2
  1549. package/dist/cjs/hooks/useFocusVisible.d.ts +0 -6
  1550. package/dist/cjs/hooks/useGlobalEventListener.d.ts +0 -2
  1551. package/dist/cjs/hooks/useInsets.d.ts +0 -8
  1552. package/dist/cjs/hooks/useKeyboard.d.ts +0 -10
  1553. package/dist/cjs/hooks/useKeyboardInputTracker.d.ts +0 -3
  1554. package/dist/cjs/hooks/useObjectMemo.d.ts +0 -2
  1555. package/dist/cjs/hooks/useOrientationChange.d.ts +0 -7
  1556. package/dist/cjs/hooks/usePagination.d.ts +0 -34
  1557. package/dist/cjs/hooks/usePatchChildrenRef.d.ts +0 -6
  1558. package/dist/cjs/hooks/usePlatform.d.ts +0 -2
  1559. package/dist/cjs/hooks/usePrevious.d.ts +0 -1
  1560. package/dist/cjs/hooks/useTimeout.d.ts +0 -4
  1561. package/dist/cjs/hooks/useWaitTransitionFinish.d.ts +0 -3
  1562. package/dist/cjs/index.d.ts +0 -305
  1563. package/dist/cjs/lib/SSR.d.ts +0 -17
  1564. package/dist/cjs/lib/accessibility.d.ts +0 -10
  1565. package/dist/cjs/lib/animate.d.ts +0 -15
  1566. package/dist/cjs/lib/browser.d.ts +0 -11
  1567. package/dist/cjs/lib/calendar.d.ts +0 -14
  1568. package/dist/cjs/lib/callMultiple.d.ts +0 -1
  1569. package/dist/cjs/lib/classNames.d.ts +0 -6
  1570. package/dist/cjs/lib/classScopingMode.d.ts +0 -8
  1571. package/dist/cjs/lib/date.d.ts +0 -29
  1572. package/dist/cjs/lib/dom.d.ts +0 -21
  1573. package/dist/cjs/lib/fx.d.ts +0 -5
  1574. package/dist/cjs/lib/getNavId.d.ts +0 -7
  1575. package/dist/cjs/lib/is.d.ts +0 -1
  1576. package/dist/cjs/lib/isRefObject.d.ts +0 -2
  1577. package/dist/cjs/lib/jsxRuntime.d.ts +0 -8
  1578. package/dist/cjs/lib/offset.d.ts +0 -7
  1579. package/dist/cjs/lib/platform.d.ts +0 -19
  1580. package/dist/cjs/lib/polyfills.d.ts +0 -6
  1581. package/dist/cjs/lib/prefixClass.d.ts +0 -1
  1582. package/dist/cjs/lib/removeObjectKeys.d.ts +0 -1
  1583. package/dist/cjs/lib/select.d.ts +0 -9
  1584. package/dist/cjs/lib/styles.d.ts +0 -1
  1585. package/dist/cjs/lib/supportEvents.d.ts +0 -9
  1586. package/dist/cjs/lib/taptic.d.ts +0 -2
  1587. package/dist/cjs/lib/testing.d.ts +0 -1
  1588. package/dist/cjs/lib/touch.d.ts +0 -9
  1589. package/dist/cjs/lib/useIsomorphicLayoutEffect.d.ts +0 -2
  1590. package/dist/cjs/lib/utils.d.ts +0 -16
  1591. package/dist/cjs/lib/warnOnce.d.ts +0 -2
  1592. package/dist/cjs/tokenized/index.d.ts +0 -126
  1593. package/dist/cjs/types.d.ts +0 -34
  1594. package/dist/cjs/unstable/index.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","hasHover","_hasHover","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","useBridgeAdaptivity","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","bridge","window","current","calculateAdaptivity","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","type","viewportWidth","viewportHeight","innerWidth","innerHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from \"@vkontakte/vkjs\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n SizeType,\n ViewHeight,\n ViewWidth,\n} from \"./AdaptivityContext\";\nimport { useDOM } from \"../../lib/dom\";\nimport {\n useBridgeAdaptivity,\n BridgeAdaptivity,\n} from \"../../hooks/useBridgeAdaptivity\";\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nconst AdaptivityProvider: React.FC<AdaptivityProps> = (props) => {\n const adaptivityRef = React.useRef<ReturnType<\n typeof calculateAdaptivity\n > | null>(null);\n const [, updateAdaptivity] = React.useState({});\n const bridge = useBridgeAdaptivity();\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(props, bridge, window);\n }\n\n React.useEffect(() => {\n function onResize() {\n if (adaptivityRef.current === null) {\n return;\n }\n\n const calculated = calculateAdaptivity(props, bridge, window);\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } =\n adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window!.addEventListener(\"resize\", onResize, false);\n\n return () => {\n window!.removeEventListener(\"resize\", onResize, false);\n };\n }, [\n props.viewWidth,\n props.viewHeight,\n props.sizeX,\n props.sizeY,\n props.hasMouse,\n props.deviceHasHover,\n window,\n props,\n bridge,\n ]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n props: AdaptivityProps,\n bridge: BridgeAdaptivity,\n window?: Window\n) {\n let windowWidth = 0;\n let windowHeight = 0;\n\n if (bridge.type === \"adaptive\") {\n windowWidth = bridge.viewportWidth;\n windowHeight = bridge.viewportHeight;\n } else if (window) {\n windowWidth = window.innerWidth;\n windowHeight = window.innerHeight;\n }\n\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = _hasMouse;\n let deviceHasHover = _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (!bridge.type) {\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n hasMouse = props.hasMouse ?? hasMouse;\n deviceHasHover = props.deviceHasHover ?? deviceHasHover;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n }\n\n if (!bridge.type) {\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n }\n\n if (\n bridge.type === \"force_mobile\" ||\n bridge.type === \"force_mobile_compact\"\n ) {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === \"force_mobile_compact\") {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n\nexport { AdaptivityProvider };\n"],"file":"AdaptivityProvider.js"}
1
+ {"version":3,"sources":["../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","hasHover","_hasHover","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","useBridgeAdaptivity","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","bridge","window","current","calculateAdaptivity","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","type","viewportWidth","viewportHeight","innerWidth","innerHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from \"@vkontakte/vkjs\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n SizeType,\n ViewHeight,\n ViewWidth,\n} from \"./AdaptivityContext\";\nimport { useDOM } from \"../../lib/dom\";\nimport {\n useBridgeAdaptivity,\n BridgeAdaptivity,\n} from \"../../hooks/useBridgeAdaptivity\";\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nconst AdaptivityProvider = (\n props: React.PropsWithChildren<AdaptivityProps>\n) => {\n const adaptivityRef = React.useRef<ReturnType<\n typeof calculateAdaptivity\n > | null>(null);\n const [, updateAdaptivity] = React.useState({});\n const bridge = useBridgeAdaptivity();\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(props, bridge, window);\n }\n\n React.useEffect(() => {\n function onResize() {\n if (adaptivityRef.current === null) {\n return;\n }\n\n const calculated = calculateAdaptivity(props, bridge, window);\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } =\n adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window!.addEventListener(\"resize\", onResize, false);\n\n return () => {\n window!.removeEventListener(\"resize\", onResize, false);\n };\n }, [\n props.viewWidth,\n props.viewHeight,\n props.sizeX,\n props.sizeY,\n props.hasMouse,\n props.deviceHasHover,\n window,\n props,\n bridge,\n ]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n props: AdaptivityProps,\n bridge: BridgeAdaptivity,\n window?: Window\n) {\n let windowWidth = 0;\n let windowHeight = 0;\n\n if (bridge.type === \"adaptive\") {\n windowWidth = bridge.viewportWidth;\n windowHeight = bridge.viewportHeight;\n } else if (window) {\n windowWidth = window.innerWidth;\n windowHeight = window.innerHeight;\n }\n\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = _hasMouse;\n let deviceHasHover = _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (!bridge.type) {\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n hasMouse = props.hasMouse ?? hasMouse;\n deviceHasHover = props.deviceHasHover ?? deviceHasHover;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n }\n\n if (!bridge.type) {\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n }\n\n if (\n bridge.type === \"force_mobile\" ||\n bridge.type === \"force_mobile_compact\"\n ) {\n viewWidth = ViewWidth.MOBILE;\n sizeX = SizeType.COMPACT;\n\n if (bridge.type === \"force_mobile_compact\") {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n\nexport { AdaptivityProvider };\n"],"file":"AdaptivityProvider.js"}
@@ -22,4 +22,4 @@ export interface AlertProps extends React.HTMLAttributes<HTMLElement> {
22
22
  /**
23
23
  * @see https://vkcom.github.io/VKUI/#/Alert
24
24
  */
25
- export declare const Alert: React.FC<AlertProps>;
25
+ export declare const Alert: ({ actions, actionsLayout, children, className, style, text, header, onClose, dismissLabel, ...restProps }: AlertProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","ANDROID","VKCOM","IOS","ViewWidth","Button","hasReactNode","stopPropagation","Title","Caption","Text","ModalDismissButton","FocusTrap","useScrollLock","useWaitTransitionFinish","usePlatform","useAdaptivity","AlertHeader","props","platform","AlertText","AlertAction","action","onItemClick","restProps","viewWidth","handleItemClick","useCallback","Component","href","mode","target","title","DESKTOP","Alert","actions","actionsLayout","children","className","style","text","header","onClose","dismissLabel","waitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","timeout","close","current","e","propertyName","item","autoclose","map","i"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,OAAT,EAAkBC,KAAlB,EAAyBC,GAAzB;AACA,SAASC,SAAT;AACA,SAASC,MAAT;AACA,SAASC,YAAT,EAAuBC,eAAvB;AACA,SAASC,KAAT;AACA,SAASC,OAAT;AACA,SAASC,IAAT;AACA,SAASC,kBAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA,SAASC,uBAAT;AACA,SAASC,WAAT;AACA,SAASC,aAAT;;AAgCA,IAAMC,WAAsC,GAAG,SAAzCA,WAAyC,CAACC,KAAD,EAAW;AACxD,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;;AAEA,UAAQI,QAAR;AACE,SAAKhB,GAAL;AACE,aACE,oBAAC,KAAD;AAAO,QAAA,SAAS,EAAC,eAAjB;AAAiC,QAAA,MAAM,EAAC,GAAxC;AAA4C,QAAA,KAAK,EAAC;AAAlD,SAA0De,KAA1D,EADF;;AAGF;AACE,aACE,oBAAC,KAAD;AAAO,QAAA,SAAS,EAAC,eAAjB;AAAiC,QAAA,MAAM,EAAC,GAAxC;AAA4C,QAAA,KAAK,EAAC;AAAlD,SAA0DA,KAA1D,EADF;AANJ;AAUD,CAbD;;AAeA,IAAME,SAAoC,GAAG,SAAvCA,SAAuC,CAACF,KAAD,EAAW;AACtD,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;;AAEA,UAAQI,QAAR;AACE,SAAKjB,KAAL;AACE,aAAO,oBAAC,OAAD;AAAS,QAAA,SAAS,EAAC;AAAnB,SAAqCgB,KAArC,EAAP;;AACF,SAAKf,GAAL;AACE,aAAO,oBAAC,OAAD;AAAS,QAAA,SAAS,EAAC,aAAnB;AAAiC,QAAA,KAAK,EAAC;AAAvC,SAA+Ce,KAA/C,EAAP;;AACF;AACE,aACE,oBAAC,IAAD;AAAM,QAAA,SAAS,EAAC,MAAhB;AAAuB,QAAA,SAAS,EAAC,aAAjC;AAA+C,QAAA,MAAM,EAAC;AAAtD,SAA8DA,KAA9D,EADF;AANJ;AAUD,CAbD;;AAoBA,IAAMG,WAAuC,GAAG,SAA1CA,WAA0C,OAI1C;AAAA,MAHJC,MAGI,QAHJA,MAGI;AAAA,MAFJC,WAEI,QAFJA,WAEI;AAAA,MADDC,SACC;;AACJ,MAAML,QAAQ,GAAGJ,WAAW,EAA5B;;AACA,uBAAsBC,aAAa,EAAnC;AAAA,MAAQS,SAAR,kBAAQA,SAAR;;AACA,MAAMC,eAAe,GAAG9B,KAAK,CAAC+B,WAAN,CACtB;AAAA,WAAMJ,WAAW,CAACD,MAAD,CAAjB;AAAA,GADsB,EAEtB,CAACC,WAAD,EAAcD,MAAd,CAFsB,CAAxB;;AAKA,MAAIH,QAAQ,KAAKhB,GAAjB,EAAsB;AACpB,4BAAiCmB,MAAjC,CAAQM,SAAR;AAAA,QAAQA,SAAR,kCAAoB,QAApB;AACA,WACE,oBAAC,QAAD;AACE,MAAA,SAAS,EAAEN,MAAM,CAACO,IAAP,GAAc,GAAd,GAAoBD,SADjC;AAEE,MAAA,SAAS,EAAE5B,UAAU,CAAC,eAAD,2BAAoCsB,MAAM,CAACQ,IAA3C,EAFvB;AAGE,MAAA,OAAO,EAAEJ,eAHX;AAIE,MAAA,IAAI,EAAEJ,MAAM,CAACO,IAJf;AAKE,MAAA,MAAM,EAAEP,MAAM,CAACS;AALjB,OAMMP,SANN,GAQGF,MAAM,CAACU,KARV,CADF;AAYD;;AAED,MAAIF,IAAyB,GAC3BR,MAAM,CAACQ,IAAP,KAAgB,QAAhB,GAA2B,WAA3B,GAAyC,SAD3C;;AAGA,MAAIX,QAAQ,KAAKlB,OAAjB,EAA0B;AACxB6B,IAAAA,IAAI,GAAG,UAAP;;AAEA,QAAIL,SAAS,KAAKrB,SAAS,CAAC6B,OAAxB,IAAmCX,MAAM,CAACQ,IAAP,KAAgB,aAAvD,EAAsE;AACpEA,MAAAA,IAAI,GAAG,aAAP;AACD;AACF;;AAED,SACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAE9B,UAAU,CAAC,eAAD,2BAAoCsB,MAAM,CAACQ,IAA3C,EADvB;AAEE,IAAA,IAAI,EAAEA,IAFR;AAGE,IAAA,IAAI,EAAC,GAHP;AAIE,IAAA,OAAO,EAAEJ,eAJX;AAKE,IAAA,SAAS,EAAEJ,MAAM,CAACM,SALpB;AAME,IAAA,IAAI,EAAEN,MAAM,CAACO,IANf;AAOE,IAAA,MAAM,EAAEP,MAAM,CAACS;AAPjB,KASGT,MAAM,CAACU,KATV,CADF;AAaD,CApDD;AAsDA;AACA;AACA;;;AACA,OAAO,IAAME,KAA2B,GAAG,SAA9BA,KAA8B,QAWrC;AAAA,4BAVJC,OAUI;AAAA,MAVJA,OAUI,8BAVM,EAUN;AAAA,kCATJC,aASI;AAAA,MATJA,aASI,oCATY,YASZ;AAAA,MARJC,QAQI,SARJA,QAQI;AAAA,MAPJC,SAOI,SAPJA,SAOI;AAAA,MANJC,KAMI,SANJA,KAMI;AAAA,MALJC,IAKI,SALJA,IAKI;AAAA,MAJJC,MAII,SAJJA,MAII;AAAA,MAHJC,OAGI,SAHJA,OAGI;AAAA,iCAFJC,YAEI;AAAA,MAFJA,YAEI,mCAFW,wBAEX;AAAA,MADDnB,SACC;;AACJ,MAAML,QAAQ,GAAGJ,WAAW,EAA5B;;AACA,wBAAsBC,aAAa,EAAnC;AAAA,MAAQS,SAAR,mBAAQA,SAAR;;AACA,8BAAiCX,uBAAuB,EAAxD;AAAA,MAAQ8B,oBAAR,yBAAQA,oBAAR;;AAEA,wBAA8BhD,KAAK,CAACiD,QAAN,CAAe,KAAf,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,MAAMC,UAAU,GAAGpD,KAAK,CAACqD,MAAN,CAA6B,IAA7B,CAAnB;AAEA,MAAMC,qBAAkD,GACtD/B,QAAQ,KAAKjB,KAAb,GAAqB,YAArB,GAAoCkC,aADtC;AAEA,MAAMe,kBAAkB,GACtBhC,QAAQ,KAAKjB,KAAb,IACCiB,QAAQ,KAAKlB,OAAb,IAAwBwB,SAAS,IAAIrB,SAAS,CAACgD,YAFlD;AAGA,MAAMC,SAAS,GAAG5B,SAAS,IAAIrB,SAAS,CAACgD,YAAzC;AAEA,MAAME,OAAO,GAAGnC,QAAQ,KAAKlB,OAAb,IAAwBkB,QAAQ,KAAKjB,KAArC,GAA6C,GAA7C,GAAmD,GAAnE;AAEA,MAAMqD,KAAK,GAAG3D,KAAK,CAAC+B,WAAN,CAAkB,YAAM;AACpCoB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACAH,IAAAA,oBAAoB,CAClBI,UAAU,CAACQ,OADO,EAElB,UAACC,CAAD,EAAyB;AACvB,UAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AACtChB,QAAAA,OAAO,IAAIA,OAAO,EAAlB;AACD;AACF,KANiB,EAOlBY,OAPkB,CAApB;AASD,GAXa,EAWX,CAACN,UAAD,EAAaJ,oBAAb,EAAmCF,OAAnC,EAA4CY,OAA5C,CAXW,CAAd;AAaA,MAAM/B,WAA6B,GAAG3B,KAAK,CAAC+B,WAAN,CACpC,UAACgC,IAAD,EAAgC;AAC9B,QAAQrC,MAAR,GAA8BqC,IAA9B,CAAQrC,MAAR;AAAA,QAAgBsC,SAAhB,GAA8BD,IAA9B,CAAgBC,SAAhB;;AAEA,QAAIA,SAAJ,EAAe;AACbb,MAAAA,UAAU,CAAC,IAAD,CAAV;AACAH,MAAAA,oBAAoB,CAClBI,UAAU,CAACQ,OADO,EAElB,UAACC,CAAD,EAAyB;AACvB,YAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AACtChB,UAAAA,OAAO,IAAIA,OAAO,EAAlB;AACApB,UAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,OAPiB,EAQlBgC,OARkB,CAApB;AAUD,KAZD,MAYO;AACLhC,MAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,GAnBmC,EAoBpC,CAAC0B,UAAD,EAAaJ,oBAAb,EAAmCF,OAAnC,EAA4CY,OAA5C,CApBoC,CAAtC;AAuBAzC,EAAAA,aAAa;AAEb,SACE,oBAAC,aAAD;AACE,IAAA,SAAS,EAAEyB,SADb;AAEE,IAAA,OAAO,EAAEQ,OAFX;AAGE,IAAA,KAAK,EAAEP,KAHT;AAIE,IAAA,OAAO,EAAEgB;AAJX,KAME,oBAAC,SAAD,eACM/B,SADN;AAEE,IAAA,UAAU,EAAEwB,UAFd;AAGE,IAAA,OAAO,EAAEzC,eAHX;AAIE,IAAA,OAAO,EAAEgD,KAJX;AAKE,IAAA,OAAO,EAAED,OALX;AAME,IAAA,SAAS,EAAEtD,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUoB,QAAV,CADO,EAEnB+B,qBAAqB,KAAK,UAA1B,GAAuC,UAAvC,GAAoD,UAFjC,EAGnBJ,OAAO,IAAI,gBAHQ,EAInBO,SAAS,IAAI,gBAJM,CANvB;AAYE,IAAA,IAAI,EAAC,aAZP;AAaE,sBAbF;AAcE,uBAAgB,oBAdlB;AAeE,wBAAiB;AAfnB,MAiBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG/C,YAAY,CAACmC,MAAD,CAAZ,IACC,oBAAC,WAAD;AAAa,IAAA,EAAE,EAAC;AAAhB,KAAsCA,MAAtC,CAFJ,EAIGnC,YAAY,CAACkC,IAAD,CAAZ,IACC,oBAAC,SAAD;AAAW,IAAA,EAAE,EAAC;AAAd,KAAmCA,IAAnC,CALJ,EAOGH,QAPH,CAjBF,EA0BE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGF,OAAO,CAAC0B,GAAR,CAAY,UAACvC,MAAD,EAASwC,CAAT;AAAA,WACX,oBAAC,WAAD;AAAa,MAAA,GAAG,EAAEA,CAAlB;AAAqB,MAAA,MAAM,EAAExC,MAA7B;AAAqC,MAAA,WAAW,EAAEC;AAAlD,MADW;AAAA,GAAZ,CADH,CA1BF,EA+BG4B,kBAAkB,IACjB,oBAAC,kBAAD;AAAoB,IAAA,OAAO,EAAEI,KAA7B;AAAoC,kBAAYZ;AAAhD,IAhCJ,CANF,CADF;AA4CD,CA/GM","sourcesContent":["import * as React from \"react\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport { hasReactNode, stopPropagation } from \"../../lib/utils\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { ModalDismissButton } from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement> {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n\n /**\n * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n}\n\ntype ItemClickHandler = (item: AlertActionInterface) => void;\n\ninterface AlertTypography {\n id: string;\n}\n\nconst AlertHeader: React.FC<AlertTypography> = (props) => {\n const platform = usePlatform();\n\n switch (platform) {\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\" {...props} />\n );\n default:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\" {...props} />\n );\n }\n};\n\nconst AlertText: React.FC<AlertTypography> = (props) => {\n const platform = usePlatform();\n\n switch (platform) {\n case VKCOM:\n return <Caption vkuiClass=\"Alert__text\" {...props} />;\n case IOS:\n return <Caption vkuiClass=\"Alert__text\" level=\"2\" {...props} />;\n default:\n return (\n <Text Component=\"span\" vkuiClass=\"Alert__text\" weight=\"3\" {...props} />\n );\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction: React.FC<AlertActionProps> = ({\n action,\n onItemClick,\n ...restProps\n}) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivity();\n const handleItemClick = React.useCallback(\n () => onItemClick(action),\n [onItemClick, action]\n );\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\"Alert__action\", `Alert__action--${action.mode}`)}\n onClick={handleItemClick}\n href={action.href}\n target={action.target}\n {...restProps}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (viewWidth === ViewWidth.DESKTOP && action.mode === \"destructive\") {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={handleItemClick}\n Component={action.Component}\n href={action.href}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert: React.FC<AlertProps> = ({\n actions = [],\n actionsLayout = \"horizontal\",\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = \"Закрыть предупреждение\",\n ...restProps\n}) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivity();\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const resolvedActionsLayout: AlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n const timeout = platform === ANDROID || platform === VKCOM ? 200 : 300;\n\n const close = React.useCallback(() => {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n onClose && onClose();\n }\n },\n timeout\n );\n }, [elementRef, waitTransitionFinish, onClose, timeout]);\n\n const onItemClick: ItemClickHandler = React.useCallback(\n (item: AlertActionInterface) => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n onClose && onClose();\n action && action();\n }\n },\n timeout\n );\n } else {\n action && action();\n }\n },\n [elementRef, waitTransitionFinish, onClose, timeout]\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={close}\n >\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n vkuiClass={classNames(\n getClassName(\"Alert\", platform),\n resolvedActionsLayout === \"vertical\" ? \"Alert--v\" : \"Alert--h\",\n closing && \"Alert--closing\",\n isDesktop && \"Alert--desktop\"\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && (\n <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>\n )}\n {hasReactNode(text) && (\n <AlertText id=\"vkui--alert--desc\">{text}</AlertText>\n )}\n {children}\n </div>\n <div vkuiClass=\"Alert__actions\">\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {canShowCloseButton && (\n <ModalDismissButton onClick={close} aria-label={dismissLabel} />\n )}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"file":"Alert.js"}
1
+ {"version":3,"sources":["../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","ANDROID","VKCOM","IOS","ViewWidth","Button","hasReactNode","stopPropagation","Title","Caption","Text","ModalDismissButton","FocusTrap","useScrollLock","useWaitTransitionFinish","usePlatform","useAdaptivity","AlertHeader","props","platform","AlertText","AlertAction","action","onItemClick","restProps","viewWidth","handleItemClick","useCallback","Component","href","mode","target","title","DESKTOP","Alert","actions","actionsLayout","children","className","style","text","header","onClose","dismissLabel","waitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","timeout","close","current","e","propertyName","item","autoclose","map","i"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT;AACA,SAASC,aAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,OAAT,EAAkBC,KAAlB,EAAyBC,GAAzB;AACA,SAASC,SAAT;AACA,SAASC,MAAT;AACA,SAASC,YAAT,EAAuBC,eAAvB;AACA,SAASC,KAAT;AACA,SAASC,OAAT;AACA,SAASC,IAAT;AACA,SAASC,kBAAT;AACA,SAASC,SAAT;AACA,SAASC,aAAT;AACA,SAASC,uBAAT;AACA,SAASC,WAAT;AACA,SAASC,aAAT;;AAiCA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAA4B;AAC9C,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;;AAEA,UAAQI,QAAR;AACE,SAAKhB,GAAL;AACE,aACE,oBAAC,KAAD;AAAO,QAAA,SAAS,EAAC,eAAjB;AAAiC,QAAA,MAAM,EAAC,GAAxC;AAA4C,QAAA,KAAK,EAAC;AAAlD,SAA0De,KAA1D,EADF;;AAGF;AACE,aACE,oBAAC,KAAD;AAAO,QAAA,SAAS,EAAC,eAAjB;AAAiC,QAAA,MAAM,EAAC,GAAxC;AAA4C,QAAA,KAAK,EAAC;AAAlD,SAA0DA,KAA1D,EADF;AANJ;AAUD,CAbD;;AAeA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACF,KAAD,EAA4B;AAC5C,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;;AAEA,UAAQI,QAAR;AACE,SAAKjB,KAAL;AACE,aAAO,oBAAC,OAAD;AAAS,QAAA,SAAS,EAAC;AAAnB,SAAqCgB,KAArC,EAAP;;AACF,SAAKf,GAAL;AACE,aAAO,oBAAC,OAAD;AAAS,QAAA,SAAS,EAAC,aAAnB;AAAiC,QAAA,KAAK,EAAC;AAAvC,SAA+Ce,KAA/C,EAAP;;AACF;AACE,aACE,oBAAC,IAAD;AAAM,QAAA,SAAS,EAAC,MAAhB;AAAuB,QAAA,SAAS,EAAC,aAAjC;AAA+C,QAAA,MAAM,EAAC;AAAtD,SAA8DA,KAA9D,EADF;AANJ;AAUD,CAbD;;AAoBA,IAAMG,WAAW,GAAG,SAAdA,WAAc,OAII;AAAA,MAHtBC,MAGsB,QAHtBA,MAGsB;AAAA,MAFtBC,WAEsB,QAFtBA,WAEsB;AAAA,MADnBC,SACmB;;AACtB,MAAML,QAAQ,GAAGJ,WAAW,EAA5B;;AACA,uBAAsBC,aAAa,EAAnC;AAAA,MAAQS,SAAR,kBAAQA,SAAR;;AACA,MAAMC,eAAe,GAAG9B,KAAK,CAAC+B,WAAN,CACtB;AAAA,WAAMJ,WAAW,CAACD,MAAD,CAAjB;AAAA,GADsB,EAEtB,CAACC,WAAD,EAAcD,MAAd,CAFsB,CAAxB;;AAKA,MAAIH,QAAQ,KAAKhB,GAAjB,EAAsB;AACpB,4BAAiCmB,MAAjC,CAAQM,SAAR;AAAA,QAAQA,SAAR,kCAAoB,QAApB;AACA,WACE,oBAAC,QAAD;AACE,MAAA,SAAS,EAAEN,MAAM,CAACO,IAAP,GAAc,GAAd,GAAoBD,SADjC;AAEE,MAAA,SAAS,EAAE5B,UAAU,CAAC,eAAD,2BAAoCsB,MAAM,CAACQ,IAA3C,EAFvB;AAGE,MAAA,OAAO,EAAEJ,eAHX;AAIE,MAAA,IAAI,EAAEJ,MAAM,CAACO,IAJf;AAKE,MAAA,MAAM,EAAEP,MAAM,CAACS;AALjB,OAMMP,SANN,GAQGF,MAAM,CAACU,KARV,CADF;AAYD;;AAED,MAAIF,IAAyB,GAC3BR,MAAM,CAACQ,IAAP,KAAgB,QAAhB,GAA2B,WAA3B,GAAyC,SAD3C;;AAGA,MAAIX,QAAQ,KAAKlB,OAAjB,EAA0B;AACxB6B,IAAAA,IAAI,GAAG,UAAP;;AAEA,QAAIL,SAAS,KAAKrB,SAAS,CAAC6B,OAAxB,IAAmCX,MAAM,CAACQ,IAAP,KAAgB,aAAvD,EAAsE;AACpEA,MAAAA,IAAI,GAAG,aAAP;AACD;AACF;;AAED,SACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAE9B,UAAU,CAAC,eAAD,2BAAoCsB,MAAM,CAACQ,IAA3C,EADvB;AAEE,IAAA,IAAI,EAAEA,IAFR;AAGE,IAAA,IAAI,EAAC,GAHP;AAIE,IAAA,OAAO,EAAEJ,eAJX;AAKE,IAAA,SAAS,EAAEJ,MAAM,CAACM,SALpB;AAME,IAAA,IAAI,EAAEN,MAAM,CAACO,IANf;AAOE,IAAA,MAAM,EAAEP,MAAM,CAACS;AAPjB,KASGT,MAAM,CAACU,KATV,CADF;AAaD,CApDD;AAsDA;AACA;AACA;;;AACA,OAAO,IAAME,KAAK,GAAG,SAARA,KAAQ,QAWH;AAAA,4BAVhBC,OAUgB;AAAA,MAVhBA,OAUgB,8BAVN,EAUM;AAAA,kCAThBC,aASgB;AAAA,MAThBA,aASgB,oCATA,YASA;AAAA,MARhBC,QAQgB,SARhBA,QAQgB;AAAA,MAPhBC,SAOgB,SAPhBA,SAOgB;AAAA,MANhBC,KAMgB,SANhBA,KAMgB;AAAA,MALhBC,IAKgB,SALhBA,IAKgB;AAAA,MAJhBC,MAIgB,SAJhBA,MAIgB;AAAA,MAHhBC,OAGgB,SAHhBA,OAGgB;AAAA,iCAFhBC,YAEgB;AAAA,MAFhBA,YAEgB,mCAFD,wBAEC;AAAA,MADbnB,SACa;;AAChB,MAAML,QAAQ,GAAGJ,WAAW,EAA5B;;AACA,wBAAsBC,aAAa,EAAnC;AAAA,MAAQS,SAAR,mBAAQA,SAAR;;AACA,8BAAiCX,uBAAuB,EAAxD;AAAA,MAAQ8B,oBAAR,yBAAQA,oBAAR;;AAEA,wBAA8BhD,KAAK,CAACiD,QAAN,CAAe,KAAf,CAA9B;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,MAAMC,UAAU,GAAGpD,KAAK,CAACqD,MAAN,CAA6B,IAA7B,CAAnB;AAEA,MAAMC,qBAAkD,GACtD/B,QAAQ,KAAKjB,KAAb,GAAqB,YAArB,GAAoCkC,aADtC;AAEA,MAAMe,kBAAkB,GACtBhC,QAAQ,KAAKjB,KAAb,IACCiB,QAAQ,KAAKlB,OAAb,IAAwBwB,SAAS,IAAIrB,SAAS,CAACgD,YAFlD;AAGA,MAAMC,SAAS,GAAG5B,SAAS,IAAIrB,SAAS,CAACgD,YAAzC;AAEA,MAAME,OAAO,GAAGnC,QAAQ,KAAKlB,OAAb,IAAwBkB,QAAQ,KAAKjB,KAArC,GAA6C,GAA7C,GAAmD,GAAnE;AAEA,MAAMqD,KAAK,GAAG3D,KAAK,CAAC+B,WAAN,CAAkB,YAAM;AACpCoB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACAH,IAAAA,oBAAoB,CAClBI,UAAU,CAACQ,OADO,EAElB,UAACC,CAAD,EAAyB;AACvB,UAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AACtChB,QAAAA,OAAO,IAAIA,OAAO,EAAlB;AACD;AACF,KANiB,EAOlBY,OAPkB,CAApB;AASD,GAXa,EAWX,CAACN,UAAD,EAAaJ,oBAAb,EAAmCF,OAAnC,EAA4CY,OAA5C,CAXW,CAAd;AAaA,MAAM/B,WAA6B,GAAG3B,KAAK,CAAC+B,WAAN,CACpC,UAACgC,IAAD,EAAgC;AAC9B,QAAQrC,MAAR,GAA8BqC,IAA9B,CAAQrC,MAAR;AAAA,QAAgBsC,SAAhB,GAA8BD,IAA9B,CAAgBC,SAAhB;;AAEA,QAAIA,SAAJ,EAAe;AACbb,MAAAA,UAAU,CAAC,IAAD,CAAV;AACAH,MAAAA,oBAAoB,CAClBI,UAAU,CAACQ,OADO,EAElB,UAACC,CAAD,EAAyB;AACvB,YAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AACtChB,UAAAA,OAAO,IAAIA,OAAO,EAAlB;AACApB,UAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,OAPiB,EAQlBgC,OARkB,CAApB;AAUD,KAZD,MAYO;AACLhC,MAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,GAnBmC,EAoBpC,CAAC0B,UAAD,EAAaJ,oBAAb,EAAmCF,OAAnC,EAA4CY,OAA5C,CApBoC,CAAtC;AAuBAzC,EAAAA,aAAa;AAEb,SACE,oBAAC,aAAD;AACE,IAAA,SAAS,EAAEyB,SADb;AAEE,IAAA,OAAO,EAAEQ,OAFX;AAGE,IAAA,KAAK,EAAEP,KAHT;AAIE,IAAA,OAAO,EAAEgB;AAJX,KAME,oBAAC,SAAD,eACM/B,SADN;AAEE,IAAA,UAAU,EAAEwB,UAFd;AAGE,IAAA,OAAO,EAAEzC,eAHX;AAIE,IAAA,OAAO,EAAEgD,KAJX;AAKE,IAAA,OAAO,EAAED,OALX;AAME,IAAA,SAAS,EAAEtD,UAAU,CACnBD,YAAY,CAAC,OAAD,EAAUoB,QAAV,CADO,EAEnB+B,qBAAqB,KAAK,UAA1B,GAAuC,UAAvC,GAAoD,UAFjC,EAGnBJ,OAAO,IAAI,gBAHQ,EAInBO,SAAS,IAAI,gBAJM,CANvB;AAYE,IAAA,IAAI,EAAC,aAZP;AAaE,sBAbF;AAcE,uBAAgB,oBAdlB;AAeE,wBAAiB;AAfnB,MAiBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG/C,YAAY,CAACmC,MAAD,CAAZ,IACC,oBAAC,WAAD;AAAa,IAAA,EAAE,EAAC;AAAhB,KAAsCA,MAAtC,CAFJ,EAIGnC,YAAY,CAACkC,IAAD,CAAZ,IACC,oBAAC,SAAD;AAAW,IAAA,EAAE,EAAC;AAAd,KAAmCA,IAAnC,CALJ,EAOGH,QAPH,CAjBF,EA0BE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGF,OAAO,CAAC0B,GAAR,CAAY,UAACvC,MAAD,EAASwC,CAAT;AAAA,WACX,oBAAC,WAAD;AAAa,MAAA,GAAG,EAAEA,CAAlB;AAAqB,MAAA,MAAM,EAAExC,MAA7B;AAAqC,MAAA,WAAW,EAAEC;AAAlD,MADW;AAAA,GAAZ,CADH,CA1BF,EA+BG4B,kBAAkB,IACjB,oBAAC,kBAAD;AAAoB,IAAA,OAAO,EAAEI,KAA7B;AAAoC,kBAAYZ;AAAhD,IAhCJ,CANF,CADF;AA4CD,CA/GM","sourcesContent":["import * as React from \"react\";\nimport { Tappable } from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { ViewWidth } from \"../../hoc/withAdaptivity\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport { hasReactNode, stopPropagation } from \"../../lib/utils\";\nimport { Title } from \"../Typography/Title/Title\";\nimport { Caption } from \"../Typography/Caption/Caption\";\nimport { Text } from \"../Typography/Text/Text\";\nimport { ModalDismissButton } from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport { useWaitTransitionFinish } from \"../../hooks/useWaitTransitionFinish\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLElement> {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n\n /**\n * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n}\n\ntype ItemClickHandler = (item: AlertActionInterface) => void;\n\ninterface AlertTypography {\n id: string;\n children?: React.ReactNode;\n}\n\nconst AlertHeader = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"1\" level=\"3\" {...props} />\n );\n default:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"2\" level=\"2\" {...props} />\n );\n }\n};\n\nconst AlertText = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case VKCOM:\n return <Caption vkuiClass=\"Alert__text\" {...props} />;\n case IOS:\n return <Caption vkuiClass=\"Alert__text\" level=\"2\" {...props} />;\n default:\n return (\n <Text Component=\"span\" vkuiClass=\"Alert__text\" weight=\"3\" {...props} />\n );\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction = ({\n action,\n onItemClick,\n ...restProps\n}: AlertActionProps) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivity();\n const handleItemClick = React.useCallback(\n () => onItemClick(action),\n [onItemClick, action]\n );\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\"Alert__action\", `Alert__action--${action.mode}`)}\n onClick={handleItemClick}\n href={action.href}\n target={action.target}\n {...restProps}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (viewWidth === ViewWidth.DESKTOP && action.mode === \"destructive\") {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={handleItemClick}\n Component={action.Component}\n href={action.href}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/Alert\n */\nexport const Alert = ({\n actions = [],\n actionsLayout = \"horizontal\",\n children,\n className,\n style,\n text,\n header,\n onClose,\n dismissLabel = \"Закрыть предупреждение\",\n ...restProps\n}: AlertProps) => {\n const platform = usePlatform();\n const { viewWidth } = useAdaptivity();\n const { waitTransitionFinish } = useWaitTransitionFinish();\n\n const [closing, setClosing] = React.useState(false);\n\n const elementRef = React.useRef<HTMLDivElement>(null);\n\n const resolvedActionsLayout: AlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n const timeout = platform === ANDROID || platform === VKCOM ? 200 : 300;\n\n const close = React.useCallback(() => {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n onClose && onClose();\n }\n },\n timeout\n );\n }, [elementRef, waitTransitionFinish, onClose, timeout]);\n\n const onItemClick: ItemClickHandler = React.useCallback(\n (item: AlertActionInterface) => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n setClosing(true);\n waitTransitionFinish(\n elementRef.current,\n (e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n onClose && onClose();\n action && action();\n }\n },\n timeout\n );\n } else {\n action && action();\n }\n },\n [elementRef, waitTransitionFinish, onClose, timeout]\n );\n\n useScrollLock();\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={close}\n >\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n vkuiClass={classNames(\n getClassName(\"Alert\", platform),\n resolvedActionsLayout === \"vertical\" ? \"Alert--v\" : \"Alert--h\",\n closing && \"Alert--closing\",\n isDesktop && \"Alert--desktop\"\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && (\n <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>\n )}\n {hasReactNode(text) && (\n <AlertText id=\"vkui--alert--desc\">{text}</AlertText>\n )}\n {children}\n </div>\n <div vkuiClass=\"Alert__actions\">\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {canShowCloseButton && (\n <ModalDismissButton onClick={close} aria-label={dismissLabel} />\n )}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"file":"Alert.js"}
@@ -10,8 +10,14 @@ export interface AppRootProps extends React.HTMLAttributes<HTMLDivElement>, Pick
10
10
  /** Убирает классы без префикса (.Button) */
11
11
  noLegacyClasses?: boolean;
12
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;
13
19
  }
14
20
  /**
15
21
  * @see https://vkcom.github.io/VKUI/#/AppRoot
16
22
  */
17
- 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" | "noLegacyClasses"> & import("../AdaptivityProvider/AdaptivityContext").SizeProps>;
23
+ export declare const AppRoot: React.ComponentType<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>;
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["children", "mode", "embedded", "sizeX", "hasMouse", "noLegacyClasses", "scroll"];
5
+ var _excluded = ["children", "mode", "embedded", "sizeX", "hasMouse", "noLegacyClasses", "scroll", "portalRoot", "disablePortal"];
6
6
  import { createScopedElement } from "../../lib/jsxRuntime";
7
7
  import * as React from "react";
8
8
  import { useDOM } from "../../lib/dom";
@@ -18,6 +18,7 @@ import { warnOnce } from "../../lib/warnOnce";
18
18
  import { useKeyboardInputTracker } from "../../hooks/useKeyboardInputTracker";
19
19
  import { useInsets } from "../../hooks/useInsets";
20
20
  import { ConfigProviderContext } from "../ConfigProvider/ConfigProviderContext";
21
+ import { isRefObject } from "../../lib/isRefObject";
21
22
  var warn = warnOnce("AppRoot");
22
23
  /**
23
24
  * @see https://vkcom.github.io/VKUI/#/AppRoot
@@ -33,6 +34,9 @@ export var AppRoot = withAdaptivity(function (_ref) {
33
34
  noLegacyClasses = _ref$noLegacyClasses === void 0 ? false : _ref$noLegacyClasses,
34
35
  _ref$scroll = _ref.scroll,
35
36
  scroll = _ref$scroll === void 0 ? "global" : _ref$scroll,
37
+ _ref$portalRoot = _ref.portalRoot,
38
+ portalRootProp = _ref$portalRoot === void 0 ? null : _ref$portalRoot,
39
+ disablePortal = _ref.disablePortal,
36
40
  props = _objectWithoutProperties(_ref, _excluded);
37
41
 
38
42
  // normalize mode
@@ -76,16 +80,29 @@ export var AppRoot = withAdaptivity(function (_ref) {
76
80
 
77
81
 
78
82
  useIsomorphicLayoutEffect(function () {
79
- var portal = document.createElement("div");
80
- portal.classList.add("vkui__portal-root");
81
- document.body.appendChild(portal);
83
+ var portal = null;
84
+
85
+ if (portalRootProp) {
86
+ if (isRefObject(portalRootProp)) {
87
+ portal = portalRootProp.current;
88
+ } else {
89
+ portal = portalRootProp;
90
+ }
91
+ }
92
+
93
+ if (!portal) {
94
+ portal = document.createElement("div");
95
+ portal.classList.add("vkui__portal-root");
96
+ document.body.appendChild(portal);
97
+ }
98
+
82
99
  setPortalRoot(portal);
83
100
  return function () {
84
- var _portal$parentElement;
101
+ var _portal, _portal$parentElement;
85
102
 
86
- (_portal$parentElement = portal.parentElement) === null || _portal$parentElement === void 0 ? void 0 : _portal$parentElement.removeChild(portal);
103
+ (_portal = portal) === null || _portal === void 0 ? void 0 : (_portal$parentElement = _portal.parentElement) === null || _portal$parentElement === void 0 ? void 0 : _portal$parentElement.removeChild(portal);
87
104
  };
88
- }, []); // setup root classes
105
+ }, [portalRootProp]); // setup root classes
89
106
 
90
107
  useIsomorphicLayoutEffect(function () {
91
108
  var _rootRef$current, _parent$classList;
@@ -167,7 +184,8 @@ export var AppRoot = withAdaptivity(function (_ref) {
167
184
  portalRoot: portalRoot,
168
185
  embedded: mode === "embedded",
169
186
  keyboardInput: isKeyboardInputActive,
170
- mode: mode
187
+ mode: mode,
188
+ disablePortal: disablePortal
171
189
  }
172
190
  }, createScopedElement(ScrollController, {
173
191
  elRef: rootRef
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","ElementScrollController","GlobalScrollController","noop","warnOnce","useKeyboardInputTracker","useInsets","ConfigProviderContext","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","document","insets","useContext","appearance","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","undefined","ScrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","ElementScrollController","GlobalScrollController","noop","warnOnce","useKeyboardInputTracker","useInsets","ConfigProviderContext","isRefObject","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","portalRoot","portalRootProp","disablePortal","props","isKeyboardInputActive","rootRef","useRef","useState","setPortalRoot","document","insets","useContext","appearance","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","undefined","ScrollController","useMemo","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n ElementScrollController,\n GlobalScrollController,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { isRefObject } from \"../../lib/isRefObject\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n /** Элемент используемый в качестве root для порталов\n * При передаче своего элемента необходимо задать ему class=\"vkui__portal-root\" и добавить в DOM\n */\n // TODO: v5.0.0 изменить тип на HTMLElement\n portalRoot?: HTMLDivElement | React.RefObject<HTMLDivElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\nconst warn = warnOnce(\"AppRoot\");\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n portalRoot: portalRootProp = null,\n disablePortal,\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { document } = useDOM();\n const insets = useInsets();\n const { appearance } = React.useContext(ConfigProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\n `Свойство scroll=\"${scroll}\" поддерживается только в режиме embedded`,\n \"error\"\n );\n }\n if (_mode && _embedded) {\n warn(`Свойство mode=\"${mode}\" приоритетнее, чем \"embedded\"`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLDivElement | null = null;\n if (portalRootProp) {\n if (isRefObject(portalRootProp)) {\n portal = portalRootProp.current;\n } else {\n portal = portalRootProp;\n }\n }\n if (!portal) {\n portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n }\n setPortalRoot(portal);\n return () => {\n portal?.parentElement?.removeChild(portal);\n };\n }, [portalRootProp]);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n useIsomorphicLayoutEffect(() => {\n if (mode !== \"full\" || appearance === undefined) {\n return noop;\n }\n document!.documentElement.style.setProperty(\"color-scheme\", appearance);\n\n return () =>\n document!.documentElement.style.removeProperty(\"color-scheme\");\n }, [appearance]);\n\n const ScrollController = React.useMemo(\n () =>\n scroll === \"contain\" ? ElementScrollController : GlobalScrollController,\n [scroll]\n );\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n disablePortal,\n }}\n >\n <ScrollController elRef={rootRef}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
@@ -5,5 +5,6 @@ export interface AppRootContextInterface {
5
5
  embedded?: boolean;
6
6
  mode?: "partial" | "embedded" | "full";
7
7
  keyboardInput?: boolean;
8
+ disablePortal?: boolean;
8
9
  }
9
10
  export declare const AppRootContext: React.Context<AppRootContextInterface>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAUA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from \"react\";\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement | null;\n embedded?: boolean;\n mode?: \"partial\" | \"embedded\" | \"full\";\n keyboardInput?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRootContext.ts"],"names":["React","AppRootContext","createContext","portalRoot"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAWA,OAAO,IAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAN,CAA6C;AACzEC,EAAAA,UAAU,EAAE;AAD6D,CAA7C,CAAvB","sourcesContent":["import * as React from \"react\";\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLDivElement | null;\n embedded?: boolean;\n mode?: \"partial\" | \"embedded\" | \"full\";\n keyboardInput?: boolean;\n disablePortal?: boolean;\n}\n\nexport const AppRootContext = React.createContext<AppRootContextInterface>({\n portalRoot: null,\n});\n"],"file":"AppRootContext.js"}
@@ -1,5 +1,7 @@
1
1
  import * as React from "react";
2
- export declare const AppRootPortal: React.FC<React.PropsWithChildren<{
2
+ export interface AppRootPortalProps {
3
3
  className?: string;
4
4
  forcePortal?: boolean;
5
- }>>;
5
+ children?: React.ReactNode;
6
+ }
7
+ export declare const AppRootPortal: ({ children, className, forcePortal, }: AppRootPortalProps) => JSX.Element;
@@ -13,11 +13,12 @@ export var AppRootPortal = function AppRootPortal(_ref) {
13
13
 
14
14
  var _React$useContext = React.useContext(AppRootContext),
15
15
  portalRoot = _React$useContext.portalRoot,
16
- mode = _React$useContext.mode;
16
+ mode = _React$useContext.mode,
17
+ disablePortal = _React$useContext.disablePortal;
17
18
 
18
19
  var appearance = useAppearance();
19
20
  forcePortal = (_forcePortal = forcePortal) !== null && _forcePortal !== void 0 ? _forcePortal : mode !== "full";
20
- return portalRoot && forcePortal ? /*#__PURE__*/createPortal(createScopedElement(AppearanceProvider, {
21
+ return !disablePortal && portalRoot && forcePortal ? /*#__PURE__*/createPortal(createScopedElement(AppearanceProvider, {
21
22
  appearance: appearance
22
23
  }, createScopedElement("div", {
23
24
  className: className
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppearanceProvider","useAppearance","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode","appearance"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,aAAT;AAEA,OAAO,IAAMC,aAEZ,GAAG,SAFSA,aAET,OAA0C;AAAA;;AAAA,MAAvCC,QAAuC,QAAvCA,QAAuC;AAAA,MAA7BC,SAA6B,QAA7BA,SAA6B;AAAA,MAAlBC,WAAkB,QAAlBA,WAAkB;;AAC5C,0BAA6BR,KAAK,CAACS,UAAN,CAAiBP,cAAjB,CAA7B;AAAA,MAAQQ,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;;AACA,MAAMC,UAAU,GAAGR,aAAa,EAAhC;AAEAI,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAOD,UAAU,IAAIF,WAAd,gBACLP,YAAY,CACV,oBAAC,kBAAD;AAAoB,IAAA,UAAU,EAAEW;AAAhC,KACE;AAAK,IAAA,SAAS,EAAEL;AAAhB,KAA4BD,QAA5B,CADF,CADU,EAIVI,UAJU,CADP,GAQL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CARF;AAUD,CAjBM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport const AppRootPortal: React.FC<\n React.PropsWithChildren<{ className?: string; forcePortal?: boolean }>\n> = ({ children, className, forcePortal }) => {\n const { portalRoot, mode } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"file":"AppRootPortal.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/AppRootPortal.tsx"],"names":["React","createPortal","AppRootContext","AppearanceProvider","useAppearance","AppRootPortal","children","className","forcePortal","useContext","portalRoot","mode","disablePortal","appearance"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT,QAA6B,WAA7B;AACA,SAASC,cAAT;AACA,SAASC,kBAAT;AACA,SAASC,aAAT;AAQA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAIH;AAAA;;AAAA,MAHxBC,QAGwB,QAHxBA,QAGwB;AAAA,MAFxBC,SAEwB,QAFxBA,SAEwB;AAAA,MADxBC,WACwB,QADxBA,WACwB;;AACxB,0BAA4CR,KAAK,CAACS,UAAN,CAAiBP,cAAjB,CAA5C;AAAA,MAAQQ,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,IAApB,qBAAoBA,IAApB;AAAA,MAA0BC,aAA1B,qBAA0BA,aAA1B;;AACA,MAAMC,UAAU,GAAGT,aAAa,EAAhC;AAEAI,EAAAA,WAAW,mBAAGA,WAAH,uDAAkBG,IAAI,KAAK,MAAtC;AACA,SAAO,CAACC,aAAD,IAAkBF,UAAlB,IAAgCF,WAAhC,gBACLP,YAAY,CACV,oBAAC,kBAAD;AAAoB,IAAA,UAAU,EAAEY;AAAhC,KACE;AAAK,IAAA,SAAS,EAAEN;AAAhB,KAA4BD,QAA5B,CADF,CADU,EAIVI,UAJU,CADP,GAQL,oBAAC,KAAD,CAAO,QAAP,QAAiBJ,QAAjB,CARF;AAUD,CAnBM","sourcesContent":["import * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport { AppearanceProvider } from \"../AppearanceProvider/AppearanceProvider\";\nimport { useAppearance } from \"../../hooks/useAppearance\";\n\nexport interface AppRootPortalProps {\n className?: string;\n forcePortal?: boolean;\n children?: React.ReactNode;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n forcePortal = forcePortal ?? mode !== \"full\";\n return !disablePortal && portalRoot && forcePortal ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalRoot\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n"],"file":"AppRootPortal.js"}
@@ -1,22 +1,23 @@
1
1
  import * as React from "react";
2
2
  export interface ScrollContextInterface {
3
- getScroll(): {
3
+ getScroll(this: void): {
4
4
  x: number;
5
5
  y: number;
6
6
  };
7
- scrollTo(x?: number, y?: number): void;
7
+ scrollTo(this: void, x?: number, y?: number): void;
8
8
  isScrollLock: boolean;
9
- enableScrollLock(): void;
10
- disableScrollLock(): void;
9
+ enableScrollLock(this: void): void;
10
+ disableScrollLock(this: void): void;
11
11
  beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;
12
12
  }
13
13
  export declare const ScrollContext: React.Context<ScrollContextInterface>;
14
14
  export declare const useScroll: () => ScrollContextInterface;
15
15
  export interface ScrollControllerProps {
16
16
  elRef: React.RefObject<HTMLElement>;
17
+ children?: React.ReactNode;
17
18
  }
18
- export declare const GlobalScrollController: React.FC<ScrollControllerProps>;
19
- export declare const ElementScrollController: React.FC<ScrollControllerProps>;
19
+ export declare const GlobalScrollController: ({ children }: ScrollControllerProps) => JSX.Element;
20
+ export declare const ElementScrollController: ({ elRef, children, }: ScrollControllerProps) => JSX.Element;
20
21
  /**
21
22
  * Вызывает функцию effect, до блокировки прокрутки
22
23
  * @param effect функция, которая может возвращать функцию очистки
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppRoot/ScrollContext.tsx"],"names":["React","noop","useIsomorphicLayoutEffect","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","createContext","getScroll","x","y","scrollTo","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","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"],"mappings":"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","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(): { x: number; y: number };\n scrollTo(x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(): void;\n disableScrollLock(): 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}\n\nexport const GlobalScrollController: React.FC<ScrollControllerProps> = ({\n children,\n}) => {\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: React.FC<ScrollControllerProps> = ({\n elRef,\n children,\n}) => {\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"],"file":"ScrollContext.js"}
1
+ {"version":3,"sources":["../../../src/components/AppRoot/ScrollContext.tsx"],"names":["React","noop","useIsomorphicLayoutEffect","clamp","useDOM","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","ScrollContext","createContext","getScroll","x","y","scrollTo","isScrollLock","enableScrollLock","disableScrollLock","useScroll","useContext","GlobalScrollController","children","window","document","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","pageYOffset","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"],"mappings":"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","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"],"file":"ScrollContext.js"}
@@ -2,9 +2,10 @@ import * as React from "react";
2
2
  import { AppearanceType } from "@vkontakte/vk-bridge";
3
3
  export interface AppearanceProviderProps {
4
4
  appearance?: AppearanceType;
5
+ children?: React.ReactNode;
5
6
  }
6
7
  export declare const generateVKUITokensClassName: (platform: string, appearance: string) => string;
7
8
  /**
8
9
  * @see https://vkcom.github.io/VKUI/#/AppearanceProvider
9
10
  */
10
- export declare const AppearanceProvider: React.FC<AppearanceProviderProps>;
11
+ export declare const AppearanceProvider: ({ children, appearance, }: AppearanceProviderProps) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AAMA,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;AACX,MAAIC,cAAJ;;AACA,UAAQF,QAAR;AACE,SAAKF,QAAQ,CAACK,OAAd;AACED,MAAAA,cAAc,GAAG,QAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACM,GAAd;AACEF,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACO,KAAd;AACEH,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF;AACEA,MAAAA,cAAc,GAAGF,QAAjB;AAXJ;;AAcA,yBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP;AACA;AACA;;AACA,OAAO,IAAMK,kBAAqD,GAAG,SAAxDA,kBAAwD,OAG/D;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,6BADJN,UACI;AAAA,MADJA,UACI,gCADS,OACT;AACJ,MAAMD,QAAQ,GAAGH,WAAW,EAA5B;AACA,MAAMW,MAAM,GAAGb,SAAS,CAAC;AACvBK,IAAAA,QAAQ,EAARA,QADuB;AAEvBC,IAAAA,UAAU,EAAVA;AAFuB,GAAD,CAAxB;AAKA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEA;AAA3C,KACGR,KAAK,CAACgB,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6B,UAACI,KAAD,EAAW;AACvC,sBAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOlB,KAAK,CAACoB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAElB,gBAAgB,CACzBe,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBN,MAFkB,GAGzBT,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHF;AADI,OAA1B,CAAP;AAOD;;AACD,WAAOU,KAAP;AACD,GAXA,CADH,CADF;AAgBD,CA1BM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider: React.FC<AppearanceProviderProps> = ({\n children,\n appearance = \"light\",\n}) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
1
+ {"version":3,"sources":["../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","Platform","generateVKUITokensClassName","platform","appearance","tokensPlatform","ANDROID","IOS","VKCOM","AppearanceProvider","children","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AACA,SAASC,QAAT;AAOA,OAAO,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CACzCC,QADyC,EAEzCC,UAFyC,EAG9B;AACX,MAAIC,cAAJ;;AACA,UAAQF,QAAR;AACE,SAAKF,QAAQ,CAACK,OAAd;AACED,MAAAA,cAAc,GAAG,QAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACM,GAAd;AACEF,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF,SAAKJ,QAAQ,CAACO,KAAd;AACEH,MAAAA,cAAc,GAAG,OAAjB;AACA;;AACF;AACEA,MAAAA,cAAc,GAAGF,QAAjB;AAXJ;;AAcA,yBAAgBE,cAAhB,eAAmCD,UAAnC;AACD,CApBM;AAsBP;AACA;AACA;;AACA,OAAO,IAAMK,kBAAkB,GAAG,SAArBA,kBAAqB,OAGH;AAAA,MAF7BC,QAE6B,QAF7BA,QAE6B;AAAA,6BAD7BN,UAC6B;AAAA,MAD7BA,UAC6B,gCADhB,OACgB;AAC7B,MAAMD,QAAQ,GAAGH,WAAW,EAA5B;AACA,MAAMW,MAAM,GAAGb,SAAS,CAAC;AACvBK,IAAAA,QAAQ,EAARA,QADuB;AAEvBC,IAAAA,UAAU,EAAVA;AAFuB,GAAD,CAAxB;AAKA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEA;AAA3C,KACGR,KAAK,CAACgB,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6B,UAACI,KAAD,EAAW;AACvC,sBAAIlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOlB,KAAK,CAACoB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAElB,gBAAgB,CACzBe,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBN,MAFkB,GAGzBT,2BAA2B,CAACC,QAAD,EAAWC,UAAX,CAHF;AADI,OAA1B,CAAP;AAOD;;AACD,WAAOU,KAAP;AACD,GAXA,CADH,CADF;AAgBD,CA1BM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { Platform } from \"../../lib/platform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n children?: React.ReactNode;\n}\n\nexport const generateVKUITokensClassName = (\n platform: string,\n appearance: string\n): string => {\n let tokensPlatform;\n switch (platform) {\n case Platform.ANDROID:\n tokensPlatform = \"vkBase\";\n break;\n case Platform.IOS:\n tokensPlatform = \"vkIOS\";\n break;\n case Platform.VKCOM:\n tokensPlatform = \"vkCom\";\n break;\n default:\n tokensPlatform = platform;\n }\n\n return `vkui--${tokensPlatform}--${appearance}`;\n};\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppearanceProvider\n */\nexport const AppearanceProvider = ({\n children,\n appearance = \"light\",\n}: AppearanceProviderProps) => {\n const platform = usePlatform();\n const scheme = getScheme({\n platform,\n appearance,\n });\n\n return (\n <AppearanceProviderContext.Provider value={appearance}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${scheme}`,\n generateVKUITokensClassName(platform, appearance)\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
@@ -21,4 +21,4 @@ export declare const AVATAR_DEFAULT_SHADOW = true;
21
21
  /**
22
22
  * @see https://vkcom.github.io/VKUI/#/Avatar
23
23
  */
24
- export declare const Avatar: React.FC<AvatarProps>;
24
+ export declare const Avatar: ({ alt, crossOrigin, decoding, height, loading, referrerPolicy, sizes, src, srcSet, useMap, width, getRef, size, shadow, mode, className, children, getRootRef, style, "aria-label": ariaLabel, badge, overlayIcon, overlayMode, overlayAction: passedOverlayAction, onClick, ...restProps }: AvatarProps) => JSX.Element;