@vkontakte/vkui 5.5.4 → 5.6.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 (1179) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/dist/cjs/components/Accordion/AccordionSummary.js.map +1 -1
  4. package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
  5. package/dist/cjs/components/ActionSheet/ActionSheetContext.js.map +1 -1
  6. package/dist/cjs/components/ActionSheet/ActionSheetDefaultIosCloseItem.js.map +1 -1
  7. package/dist/cjs/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  8. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  9. package/dist/cjs/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  10. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  11. package/dist/cjs/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  12. package/dist/cjs/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  13. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  14. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  15. package/dist/cjs/components/AppRoot/AppRoot.js +6 -5
  16. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  17. package/dist/cjs/components/AppRoot/AppRootContext.js.map +1 -1
  18. package/dist/cjs/components/AppRoot/AppRootPortal.js.map +1 -1
  19. package/dist/cjs/components/AppRoot/ScrollContext.js +5 -3
  20. package/dist/cjs/components/AppRoot/ScrollContext.js.map +1 -1
  21. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  22. package/dist/cjs/components/AspectRatio/AspectRatio.js.map +1 -1
  23. package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
  24. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  25. package/dist/cjs/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  26. package/dist/cjs/components/Avatar/AvatarBadge/icons.js.map +1 -1
  27. package/dist/cjs/components/Avatar/helpers.js.map +1 -1
  28. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  29. package/dist/cjs/components/Banner/Banner.d.ts +5 -1
  30. package/dist/cjs/components/Banner/Banner.js +4 -3
  31. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  32. package/dist/cjs/components/BaseGallery/BaseGallery.js +15 -9
  33. package/dist/cjs/components/BaseGallery/BaseGallery.js.map +1 -1
  34. package/dist/cjs/components/BaseGallery/helpers.js.map +1 -1
  35. package/dist/cjs/components/Button/Button.d.ts +2 -1
  36. package/dist/cjs/components/Button/Button.js +5 -3
  37. package/dist/cjs/components/Button/Button.js.map +1 -1
  38. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.js +2 -1
  40. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  41. package/dist/cjs/components/CalendarDay/CalendarDay.js +4 -2
  42. package/dist/cjs/components/CalendarDay/CalendarDay.js.map +1 -1
  43. package/dist/cjs/components/CalendarDays/CalendarDays.js +6 -5
  44. package/dist/cjs/components/CalendarDays/CalendarDays.js.map +1 -1
  45. package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
  46. package/dist/cjs/components/CalendarRange/CalendarRange.js +16 -8
  47. package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
  48. package/dist/cjs/components/CalendarTime/CalendarTime.js +4 -2
  49. package/dist/cjs/components/CalendarTime/CalendarTime.js.map +1 -1
  50. package/dist/cjs/components/Card/Card.js.map +1 -1
  51. package/dist/cjs/components/CardGrid/CardGrid.js.map +1 -1
  52. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  53. package/dist/cjs/components/Cell/Cell.js.map +1 -1
  54. package/dist/cjs/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  55. package/dist/cjs/components/Cell/CellDragger/CellDragger.js.map +1 -1
  56. package/dist/cjs/components/Cell/useDraggable.js.map +1 -1
  57. package/dist/cjs/components/CellButton/CellButton.js.map +1 -1
  58. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  59. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  60. package/dist/cjs/components/ChipsInput/ChipsInput.js.map +1 -1
  61. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  62. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js +10 -4
  63. package/dist/cjs/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  64. package/dist/cjs/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  65. package/dist/cjs/components/ChipsSelect/ChipsSelect.js +20 -9
  66. package/dist/cjs/components/ChipsSelect/ChipsSelect.js.map +1 -1
  67. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  68. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  69. package/dist/cjs/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  70. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  71. package/dist/cjs/components/Counter/Counter.js.map +1 -1
  72. package/dist/cjs/components/CustomScrollView/CustomScrollView.js +2 -1
  73. package/dist/cjs/components/CustomScrollView/CustomScrollView.js.map +1 -1
  74. package/dist/cjs/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  75. package/dist/cjs/components/CustomSelect/CustomSelect.js +15 -8
  76. package/dist/cjs/components/CustomSelect/CustomSelect.js.map +1 -1
  77. package/dist/cjs/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  78. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  79. package/dist/cjs/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  80. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  81. package/dist/cjs/components/DateInput/DateInput.js +4 -2
  82. package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
  83. package/dist/cjs/components/DatePicker/DatePicker.js +8 -5
  84. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/DateRangeInput/DateRangeInput.js +11 -7
  86. package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
  87. package/dist/cjs/components/Div/Div.js.map +1 -1
  88. package/dist/cjs/components/DropdownIcon/DropdownIcon.js.map +1 -1
  89. package/dist/cjs/components/Epic/Epic.d.ts +1 -0
  90. package/dist/cjs/components/Epic/Epic.js.map +1 -1
  91. package/dist/cjs/components/Epic/ScrollSaver.js.map +1 -1
  92. package/dist/cjs/components/File/File.js.map +1 -1
  93. package/dist/cjs/components/FixedLayout/FixedLayout.js +2 -1
  94. package/dist/cjs/components/FixedLayout/FixedLayout.js.map +1 -1
  95. package/dist/cjs/components/FocusTrap/FocusTrap.js +4 -3
  96. package/dist/cjs/components/FocusTrap/FocusTrap.js.map +1 -1
  97. package/dist/cjs/components/FocusVisible/FocusVisible.js.map +1 -1
  98. package/dist/cjs/components/Footer/Footer.js.map +1 -1
  99. package/dist/cjs/components/FormField/FormField.js.map +1 -1
  100. package/dist/cjs/components/FormItem/FormItem.js +2 -1
  101. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  102. package/dist/cjs/components/FormLayout/FormLayout.js.map +1 -1
  103. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  104. package/dist/cjs/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  105. package/dist/cjs/components/FormStatus/FormStatus.js.map +1 -1
  106. package/dist/cjs/components/Gallery/Gallery.js.map +1 -1
  107. package/dist/cjs/components/Gradient/Gradient.js.map +1 -1
  108. package/dist/cjs/components/GridAvatar/GridAvatar.js.map +1 -1
  109. package/dist/cjs/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  110. package/dist/cjs/components/Group/Group.d.ts +8 -8
  111. package/dist/cjs/components/Group/Group.js +1 -1
  112. package/dist/cjs/components/Group/Group.js.map +1 -1
  113. package/dist/cjs/components/Header/Header.js.map +1 -1
  114. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  115. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  116. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js +56 -0
  117. package/dist/cjs/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  118. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +2 -2
  119. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  120. package/dist/cjs/components/HoverPopper/HoverPopper.js.map +1 -1
  121. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  122. package/dist/cjs/components/Image/Image.js.map +1 -1
  123. package/dist/cjs/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  124. package/dist/cjs/components/ImageBase/ImageBase.js +4 -2
  125. package/dist/cjs/components/ImageBase/ImageBase.js.map +1 -1
  126. package/dist/cjs/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  127. package/dist/cjs/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  128. package/dist/cjs/components/ImageBase/context.js.map +1 -1
  129. package/dist/cjs/components/ImageBase/helpers.js.map +1 -1
  130. package/dist/cjs/components/ImageBase/validators.js +3 -4
  131. package/dist/cjs/components/ImageBase/validators.js.map +1 -1
  132. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  133. package/dist/cjs/components/Input/Input.js.map +1 -1
  134. package/dist/cjs/components/InputLike/InputLike.js +6 -4
  135. package/dist/cjs/components/InputLike/InputLike.js.map +1 -1
  136. package/dist/cjs/components/InputLike/InputLikeDivider.js.map +1 -1
  137. package/dist/cjs/components/Link/Link.js.map +1 -1
  138. package/dist/cjs/components/List/List.js.map +1 -1
  139. package/dist/cjs/components/List/ListContext.js.map +1 -1
  140. package/dist/cjs/components/LocaleProvider/LocaleProvider.js.map +1 -1
  141. package/dist/cjs/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  142. package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
  143. package/dist/cjs/components/ModalCardBase/ModalCardBase.js +9 -8
  144. package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
  145. package/dist/cjs/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  146. package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
  147. package/dist/cjs/components/ModalPage/ModalPageContext.js.map +1 -1
  148. package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  149. package/dist/cjs/components/ModalRoot/ModalRoot.js +21 -15
  150. package/dist/cjs/components/ModalRoot/ModalRoot.js.map +1 -1
  151. package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  152. package/dist/cjs/components/ModalRoot/ModalRootContext.js.map +1 -1
  153. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js +12 -6
  154. package/dist/cjs/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  155. package/dist/cjs/components/ModalRoot/types.d.ts +4 -2
  156. package/dist/cjs/components/ModalRoot/types.js.map +1 -1
  157. package/dist/cjs/components/ModalRoot/useModalManager.js.map +1 -1
  158. package/dist/cjs/components/ModalRoot/useModalRootContext.js.map +1 -1
  159. package/dist/cjs/components/ModalRoot/withModalRootContext.js.map +1 -1
  160. package/dist/cjs/components/NativeSelect/NativeSelect.js.map +1 -1
  161. package/dist/cjs/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  162. package/dist/cjs/components/Pagination/Pagination.js +2 -1
  163. package/dist/cjs/components/Pagination/Pagination.js.map +1 -1
  164. package/dist/cjs/components/Panel/Panel.js.map +1 -1
  165. package/dist/cjs/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  166. package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
  167. package/dist/cjs/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  168. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  169. package/dist/cjs/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  170. package/dist/cjs/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  171. package/dist/cjs/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  172. package/dist/cjs/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  173. package/dist/cjs/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  174. package/dist/cjs/components/PanelSpinner/PanelSpinner.js.map +1 -1
  175. package/dist/cjs/components/Placeholder/Placeholder.js.map +1 -1
  176. package/dist/cjs/components/PlatformProvider/PlatformProvider.js.map +1 -1
  177. package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
  178. package/dist/cjs/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  179. package/dist/cjs/components/Popover/Popover.js.map +1 -1
  180. package/dist/cjs/components/Popper/Popper.js.map +1 -1
  181. package/dist/cjs/components/PopperArrow/PopperArrow.js.map +1 -1
  182. package/dist/cjs/components/Progress/Progress.js.map +1 -1
  183. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  184. package/dist/cjs/components/PullToRefresh/PullToRefresh.js +2 -1
  185. package/dist/cjs/components/PullToRefresh/PullToRefresh.js.map +1 -1
  186. package/dist/cjs/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  187. package/dist/cjs/components/Radio/Radio.js.map +1 -1
  188. package/dist/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  189. package/dist/cjs/components/RangeSlider/RangeSlider.js.map +1 -1
  190. package/dist/cjs/components/Removable/Removable.js +2 -2
  191. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  192. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  193. package/dist/cjs/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  194. package/dist/cjs/components/RichTooltip/RichTooltip.js.map +1 -1
  195. package/dist/cjs/components/Root/Root.d.ts +1 -0
  196. package/dist/cjs/components/Root/Root.js.map +1 -1
  197. package/dist/cjs/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  198. package/dist/cjs/components/ScrollArrow/ScrollArrow.js.map +1 -1
  199. package/dist/cjs/components/Search/Search.js +2 -2
  200. package/dist/cjs/components/Search/Search.js.map +1 -1
  201. package/dist/cjs/components/SegmentedControl/SegmentedControl.js.map +1 -1
  202. package/dist/cjs/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  203. package/dist/cjs/components/Select/Select.js.map +1 -1
  204. package/dist/cjs/components/SelectMimicry/SelectMimicry.js.map +1 -1
  205. package/dist/cjs/components/SelectTypography/SelectTypography.js.map +1 -1
  206. package/dist/cjs/components/Separator/Separator.js.map +1 -1
  207. package/dist/cjs/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  208. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js +27 -0
  209. package/dist/cjs/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  210. package/dist/cjs/components/SimpleCell/SimpleCell.d.ts +6 -2
  211. package/dist/cjs/components/SimpleCell/SimpleCell.js +16 -5
  212. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  213. package/dist/cjs/components/Slider/Slider.js.map +1 -1
  214. package/dist/cjs/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  215. package/dist/cjs/components/Slider/helpers.js.map +1 -1
  216. package/dist/cjs/components/Snackbar/Snackbar.js.map +1 -1
  217. package/dist/cjs/components/Spacing/Spacing.js.map +1 -1
  218. package/dist/cjs/components/Spinner/Spinner.d.ts +2 -1
  219. package/dist/cjs/components/Spinner/Spinner.js +19 -4
  220. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  221. package/dist/cjs/components/SplitCol/SplitCol.js.map +1 -1
  222. package/dist/cjs/components/SplitCol/SplitColContext.js.map +1 -1
  223. package/dist/cjs/components/SplitLayout/SplitLayout.js.map +1 -1
  224. package/dist/cjs/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  225. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  226. package/dist/cjs/components/Switch/Switch.js.map +1 -1
  227. package/dist/cjs/components/Tabbar/Tabbar.js.map +1 -1
  228. package/dist/cjs/components/TabbarItem/TabbarItem.js +1 -1
  229. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  230. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  231. package/dist/cjs/components/TabsItem/TabsItem.js.map +1 -1
  232. package/dist/cjs/components/Tappable/Tappable.js.map +1 -1
  233. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  234. package/dist/cjs/components/Textarea/Textarea.js +2 -1
  235. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  236. package/dist/cjs/components/Tooltip/Tooltip.js +4 -2
  237. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  238. package/dist/cjs/components/Tooltip/TooltipContainer.js.map +1 -1
  239. package/dist/cjs/components/Touch/Touch.js +1 -1
  240. package/dist/cjs/components/Touch/Touch.js.map +1 -1
  241. package/dist/cjs/components/Touch/TouchContext.js.map +1 -1
  242. package/dist/cjs/components/Typography/Caption/Caption.js.map +1 -1
  243. package/dist/cjs/components/Typography/Footnote/Footnote.js.map +1 -1
  244. package/dist/cjs/components/Typography/Headline/Headline.js.map +1 -1
  245. package/dist/cjs/components/Typography/Paragraph/Paragraph.js.map +1 -1
  246. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  247. package/dist/cjs/components/Typography/Text/Text.js.map +1 -1
  248. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  249. package/dist/cjs/components/Typography/Typography.js.map +1 -1
  250. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  251. package/dist/cjs/components/View/View.d.ts +1 -0
  252. package/dist/cjs/components/View/View.js +16 -8
  253. package/dist/cjs/components/View/View.js.map +1 -1
  254. package/dist/cjs/components/View/ViewInfinite.js.map +1 -1
  255. package/dist/cjs/components/View/utils.js +2 -2
  256. package/dist/cjs/components/View/utils.js.map +1 -1
  257. package/dist/cjs/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  258. package/dist/cjs/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  259. package/dist/cjs/components/WriteBar/WriteBar.js.map +1 -1
  260. package/dist/cjs/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  261. package/dist/cjs/helpers/appearance.js.map +1 -1
  262. package/dist/cjs/helpers/generateVKUITokensClassName.js.map +1 -1
  263. package/dist/cjs/helpers/getPlatformClassName.js.map +1 -1
  264. package/dist/cjs/helpers/math.js.map +1 -1
  265. package/dist/cjs/helpers/range.js.map +1 -1
  266. package/dist/cjs/hoc/withContext.js.map +1 -1
  267. package/dist/cjs/hoc/withInsets.js.map +1 -1
  268. package/dist/cjs/hoc/withPlatform.js.map +1 -1
  269. package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
  270. package/dist/cjs/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  271. package/dist/cjs/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  272. package/dist/cjs/hooks/useAdaptivityConditionalRender/index.js.map +1 -1
  273. package/dist/cjs/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  274. package/dist/cjs/hooks/useAdaptivityHasHover.js.map +1 -1
  275. package/dist/cjs/hooks/useAdaptivityHasPointer.js.map +1 -1
  276. package/dist/cjs/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  277. package/dist/cjs/hooks/useAppearance.js.map +1 -1
  278. package/dist/cjs/hooks/useAutoDetectAppearance.js +2 -1
  279. package/dist/cjs/hooks/useAutoDetectAppearance.js.map +1 -1
  280. package/dist/cjs/hooks/useBooleanState.js.map +1 -1
  281. package/dist/cjs/hooks/useBridgeAdaptivity.js.map +1 -1
  282. package/dist/cjs/hooks/useCalendar.js +6 -3
  283. package/dist/cjs/hooks/useCalendar.js.map +1 -1
  284. package/dist/cjs/hooks/useChipsInput.js +2 -1
  285. package/dist/cjs/hooks/useChipsInput.js.map +1 -1
  286. package/dist/cjs/hooks/useChipsSelect.js.map +1 -1
  287. package/dist/cjs/hooks/useDateInput.js +5 -3
  288. package/dist/cjs/hooks/useDateInput.js.map +1 -1
  289. package/dist/cjs/hooks/useEffectDev.js.map +1 -1
  290. package/dist/cjs/hooks/useEnsuredControl.js.map +1 -1
  291. package/dist/cjs/hooks/useEventListener.js.map +1 -1
  292. package/dist/cjs/hooks/useExternRef.js.map +1 -1
  293. package/dist/cjs/hooks/useFocusVisible.js.map +1 -1
  294. package/dist/cjs/hooks/useFocusWithin.js.map +1 -1
  295. package/dist/cjs/hooks/useGlobalEventListener.js.map +1 -1
  296. package/dist/cjs/hooks/useId.js.map +1 -1
  297. package/dist/cjs/hooks/useInsets.js.map +1 -1
  298. package/dist/cjs/hooks/useIsClient.js.map +1 -1
  299. package/dist/cjs/hooks/useKeyboard.js +4 -4
  300. package/dist/cjs/hooks/useKeyboard.js.map +1 -1
  301. package/dist/cjs/hooks/useKeyboardInputTracker.js.map +1 -1
  302. package/dist/cjs/hooks/useMediaQueries.js.map +1 -1
  303. package/dist/cjs/hooks/useObjectMemo.js.map +1 -1
  304. package/dist/cjs/hooks/useOrientationChange.js +1 -1
  305. package/dist/cjs/hooks/useOrientationChange.js.map +1 -1
  306. package/dist/cjs/hooks/usePagination.js.map +1 -1
  307. package/dist/cjs/hooks/usePatchChildrenRef.js +2 -1
  308. package/dist/cjs/hooks/usePatchChildrenRef.js.map +1 -1
  309. package/dist/cjs/hooks/usePlatform.js.map +1 -1
  310. package/dist/cjs/hooks/usePrevious.js.map +1 -1
  311. package/dist/cjs/hooks/useTimeout.js +2 -1
  312. package/dist/cjs/hooks/useTimeout.js.map +1 -1
  313. package/dist/cjs/hooks/useTodayDate.js.map +1 -1
  314. package/dist/cjs/hooks/useWaitTransitionFinish.js +4 -2
  315. package/dist/cjs/hooks/useWaitTransitionFinish.js.map +1 -1
  316. package/dist/cjs/index.d.ts +3 -1
  317. package/dist/cjs/index.js +4 -0
  318. package/dist/cjs/index.js.map +1 -1
  319. package/dist/cjs/lib/SSR.js.map +1 -1
  320. package/dist/cjs/lib/accessibility.js.map +1 -1
  321. package/dist/cjs/lib/adaptivity/constants.js.map +1 -1
  322. package/dist/cjs/lib/adaptivity/functions.js.map +1 -1
  323. package/dist/cjs/lib/animate.js.map +1 -1
  324. package/dist/cjs/lib/browser.js.map +1 -1
  325. package/dist/cjs/lib/calendar.js.map +1 -1
  326. package/dist/cjs/lib/callMultiple.js.map +1 -1
  327. package/dist/cjs/lib/date.js.map +1 -1
  328. package/dist/cjs/lib/dom.js.map +1 -1
  329. package/dist/cjs/lib/floating/adapters.js.map +1 -1
  330. package/dist/cjs/lib/floating/functions.js.map +1 -1
  331. package/dist/cjs/lib/floating/index.js.map +1 -1
  332. package/dist/cjs/lib/fx.js.map +1 -1
  333. package/dist/cjs/lib/getNavId.js.map +1 -1
  334. package/dist/cjs/lib/isRefObject.js.map +1 -1
  335. package/dist/cjs/lib/matchMedia.js.map +1 -1
  336. package/dist/cjs/lib/offset.js +6 -5
  337. package/dist/cjs/lib/offset.js.map +1 -1
  338. package/dist/cjs/lib/platform.js.map +1 -1
  339. package/dist/cjs/lib/polyfills.js.map +1 -1
  340. package/dist/cjs/lib/removeObjectKeys.js.map +1 -1
  341. package/dist/cjs/lib/select.js +2 -2
  342. package/dist/cjs/lib/select.js.map +1 -1
  343. package/dist/cjs/lib/styles.js.map +1 -1
  344. package/dist/cjs/lib/supportEvents.js.map +1 -1
  345. package/dist/cjs/lib/taptic.js.map +1 -1
  346. package/dist/cjs/lib/testing.js.map +1 -1
  347. package/dist/cjs/lib/tokensClassProvider.js.map +1 -1
  348. package/dist/cjs/lib/touch.js.map +1 -1
  349. package/dist/cjs/lib/useIsomorphicLayoutEffect.js.map +1 -1
  350. package/dist/cjs/lib/utils.js.map +1 -1
  351. package/dist/cjs/lib/warnOnce.js.map +1 -1
  352. package/dist/cjs/shared/breakpoints.js.map +1 -1
  353. package/dist/components/Accordion/Accordion.js.map +1 -1
  354. package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
  355. package/dist/components/ActionSheet/ActionSheetContext.js.map +1 -1
  356. package/dist/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  357. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js +4 -2
  358. package/dist/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  359. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  360. package/dist/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  361. package/dist/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  362. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  363. package/dist/components/Alert/Alert.js.map +1 -1
  364. package/dist/components/AppRoot/AppRoot.js +6 -5
  365. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  366. package/dist/components/AppRoot/AppRootContext.js.map +1 -1
  367. package/dist/components/AppRoot/AppRootPortal.js.map +1 -1
  368. package/dist/components/AppRoot/ScrollContext.js +5 -3
  369. package/dist/components/AppRoot/ScrollContext.js.map +1 -1
  370. package/dist/components/Avatar/Avatar.js.map +1 -1
  371. package/dist/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  372. package/dist/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  373. package/dist/components/Avatar/helpers.js.map +1 -1
  374. package/dist/components/Banner/Banner.d.ts +5 -1
  375. package/dist/components/Banner/Banner.js +4 -3
  376. package/dist/components/Banner/Banner.js.map +1 -1
  377. package/dist/components/BaseGallery/BaseGallery.js +15 -9
  378. package/dist/components/BaseGallery/BaseGallery.js.map +1 -1
  379. package/dist/components/BaseGallery/helpers.js.map +1 -1
  380. package/dist/components/Button/Button.d.ts +2 -1
  381. package/dist/components/Button/Button.js +5 -3
  382. package/dist/components/Button/Button.js.map +1 -1
  383. package/dist/components/Calendar/Calendar.js +2 -1
  384. package/dist/components/Calendar/Calendar.js.map +1 -1
  385. package/dist/components/CalendarDay/CalendarDay.js +4 -2
  386. package/dist/components/CalendarDay/CalendarDay.js.map +1 -1
  387. package/dist/components/CalendarDays/CalendarDays.js +6 -5
  388. package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
  389. package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
  390. package/dist/components/CalendarRange/CalendarRange.js +16 -8
  391. package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
  392. package/dist/components/CalendarTime/CalendarTime.js +4 -2
  393. package/dist/components/CalendarTime/CalendarTime.js.map +1 -1
  394. package/dist/components/CardGrid/CardGrid.js.map +1 -1
  395. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  396. package/dist/components/Cell/Cell.js.map +1 -1
  397. package/dist/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  398. package/dist/components/Cell/CellDragger/CellDragger.js.map +1 -1
  399. package/dist/components/Cell/useDraggable.js.map +1 -1
  400. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  401. package/dist/components/Chip/Chip.js.map +1 -1
  402. package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
  403. package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  404. package/dist/components/ChipsInputBase/ChipsInputBase.js +10 -4
  405. package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  406. package/dist/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  407. package/dist/components/ChipsSelect/ChipsSelect.js +20 -9
  408. package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
  409. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  410. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  411. package/dist/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  412. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  413. package/dist/components/Counter/Counter.js.map +1 -1
  414. package/dist/components/CustomScrollView/CustomScrollView.js +2 -1
  415. package/dist/components/CustomScrollView/CustomScrollView.js.map +1 -1
  416. package/dist/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  417. package/dist/components/CustomSelect/CustomSelect.js +15 -8
  418. package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
  419. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +4 -2
  420. package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  421. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  422. package/dist/components/DateInput/DateInput.js +4 -2
  423. package/dist/components/DateInput/DateInput.js.map +1 -1
  424. package/dist/components/DatePicker/DatePicker.js +8 -5
  425. package/dist/components/DatePicker/DatePicker.js.map +1 -1
  426. package/dist/components/DateRangeInput/DateRangeInput.js +11 -7
  427. package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
  428. package/dist/components/DropdownIcon/DropdownIcon.js.map +1 -1
  429. package/dist/components/Epic/Epic.d.ts +1 -0
  430. package/dist/components/Epic/Epic.js.map +1 -1
  431. package/dist/components/Epic/ScrollSaver.js.map +1 -1
  432. package/dist/components/File/File.js.map +1 -1
  433. package/dist/components/FixedLayout/FixedLayout.js +2 -1
  434. package/dist/components/FixedLayout/FixedLayout.js.map +1 -1
  435. package/dist/components/FocusTrap/FocusTrap.js +4 -3
  436. package/dist/components/FocusTrap/FocusTrap.js.map +1 -1
  437. package/dist/components/FormField/FormField.js.map +1 -1
  438. package/dist/components/FormItem/FormItem.js +2 -1
  439. package/dist/components/FormItem/FormItem.js.map +1 -1
  440. package/dist/components/FormLayout/FormLayout.js.map +1 -1
  441. package/dist/components/FormLayoutGroup/FormLayoutGroup.js +2 -1
  442. package/dist/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  443. package/dist/components/Gallery/Gallery.js.map +1 -1
  444. package/dist/components/GridAvatar/GridAvatar.js.map +1 -1
  445. package/dist/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  446. package/dist/components/Group/Group.d.ts +8 -8
  447. package/dist/components/Group/Group.js +1 -1
  448. package/dist/components/Group/Group.js.map +1 -1
  449. package/dist/components/Header/Header.js.map +1 -1
  450. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  451. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js +45 -0
  452. package/dist/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  453. package/dist/components/HorizontalScroll/HorizontalScroll.js +2 -2
  454. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  455. package/dist/components/HoverPopper/HoverPopper.js.map +1 -1
  456. package/dist/components/IconButton/IconButton.js.map +1 -1
  457. package/dist/components/Image/Image.js.map +1 -1
  458. package/dist/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  459. package/dist/components/ImageBase/ImageBase.js +4 -2
  460. package/dist/components/ImageBase/ImageBase.js.map +1 -1
  461. package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  462. package/dist/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  463. package/dist/components/ImageBase/context.js.map +1 -1
  464. package/dist/components/ImageBase/helpers.js.map +1 -1
  465. package/dist/components/ImageBase/validators.js +3 -4
  466. package/dist/components/ImageBase/validators.js.map +1 -1
  467. package/dist/components/Input/Input.js.map +1 -1
  468. package/dist/components/InputLike/InputLike.js +6 -4
  469. package/dist/components/InputLike/InputLike.js.map +1 -1
  470. package/dist/components/Link/Link.js.map +1 -1
  471. package/dist/components/List/List.js.map +1 -1
  472. package/dist/components/List/ListContext.js.map +1 -1
  473. package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  474. package/dist/components/ModalCard/ModalCard.js.map +1 -1
  475. package/dist/components/ModalCardBase/ModalCardBase.js +9 -8
  476. package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
  477. package/dist/components/ModalPage/ModalPage.js.map +1 -1
  478. package/dist/components/ModalPage/ModalPageContext.js.map +1 -1
  479. package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  480. package/dist/components/ModalRoot/ModalRoot.js +21 -15
  481. package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
  482. package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  483. package/dist/components/ModalRoot/ModalRootContext.js.map +1 -1
  484. package/dist/components/ModalRoot/ModalRootDesktop.js +12 -6
  485. package/dist/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  486. package/dist/components/ModalRoot/types.d.ts +4 -2
  487. package/dist/components/ModalRoot/types.js.map +1 -1
  488. package/dist/components/ModalRoot/useModalManager.js.map +1 -1
  489. package/dist/components/ModalRoot/useModalRootContext.js.map +1 -1
  490. package/dist/components/ModalRoot/withModalRootContext.js.map +1 -1
  491. package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
  492. package/dist/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  493. package/dist/components/Pagination/Pagination.js +2 -1
  494. package/dist/components/Pagination/Pagination.js.map +1 -1
  495. package/dist/components/Panel/Panel.js.map +1 -1
  496. package/dist/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  497. package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
  498. package/dist/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  499. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  500. package/dist/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  501. package/dist/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  502. package/dist/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  503. package/dist/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  504. package/dist/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  505. package/dist/components/PanelSpinner/PanelSpinner.js.map +1 -1
  506. package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
  507. package/dist/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  508. package/dist/components/Popover/Popover.js.map +1 -1
  509. package/dist/components/Popper/Popper.js.map +1 -1
  510. package/dist/components/PopperArrow/PopperArrow.js.map +1 -1
  511. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  512. package/dist/components/PullToRefresh/PullToRefresh.js +2 -1
  513. package/dist/components/PullToRefresh/PullToRefresh.js.map +1 -1
  514. package/dist/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  515. package/dist/components/Radio/Radio.js.map +1 -1
  516. package/dist/components/Removable/Removable.js +2 -2
  517. package/dist/components/Removable/Removable.js.map +1 -1
  518. package/dist/components/RichCell/RichCell.js.map +1 -1
  519. package/dist/components/Root/Root.d.ts +1 -0
  520. package/dist/components/Root/Root.js.map +1 -1
  521. package/dist/components/Search/Search.js +2 -2
  522. package/dist/components/Search/Search.js.map +1 -1
  523. package/dist/components/SegmentedControl/SegmentedControl.js.map +1 -1
  524. package/dist/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  525. package/dist/components/Select/Select.js.map +1 -1
  526. package/dist/components/SelectMimicry/SelectMimicry.js.map +1 -1
  527. package/dist/components/SelectTypography/SelectTypography.js.map +1 -1
  528. package/dist/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  529. package/dist/components/SimpleCell/Chevron/Chevron.js +16 -0
  530. package/dist/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  531. package/dist/components/SimpleCell/SimpleCell.d.ts +6 -2
  532. package/dist/components/SimpleCell/SimpleCell.js +16 -5
  533. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  534. package/dist/components/Slider/Slider.js.map +1 -1
  535. package/dist/components/Slider/helpers.js.map +1 -1
  536. package/dist/components/Snackbar/Snackbar.js.map +1 -1
  537. package/dist/components/Spinner/Spinner.d.ts +2 -1
  538. package/dist/components/Spinner/Spinner.js +19 -4
  539. package/dist/components/Spinner/Spinner.js.map +1 -1
  540. package/dist/components/SplitCol/SplitCol.js.map +1 -1
  541. package/dist/components/SplitCol/SplitColContext.js.map +1 -1
  542. package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
  543. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  544. package/dist/components/Switch/Switch.js.map +1 -1
  545. package/dist/components/Tabbar/Tabbar.js.map +1 -1
  546. package/dist/components/TabbarItem/TabbarItem.js +1 -1
  547. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  548. package/dist/components/Tabs/Tabs.js.map +1 -1
  549. package/dist/components/TabsItem/TabsItem.js.map +1 -1
  550. package/dist/components/Tappable/Tappable.js.map +1 -1
  551. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  552. package/dist/components/Textarea/Textarea.js +2 -1
  553. package/dist/components/Textarea/Textarea.js.map +1 -1
  554. package/dist/components/Tooltip/Tooltip.js +4 -2
  555. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  556. package/dist/components/Tooltip/TooltipContainer.js.map +1 -1
  557. package/dist/components/Touch/Touch.js +1 -1
  558. package/dist/components/Touch/Touch.js.map +1 -1
  559. package/dist/components/Touch/TouchContext.js.map +1 -1
  560. package/dist/components/Typography/Headline/Headline.js.map +1 -1
  561. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  562. package/dist/components/Typography/Text/Text.js.map +1 -1
  563. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  564. package/dist/components/View/View.d.ts +1 -0
  565. package/dist/components/View/View.js +16 -8
  566. package/dist/components/View/View.js.map +1 -1
  567. package/dist/components/View/ViewInfinite.js.map +1 -1
  568. package/dist/components/View/utils.js +2 -2
  569. package/dist/components/View/utils.js.map +1 -1
  570. package/dist/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  571. package/dist/components/WriteBar/WriteBar.js.map +1 -1
  572. package/dist/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  573. package/dist/components.css +10 -9
  574. package/dist/components.css.map +1 -1
  575. package/dist/components.js.tmp +3108 -2238
  576. package/dist/cssm/components/Accordion/Accordion.js +1 -1
  577. package/dist/cssm/components/Accordion/Accordion.js.map +1 -1
  578. package/dist/cssm/components/Accordion/AccordionSummary.js +1 -1
  579. package/dist/cssm/components/Accordion/AccordionSummary.js.map +1 -1
  580. package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -2
  581. package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
  582. package/dist/cssm/components/ActionSheet/ActionSheetContext.js.map +1 -1
  583. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js +3 -3
  584. package/dist/cssm/components/ActionSheet/ActionSheetDropdown.js.map +1 -1
  585. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js +3 -3
  586. package/dist/cssm/components/ActionSheet/ActionSheetDropdownDesktop.js.map +1 -1
  587. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +3 -3
  588. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  589. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js +2 -2
  590. package/dist/cssm/components/AdaptiveIconRenderer/AdaptiveIconRenderer.js.map +1 -1
  591. package/dist/cssm/components/AdaptivityProvider/AdaptivityContext.js.map +1 -1
  592. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +3 -3
  593. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  594. package/dist/cssm/components/Alert/Alert.js +6 -6
  595. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  596. package/dist/cssm/components/AppRoot/AppRoot.js +3 -3
  597. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  598. package/dist/cssm/components/AppRoot/AppRootContext.js.map +1 -1
  599. package/dist/cssm/components/AppRoot/AppRootPortal.js +2 -2
  600. package/dist/cssm/components/AppRoot/AppRootPortal.js.map +1 -1
  601. package/dist/cssm/components/AppRoot/ScrollContext.js +5 -5
  602. package/dist/cssm/components/AppRoot/ScrollContext.js.map +1 -1
  603. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +1 -1
  604. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  605. package/dist/cssm/components/AspectRatio/AspectRatio.js +1 -1
  606. package/dist/cssm/components/AspectRatio/AspectRatio.js.map +1 -1
  607. package/dist/cssm/components/Avatar/Avatar.js +1 -1
  608. package/dist/cssm/components/Avatar/Avatar.js.map +1 -1
  609. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js +2 -2
  610. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  611. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js +2 -2
  612. package/dist/cssm/components/Avatar/AvatarBadge/AvatarBadgeWithPreset.js.map +1 -1
  613. package/dist/cssm/components/Avatar/AvatarBadge/icons.js +2 -2
  614. package/dist/cssm/components/Avatar/AvatarBadge/icons.js.map +1 -1
  615. package/dist/cssm/components/Avatar/helpers.js.map +1 -1
  616. package/dist/cssm/components/Badge/Badge.js +1 -1
  617. package/dist/cssm/components/Badge/Badge.js.map +1 -1
  618. package/dist/cssm/components/Banner/Banner.d.ts +5 -1
  619. package/dist/cssm/components/Banner/Banner.js +2 -2
  620. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  621. package/dist/cssm/components/Banner/Banner.module.css +6 -1
  622. package/dist/cssm/components/BaseGallery/BaseGallery.js +3 -3
  623. package/dist/cssm/components/BaseGallery/BaseGallery.js.map +1 -1
  624. package/dist/cssm/components/BaseGallery/helpers.js +4 -4
  625. package/dist/cssm/components/BaseGallery/helpers.js.map +1 -1
  626. package/dist/cssm/components/Button/Button.d.ts +2 -1
  627. package/dist/cssm/components/Button/Button.js +4 -3
  628. package/dist/cssm/components/Button/Button.js.map +1 -1
  629. package/dist/cssm/components/ButtonGroup/ButtonGroup.js +1 -1
  630. package/dist/cssm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  631. package/dist/cssm/components/Calendar/Calendar.js +2 -2
  632. package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
  633. package/dist/cssm/components/CalendarDay/CalendarDay.js +2 -2
  634. package/dist/cssm/components/CalendarDay/CalendarDay.js.map +1 -1
  635. package/dist/cssm/components/CalendarDays/CalendarDays.js +2 -2
  636. package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
  637. package/dist/cssm/components/CalendarHeader/CalendarHeader.js +7 -7
  638. package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
  639. package/dist/cssm/components/CalendarRange/CalendarRange.js +2 -2
  640. package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
  641. package/dist/cssm/components/CalendarTime/CalendarTime.js +1 -1
  642. package/dist/cssm/components/CalendarTime/CalendarTime.js.map +1 -1
  643. package/dist/cssm/components/Card/Card.js +1 -1
  644. package/dist/cssm/components/Card/Card.js.map +1 -1
  645. package/dist/cssm/components/CardGrid/CardGrid.js +2 -2
  646. package/dist/cssm/components/CardGrid/CardGrid.js.map +1 -1
  647. package/dist/cssm/components/CardScroll/CardScroll.js +2 -2
  648. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  649. package/dist/cssm/components/Cell/Cell.js +3 -3
  650. package/dist/cssm/components/Cell/Cell.js.map +1 -1
  651. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js +1 -1
  652. package/dist/cssm/components/Cell/CellCheckbox/CellCheckbox.js.map +1 -1
  653. package/dist/cssm/components/Cell/CellDragger/CellDragger.js +1 -1
  654. package/dist/cssm/components/Cell/CellDragger/CellDragger.js.map +1 -1
  655. package/dist/cssm/components/Cell/useDraggable.js +1 -1
  656. package/dist/cssm/components/Cell/useDraggable.js.map +1 -1
  657. package/dist/cssm/components/CellButton/CellButton.js +1 -1
  658. package/dist/cssm/components/CellButton/CellButton.js.map +1 -1
  659. package/dist/cssm/components/Checkbox/Checkbox.js +3 -3
  660. package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
  661. package/dist/cssm/components/Chip/Chip.js +2 -2
  662. package/dist/cssm/components/Chip/Chip.js.map +1 -1
  663. package/dist/cssm/components/ChipsInput/ChipsInput.js +1 -1
  664. package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
  665. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.d.ts +4 -0
  666. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +9 -5
  667. package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
  668. package/dist/cssm/components/ChipsSelect/ChipsSelect.d.ts +4 -0
  669. package/dist/cssm/components/ChipsSelect/ChipsSelect.js +13 -5
  670. package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
  671. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +2 -2
  672. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  673. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  674. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js +1 -1
  675. package/dist/cssm/components/ConfigProvider/ConfigProviderOverride.js.map +1 -1
  676. package/dist/cssm/components/ContentCard/ContentCard.js +3 -3
  677. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  678. package/dist/cssm/components/Counter/Counter.js +1 -1
  679. package/dist/cssm/components/Counter/Counter.js.map +1 -1
  680. package/dist/cssm/components/CustomScrollView/CustomScrollView.js +3 -3
  681. package/dist/cssm/components/CustomScrollView/CustomScrollView.js.map +1 -1
  682. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js +1 -1
  683. package/dist/cssm/components/CustomScrollView/useTrackerVisibility.js.map +1 -1
  684. package/dist/cssm/components/CustomSelect/CustomSelect.js +4 -4
  685. package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
  686. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js +1 -1
  687. package/dist/cssm/components/CustomSelect/CustomSelectClearButton.js.map +1 -1
  688. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +2 -2
  689. package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
  690. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +2 -2
  691. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  692. package/dist/cssm/components/DateInput/DateInput.js +3 -3
  693. package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
  694. package/dist/cssm/components/DatePicker/DatePicker.js +8 -8
  695. package/dist/cssm/components/DatePicker/DatePicker.js.map +1 -1
  696. package/dist/cssm/components/DateRangeInput/DateRangeInput.js +3 -3
  697. package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
  698. package/dist/cssm/components/Div/Div.js +1 -1
  699. package/dist/cssm/components/Div/Div.js.map +1 -1
  700. package/dist/cssm/components/DropdownIcon/DropdownIcon.js +2 -2
  701. package/dist/cssm/components/DropdownIcon/DropdownIcon.js.map +1 -1
  702. package/dist/cssm/components/Epic/Epic.d.ts +1 -0
  703. package/dist/cssm/components/Epic/Epic.js +1 -1
  704. package/dist/cssm/components/Epic/Epic.js.map +1 -1
  705. package/dist/cssm/components/Epic/ScrollSaver.js +2 -2
  706. package/dist/cssm/components/Epic/ScrollSaver.js.map +1 -1
  707. package/dist/cssm/components/File/File.js +1 -1
  708. package/dist/cssm/components/File/File.js.map +1 -1
  709. package/dist/cssm/components/FixedLayout/FixedLayout.js +3 -3
  710. package/dist/cssm/components/FixedLayout/FixedLayout.js.map +1 -1
  711. package/dist/cssm/components/FocusTrap/FocusTrap.js +4 -4
  712. package/dist/cssm/components/FocusTrap/FocusTrap.js.map +1 -1
  713. package/dist/cssm/components/FocusVisible/FocusVisible.js +1 -1
  714. package/dist/cssm/components/FocusVisible/FocusVisible.js.map +1 -1
  715. package/dist/cssm/components/Footer/Footer.js +1 -1
  716. package/dist/cssm/components/Footer/Footer.js.map +1 -1
  717. package/dist/cssm/components/FormField/FormField.js +2 -2
  718. package/dist/cssm/components/FormField/FormField.js.map +1 -1
  719. package/dist/cssm/components/FormItem/FormItem.js +2 -2
  720. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  721. package/dist/cssm/components/FormLayout/FormLayout.js +1 -1
  722. package/dist/cssm/components/FormLayout/FormLayout.js.map +1 -1
  723. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js +2 -2
  724. package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -1
  725. package/dist/cssm/components/FormStatus/FormStatus.js +1 -1
  726. package/dist/cssm/components/FormStatus/FormStatus.js.map +1 -1
  727. package/dist/cssm/components/Gallery/Gallery.js +1 -1
  728. package/dist/cssm/components/Gallery/Gallery.js.map +1 -1
  729. package/dist/cssm/components/Gradient/Gradient.js +1 -1
  730. package/dist/cssm/components/Gradient/Gradient.js.map +1 -1
  731. package/dist/cssm/components/GridAvatar/GridAvatar.js +1 -1
  732. package/dist/cssm/components/GridAvatar/GridAvatar.js.map +1 -1
  733. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js +2 -2
  734. package/dist/cssm/components/GridAvatar/GridAvatarBadge/GridAvatarBadge.js.map +1 -1
  735. package/dist/cssm/components/Group/Group.d.ts +8 -8
  736. package/dist/cssm/components/Group/Group.js +4 -4
  737. package/dist/cssm/components/Group/Group.js.map +1 -1
  738. package/dist/cssm/components/Group/Group.module.css +2 -0
  739. package/dist/cssm/components/Header/Header.js +2 -2
  740. package/dist/cssm/components/Header/Header.js.map +1 -1
  741. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +3 -3
  742. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  743. package/dist/cssm/components/HorizontalCell/HorizontalCell.module.css +0 -5
  744. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.d.ts +35 -0
  745. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js +35 -0
  746. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.js.map +1 -0
  747. package/dist/cssm/components/HorizontalCellShowMore/HorizontalCellShowMore.module.css +47 -0
  748. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +2 -2
  749. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  750. package/dist/cssm/components/HoverPopper/HoverPopper.js +1 -1
  751. package/dist/cssm/components/HoverPopper/HoverPopper.js.map +1 -1
  752. package/dist/cssm/components/IconButton/IconButton.js +2 -2
  753. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  754. package/dist/cssm/components/Image/Image.js +1 -1
  755. package/dist/cssm/components/Image/Image.js.map +1 -1
  756. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js +2 -2
  757. package/dist/cssm/components/Image/ImageBadge/ImageBadge.js.map +1 -1
  758. package/dist/cssm/components/ImageBase/ImageBase.js +1 -1
  759. package/dist/cssm/components/ImageBase/ImageBase.js.map +1 -1
  760. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js +2 -2
  761. package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
  762. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js +2 -2
  763. package/dist/cssm/components/ImageBase/ImageBaseOverlay/ImageBaseOverlay.js.map +1 -1
  764. package/dist/cssm/components/ImageBase/context.js.map +1 -1
  765. package/dist/cssm/components/ImageBase/helpers.js.map +1 -1
  766. package/dist/cssm/components/ImageBase/validators.js +3 -4
  767. package/dist/cssm/components/ImageBase/validators.js.map +1 -1
  768. package/dist/cssm/components/InfoRow/InfoRow.js +1 -1
  769. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  770. package/dist/cssm/components/Input/Input.js +2 -2
  771. package/dist/cssm/components/Input/Input.js.map +1 -1
  772. package/dist/cssm/components/InputLike/InputLike.js +1 -1
  773. package/dist/cssm/components/InputLike/InputLike.js.map +1 -1
  774. package/dist/cssm/components/InputLike/InputLikeDivider.js +1 -1
  775. package/dist/cssm/components/InputLike/InputLikeDivider.js.map +1 -1
  776. package/dist/cssm/components/Link/Link.js +1 -1
  777. package/dist/cssm/components/Link/Link.js.map +1 -1
  778. package/dist/cssm/components/List/List.js +1 -1
  779. package/dist/cssm/components/List/List.js.map +1 -1
  780. package/dist/cssm/components/List/ListContext.js.map +1 -1
  781. package/dist/cssm/components/LocaleProvider/LocaleProvider.js +1 -1
  782. package/dist/cssm/components/LocaleProvider/LocaleProvider.js.map +1 -1
  783. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js +1 -1
  784. package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
  785. package/dist/cssm/components/ModalCard/ModalCard.js +3 -3
  786. package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
  787. package/dist/cssm/components/ModalCardBase/ModalCardBase.js +11 -10
  788. package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
  789. package/dist/cssm/components/ModalCardBase/ModalCardBase.module.css +4 -5
  790. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js +1 -1
  791. package/dist/cssm/components/ModalDismissButton/ModalDismissButton.js.map +1 -1
  792. package/dist/cssm/components/ModalPage/ModalPage.js +4 -4
  793. package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
  794. package/dist/cssm/components/ModalPage/ModalPage.module.css +5 -1
  795. package/dist/cssm/components/ModalPage/ModalPageContext.js.map +1 -1
  796. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +3 -3
  797. package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
  798. package/dist/cssm/components/ModalRoot/ModalRoot.js +12 -12
  799. package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
  800. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +1 -1
  801. package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
  802. package/dist/cssm/components/ModalRoot/ModalRootContext.js.map +1 -1
  803. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js +7 -7
  804. package/dist/cssm/components/ModalRoot/ModalRootDesktop.js.map +1 -1
  805. package/dist/cssm/components/ModalRoot/types.d.ts +4 -2
  806. package/dist/cssm/components/ModalRoot/types.js.map +1 -1
  807. package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
  808. package/dist/cssm/components/ModalRoot/useModalRootContext.js.map +1 -1
  809. package/dist/cssm/components/ModalRoot/withModalRootContext.js +1 -1
  810. package/dist/cssm/components/ModalRoot/withModalRootContext.js.map +1 -1
  811. package/dist/cssm/components/NativeSelect/NativeSelect.js +2 -2
  812. package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
  813. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js +1 -1
  814. package/dist/cssm/components/NavTransitionContext/NavTransitionContext.js.map +1 -1
  815. package/dist/cssm/components/Pagination/Pagination.js +2 -2
  816. package/dist/cssm/components/Pagination/Pagination.js.map +1 -1
  817. package/dist/cssm/components/Panel/Panel.js +2 -2
  818. package/dist/cssm/components/Panel/Panel.js.map +1 -1
  819. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js +1 -1
  820. package/dist/cssm/components/PanelHeader/LegacyPanelHeaderContent.js.map +1 -1
  821. package/dist/cssm/components/PanelHeader/PanelHeader.js +9 -9
  822. package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
  823. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js +2 -2
  824. package/dist/cssm/components/PanelHeaderBack/PanelHeaderBack.js.map +1 -1
  825. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +2 -2
  826. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  827. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js +1 -1
  828. package/dist/cssm/components/PanelHeaderClose/PanelHeaderClose.js.map +1 -1
  829. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js +2 -2
  830. package/dist/cssm/components/PanelHeaderContent/PanelHeaderContent.js.map +1 -1
  831. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js +3 -3
  832. package/dist/cssm/components/PanelHeaderContext/PanelHeaderContext.js.map +1 -1
  833. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js +1 -1
  834. package/dist/cssm/components/PanelHeaderEdit/PanelHeaderEdit.js.map +1 -1
  835. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js +1 -1
  836. package/dist/cssm/components/PanelHeaderSubmit/PanelHeaderSubmit.js.map +1 -1
  837. package/dist/cssm/components/PanelSpinner/PanelSpinner.js +1 -1
  838. package/dist/cssm/components/PanelSpinner/PanelSpinner.js.map +1 -1
  839. package/dist/cssm/components/Placeholder/Placeholder.js +1 -1
  840. package/dist/cssm/components/Placeholder/Placeholder.js.map +1 -1
  841. package/dist/cssm/components/PlatformProvider/PlatformProvider.js +1 -1
  842. package/dist/cssm/components/PlatformProvider/PlatformProvider.js.map +1 -1
  843. package/dist/cssm/components/PopoutRoot/PopoutRoot.js +5 -5
  844. package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
  845. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js +2 -2
  846. package/dist/cssm/components/PopoutWrapper/PopoutWrapper.js.map +1 -1
  847. package/dist/cssm/components/Popover/Popover.js +3 -3
  848. package/dist/cssm/components/Popover/Popover.js.map +1 -1
  849. package/dist/cssm/components/Popper/Popper.js +3 -3
  850. package/dist/cssm/components/Popper/Popper.js.map +1 -1
  851. package/dist/cssm/components/PopperArrow/PopperArrow.js +1 -1
  852. package/dist/cssm/components/PopperArrow/PopperArrow.js.map +1 -1
  853. package/dist/cssm/components/Progress/Progress.js +1 -1
  854. package/dist/cssm/components/Progress/Progress.js.map +1 -1
  855. package/dist/cssm/components/PromoBanner/PromoBanner.js +1 -1
  856. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  857. package/dist/cssm/components/PullToRefresh/PullToRefresh.js +6 -6
  858. package/dist/cssm/components/PullToRefresh/PullToRefresh.js.map +1 -1
  859. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js +1 -1
  860. package/dist/cssm/components/PullToRefresh/PullToRefreshSpinner.js.map +1 -1
  861. package/dist/cssm/components/Radio/Radio.js +2 -2
  862. package/dist/cssm/components/Radio/Radio.js.map +1 -1
  863. package/dist/cssm/components/RadioGroup/RadioGroup.js +1 -1
  864. package/dist/cssm/components/RadioGroup/RadioGroup.js.map +1 -1
  865. package/dist/cssm/components/RangeSlider/RangeSlider.js +2 -2
  866. package/dist/cssm/components/RangeSlider/RangeSlider.js.map +1 -1
  867. package/dist/cssm/components/Removable/Removable.js +4 -4
  868. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  869. package/dist/cssm/components/RichCell/RichCell.js +2 -2
  870. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  871. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js +1 -1
  872. package/dist/cssm/components/RichCell/RichCellIcon/RichCellIcon.js.map +1 -1
  873. package/dist/cssm/components/RichTooltip/RichTooltip.js +1 -1
  874. package/dist/cssm/components/RichTooltip/RichTooltip.js.map +1 -1
  875. package/dist/cssm/components/Root/Root.d.ts +1 -0
  876. package/dist/cssm/components/Root/Root.js +5 -5
  877. package/dist/cssm/components/Root/Root.js.map +1 -1
  878. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js +1 -1
  879. package/dist/cssm/components/ScreenSpinner/ScreenSpinner.js.map +1 -1
  880. package/dist/cssm/components/ScrollArrow/ScrollArrow.js +3 -3
  881. package/dist/cssm/components/ScrollArrow/ScrollArrow.js.map +1 -1
  882. package/dist/cssm/components/Search/Search.js +3 -3
  883. package/dist/cssm/components/Search/Search.js.map +1 -1
  884. package/dist/cssm/components/SegmentedControl/SegmentedControl.js +3 -3
  885. package/dist/cssm/components/SegmentedControl/SegmentedControl.js.map +1 -1
  886. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js +3 -3
  887. package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.js.map +1 -1
  888. package/dist/cssm/components/Select/Select.js +3 -3
  889. package/dist/cssm/components/Select/Select.js.map +1 -1
  890. package/dist/cssm/components/SelectMimicry/SelectMimicry.js +2 -2
  891. package/dist/cssm/components/SelectMimicry/SelectMimicry.js.map +1 -1
  892. package/dist/cssm/components/SelectTypography/SelectTypography.js +2 -2
  893. package/dist/cssm/components/SelectTypography/SelectTypography.js.map +1 -1
  894. package/dist/cssm/components/Separator/Separator.js +1 -1
  895. package/dist/cssm/components/Separator/Separator.js.map +1 -1
  896. package/dist/cssm/components/SimpleCell/Chevron/Chevron.d.ts +5 -0
  897. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js +12 -0
  898. package/dist/cssm/components/SimpleCell/Chevron/Chevron.js.map +1 -0
  899. package/dist/cssm/components/SimpleCell/SimpleCell.d.ts +6 -2
  900. package/dist/cssm/components/SimpleCell/SimpleCell.js +15 -5
  901. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  902. package/dist/cssm/components/SimpleCell/SimpleCell.module.css +5 -6
  903. package/dist/cssm/components/Slider/Slider.js +7 -7
  904. package/dist/cssm/components/Slider/Slider.js.map +1 -1
  905. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js +2 -2
  906. package/dist/cssm/components/Slider/SliderThumb/SliderThumb.js.map +1 -1
  907. package/dist/cssm/components/Slider/helpers.js.map +1 -1
  908. package/dist/cssm/components/Snackbar/Snackbar.js +4 -4
  909. package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
  910. package/dist/cssm/components/Spacing/Spacing.js +1 -1
  911. package/dist/cssm/components/Spacing/Spacing.js.map +1 -1
  912. package/dist/cssm/components/Spinner/Spinner.d.ts +2 -1
  913. package/dist/cssm/components/Spinner/Spinner.js +19 -5
  914. package/dist/cssm/components/Spinner/Spinner.js.map +1 -1
  915. package/dist/cssm/components/Spinner/Spinner.module.css +0 -19
  916. package/dist/cssm/components/SplitCol/SplitCol.js +3 -3
  917. package/dist/cssm/components/SplitCol/SplitCol.js.map +1 -1
  918. package/dist/cssm/components/SplitCol/SplitColContext.js.map +1 -1
  919. package/dist/cssm/components/SplitLayout/SplitLayout.js +1 -1
  920. package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
  921. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js +1 -1
  922. package/dist/cssm/components/SubnavigationBar/SubnavigationBar.js.map +1 -1
  923. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +3 -3
  924. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  925. package/dist/cssm/components/Switch/Switch.js +3 -3
  926. package/dist/cssm/components/Switch/Switch.js.map +1 -1
  927. package/dist/cssm/components/Tabbar/Tabbar.js +1 -1
  928. package/dist/cssm/components/Tabbar/Tabbar.js.map +1 -1
  929. package/dist/cssm/components/TabbarItem/TabbarItem.js +2 -2
  930. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  931. package/dist/cssm/components/Tabs/Tabs.js +2 -2
  932. package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
  933. package/dist/cssm/components/TabsItem/TabsItem.js +3 -3
  934. package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
  935. package/dist/cssm/components/Tappable/Tappable.js +10 -10
  936. package/dist/cssm/components/Tappable/Tappable.js.map +1 -1
  937. package/dist/cssm/components/Tappable/Tappable.module.css +2 -0
  938. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -1
  939. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  940. package/dist/cssm/components/Textarea/Textarea.js +2 -2
  941. package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
  942. package/dist/cssm/components/Tooltip/Tooltip.js +5 -5
  943. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  944. package/dist/cssm/components/Tooltip/TooltipContainer.js +1 -1
  945. package/dist/cssm/components/Tooltip/TooltipContainer.js.map +1 -1
  946. package/dist/cssm/components/Touch/Touch.js +4 -4
  947. package/dist/cssm/components/Touch/Touch.js.map +1 -1
  948. package/dist/cssm/components/Touch/TouchContext.js.map +1 -1
  949. package/dist/cssm/components/Typography/Caption/Caption.js +1 -1
  950. package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
  951. package/dist/cssm/components/Typography/Footnote/Footnote.js +1 -1
  952. package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
  953. package/dist/cssm/components/Typography/Headline/Headline.js +2 -2
  954. package/dist/cssm/components/Typography/Headline/Headline.js.map +1 -1
  955. package/dist/cssm/components/Typography/Paragraph/Paragraph.js +1 -1
  956. package/dist/cssm/components/Typography/Paragraph/Paragraph.js.map +1 -1
  957. package/dist/cssm/components/Typography/Subhead/Subhead.js +2 -2
  958. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  959. package/dist/cssm/components/Typography/Text/Text.js +2 -2
  960. package/dist/cssm/components/Typography/Text/Text.js.map +1 -1
  961. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  962. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  963. package/dist/cssm/components/Typography/Typography.js +1 -1
  964. package/dist/cssm/components/Typography/Typography.js.map +1 -1
  965. package/dist/cssm/components/UsersStack/UsersStack.js +2 -2
  966. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  967. package/dist/cssm/components/View/View.d.ts +1 -0
  968. package/dist/cssm/components/View/View.js +3 -3
  969. package/dist/cssm/components/View/View.js.map +1 -1
  970. package/dist/cssm/components/View/ViewInfinite.js +2 -2
  971. package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
  972. package/dist/cssm/components/View/utils.js.map +1 -1
  973. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js +1 -1
  974. package/dist/cssm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  975. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js +1 -1
  976. package/dist/cssm/components/VisuallyHiddenInput/VisuallyHiddenInput.js.map +1 -1
  977. package/dist/cssm/components/WriteBar/WriteBar.js +1 -1
  978. package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
  979. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js +1 -1
  980. package/dist/cssm/components/WriteBarIcon/WriteBarIcon.js.map +1 -1
  981. package/dist/cssm/helpers/appearance.js +1 -1
  982. package/dist/cssm/helpers/appearance.js.map +1 -1
  983. package/dist/cssm/helpers/generateVKUITokensClassName.js.map +1 -1
  984. package/dist/cssm/helpers/math.js.map +1 -1
  985. package/dist/cssm/helpers/range.js.map +1 -1
  986. package/dist/cssm/hoc/withContext.js.map +1 -1
  987. package/dist/cssm/hoc/withPlatform.js +1 -1
  988. package/dist/cssm/hoc/withPlatform.js.map +1 -1
  989. package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
  990. package/dist/cssm/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  991. package/dist/cssm/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  992. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js +1 -1
  993. package/dist/cssm/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  994. package/dist/cssm/hooks/useAdaptivityHasHover.js +1 -1
  995. package/dist/cssm/hooks/useAdaptivityHasHover.js.map +1 -1
  996. package/dist/cssm/hooks/useAdaptivityHasPointer.js +1 -1
  997. package/dist/cssm/hooks/useAdaptivityHasPointer.js.map +1 -1
  998. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js +1 -1
  999. package/dist/cssm/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1000. package/dist/cssm/hooks/useAppearance.js +1 -1
  1001. package/dist/cssm/hooks/useAppearance.js.map +1 -1
  1002. package/dist/cssm/hooks/useAutoDetectAppearance.js +2 -2
  1003. package/dist/cssm/hooks/useAutoDetectAppearance.js.map +1 -1
  1004. package/dist/cssm/hooks/useBooleanState.js.map +1 -1
  1005. package/dist/cssm/hooks/useBridgeAdaptivity.js +2 -2
  1006. package/dist/cssm/hooks/useBridgeAdaptivity.js.map +1 -1
  1007. package/dist/cssm/hooks/useCalendar.js +1 -1
  1008. package/dist/cssm/hooks/useCalendar.js.map +1 -1
  1009. package/dist/cssm/hooks/useChipsInput.js +1 -1
  1010. package/dist/cssm/hooks/useChipsInput.js.map +1 -1
  1011. package/dist/cssm/hooks/useChipsSelect.js +2 -2
  1012. package/dist/cssm/hooks/useChipsSelect.js.map +1 -1
  1013. package/dist/cssm/hooks/useDateInput.js +4 -4
  1014. package/dist/cssm/hooks/useDateInput.js.map +1 -1
  1015. package/dist/cssm/hooks/useEffectDev.js.map +1 -1
  1016. package/dist/cssm/hooks/useEnsuredControl.js +2 -2
  1017. package/dist/cssm/hooks/useEnsuredControl.js.map +1 -1
  1018. package/dist/cssm/hooks/useEventListener.js.map +1 -1
  1019. package/dist/cssm/hooks/useExternRef.js.map +1 -1
  1020. package/dist/cssm/hooks/useFocusVisible.js +1 -1
  1021. package/dist/cssm/hooks/useFocusVisible.js.map +1 -1
  1022. package/dist/cssm/hooks/useFocusWithin.js +1 -1
  1023. package/dist/cssm/hooks/useFocusWithin.js.map +1 -1
  1024. package/dist/cssm/hooks/useGlobalEventListener.js.map +1 -1
  1025. package/dist/cssm/hooks/useId.js.map +1 -1
  1026. package/dist/cssm/hooks/useInsets.js +2 -2
  1027. package/dist/cssm/hooks/useInsets.js.map +1 -1
  1028. package/dist/cssm/hooks/useIsClient.js.map +1 -1
  1029. package/dist/cssm/hooks/useKeyboard.js +2 -2
  1030. package/dist/cssm/hooks/useKeyboard.js.map +1 -1
  1031. package/dist/cssm/hooks/useKeyboardInputTracker.js +1 -1
  1032. package/dist/cssm/hooks/useKeyboardInputTracker.js.map +1 -1
  1033. package/dist/cssm/hooks/useMediaQueries.js +1 -1
  1034. package/dist/cssm/hooks/useMediaQueries.js.map +1 -1
  1035. package/dist/cssm/hooks/useObjectMemo.js.map +1 -1
  1036. package/dist/cssm/hooks/useOrientationChange.js +1 -1
  1037. package/dist/cssm/hooks/useOrientationChange.js.map +1 -1
  1038. package/dist/cssm/hooks/usePagination.js +1 -1
  1039. package/dist/cssm/hooks/usePagination.js.map +1 -1
  1040. package/dist/cssm/hooks/usePatchChildrenRef.js.map +1 -1
  1041. package/dist/cssm/hooks/usePlatform.js +1 -1
  1042. package/dist/cssm/hooks/usePlatform.js.map +1 -1
  1043. package/dist/cssm/hooks/usePrevious.js.map +1 -1
  1044. package/dist/cssm/hooks/useTimeout.js +1 -1
  1045. package/dist/cssm/hooks/useTimeout.js.map +1 -1
  1046. package/dist/cssm/hooks/useTodayDate.js +1 -1
  1047. package/dist/cssm/hooks/useTodayDate.js.map +1 -1
  1048. package/dist/cssm/hooks/useWaitTransitionFinish.js +1 -1
  1049. package/dist/cssm/hooks/useWaitTransitionFinish.js.map +1 -1
  1050. package/dist/cssm/index.d.ts +3 -1
  1051. package/dist/cssm/index.js +1 -0
  1052. package/dist/cssm/index.js.map +1 -1
  1053. package/dist/cssm/lib/SSR.js +1 -1
  1054. package/dist/cssm/lib/SSR.js.map +1 -1
  1055. package/dist/cssm/lib/accessibility.js +2 -2
  1056. package/dist/cssm/lib/accessibility.js.map +1 -1
  1057. package/dist/cssm/lib/adaptivity/constants.js.map +1 -1
  1058. package/dist/cssm/lib/adaptivity/functions.js.map +1 -1
  1059. package/dist/cssm/lib/animate.js +1 -1
  1060. package/dist/cssm/lib/animate.js.map +1 -1
  1061. package/dist/cssm/lib/browser.js +1 -1
  1062. package/dist/cssm/lib/browser.js.map +1 -1
  1063. package/dist/cssm/lib/calendar.js.map +1 -1
  1064. package/dist/cssm/lib/callMultiple.js.map +1 -1
  1065. package/dist/cssm/lib/date.js.map +1 -1
  1066. package/dist/cssm/lib/dom.js.map +1 -1
  1067. package/dist/cssm/lib/floating/adapters.js +1 -1
  1068. package/dist/cssm/lib/floating/adapters.js.map +1 -1
  1069. package/dist/cssm/lib/floating/functions.js.map +1 -1
  1070. package/dist/cssm/lib/fx.js.map +1 -1
  1071. package/dist/cssm/lib/getNavId.js.map +1 -1
  1072. package/dist/cssm/lib/isRefObject.js.map +1 -1
  1073. package/dist/cssm/lib/matchMedia.js.map +1 -1
  1074. package/dist/cssm/lib/platform.js.map +1 -1
  1075. package/dist/cssm/lib/removeObjectKeys.js.map +1 -1
  1076. package/dist/cssm/lib/select.js.map +1 -1
  1077. package/dist/cssm/lib/styles.js.map +1 -1
  1078. package/dist/cssm/lib/supportEvents.js.map +1 -1
  1079. package/dist/cssm/lib/taptic.js.map +1 -1
  1080. package/dist/cssm/lib/testing.js.map +1 -1
  1081. package/dist/cssm/lib/tokensClassProvider.js +1 -1
  1082. package/dist/cssm/lib/tokensClassProvider.js.map +1 -1
  1083. package/dist/cssm/lib/touch.js.map +1 -1
  1084. package/dist/cssm/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1085. package/dist/cssm/lib/utils.js.map +1 -1
  1086. package/dist/cssm/lib/warnOnce.js.map +1 -1
  1087. package/dist/cssm/shared/breakpoints.js.map +1 -1
  1088. package/dist/cssm/styles/constants.css +3 -0
  1089. package/dist/cssm/styles/customMedias.generated.css +23 -0
  1090. package/dist/cssm/styles/themes.css +3 -3
  1091. package/dist/helpers/appearance.js.map +1 -1
  1092. package/dist/helpers/generateVKUITokensClassName.js.map +1 -1
  1093. package/dist/helpers/math.js.map +1 -1
  1094. package/dist/helpers/range.js.map +1 -1
  1095. package/dist/hoc/withContext.js.map +1 -1
  1096. package/dist/hooks/useAdaptivity.js.map +1 -1
  1097. package/dist/hooks/useAdaptivityConditionalRender/constants.js.map +1 -1
  1098. package/dist/hooks/useAdaptivityConditionalRender/helpers.js.map +1 -1
  1099. package/dist/hooks/useAdaptivityConditionalRender/useAdaptivityConditionalRender.js.map +1 -1
  1100. package/dist/hooks/useAdaptivityHasHover.js.map +1 -1
  1101. package/dist/hooks/useAdaptivityHasPointer.js.map +1 -1
  1102. package/dist/hooks/useAdaptivityWithJSMediaQueries.js.map +1 -1
  1103. package/dist/hooks/useAutoDetectAppearance.js +2 -1
  1104. package/dist/hooks/useAutoDetectAppearance.js.map +1 -1
  1105. package/dist/hooks/useBooleanState.js.map +1 -1
  1106. package/dist/hooks/useBridgeAdaptivity.js.map +1 -1
  1107. package/dist/hooks/useCalendar.js +6 -3
  1108. package/dist/hooks/useCalendar.js.map +1 -1
  1109. package/dist/hooks/useChipsInput.js +2 -1
  1110. package/dist/hooks/useChipsInput.js.map +1 -1
  1111. package/dist/hooks/useChipsSelect.js.map +1 -1
  1112. package/dist/hooks/useDateInput.js +5 -3
  1113. package/dist/hooks/useDateInput.js.map +1 -1
  1114. package/dist/hooks/useEffectDev.js.map +1 -1
  1115. package/dist/hooks/useEnsuredControl.js.map +1 -1
  1116. package/dist/hooks/useEventListener.js.map +1 -1
  1117. package/dist/hooks/useExternRef.js.map +1 -1
  1118. package/dist/hooks/useFocusVisible.js.map +1 -1
  1119. package/dist/hooks/useFocusWithin.js.map +1 -1
  1120. package/dist/hooks/useGlobalEventListener.js.map +1 -1
  1121. package/dist/hooks/useId.js.map +1 -1
  1122. package/dist/hooks/useInsets.js.map +1 -1
  1123. package/dist/hooks/useIsClient.js.map +1 -1
  1124. package/dist/hooks/useKeyboard.js +4 -4
  1125. package/dist/hooks/useKeyboard.js.map +1 -1
  1126. package/dist/hooks/useKeyboardInputTracker.js.map +1 -1
  1127. package/dist/hooks/useMediaQueries.js.map +1 -1
  1128. package/dist/hooks/useObjectMemo.js.map +1 -1
  1129. package/dist/hooks/useOrientationChange.js +1 -1
  1130. package/dist/hooks/useOrientationChange.js.map +1 -1
  1131. package/dist/hooks/usePagination.js.map +1 -1
  1132. package/dist/hooks/usePatchChildrenRef.js +2 -1
  1133. package/dist/hooks/usePatchChildrenRef.js.map +1 -1
  1134. package/dist/hooks/usePrevious.js.map +1 -1
  1135. package/dist/hooks/useTimeout.js +2 -1
  1136. package/dist/hooks/useTimeout.js.map +1 -1
  1137. package/dist/hooks/useTodayDate.js.map +1 -1
  1138. package/dist/hooks/useWaitTransitionFinish.js +4 -2
  1139. package/dist/hooks/useWaitTransitionFinish.js.map +1 -1
  1140. package/dist/index.d.ts +3 -1
  1141. package/dist/index.js +1 -0
  1142. package/dist/index.js.map +1 -1
  1143. package/dist/lib/SSR.js.map +1 -1
  1144. package/dist/lib/accessibility.js.map +1 -1
  1145. package/dist/lib/adaptivity/constants.js.map +1 -1
  1146. package/dist/lib/adaptivity/functions.js.map +1 -1
  1147. package/dist/lib/animate.js.map +1 -1
  1148. package/dist/lib/browser.js.map +1 -1
  1149. package/dist/lib/calendar.js.map +1 -1
  1150. package/dist/lib/callMultiple.js.map +1 -1
  1151. package/dist/lib/date.js.map +1 -1
  1152. package/dist/lib/dom.js.map +1 -1
  1153. package/dist/lib/floating/adapters.js.map +1 -1
  1154. package/dist/lib/floating/functions.js.map +1 -1
  1155. package/dist/lib/fx.js.map +1 -1
  1156. package/dist/lib/getNavId.js.map +1 -1
  1157. package/dist/lib/isRefObject.js.map +1 -1
  1158. package/dist/lib/matchMedia.js.map +1 -1
  1159. package/dist/lib/offset.js +6 -5
  1160. package/dist/lib/offset.js.map +1 -1
  1161. package/dist/lib/platform.js.map +1 -1
  1162. package/dist/lib/polyfills.js.map +1 -1
  1163. package/dist/lib/removeObjectKeys.js.map +1 -1
  1164. package/dist/lib/select.js +2 -2
  1165. package/dist/lib/select.js.map +1 -1
  1166. package/dist/lib/styles.js.map +1 -1
  1167. package/dist/lib/supportEvents.js.map +1 -1
  1168. package/dist/lib/taptic.js.map +1 -1
  1169. package/dist/lib/testing.js.map +1 -1
  1170. package/dist/lib/tokensClassProvider.js.map +1 -1
  1171. package/dist/lib/touch.js.map +1 -1
  1172. package/dist/lib/useIsomorphicLayoutEffect.js.map +1 -1
  1173. package/dist/lib/utils.js.map +1 -1
  1174. package/dist/lib/warnOnce.js.map +1 -1
  1175. package/dist/shared/breakpoints.js.map +1 -1
  1176. package/dist/vkui.css +11 -10
  1177. package/dist/vkui.css.map +1 -1
  1178. package/dist/vkui.js.tmp +3108 -2238
  1179. package/package.json +8 -8
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <a href="https://npmjs.com/package/@vkontakte/vkui"><img src="https://img.shields.io/npm/v/@vkontakte/vkui/latest.svg?maxAge=3600" alt="open latest version"></a>
12
12
  </p>
13
13
  <p align="center">
14
- VKUI — это библиотека адаптивных React-компонентов, <br> для создания веб-приложений и <a href="https://vk.com/dev/vk_apps_docs">VK Mini Apps</a> в экосистеме ВКонтакте.<br>
14
+ VKUI — это библиотека адаптивных React-компонентов, <br> для создания веб-приложений и <a href="https://dev.vk.com/mini-apps/overview">VK Mini Apps</a> в экосистеме ВКонтакте.<br>
15
15
  Библиотека основана на <a href="https://www.figma.com/@vk">дизайн-системе ВКонтакте</a> и реализует её интерфейсы для различных платформ.<br>
16
16
  Релизы: <a href="https://github.com/VKCOM/VKUI/releases">https://github.com/VKCOM/VKUI/releases</a>.<br>
17
17
  Гайд по миграции <a href="https://vkcom.github.io/VKUI/#/Migration">на версию 5</a>.
@@ -104,7 +104,7 @@ ReactDOM.render(
104
104
 
105
105
  ## Тестирование
106
106
 
107
- Мы работаем над качеством библиотеки и подвозим тесты. `yarn test` запускает юниты, проверяет типы и линтит. Также мы поддерживаем скриншотные тесты (e2e) и тесты доступности (a11y) — смотрите наш [гайд по тестированию](https://github.com/VKCOM/VKUI/blob/master/docs/TESTING.md).
107
+ Мы работаем над качеством библиотеки и подвозим тесты. `yarn test` запускает юниты, типы и линтит. Также мы поддерживаем скриншотные тесты (e2e) и проверяем базовую доступность (a11y) компонентов — смотрите наш [гайд по тестированию](https://github.com/VKCOM/VKUI/blob/master/docs/TESTING.md).
108
108
 
109
109
  ## Документация
110
110
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { AccordionSummary } from './AccordionSummary';\nimport styles from './Accordion.module.css';\n\nexport type AccordionProps = React.DetailsHTMLAttributes<HTMLDetailsElement> &\n HasRootRef<HTMLDetailsElement>;\n\n/**\n * Компонент, позволяет отображать несколько разделов контента в ограниченном\n * пространстве и сворачивать или разворачивать их пользователем.\n *\n * Обертка над details.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const Accordion = ({ getRootRef, className, ...restProps }: AccordionProps) => (\n <details className={classNames(styles['Accordion'], className)} ref={getRootRef} {...restProps} />\n);\n\nAccordion.Summary = AccordionSummary;\n"],"names":["Accordion","getRootRef","className","restProps","details","classNames","ref","Summary","AccordionSummary"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;+DAlBU;oBACI;gCAEM;AAe1B,IAAMA,YAAY;QAAGC,oBAAAA,YAAYC,mBAAAA,WAAcC;QAA1BF;QAAYC;;WACtC,qBAACE;QAAQF,WAAWG,IAAAA,mCAAgCH;QAAYI,KAAKL;OAAgBE;AAAY;AAGnGH,UAAUO,UAAUC"}
1
+ {"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { HasRootRef } from '../../types';\nimport { AccordionSummary } from './AccordionSummary';\nimport styles from './Accordion.module.css';\n\nexport type AccordionProps = React.DetailsHTMLAttributes<HTMLDetailsElement> &\n HasRootRef<HTMLDetailsElement>;\n\n/**\n * Компонент, позволяет отображать несколько разделов контента в ограниченном\n * пространстве и сворачивать или разворачивать их пользователем.\n *\n * Обертка над details.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const Accordion = ({ getRootRef, className, ...restProps }: AccordionProps) => (\n <details className={classNames(styles['Accordion'], className)} ref={getRootRef} {...restProps} />\n);\n\nAccordion.Summary = AccordionSummary;\n"],"names":["Accordion","getRootRef","className","restProps","details","classNames","ref","Summary","AccordionSummary"],"mappings":";;;;+BAkBaA;;;eAAAA;;;;;;+DAlBU;oBACI;gCAEM;AAe1B,IAAMA,YAAY;QAAGC,oBAAAA,YAAYC,mBAAAA,WAAcC;QAA1BF;QAAYC;;WACtC,qBAACE;QAAQF,WAAWG,IAAAA,gBAAU,mBAAsBH;QAAYI,KAAKL;OAAgBE;AAAY;AAGnGH,UAAUO,OAAO,GAAGC,kCAAgB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Accordion/AccordionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon24ChevronDown, Icon24ChevronUp } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { SimpleCell, SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport styles from './Accordion.module.css';\n\nexport interface AccordionSummaryProps extends Omit<SimpleCellProps, 'expandable'> {\n /**\n * Иконка для раскрытия контента.\n */\n ExpandIcon?: React.ElementType;\n /**\n * Иконка для сворачивания контента.\n */\n CollapseIcon?: React.ElementType;\n /**\n * Позиция иконки.\n */\n iconPosition?: 'before' | 'after';\n}\n\n/**\n * Обертка над summary.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const AccordionSummary = ({\n className,\n after,\n before,\n ExpandIcon = Icon24ChevronDown,\n CollapseIcon = Icon24ChevronUp,\n iconPosition = 'after',\n children,\n ...restProps\n}: AccordionSummaryProps) => {\n const accordionIcon = (\n // Обертка нужна для правильной работы с отступами в SimpleCell\n // Без обертки на AccordionSummary__icon--collapse не будет действовать правило `last-child`\n <span className=\"vkuiIcon\">\n <ExpandIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--expand'],\n )}\n />\n <CollapseIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--collapse'],\n )}\n />\n </span>\n );\n\n return (\n <SimpleCell\n className={classNames(styles['AccordionSummary'], className)}\n Component=\"summary\"\n before={\n <>\n {iconPosition === 'before' && accordionIcon}\n {before}\n </>\n }\n after={\n <>\n {after}\n {iconPosition === 'after' && accordionIcon}\n </>\n }\n {...restProps}\n >\n {children}\n </SimpleCell>\n );\n};\n"],"names":["AccordionSummary","className","after","before","ExpandIcon","Icon24ChevronDown","CollapseIcon","Icon24ChevronUp","iconPosition","children","restProps","accordionIcon","span","classNames","SimpleCell","Component"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;8DA3BK;qBACiC;oBACxB;0BACiB;AAwBrC,IAAMA,mBAAmB;QAC9BC,mBAAAA,WACAC,eAAAA,OACAC,gBAAAA,mCACAC,YAAAA,4CAAaC,2EACbC,cAAAA,gDAAeC,2EACfC,cAAAA,gDAAe,+BACfC,kBAAAA,UACGC;QAPHT;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;;IAGA,IAAME,gBACJ,+DAA+D;IAC/D,4FAA4F;kBAC5F,6BAACC;QAAKX,WAAU;qBACd,6BAACG;QACCH,WAAWY,IAAAA;sBAKb,6BAACP;QACCL,WAAWY,IAAAA;;IAQjB,qBACE,6BAACC;QACCb,WAAWY,IAAAA,0CAAuCZ;QAClDc,WAAU;QACVZ,sBACE,4DACGK,iBAAiB,YAAYG,eAC7BR;QAGLD,qBACE,4DACGA,OACAM,iBAAiB,WAAWG;OAG7BD,YAEHD;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/Accordion/AccordionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon24ChevronDown, Icon24ChevronUp } from '@vkontakte/icons';\nimport { classNames } from '@vkontakte/vkjs';\nimport { SimpleCell, SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport styles from './Accordion.module.css';\n\nexport interface AccordionSummaryProps extends Omit<SimpleCellProps, 'expandable'> {\n /**\n * Иконка для раскрытия контента.\n */\n ExpandIcon?: React.ElementType;\n /**\n * Иконка для сворачивания контента.\n */\n CollapseIcon?: React.ElementType;\n /**\n * Позиция иконки.\n */\n iconPosition?: 'before' | 'after';\n}\n\n/**\n * Обертка над summary.\n *\n * @since 5.3.0\n * @see https://vkcom.github.io/VKUI/#/Accordion\n */\nexport const AccordionSummary = ({\n className,\n after,\n before,\n ExpandIcon = Icon24ChevronDown,\n CollapseIcon = Icon24ChevronUp,\n iconPosition = 'after',\n children,\n ...restProps\n}: AccordionSummaryProps) => {\n const accordionIcon = (\n // Обертка нужна для правильной работы с отступами в SimpleCell\n // Без обертки на AccordionSummary__icon--collapse не будет действовать правило `last-child`\n <span className=\"vkuiIcon\">\n <ExpandIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--expand'],\n )}\n />\n <CollapseIcon\n className={classNames(\n styles['AccordionSummary__icon'],\n styles['AccordionSummary__icon--collapse'],\n )}\n />\n </span>\n );\n\n return (\n <SimpleCell\n className={classNames(styles['AccordionSummary'], className)}\n Component=\"summary\"\n before={\n <>\n {iconPosition === 'before' && accordionIcon}\n {before}\n </>\n }\n after={\n <>\n {after}\n {iconPosition === 'after' && accordionIcon}\n </>\n }\n {...restProps}\n >\n {children}\n </SimpleCell>\n );\n};\n"],"names":["AccordionSummary","className","after","before","ExpandIcon","Icon24ChevronDown","CollapseIcon","Icon24ChevronUp","iconPosition","children","restProps","accordionIcon","span","classNames","SimpleCell","Component"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;8DA3BK;qBACiC;oBACxB;0BACiB;AAwBrC,IAAMA,mBAAmB;QAC9BC,mBAAAA,WACAC,eAAAA,OACAC,gBAAAA,mCACAC,YAAAA,4CAAaC,wBAAiB,mDAC9BC,cAAAA,gDAAeC,sBAAe,qDAC9BC,cAAAA,gDAAe,+BACfC,kBAAAA,UACGC;QAPHT;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;;IAGA,IAAME,gBACJ,+DAA+D;IAC/D,4FAA4F;kBAC5F,6BAACC;QAAKX,WAAU;qBACd,6BAACG;QACCH,WAAWY,IAAAA,gBAAU;sBAKvB,6BAACP;QACCL,WAAWY,IAAAA,gBAAU;;IAQ3B,qBACE,6BAACC,sBAAU;QACTb,WAAWY,IAAAA,gBAAU,0BAA6BZ;QAClDc,WAAU;QACVZ,sBACE,4DACGK,iBAAiB,YAAYG,eAC7BR;QAGLD,qBACE,4DACGA,OACAM,iBAAiB,WAAWG;OAG7BD,YAEHD;AAGP"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { Platform } from '../../lib/platform';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nexport interface ActionSheetProps\n extends Pick<SharedDropdownProps, 'toggleRef' | 'popupDirection' | 'popupOffsetDistance'>,\n React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи.\n */\n onClose: VoidFunction;\n /**\n * Только iOS.\n */\n iosCloseItem: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheet\n */\nexport const ActionSheet = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n popupDirection = 'bottom',\n popupOffsetDistance,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose();\n _action.current();\n _action.current = noop;\n };\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n useScrollLock(!isDesktop);\n\n let timeout = platform === Platform.IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n (action, immediateAction, autoClose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoClose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n },\n [],\n );\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop ? ActionSheetDropdownDesktop : ActionSheetDropdown;\n\n const dropdownProps = isDesktop\n ? Object.assign(restProps, { popupOffsetDistance, popupDirection })\n : restProps;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...dropdownProps}\n onClose={onClose}\n className={isDesktop ? className : undefined}\n style={isDesktop ? style : undefined}\n >\n {(header || text) && (\n <header className={styles['ActionSheet__header']}>\n {header && (\n <Footnote weight=\"2\" className={styles['ActionSheet__title']}>\n {header}\n </Footnote>\n )}\n {text && <Footnote className={styles['ActionSheet__text']}>{text}</Footnote>}\n </header>\n )}\n {children}\n {platform === Platform.IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (isDesktop) {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n hasMask\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n"],"names":["ActionSheet","children","className","header","text","style","iosCloseItem","popupDirection","popupOffsetDistance","restProps","platform","usePlatform","React","useState","closing","setClosing","onClose","_action","useRef","noop","afterClose","current","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","timeout","Platform","IOS","fallbackTransitionFinish","useTimeout","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoClose","event","persist","contextValue","useObjectMemo","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","dropdownProps","Object","assign","actionSheet","ActionSheetContext","Provider","value","undefined","Footnote","weight","PopoutWrapper","alignY","onClick","hasMask","fixed"],"mappings":";;;;+BAkCaA;;;eAAAA;;;;;;;;+DAlCU;oBACF;+CAC2B;6BAClB;2BACF;0BACD;wBACF;6BACK;6BACA;wBACL;kCAC4B;mCACjB;0CACO;AAsBpC,IAAMA,cAAc;QACzBC,kBAAAA,UACAC,mBAAAA,WACAC,gBAAAA,QACAC,cAAAA,MACAC,eAAAA,OACAC,sBAAAA,6CACAC,gBAAAA,oDAAiB,kCACjBC,6BAAAA,qBACGC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA;IACjB,IAA8BC,qCAAAA,OAAMC,SAAS,YAAtCC,UAAuBF,oBAAdG,aAAcH;IAC9B,IAAMI,UAAU;eAAMD,WAAW;;IACjC,IAAME,UAAUL,OAAMM,OAAOC;IAE7B,IAAMC,aAAa;QACjBX,UAAUO;QACVC,QAAQI;QACRJ,QAAQI,UAAUF;IACpB;IAEA,IAAM,AAAEG,YAAcC,IAAAA,oEAAdD;IAERE,IAAAA,8BAAc,CAACF;IAEf,IAAIG,UAAUf,aAAagB,mBAASC,MAAM,MAAM;IAEhD,IAAIL,WAAW;QACbG,UAAU;IACZ;IAEA,IAAMG,2BAA2BC,IAAAA,wBAAWT,YAAYK;IACxDb,OAAMkB,UAAU;QACd,IAAIhB,SAAS;YACXc,yBAAyBG;QAC3B,OAAO;YACLH,yBAAyBI;QAC3B;IACF,GAAG;QAAClB;QAASc;KAAyB;IAEtC,IAAMK,cAAcrB,OAAMsB,YACxB,SAACC,QAAQC,iBAAiBC;eAAc,SAACC;YACvCA,MAAMC;YACNH,mBAAmBA,gBAAgBE;YACnC,IAAID,WAAW;gBACbpB,QAAQI,UAAU;2BAAMc,UAAUA,OAAOG;;gBACzCvB,WAAW;YACb,OAAO;gBACLoB,UAAUA,OAAOG;YACnB;QACF;OACA,EAAE;IAEJ,IAAME,eAAeC,IAAAA,8BAAc;QAAER,aAAAA;QAAaX,WAAAA;IAAU;IAE5D,IAAMoB,oBAAoBpB,YAAYqB,yDAA6BC;IAEnE,IAAMC,gBAAgBvB,YAClBwB,OAAOC,OAAOtC,WAAW;QAAED,qBAAAA;QAAqBD,gBAAAA;IAAe,KAC/DE;IAEJ,IAAMuC,4BACJ,qBAACC,uCAAmBC;QAASC,OAAOX;qBAClC,qBAACE;QACC5B,SAASA;QACTW,SAASA;OACLoB;QACJ7B,SAASA;QACTd,WAAWoB,YAAYpB,YAAYkD;QACnC/C,OAAOiB,YAAYjB,QAAQ+C;QAE1B,AAACjD,CAAAA,UAAUC,IAAG,mBACb,qBAACD;QAAOD,SAAS;OACdC,wBACC,qBAACkD;QAASC,QAAO;QAAIpD,SAAS;OAC3BC,SAGJC,sBAAQ,qBAACiD;QAASnD,SAAS;OAAgCE,QAG/DH,UACAS,aAAagB,mBAASC,OAAO,CAACL,aAAahB;IAKlD,IAAIgB,WAAW;QACb,OAAO0B;IACT;IAEA,qBACE,qBAACO;QACCzC,SAASA;QACT0C,QAAO;QACPtD,WAAWA;QACXG,OAAOA;QACPoD,SAASzC;QACT0C,SAAAA;QACAC,OAAAA;OAECX;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheet.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useObjectMemo } from '../../hooks/useObjectMemo';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useTimeout } from '../../hooks/useTimeout';\nimport { Platform } from '../../lib/platform';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { ActionSheetContext, ItemClickHandler } from './ActionSheetContext';\nimport { ActionSheetDropdown } from './ActionSheetDropdown';\nimport { ActionSheetDropdownDesktop } from './ActionSheetDropdownDesktop';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nexport interface ActionSheetProps\n extends Pick<SharedDropdownProps, 'toggleRef' | 'popupDirection' | 'popupOffsetDistance'>,\n React.HTMLAttributes<HTMLDivElement> {\n header?: React.ReactNode;\n text?: React.ReactNode;\n /**\n * Закрыть попап по клику снаружи.\n */\n onClose: VoidFunction;\n /**\n * Только iOS.\n */\n iosCloseItem: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheet\n */\nexport const ActionSheet = ({\n children,\n className,\n header,\n text,\n style,\n iosCloseItem,\n popupDirection = 'bottom',\n popupOffsetDistance,\n ...restProps\n}: ActionSheetProps) => {\n const platform = usePlatform();\n const [closing, setClosing] = React.useState(false);\n const onClose = () => setClosing(true);\n const _action = React.useRef(noop);\n\n const afterClose = () => {\n restProps.onClose();\n _action.current();\n _action.current = noop;\n };\n\n const { isDesktop } = useAdaptivityWithJSMediaQueries();\n\n useScrollLock(!isDesktop);\n\n let timeout = platform === Platform.IOS ? 300 : 200;\n\n if (isDesktop) {\n timeout = 0;\n }\n\n const fallbackTransitionFinish = useTimeout(afterClose, timeout);\n React.useEffect(() => {\n if (closing) {\n fallbackTransitionFinish.set();\n } else {\n fallbackTransitionFinish.clear();\n }\n }, [closing, fallbackTransitionFinish]);\n\n const onItemClick = React.useCallback<ItemClickHandler>(\n (action, immediateAction, autoClose) => (event) => {\n event.persist();\n immediateAction && immediateAction(event);\n if (autoClose) {\n _action.current = () => action && action(event);\n setClosing(true);\n } else {\n action && action(event);\n }\n },\n [],\n );\n const contextValue = useObjectMemo({ onItemClick, isDesktop });\n\n const DropdownComponent = isDesktop ? ActionSheetDropdownDesktop : ActionSheetDropdown;\n\n const dropdownProps = isDesktop\n ? Object.assign(restProps, { popupOffsetDistance, popupDirection })\n : restProps;\n\n const actionSheet = (\n <ActionSheetContext.Provider value={contextValue}>\n <DropdownComponent\n closing={closing}\n timeout={timeout}\n {...dropdownProps}\n onClose={onClose}\n className={isDesktop ? className : undefined}\n style={isDesktop ? style : undefined}\n >\n {(header || text) && (\n <header className={styles['ActionSheet__header']}>\n {header && (\n <Footnote weight=\"2\" className={styles['ActionSheet__title']}>\n {header}\n </Footnote>\n )}\n {text && <Footnote className={styles['ActionSheet__text']}>{text}</Footnote>}\n </header>\n )}\n {children}\n {platform === Platform.IOS && !isDesktop && iosCloseItem}\n </DropdownComponent>\n </ActionSheetContext.Provider>\n );\n\n if (isDesktop) {\n return actionSheet;\n }\n\n return (\n <PopoutWrapper\n closing={closing}\n alignY=\"bottom\"\n className={className}\n style={style}\n onClick={onClose}\n hasMask\n fixed\n >\n {actionSheet}\n </PopoutWrapper>\n );\n};\n"],"names":["ActionSheet","children","className","header","text","style","iosCloseItem","popupDirection","popupOffsetDistance","restProps","platform","usePlatform","React","useState","closing","setClosing","onClose","_action","useRef","noop","afterClose","current","isDesktop","useAdaptivityWithJSMediaQueries","useScrollLock","timeout","Platform","IOS","fallbackTransitionFinish","useTimeout","useEffect","set","clear","onItemClick","useCallback","action","immediateAction","autoClose","event","persist","contextValue","useObjectMemo","DropdownComponent","ActionSheetDropdownDesktop","ActionSheetDropdown","dropdownProps","Object","assign","actionSheet","ActionSheetContext","Provider","value","undefined","Footnote","weight","PopoutWrapper","alignY","onClick","hasMask","fixed"],"mappings":";;;;+BAkCaA;;;eAAAA;;;;;;;;+DAlCU;oBACF;+CAC2B;6BAClB;2BACF;0BACD;wBACF;6BACK;6BACA;wBACL;kCAC4B;mCACjB;0CACO;AAsBpC,IAAMA,cAAc;QACzBC,kBAAAA,UACAC,mBAAAA,WACAC,gBAAAA,QACAC,cAAAA,MACAC,eAAAA,OACAC,sBAAAA,6CACAC,gBAAAA,oDAAiB,kCACjBC,6BAAAA,qBACGC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IAA8BC,qCAAAA,OAAMC,QAAQ,CAAC,YAAtCC,UAAuBF,oBAAdG,aAAcH;IAC9B,IAAMI,UAAU;eAAMD,WAAW;;IACjC,IAAME,UAAUL,OAAMM,MAAM,CAACC,UAAI;IAEjC,IAAMC,aAAa;QACjBX,UAAUO,OAAO;QACjBC,QAAQI,OAAO;QACfJ,QAAQI,OAAO,GAAGF,UAAI;IACxB;IAEA,IAAM,AAAEG,YAAcC,IAAAA,gEAA+B,IAA7CD;IAERE,IAAAA,4BAAa,EAAC,CAACF;IAEf,IAAIG,UAAUf,aAAagB,kBAAQ,CAACC,GAAG,GAAG,MAAM;IAEhD,IAAIL,WAAW;QACbG,UAAU;IACZ;IAEA,IAAMG,2BAA2BC,IAAAA,sBAAU,EAACT,YAAYK;IACxDb,OAAMkB,SAAS,CAAC;QACd,IAAIhB,SAAS;YACXc,yBAAyBG,GAAG;QAC9B,OAAO;YACLH,yBAAyBI,KAAK;QAChC;IACF,GAAG;QAAClB;QAASc;KAAyB;IAEtC,IAAMK,cAAcrB,OAAMsB,WAAW,CACnC,SAACC,QAAQC,iBAAiBC;eAAc,SAACC;YACvCA,MAAMC,OAAO;YACbH,mBAAmBA,gBAAgBE;YACnC,IAAID,WAAW;gBACbpB,QAAQI,OAAO,GAAG;2BAAMc,UAAUA,OAAOG;;gBACzCvB,WAAW;YACb,OAAO;gBACLoB,UAAUA,OAAOG;YACnB;QACF;OACA,EAAE;IAEJ,IAAME,eAAeC,IAAAA,4BAAa,EAAC;QAAER,aAAAA;QAAaX,WAAAA;IAAU;IAE5D,IAAMoB,oBAAoBpB,YAAYqB,sDAA0B,GAAGC,wCAAmB;IAEtF,IAAMC,gBAAgBvB,YAClBwB,OAAOC,MAAM,CAACtC,WAAW;QAAED,qBAAAA;QAAqBD,gBAAAA;IAAe,KAC/DE;IAEJ,IAAMuC,4BACJ,qBAACC,sCAAkB,CAACC,QAAQ;QAACC,OAAOX;qBAClC,qBAACE;QACC5B,SAASA;QACTW,SAASA;OACLoB;QACJ7B,SAASA;QACTd,WAAWoB,YAAYpB,YAAYkD;QACnC/C,OAAOiB,YAAYjB,QAAQ+C;QAE1B,AAACjD,CAAAA,UAAUC,IAAG,mBACb,qBAACD;QAAOD,SAAS;OACdC,wBACC,qBAACkD,kBAAQ;QAACC,QAAO;QAAIpD,SAAS;OAC3BC,SAGJC,sBAAQ,qBAACiD,kBAAQ;QAACnD,SAAS;OAAgCE,QAG/DH,UACAS,aAAagB,kBAAQ,CAACC,GAAG,IAAI,CAACL,aAAahB;IAKlD,IAAIgB,WAAW;QACb,OAAO0B;IACT;IAEA,qBACE,qBAACO,4BAAa;QACZzC,SAASA;QACT0C,QAAO;QACPtD,WAAWA;QACXG,OAAOA;QACPoD,SAASzC;QACT0C,SAAAA;QACAC,OAAAA;OAECX;AAGP"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type ActionType<T> = (event: React.MouseEvent<T>) => void;\n\nexport type ItemClickHandler<T extends Element = Element> = (\n action: ActionType<T> | undefined,\n immediateAction: ActionType<T> | undefined,\n autoClose: boolean,\n) => (event: React.MouseEvent) => void;\n\nexport type ActionSheetContextType<T extends Element = Element> = {\n onItemClick?: ItemClickHandler<T>;\n isDesktop?: boolean;\n};\n\nexport const ActionSheetContext = React.createContext<ActionSheetContextType<any>>({});\n"],"names":["ActionSheetContext","React","createContext"],"mappings":";;;;+BAeaA;;;eAAAA;;;;+DAfU;AAehB,IAAMA,qBAAqBC,OAAMC,cAA2C,CAAC"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type ActionType<T> = (event: React.MouseEvent<T>) => void;\n\nexport type ItemClickHandler<T extends Element = Element> = (\n action: ActionType<T> | undefined,\n immediateAction: ActionType<T> | undefined,\n autoClose: boolean,\n) => (event: React.MouseEvent) => void;\n\nexport type ActionSheetContextType<T extends Element = Element> = {\n onItemClick?: ItemClickHandler<T>;\n isDesktop?: boolean;\n};\n\nexport const ActionSheetContext = React.createContext<ActionSheetContextType<any>>({});\n"],"names":["ActionSheetContext","React","createContext"],"mappings":";;;;+BAeaA;;;eAAAA;;;;+DAfU;AAehB,IAAMA,qBAAqBC,OAAMC,aAAa,CAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ActionSheetItem, ActionSheetItemProps } from '../ActionSheetItem/ActionSheetItem';\n\nexport const ActionSheetDefaultIosCloseItem = (props: ActionSheetItemProps) => {\n return (\n <ActionSheetItem autoClose mode=\"cancel\" {...props}>\n Отмена\n </ActionSheetItem>\n );\n};\n"],"names":["ActionSheetDefaultIosCloseItem","props","ActionSheetItem","autoClose","mode"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;+DAHU;+BAC+B;AAE/C,IAAMA,iCAAiC,SAACC;IAC7C,qBACE,qBAACC;QAAgBC,WAAAA;QAAUC,MAAK;OAAaH,QAAO;AAIxD"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDefaultIosCloseItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { ActionSheetItem, ActionSheetItemProps } from '../ActionSheetItem/ActionSheetItem';\n\nexport const ActionSheetDefaultIosCloseItem = (props: ActionSheetItemProps) => {\n return (\n <ActionSheetItem autoClose mode=\"cancel\" {...props}>\n Отмена\n </ActionSheetItem>\n );\n};\n"],"names":["ActionSheetDefaultIosCloseItem","props","ActionSheetItem","autoClose","mode"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;+DAHU;+BAC+B;AAE/C,IAAMA,iCAAiC,SAACC;IAC7C,qBACE,qBAACC,gCAAe;QAACC,WAAAA;QAAUC,MAAK;OAAaH,QAAO;AAIxD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nconst stopPropagation: React.MouseEventHandler = (e) => e.stopPropagation();\n\nexport type ActionSheetDropdownProps = Omit<\n SharedDropdownProps,\n 'popupDirection' | 'popupOffsetDistance'\n>;\n\nexport const ActionSheetDropdown = ({\n children,\n closing,\n // these 2 props are only omitted - ActionSheetDesktop compat\n toggleRef,\n className,\n ...restProps\n}: SharedDropdownProps) => {\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n const platform = usePlatform();\n\n return (\n <FocusTrap\n {...restProps}\n onClick={stopPropagation}\n className={classNames(\n styles['ActionSheet'],\n platform === Platform.IOS && styles['ActionSheet--ios'],\n closing && styles['ActionSheet--closing'],\n sizeY === SizeType.COMPACT && styles['ActionSheet--sizeY-compact'],\n className,\n )}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"names":["ActionSheetDropdown","stopPropagation","e","children","closing","toggleRef","className","restProps","sizeY","useAdaptivityWithJSMediaQueries","platform","usePlatform","FocusTrap","onClick","classNames","Platform","IOS","SizeType","COMPACT"],"mappings":";;;;+BAiBaA;;;eAAAA;;;;;;;+DAjBU;oBACI;+CACqB;2BACpB;0BACH;wBACA;yBACC;AAI1B,IAAMC,kBAA2C,SAACC;WAAMA,EAAED;;AAOnD,IAAMD,sBAAsB;QACjCG,kBAAAA,UACAC,iBAAAA,SACA,6DAA6D;IAC7DC,mBAAAA,WACAC,mBAAAA,WACGC;QALHJ;QACAC;QAEAC;QACAC;;IAGA,IAAM,AAAEE,QAAUC,IAAAA,oEAAVD;IACR,IAAME,WAAWC,IAAAA;IAEjB,qBACE,qBAACC,kEACKL;QACJM,SAASZ;QACTK,WAAWQ,IAAAA,qCAETJ,aAAaK,mBAASC,+BACtBZ,uCACAI,UAAUS,qBAASC,6CACnBZ;QAGDH;AAGP"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nconst stopPropagation: React.MouseEventHandler = (e) => e.stopPropagation();\n\nexport type ActionSheetDropdownProps = Omit<\n SharedDropdownProps,\n 'popupDirection' | 'popupOffsetDistance'\n>;\n\nexport const ActionSheetDropdown = ({\n children,\n closing,\n // these 2 props are only omitted - ActionSheetDesktop compat\n toggleRef,\n className,\n ...restProps\n}: SharedDropdownProps) => {\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n const platform = usePlatform();\n\n return (\n <FocusTrap\n {...restProps}\n onClick={stopPropagation}\n className={classNames(\n styles['ActionSheet'],\n platform === Platform.IOS && styles['ActionSheet--ios'],\n closing && styles['ActionSheet--closing'],\n sizeY === SizeType.COMPACT && styles['ActionSheet--sizeY-compact'],\n className,\n )}\n >\n {children}\n </FocusTrap>\n );\n};\n"],"names":["ActionSheetDropdown","stopPropagation","e","children","closing","toggleRef","className","restProps","sizeY","useAdaptivityWithJSMediaQueries","platform","usePlatform","FocusTrap","onClick","classNames","Platform","IOS","SizeType","COMPACT"],"mappings":";;;;+BAiBaA;;;eAAAA;;;;;;;+DAjBU;oBACI;+CACqB;2BACpB;0BACH;wBACA;yBACC;AAI1B,IAAMC,kBAA2C,SAACC;WAAMA,EAAED,eAAe;;AAOlE,IAAMD,sBAAsB;QACjCG,kBAAAA,UACAC,iBAAAA,SACA,6DAA6D;IAC7DC,mBAAAA,WACAC,mBAAAA,WACGC;QALHJ;QACAC;QAEAC;QACAC;;IAGA,IAAM,AAAEE,QAAUC,IAAAA,gEAA+B,IAAzCD;IACR,IAAME,WAAWC,IAAAA,wBAAW;IAE5B,qBACE,qBAACC,oBAAS,8CACJL;QACJM,SAASZ;QACTK,WAAWQ,IAAAA,gBAAU,qBAEnBJ,aAAaK,kBAAQ,CAACC,GAAG,4BACzBZ,uCACAI,UAAUS,oBAAQ,CAACC,OAAO,sCAC1BZ;QAGDH;AAGP"}
@@ -59,9 +59,11 @@ var ActionSheetDropdownDesktop = function(_param) {
59
59
  elementRef
60
60
  ]);
61
61
  var bodyClickListener = (0, _useEventListener.useEventListener)("click", function(e) {
62
- var dropdownElement = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
62
+ var _elementRef;
63
+ var dropdownElement = (_elementRef = elementRef) === null || _elementRef === void 0 ? void 0 : _elementRef.current;
63
64
  if (dropdownElement && !dropdownElement.contains(e.target)) {
64
- onClose === null || onClose === void 0 ? void 0 : onClose();
65
+ var _onClose;
66
+ (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
65
67
  }
66
68
  });
67
69
  _react.useEffect(function() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useEffectDev } from '../../hooks/useEffectDev';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { Platform } from '../../lib/platform';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { Popper } from '../Popper/Popper';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref;\n}\n\nexport const ActionSheetDropdownDesktop = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n className,\n style,\n popupOffsetDistance = 0,\n ...restProps\n}: SharedDropdownProps) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n const elementRef = React.useRef<HTMLDivElement | null>(null);\n\n useEffectDev(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n warn(`Свойство \"toggleRef\" не передано`, 'error');\n }\n }, [toggleRef]);\n\n const isPopupDirectionTop = React.useMemo(\n () =>\n popupDirection === 'top' ||\n (typeof popupDirection === 'function' && popupDirection(elementRef) === 'top'),\n [popupDirection, elementRef],\n );\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose?.();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document!.body);\n });\n }, [bodyClickListener, document]);\n\n const onClick = React.useCallback((e: React.MouseEvent<HTMLElement>) => e.stopPropagation(), []);\n\n const targetRef = React.useMemo(() => {\n if (isRefObject<SharedDropdownProps['toggleRef'], HTMLElement>(toggleRef)) {\n return toggleRef;\n }\n\n return { current: toggleRef as HTMLElement };\n }, [toggleRef]);\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={popupOffsetDistance}\n placement={isPopupDirectionTop ? 'top-end' : 'bottom-end'}\n className={classNames(\n styles['ActionSheet'],\n platform === Platform.IOS && styles['ActionSheet--ios'],\n styles['ActionSheet--desktop'],\n sizeY === SizeType.COMPACT && styles['ActionSheet--sizeY-compact'],\n className,\n )}\n style={style}\n getRef={elementRef}\n forcePortal={false}\n >\n <FocusTrap onClose={onClose} {...restProps} onClick={onClick}>\n {children}\n </FocusTrap>\n </Popper>\n );\n};\n"],"names":["ActionSheetDropdownDesktop","warn","warnOnce","getEl","ref","current","children","toggleRef","closing","popupDirection","onClose","className","style","popupOffsetDistance","restProps","document","useDOM","platform","usePlatform","sizeY","useAdaptivityWithJSMediaQueries","elementRef","React","useRef","useEffectDev","toggleEl","isPopupDirectionTop","useMemo","bodyClickListener","useEventListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation","targetRef","isRefObject","Popper","offsetDistance","placement","classNames","Platform","IOS","SizeType","COMPACT","getRef","forcePortal","FocusTrap"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;;;+DArBU;oBACI;+CACqB;4BACnB;gCACI;2BACL;0BACH;mBACF;2BACK;wBACH;wBACA;yBACC;sBACH;AAIvB,IAAMC,OAAOC,IAAAA,oBAAS;AACtB,SAASC,MAAMC,GAAqC;IAClD,OAAOA,OAAO,aAAaA,MAAMA,IAAIC,UAAUD;AACjD;AAEO,IAAMJ,6BAA6B;QACxCM,kBAAAA,UACAC,mBAAAA,WACAC,iBAAAA,SACAC,wBAAAA,gBACAC,iBAAAA,SACAC,mBAAAA,WACAC,eAAAA,2CACAC,qBAAAA,8DAAsB,gCACnBC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAAEE,WAAaC,IAAAA,eAAbD;IACR,IAAME,WAAWC,IAAAA;IACjB,IAAM,AAAEC,QAAUC,IAAAA,oEAAVD;IACR,IAAME,aAAaC,OAAMC,OAA8B;IAEvDC,IAAAA,4BAAa;QACX,IAAMC,WAAWtB,MAAMI;QACvB,IAAI,CAACkB,UAAU;YACbxB,KAAM,oCAAmC;QAC3C;IACF,GAAG;QAACM;KAAU;IAEd,IAAMmB,sBAAsBJ,OAAMK,QAChC;eACElB,mBAAmB,SAClB,OAAOA,mBAAmB,cAAcA,eAAeY,gBAAgB;OAC1E;QAACZ;QAAgBY;KAAW;IAG9B,IAAMO,oBAAoBC,IAAAA,oCAAiB,SAAS,SAACC;QACnD,IAAMC,kBAAkBV,uBAAAA,wBAAAA,KAAAA,IAAAA,WAAYhB;QACpC,IAAI0B,mBAAmB,CAACA,gBAAgBC,SAASF,EAAEG,SAAiB;YAClEvB,oBAAAA,qBAAAA,KAAAA,IAAAA;QACF;IACF;IAEAY,OAAMY,UAAU;QACdC,WAAW;YACTP,kBAAkBQ,IAAIrB,SAAUsB;QAClC;IACF,GAAG;QAACT;QAAmBb;KAAS;IAEhC,IAAMuB,UAAUhB,OAAMiB,YAAY,SAACT;eAAqCA,EAAEU;OAAmB,EAAE;IAE/F,IAAMC,YAAYnB,OAAMK,QAAQ;QAC9B,IAAIe,IAAAA,0BAA2DnC,YAAY;YACzE,OAAOA;QACT;QAEA,OAAO;YAAEF,SAASE;QAAyB;IAC7C,GAAG;QAACA;KAAU;IAEd,qBACE,qBAACoC;QACCF,WAAWA;QACXG,gBAAgB/B;QAChBgC,WAAWnB,sBAAsB,YAAY;QAC7Cf,WAAWmC,IAAAA,qCAET7B,aAAa8B,mBAASC,2DAEtB7B,UAAU8B,qBAASC,6CACnBvC;QAEFC,OAAOA;QACPuC,QAAQ9B;QACR+B,aAAa;qBAEb,qBAACC;QAAU3C,SAASA;OAAaI;QAAWwB,SAASA;QAClDhC;AAIT"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheet/ActionSheetDropdownDesktop.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { useEffectDev } from '../../hooks/useEffectDev';\nimport { useEventListener } from '../../hooks/useEventListener';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { Platform } from '../../lib/platform';\nimport { warnOnce } from '../../lib/warnOnce';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { Popper } from '../Popper/Popper';\nimport { SharedDropdownProps } from './types';\nimport styles from './ActionSheet.module.css';\n\nconst warn = warnOnce('ActionSheet');\nfunction getEl(ref: SharedDropdownProps['toggleRef']): Element | null | undefined {\n return ref && 'current' in ref ? ref.current : ref;\n}\n\nexport const ActionSheetDropdownDesktop = ({\n children,\n toggleRef,\n closing,\n popupDirection,\n onClose,\n className,\n style,\n popupOffsetDistance = 0,\n ...restProps\n}: SharedDropdownProps) => {\n const { document } = useDOM();\n const platform = usePlatform();\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n const elementRef = React.useRef<HTMLDivElement | null>(null);\n\n useEffectDev(() => {\n const toggleEl = getEl(toggleRef);\n if (!toggleEl) {\n warn(`Свойство \"toggleRef\" не передано`, 'error');\n }\n }, [toggleRef]);\n\n const isPopupDirectionTop = React.useMemo(\n () =>\n popupDirection === 'top' ||\n (typeof popupDirection === 'function' && popupDirection(elementRef) === 'top'),\n [popupDirection, elementRef],\n );\n\n const bodyClickListener = useEventListener('click', (e: MouseEvent) => {\n const dropdownElement = elementRef?.current;\n if (dropdownElement && !dropdownElement.contains(e.target as Node)) {\n onClose?.();\n }\n });\n\n React.useEffect(() => {\n setTimeout(() => {\n bodyClickListener.add(document!.body);\n });\n }, [bodyClickListener, document]);\n\n const onClick = React.useCallback((e: React.MouseEvent<HTMLElement>) => e.stopPropagation(), []);\n\n const targetRef = React.useMemo(() => {\n if (isRefObject<SharedDropdownProps['toggleRef'], HTMLElement>(toggleRef)) {\n return toggleRef;\n }\n\n return { current: toggleRef as HTMLElement };\n }, [toggleRef]);\n\n return (\n <Popper\n targetRef={targetRef}\n offsetDistance={popupOffsetDistance}\n placement={isPopupDirectionTop ? 'top-end' : 'bottom-end'}\n className={classNames(\n styles['ActionSheet'],\n platform === Platform.IOS && styles['ActionSheet--ios'],\n styles['ActionSheet--desktop'],\n sizeY === SizeType.COMPACT && styles['ActionSheet--sizeY-compact'],\n className,\n )}\n style={style}\n getRef={elementRef}\n forcePortal={false}\n >\n <FocusTrap onClose={onClose} {...restProps} onClick={onClick}>\n {children}\n </FocusTrap>\n </Popper>\n );\n};\n"],"names":["ActionSheetDropdownDesktop","warn","warnOnce","getEl","ref","current","children","toggleRef","closing","popupDirection","onClose","className","style","popupOffsetDistance","restProps","document","useDOM","platform","usePlatform","sizeY","useAdaptivityWithJSMediaQueries","elementRef","React","useRef","useEffectDev","toggleEl","isPopupDirectionTop","useMemo","bodyClickListener","useEventListener","e","dropdownElement","contains","target","useEffect","setTimeout","add","body","onClick","useCallback","stopPropagation","targetRef","isRefObject","Popper","offsetDistance","placement","classNames","Platform","IOS","SizeType","COMPACT","getRef","forcePortal","FocusTrap"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;;;+DArBU;oBACI;+CACqB;4BACnB;gCACI;2BACL;0BACH;mBACF;2BACK;wBACH;wBACA;yBACC;sBACH;AAIvB,IAAMC,OAAOC,IAAAA,kBAAQ,EAAC;AACtB,SAASC,MAAMC,GAAqC;IAClD,OAAOA,OAAO,aAAaA,MAAMA,IAAIC,OAAO,GAAGD;AACjD;AAEO,IAAMJ,6BAA6B;QACxCM,kBAAAA,UACAC,mBAAAA,WACAC,iBAAAA,SACAC,wBAAAA,gBACAC,iBAAAA,SACAC,mBAAAA,WACAC,eAAAA,2CACAC,qBAAAA,8DAAsB,gCACnBC;QARHR;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAAEE,WAAaC,IAAAA,WAAM,IAAnBD;IACR,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IAAM,AAAEC,QAAUC,IAAAA,gEAA+B,IAAzCD;IACR,IAAME,aAAaC,OAAMC,MAAM,CAAwB;IAEvDC,IAAAA,0BAAY,EAAC;QACX,IAAMC,WAAWtB,MAAMI;QACvB,IAAI,CAACkB,UAAU;YACbxB,KAAM,oCAAmC;QAC3C;IACF,GAAG;QAACM;KAAU;IAEd,IAAMmB,sBAAsBJ,OAAMK,OAAO,CACvC;eACElB,mBAAmB,SAClB,OAAOA,mBAAmB,cAAcA,eAAeY,gBAAgB;OAC1E;QAACZ;QAAgBY;KAAW;IAG9B,IAAMO,oBAAoBC,IAAAA,kCAAgB,EAAC,SAAS,SAACC;YAC3BT;QAAxB,IAAMU,mBAAkBV,cAAAA,wBAAAA,kCAAAA,YAAYhB,OAAO;QAC3C,IAAI0B,mBAAmB,CAACA,gBAAgBC,QAAQ,CAACF,EAAEG,MAAM,GAAW;gBAClEvB;aAAAA,WAAAA,qBAAAA,+BAAAA;QACF;IACF;IAEAY,OAAMY,SAAS,CAAC;QACdC,WAAW;YACTP,kBAAkBQ,GAAG,CAACrB,SAAUsB,IAAI;QACtC;IACF,GAAG;QAACT;QAAmBb;KAAS;IAEhC,IAAMuB,UAAUhB,OAAMiB,WAAW,CAAC,SAACT;eAAqCA,EAAEU,eAAe;OAAI,EAAE;IAE/F,IAAMC,YAAYnB,OAAMK,OAAO,CAAC;QAC9B,IAAIe,IAAAA,wBAAW,EAAgDnC,YAAY;YACzE,OAAOA;QACT;QAEA,OAAO;YAAEF,SAASE;QAAyB;IAC7C,GAAG;QAACA;KAAU;IAEd,qBACE,qBAACoC,cAAM;QACLF,WAAWA;QACXG,gBAAgB/B;QAChBgC,WAAWnB,sBAAsB,YAAY;QAC7Cf,WAAWmC,IAAAA,gBAAU,qBAEnB7B,aAAa8B,kBAAQ,CAACC,GAAG,wDAEzB7B,UAAU8B,oBAAQ,CAACC,OAAO,sCAC1BvC;QAEFC,OAAOA;QACPuC,QAAQ9B;QACR+B,aAAa;qBAEb,qBAACC,oBAAS;QAAC3C,SAASA;OAAaI;QAAWwB,SAASA;QAClDhC;AAIT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20CheckCircleOn, Icon24CheckCircleOn } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { ActionSheetContext, type ActionSheetContextType } from '../ActionSheet/ActionSheetContext';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './ActionSheetItem.module.css';\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'checked' | 'value'> {\n mode?: 'default' | 'destructive' | 'cancel';\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoClose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Все текстовые элементы при необходимости занимают несколько строк\n */\n multiline?: boolean;\n /**\n * Если autoClose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Иконка для `checked` режима.\n */\n iconChecked?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheetItem\n */\nconst ActionSheetItem = ({\n children,\n autoClose,\n mode = 'default',\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n onImmediateClick,\n multiline = false,\n iconChecked: iconCheckedProp,\n className,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n\n const iconChecked =\n iconCheckedProp ||\n (sizeY === SizeType.COMPACT ? <Icon20CheckCircleOn /> : <Icon24CheckCircleOn />);\n\n let Component: React.ElementType = restProps.href ? 'a' : 'div';\n\n if (selectable) {\n Component = 'label';\n }\n\n const isRich = subtitle || meta || selectable;\n const isCentered = !isRich && !before && platform === Platform.IOS;\n\n return (\n <Tappable\n Component={Component}\n {...restProps}\n onClick={selectable ? onClick : onItemClick(onClick, onImmediateClick, Boolean(autoClose))}\n activeMode={platform === Platform.IOS ? styles['ActionSheetItem--active'] : undefined}\n className={classNames(\n styles['ActionSheetItem'],\n platform === Platform.IOS && styles['ActionSheetItem--ios'],\n mode === 'cancel' && styles['ActionSheetItem--mode-cancel'],\n mode === 'destructive' && styles['ActionSheetItem--mode-destructive'],\n sizeY === SizeType.COMPACT && styles['ActionSheetItem--sizeY-compact'],\n isRich && styles['ActionSheetItem--rich'],\n isDesktop && styles['ActionSheetItem--desktop'],\n selectable && styles['ActionSheetItem--selectable'],\n className,\n )}\n >\n {before && <div className={styles['ActionSheetItem__before']}>{before}</div>}\n <div\n className={classNames(\n styles['ActionSheetItem__container'],\n !multiline && styles['ActionSheetItem--ellipsis'],\n )}\n >\n <div\n className={classNames(\n styles['ActionSheetItem__content'],\n isCentered && styles['ActionSheetItem--centered'],\n )}\n >\n {platform === Platform.IOS ? (\n <Title\n className={styles['ActionSheetItem__children']}\n weight={mode === 'cancel' ? '2' : '3'}\n level={isCentered ? '2' : '3'}\n >\n {children}\n </Title>\n ) : (\n <Text className={styles['ActionSheetItem__children']}>{children}</Text>\n )}\n {meta && <Text className={styles['ActionSheetItem__meta']}>{meta}</Text>}\n </div>\n {subtitle && <Subhead className={styles['ActionSheetItem__subtitle']}>{subtitle}</Subhead>}\n </div>\n {selectable && (\n <div className={styles['ActionSheetItem__after']}>\n <input\n type=\"radio\"\n className={styles['ActionSheetItem__radio']}\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoClose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div className={styles['ActionSheetItem__marker']}>{iconChecked}</div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport { ActionSheetItem };\n"],"names":["ActionSheetItem","children","autoClose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","onImmediateClick","multiline","iconChecked","iconCheckedProp","className","restProps","platform","usePlatform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","sizeY","useAdaptivityWithJSMediaQueries","SizeType","COMPACT","Icon20CheckCircleOn","Icon24CheckCircleOn","Component","href","isRich","isCentered","Platform","IOS","Tappable","Boolean","activeMode","undefined","classNames","div","Title","weight","level","Text","Subhead","input","type","disabled"],"mappings":";;;;+BAqJSA;;;eAAAA;;;;;;;+DArJc;qBACkC;oBACxB;+CACe;2BACpB;0BACH;wBACA;kCACuC;wBACvC;uBACD;oBACH;qBACC;AA+BtB;;CAEC,GACD,IAAMA,kBAAkB;QACtBC,kBAAAA,UACAC,mBAAAA,gCACAC,MAAAA,gCAAO,yBACPC,cAAAA,MACAC,kBAAAA,UACAC,gBAAAA,QACAC,oBAAAA,YACAC,eAAAA,OACAC,cAAAA,MACAC,iBAAAA,SACAC,wBAAAA,gBACAC,kBAAAA,UACAC,iBAAAA,SACAC,0BAAAA,4CACAC,WAAAA,0CAAY,0BACZC,AAAaC,yBAAbD,aACAE,mBAAAA,WACGC;QAjBHlB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;;IAGA,IAAME,WAAWC,IAAAA;IACjB,IACEC,oBAAAA,OAAMC,WAAgDC,yEAAtDF,kBADMG,aAAAA,yDAAc;eAAMC;uCAAMC,YAChCL,kBADgCK;IAElC,IAAM,AAAEC,QAAUC,IAAAA,oEAAVD;IAER,IAAMZ,cACJC,mBACCW,CAAAA,UAAUE,qBAASC,wBAAU,qBAACC,kDAAyB,qBAACC,iCAAqB;IAEhF,IAAIC,YAA+Bf,UAAUgB,OAAO,MAAM;IAE1D,IAAI5B,YAAY;QACd2B,YAAY;IACd;IAEA,IAAME,SAAS/B,YAAYD,QAAQG;IACnC,IAAM8B,aAAa,CAACD,UAAU,CAAC9B,UAAUc,aAAakB,mBAASC;IAE/D,qBACE,qBAACC;QACCN,WAAWA;OACPf;QACJN,SAASN,aAAaM,UAAUY,YAAYZ,SAASC,kBAAkB2B,QAAQvC;QAC/EwC,YAAYtB,aAAakB,mBAASC,sCAA0CI;QAC5EzB,WAAW0B,IAAAA,yCAETxB,aAAakB,mBAASC,mCACtBpC,SAAS,gDACTA,SAAS,0DACTyB,UAAUE,qBAASC,iDACnBK,uCACAT,6CACApB,iDACAW;QAGDZ,wBAAU,qBAACuC;QAAI3B,SAAS;OAAsCZ,uBAC/D,qBAACuC;QACC3B,WAAW0B,IAAAA,oDAET,CAAC7B;qBAGH,qBAAC8B;QACC3B,WAAW0B,IAAAA,kDAETP;OAGDjB,aAAakB,mBAASC,oBACrB,qBAACO;QACC5B,SAAS;QACT6B,QAAQ5C,SAAS,WAAW,MAAM;QAClC6C,OAAOX,aAAa,MAAM;OAEzBpC,0BAGH,qBAACgD;QAAK/B,SAAS;OAAwCjB,WAExDG,sBAAQ,qBAAC6C;QAAK/B,SAAS;OAAoCd,QAE7DC,0BAAY,qBAAC6C;QAAQhC,SAAS;OAAwCb,YAExEE,4BACC,qBAACsC;QAAI3B,SAAS;qBACZ,qBAACiC;QACCC,MAAK;QACLlC,SAAS;QACTT,MAAMA;QACND,OAAOA;QACPI,UAAUA;QACVC,SAASY,YAAYC,YAAMA,YAAMe,QAAQvC;QACzCS,gBAAgBA;QAChBD,SAASA;QACT2C,UAAUlC,UAAUkC;sBAEtB,qBAACR;QAAI3B,SAAS;OAAsCF;AAK9D"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Icon20CheckCircleOn, Icon24CheckCircleOn } from '@vkontakte/icons';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { SizeType } from '../../lib/adaptivity';\nimport { Platform } from '../../lib/platform';\nimport { ActionSheetContext, type ActionSheetContextType } from '../ActionSheet/ActionSheetContext';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Subhead } from '../Typography/Subhead/Subhead';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './ActionSheetItem.module.css';\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<React.InputHTMLAttributes<HTMLInputElement>, 'name' | 'checked' | 'value'> {\n mode?: 'default' | 'destructive' | 'cancel';\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoClose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Все текстовые элементы при необходимости занимают несколько строк\n */\n multiline?: boolean;\n /**\n * Если autoClose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Иконка для `checked` режима.\n */\n iconChecked?: React.ReactNode;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/ActionSheetItem\n */\nconst ActionSheetItem = ({\n children,\n autoClose,\n mode = 'default',\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n onImmediateClick,\n multiline = false,\n iconChecked: iconCheckedProp,\n className,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n const { sizeY } = useAdaptivityWithJSMediaQueries();\n\n const iconChecked =\n iconCheckedProp ||\n (sizeY === SizeType.COMPACT ? <Icon20CheckCircleOn /> : <Icon24CheckCircleOn />);\n\n let Component: React.ElementType = restProps.href ? 'a' : 'div';\n\n if (selectable) {\n Component = 'label';\n }\n\n const isRich = subtitle || meta || selectable;\n const isCentered = !isRich && !before && platform === Platform.IOS;\n\n return (\n <Tappable\n Component={Component}\n {...restProps}\n onClick={selectable ? onClick : onItemClick(onClick, onImmediateClick, Boolean(autoClose))}\n activeMode={platform === Platform.IOS ? styles['ActionSheetItem--active'] : undefined}\n className={classNames(\n styles['ActionSheetItem'],\n platform === Platform.IOS && styles['ActionSheetItem--ios'],\n mode === 'cancel' && styles['ActionSheetItem--mode-cancel'],\n mode === 'destructive' && styles['ActionSheetItem--mode-destructive'],\n sizeY === SizeType.COMPACT && styles['ActionSheetItem--sizeY-compact'],\n isRich && styles['ActionSheetItem--rich'],\n isDesktop && styles['ActionSheetItem--desktop'],\n selectable && styles['ActionSheetItem--selectable'],\n className,\n )}\n >\n {before && <div className={styles['ActionSheetItem__before']}>{before}</div>}\n <div\n className={classNames(\n styles['ActionSheetItem__container'],\n !multiline && styles['ActionSheetItem--ellipsis'],\n )}\n >\n <div\n className={classNames(\n styles['ActionSheetItem__content'],\n isCentered && styles['ActionSheetItem--centered'],\n )}\n >\n {platform === Platform.IOS ? (\n <Title\n className={styles['ActionSheetItem__children']}\n weight={mode === 'cancel' ? '2' : '3'}\n level={isCentered ? '2' : '3'}\n >\n {children}\n </Title>\n ) : (\n <Text className={styles['ActionSheetItem__children']}>{children}</Text>\n )}\n {meta && <Text className={styles['ActionSheetItem__meta']}>{meta}</Text>}\n </div>\n {subtitle && <Subhead className={styles['ActionSheetItem__subtitle']}>{subtitle}</Subhead>}\n </div>\n {selectable && (\n <div className={styles['ActionSheetItem__after']}>\n <input\n type=\"radio\"\n className={styles['ActionSheetItem__radio']}\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoClose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div className={styles['ActionSheetItem__marker']}>{iconChecked}</div>\n </div>\n )}\n </Tappable>\n );\n};\n\nexport { ActionSheetItem };\n"],"names":["ActionSheetItem","children","autoClose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","onImmediateClick","multiline","iconChecked","iconCheckedProp","className","restProps","platform","usePlatform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","sizeY","useAdaptivityWithJSMediaQueries","SizeType","COMPACT","Icon20CheckCircleOn","Icon24CheckCircleOn","Component","href","isRich","isCentered","Platform","IOS","Tappable","Boolean","activeMode","undefined","classNames","div","Title","weight","level","Text","Subhead","input","type","disabled"],"mappings":";;;;+BAqJSA;;;eAAAA;;;;;;;+DArJc;qBACkC;oBACxB;+CACe;2BACpB;0BACH;wBACA;kCACuC;wBACvC;uBACD;oBACH;qBACC;AA+BtB;;CAEC,GACD,IAAMA,kBAAkB;QACtBC,kBAAAA,UACAC,mBAAAA,gCACAC,MAAAA,gCAAO,yBACPC,cAAAA,MACAC,kBAAAA,UACAC,gBAAAA,QACAC,oBAAAA,YACAC,eAAAA,OACAC,cAAAA,MACAC,iBAAAA,SACAC,wBAAAA,gBACAC,kBAAAA,UACAC,iBAAAA,SACAC,0BAAAA,4CACAC,WAAAA,0CAAY,0BACZC,AAAaC,yBAAbD,aACAE,mBAAAA,WACGC;QAjBHlB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;;IAGA,IAAME,WAAWC,IAAAA,wBAAW;IAC5B,IACEC,oBAAAA,OAAMC,UAAU,CAAsCC,sCAAkB,mCAAxEF,kBADMG,aAAAA,yDAAc;eAAMC,UAAI;uCAAEC,YAChCL,kBADgCK;IAElC,IAAM,AAAEC,QAAUC,IAAAA,gEAA+B,IAAzCD;IAER,IAAMZ,cACJC,mBACCW,CAAAA,UAAUE,oBAAQ,CAACC,OAAO,iBAAG,qBAACC,0BAAmB,wBAAM,qBAACC,0BAAmB,OAAE;IAEhF,IAAIC,YAA+Bf,UAAUgB,IAAI,GAAG,MAAM;IAE1D,IAAI5B,YAAY;QACd2B,YAAY;IACd;IAEA,IAAME,SAAS/B,YAAYD,QAAQG;IACnC,IAAM8B,aAAa,CAACD,UAAU,CAAC9B,UAAUc,aAAakB,kBAAQ,CAACC,GAAG;IAElE,qBACE,qBAACC,kBAAQ;QACPN,WAAWA;OACPf;QACJN,SAASN,aAAaM,UAAUY,YAAYZ,SAASC,kBAAkB2B,QAAQvC;QAC/EwC,YAAYtB,aAAakB,kBAAQ,CAACC,GAAG,mCAAuCI;QAC5EzB,WAAW0B,IAAAA,gBAAU,yBAEnBxB,aAAakB,kBAAQ,CAACC,GAAG,gCACzBpC,SAAS,gDACTA,SAAS,0DACTyB,UAAUE,oBAAQ,CAACC,OAAO,0CAC1BK,uCACAT,6CACApB,iDACAW;QAGDZ,wBAAU,qBAACuC;QAAI3B,SAAS;OAAsCZ,uBAC/D,qBAACuC;QACC3B,WAAW0B,IAAAA,gBAAU,oCAEnB,CAAC7B;qBAGH,qBAAC8B;QACC3B,WAAW0B,IAAAA,gBAAU,kCAEnBP;OAGDjB,aAAakB,kBAAQ,CAACC,GAAG,iBACxB,qBAACO,YAAK;QACJ5B,SAAS;QACT6B,QAAQ5C,SAAS,WAAW,MAAM;QAClC6C,OAAOX,aAAa,MAAM;OAEzBpC,0BAGH,qBAACgD,UAAI;QAAC/B,SAAS;OAAwCjB,WAExDG,sBAAQ,qBAAC6C,UAAI;QAAC/B,SAAS;OAAoCd,QAE7DC,0BAAY,qBAAC6C,gBAAO;QAAChC,SAAS;OAAwCb,YAExEE,4BACC,qBAACsC;QAAI3B,SAAS;qBACZ,qBAACiC;QACCC,MAAK;QACLlC,SAAS;QACTT,MAAMA;QACND,OAAOA;QACPI,UAAUA;QACVC,SAASY,YAAYC,UAAI,EAAEA,UAAI,EAAEe,QAAQvC;QACzCS,gBAAgBA;QAChBD,SAASA;QACT2C,UAAUlC,UAAUkC,QAAQ;sBAE9B,qBAACR;QAAI3B,SAAS;OAAsCF;AAK9D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\n\nexport interface AdaptiveIconRendererProps {\n IconCompact: React.ComponentType<{ className?: string }>;\n IconRegular: React.ComponentType<{ className?: string }>;\n}\n\n/**\n * @since 5.4.0\n * @see https://vkcom.github.io/VKUI/#/AdaptiveIconRenderer\n */\nexport const AdaptiveIconRenderer = ({ IconCompact, IconRegular }: AdaptiveIconRendererProps) => {\n const { sizeY } = useAdaptivityConditionalRender();\n\n return (\n <React.Fragment>\n {sizeY.compact && <IconCompact className={sizeY.compact.className} />}\n {sizeY.regular && <IconRegular className={sizeY.regular.className} />}\n </React.Fragment>\n );\n};\n"],"names":["AdaptiveIconRenderer","IconCompact","IconRegular","sizeY","useAdaptivityConditionalRender","React","Fragment","compact","className","regular"],"mappings":";;;;+BAYaA;;;eAAAA;;;;+DAZU;8CACwB;AAWxC,IAAMA,uBAAuB;QAAGC,oBAAAA,aAAaC,oBAAAA;IAClD,IAAM,AAAEC,QAAUC,IAAAA,kEAAVD;IAER,qBACE,qBAACE,OAAMC,gBACJH,MAAMI,yBAAW,qBAACN;QAAYO,WAAWL,MAAMI,QAAQC;QACvDL,MAAMM,yBAAW,qBAACP;QAAYM,WAAWL,MAAMM,QAAQD;;AAG9D"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptiveIconRenderer/AdaptiveIconRenderer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useAdaptivityConditionalRender } from '../../hooks/useAdaptivityConditionalRender';\n\nexport interface AdaptiveIconRendererProps {\n IconCompact: React.ComponentType<{ className?: string }>;\n IconRegular: React.ComponentType<{ className?: string }>;\n}\n\n/**\n * @since 5.4.0\n * @see https://vkcom.github.io/VKUI/#/AdaptiveIconRenderer\n */\nexport const AdaptiveIconRenderer = ({ IconCompact, IconRegular }: AdaptiveIconRendererProps) => {\n const { sizeY } = useAdaptivityConditionalRender();\n\n return (\n <React.Fragment>\n {sizeY.compact && <IconCompact className={sizeY.compact.className} />}\n {sizeY.regular && <IconRegular className={sizeY.regular.className} />}\n </React.Fragment>\n );\n};\n"],"names":["AdaptiveIconRenderer","IconCompact","IconRegular","sizeY","useAdaptivityConditionalRender","React","Fragment","compact","className","regular"],"mappings":";;;;+BAYaA;;;eAAAA;;;;+DAZU;8CACwB;AAWxC,IAAMA,uBAAuB;QAAGC,oBAAAA,aAAaC,oBAAAA;IAClD,IAAM,AAAEC,QAAUC,IAAAA,8DAA8B,IAAxCD;IAER,qBACE,qBAACE,OAAMC,QAAQ,QACZH,MAAMI,OAAO,kBAAI,qBAACN;QAAYO,WAAWL,MAAMI,OAAO,CAACC,SAAS;QAChEL,MAAMM,OAAO,kBAAI,qBAACP;QAAYM,WAAWL,MAAMM,OAAO,CAACD,SAAS;;AAGvE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasPointer?: boolean;\n /**\n * @ignore\n */\n hasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityProps>({});\n"],"names":["AdaptivityContext","React","createContext"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;+DA3BU;AA2BhB,IAAMA,kCAAoBC,OAAMC,cAA+B,CAAC"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\n\nexport interface SizeProps {\n sizeX?: SizeType;\n sizeY?: SizeType;\n}\n\nexport interface AdaptivityProps extends SizeProps {\n /**\n * @ignore\n */\n viewWidth?: ViewWidth;\n /**\n * @ignore\n */\n viewHeight?: ViewHeight;\n /**\n * @ignore\n */\n hasPointer?: boolean;\n /**\n * @ignore\n */\n hasHover?: boolean;\n}\n\nexport const AdaptivityContext = React.createContext<AdaptivityProps>({});\n"],"names":["AdaptivityContext","React","createContext"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;+DA3BU;AA2BhB,IAAMA,kCAAoBC,OAAMC,aAAa,CAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasPointer } from '@vkontakte/vkjs';\nimport { BridgeAdaptivity, useBridgeAdaptivity } from '../../hooks/useBridgeAdaptivity';\nimport { BREAKPOINTS, SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport { HasChildren } from '../../types';\nimport { AdaptivityContext, type AdaptivityProps } from './AdaptivityContext';\n\nexport interface AdaptivityProviderProps extends AdaptivityProps, HasChildren {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n children,\n}: AdaptivityProviderProps) => {\n const bridge = useBridgeAdaptivity();\n const adaptivity = React.useMemo(\n () =>\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n },\n bridge,\n ),\n [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge],\n );\n\n return <AdaptivityContext.Provider value={adaptivity}>{children}</AdaptivityContext.Provider>;\n};\n\nfunction calculateAdaptivity(\n { viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover }: AdaptivityProps,\n bridge: BridgeAdaptivity,\n) {\n if (bridge.type === 'adaptive') {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (bridge.type === 'force_mobile' || bridge.type === 'force_mobile_compact') {\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 } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (sizeY === undefined && viewWidth !== undefined && viewHeight !== undefined) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n };\n}\n"],"names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasPointer","hasHover","children","bridge","useBridgeAdaptivity","adaptivity","React","useMemo","calculateAdaptivity","AdaptivityContext","Provider","value","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasPointer","undefined"],"mappings":";;;;+BAYaA;;;eAAAA;;;;+DAZU;oBACiB;mCACc;0BACO;iCAEL;AAOjD,IAAMA,qBAAqB;QAChCC,kBAAAA,WACAC,mBAAAA,YACAC,cAAAA,OACAC,cAAAA,OACAC,mBAAAA,YACAC,iBAAAA,UACAC,iBAAAA;IAEA,IAAMC,SAASC,IAAAA;IACf,IAAMC,aAAaC,OAAMC,QACvB;eACEC,oBACE;YACEZ,WAAAA;YACAC,YAAAA;YACAC,OAAAA;YACAC,OAAAA;YACAC,YAAAA;YACAC,UAAAA;QACF,GACAE;OAEJ;QAACP;QAAWC;QAAYC;QAAOC;QAAOC;QAAYC;QAAUE;KAAO;IAGrE,qBAAO,qBAACM,qCAAkBC;QAASC,OAAON;OAAaH;AACzD;AAEA,SAASM,oBACP,KAA8E,EAC9EL,MAAwB;QADtBP,YAAF,MAAEA,WAAWC,aAAb,MAAaA,YAAYC,QAAzB,MAAyBA,OAAOC,QAAhC,MAAgCA,OAAOC,aAAvC,MAAuCA,YAAYC,WAAnD,MAAmDA;IAGnD,IAAIE,OAAOS,SAAS,YAAY;QAC9B,IAAQC,gBAAkCV,OAAlCU,eAAeC,iBAAmBX,OAAnBW;QAEvB,IAAID,iBAAiBE,wBAAYC,SAAS;YACxCpB,YAAYqB,sBAAUD;QACxB,OAAO,IAAIH,iBAAiBE,wBAAYG,QAAQ;YAC9CtB,YAAYqB,sBAAUC;QACxB,OAAO,IAAIL,iBAAiBE,wBAAYI,cAAc;YACpDvB,YAAYqB,sBAAUE;QACxB,OAAO,IAAIN,iBAAiBE,wBAAYK,QAAQ;YAC9CxB,YAAYqB,sBAAUG;QACxB,OAAO;YACLxB,YAAYqB,sBAAUI;QACxB;QAEA,IAAIP,kBAAkBC,wBAAYO,eAAe;YAC/CzB,aAAa0B,uBAAWC;QAC1B,OAAO,IAAIV,kBAAkBC,wBAAYU,yBAAyB;YAChE5B,aAAa0B,uBAAWG;QAC1B,OAAO;YACL7B,aAAa0B,uBAAWI;QAC1B;QAEA,IAAI/B,aAAaqB,sBAAUG,QAAQ;YACjCtB,QAAQ8B,qBAASC;QACnB,OAAO;YACL/B,QAAQ8B,qBAASE;QACnB;QAEA,IACE,AAAClC,aAAaqB,sBAAUE,gBAAgBY,kBACxClC,cAAc0B,uBAAWI,aACzB;YACA5B,QAAQ6B,qBAASC;QACnB,OAAO;YACL9B,QAAQ6B,qBAASE;QACnB;IACF,OAAO,IAAI3B,OAAOS,SAAS,kBAAkBT,OAAOS,SAAS,wBAAwB;QACnFhB,YAAYqB,sBAAUG;QACtBtB,QAAQ8B,qBAASC;QAEjB,IAAI1B,OAAOS,SAAS,wBAAwB;YAC1Cb,QAAQ6B,qBAASC;QACnB,OAAO;YACL9B,QAAQ6B,qBAASE;QACnB;IACF,OAAO;QACL,IAAIhC,UAAUkC,aAAapC,cAAcoC,WAAW;YAClD,IAAIpC,aAAaqB,sBAAUG,QAAQ;gBACjCtB,QAAQ8B,qBAASC;YACnB,OAAO;gBACL/B,QAAQ8B,qBAASE;YACnB;QACF;QACA,IAAI/B,UAAUiC,aAAapC,cAAcoC,aAAanC,eAAemC,WAAW;YAC9E,IACE,AAACpC,aAAaqB,sBAAUE,gBAAgBY,kBACxClC,cAAc0B,uBAAWI,aACzB;gBACA5B,QAAQ6B,qBAASC;YACnB,OAAO;gBACL9B,QAAQ6B,qBAASE;YACnB;QACF;IACF;IAEA,OAAO;QACLlC,WAAAA;QACAC,YAAAA;QACAC,OAAAA;QACAC,OAAAA;QACAC,YAAAA;QACAC,UAAAA;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasMouse as _hasPointer } from '@vkontakte/vkjs';\nimport { BridgeAdaptivity, useBridgeAdaptivity } from '../../hooks/useBridgeAdaptivity';\nimport { BREAKPOINTS, SizeType, ViewHeight, ViewWidth } from '../../lib/adaptivity';\nimport { HasChildren } from '../../types';\nimport { AdaptivityContext, type AdaptivityProps } from './AdaptivityContext';\n\nexport interface AdaptivityProviderProps extends AdaptivityProps, HasChildren {}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AdaptivityProvider\n */\nexport const AdaptivityProvider = ({\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n children,\n}: AdaptivityProviderProps) => {\n const bridge = useBridgeAdaptivity();\n const adaptivity = React.useMemo(\n () =>\n calculateAdaptivity(\n {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n },\n bridge,\n ),\n [viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover, bridge],\n );\n\n return <AdaptivityContext.Provider value={adaptivity}>{children}</AdaptivityContext.Provider>;\n};\n\nfunction calculateAdaptivity(\n { viewWidth, viewHeight, sizeX, sizeY, hasPointer, hasHover }: AdaptivityProps,\n bridge: BridgeAdaptivity,\n) {\n if (bridge.type === 'adaptive') {\n const { viewportWidth, viewportHeight } = bridge;\n\n if (viewportWidth >= BREAKPOINTS.DESKTOP) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (viewportWidth >= BREAKPOINTS.TABLET) {\n viewWidth = ViewWidth.TABLET;\n } else if (viewportWidth >= BREAKPOINTS.SMALL_TABLET) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (viewportWidth >= BREAKPOINTS.MOBILE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (viewportHeight >= BREAKPOINTS.MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (viewportHeight >= BREAKPOINTS.MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n } else if (bridge.type === 'force_mobile' || bridge.type === 'force_mobile_compact') {\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 } else {\n if (sizeX === undefined && viewWidth !== undefined) {\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n } else {\n sizeX = SizeType.REGULAR;\n }\n }\n if (sizeY === undefined && viewWidth !== undefined && viewHeight !== undefined) {\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && _hasPointer) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n } else {\n sizeY = SizeType.REGULAR;\n }\n }\n }\n\n return {\n viewWidth,\n viewHeight,\n sizeX,\n sizeY,\n hasPointer,\n hasHover,\n };\n}\n"],"names":["AdaptivityProvider","viewWidth","viewHeight","sizeX","sizeY","hasPointer","hasHover","children","bridge","useBridgeAdaptivity","adaptivity","React","useMemo","calculateAdaptivity","AdaptivityContext","Provider","value","type","viewportWidth","viewportHeight","BREAKPOINTS","DESKTOP","ViewWidth","TABLET","SMALL_TABLET","MOBILE","SMALL_MOBILE","MEDIUM_HEIGHT","ViewHeight","MEDIUM","MOBILE_LANDSCAPE_HEIGHT","SMALL","EXTRA_SMALL","SizeType","COMPACT","REGULAR","_hasPointer","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { Platform } from '../../lib/platform';\nimport { stopPropagation } from '../../lib/utils';\nimport { AnchorHTMLAttributesOnly, HasChildren } from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { Button, ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Alert.module.css';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly {\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?: AlertActionInterface[];\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 extends HasChildren {\n id: string;\n}\n\nconst AlertHeader = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.IOS:\n return <Title className={styles['Alert__header']} weight=\"1\" level=\"3\" {...props} />;\n default:\n return <Title className={styles['Alert__header']} weight=\"2\" level=\"2\" {...props} />;\n }\n};\n\nconst AlertText = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.VKCOM:\n return <Footnote className={styles['Alert__text']} {...props} />;\n case Platform.IOS:\n return <Caption className={styles['Alert__text']} {...props} />;\n default:\n return <Text Component=\"span\" className={styles['Alert__text']} weight=\"3\" {...props} />;\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction = ({ action, onItemClick, ...restProps }: AlertActionProps) => {\n const platform = usePlatform();\n const handleItemClick = React.useCallback(() => onItemClick(action), [onItemClick, action]);\n\n if (platform === Platform.IOS) {\n const { title, action: actionProp, autoClose, mode, ...restActionProps } = action;\n\n return (\n <Tappable\n Component={restActionProps.href ? 'a' : 'button'}\n className={classNames(\n styles['Alert__action'],\n mode === 'destructive' && styles['Alert__action--mode-destructive'],\n mode === 'cancel' && styles['Alert__action--mode-cancel'],\n )}\n onClick={handleItemClick}\n {...restActionProps}\n {...restProps}\n >\n {title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps['mode'] = 'tertiary';\n\n if (platform === Platform.VKCOM) {\n mode = action.mode === 'cancel' ? 'secondary' : 'primary';\n }\n\n return (\n <Button\n className={classNames(\n styles['Alert__button'],\n action.mode === 'cancel' && styles['Alert__button--mode-cancel'],\n )}\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 { isDesktop } = useAdaptivityWithJSMediaQueries();\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 === Platform.VKCOM ? 'horizontal' : actionsLayout;\n\n const timeout = platform === Platform.IOS ? 300 : 200;\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();\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();\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 className={className} closing={closing} style={style} onClick={close}>\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n className={classNames(\n styles['Alert'],\n platform === Platform.IOS && styles['Alert--ios'],\n platform === Platform.VKCOM && styles['Alert--vkcom'],\n resolvedActionsLayout === 'vertical' ? styles['Alert--v'] : styles['Alert--h'],\n closing && styles['Alert--closing'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div className={styles['Alert__content']}>\n {hasReactNode(header) && <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id=\"vkui--alert--desc\">{text}</AlertText>}\n {children}\n </div>\n <div className={styles['Alert__actions']}>\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {isDesktop && <ModalDismissButton onClick={close} aria-label={dismissLabel} />}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","AlertHeader","props","platform","usePlatform","Platform","IOS","Title","className","weight","level","AlertText","VKCOM","Footnote","Caption","Text","Component","AlertAction","action","onItemClick","restProps","handleItemClick","React","useCallback","title","actionProp","autoClose","mode","restActionProps","Tappable","href","classNames","onClick","Button","size","target","actions","actionsLayout","children","style","text","header","onClose","dismissLabel","isDesktop","useAdaptivityWithJSMediaQueries","waitTransitionFinish","useWaitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","timeout","close","current","e","propertyName","item","useScrollLock","PopoutWrapper","FocusTrap","getRootRef","stopPropagation","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","id","map","i","key","ModalDismissButton","aria-label"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from 'react';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivityWithJSMediaQueries } from '../../hooks/useAdaptivityWithJSMediaQueries';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport { useWaitTransitionFinish } from '../../hooks/useWaitTransitionFinish';\nimport { Platform } from '../../lib/platform';\nimport { stopPropagation } from '../../lib/utils';\nimport { AnchorHTMLAttributesOnly, HasChildren } from '../../types';\nimport { useScrollLock } from '../AppRoot/ScrollContext';\nimport { Button, ButtonProps } from '../Button/Button';\nimport { FocusTrap } from '../FocusTrap/FocusTrap';\nimport { ModalDismissButton } from '../ModalDismissButton/ModalDismissButton';\nimport { PopoutWrapper } from '../PopoutWrapper/PopoutWrapper';\nimport { Tappable } from '../Tappable/Tappable';\nimport { Caption } from '../Typography/Caption/Caption';\nimport { Footnote } from '../Typography/Footnote/Footnote';\nimport { Text } from '../Typography/Text/Text';\nimport { Title } from '../Typography/Title/Title';\nimport styles from './Alert.module.css';\n\nexport interface AlertActionInterface\n extends Pick<ButtonProps, 'Component'>,\n AnchorHTMLAttributesOnly {\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?: AlertActionInterface[];\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 extends HasChildren {\n id: string;\n}\n\nconst AlertHeader = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.IOS:\n return <Title className={styles['Alert__header']} weight=\"1\" level=\"3\" {...props} />;\n default:\n return <Title className={styles['Alert__header']} weight=\"2\" level=\"2\" {...props} />;\n }\n};\n\nconst AlertText = (props: AlertTypography) => {\n const platform = usePlatform();\n\n switch (platform) {\n case Platform.VKCOM:\n return <Footnote className={styles['Alert__text']} {...props} />;\n case Platform.IOS:\n return <Caption className={styles['Alert__text']} {...props} />;\n default:\n return <Text Component=\"span\" className={styles['Alert__text']} weight=\"3\" {...props} />;\n }\n};\n\ninterface AlertActionProps {\n action: AlertActionInterface;\n onItemClick: ItemClickHandler;\n}\n\nconst AlertAction = ({ action, onItemClick, ...restProps }: AlertActionProps) => {\n const platform = usePlatform();\n const handleItemClick = React.useCallback(() => onItemClick(action), [onItemClick, action]);\n\n if (platform === Platform.IOS) {\n const { title, action: actionProp, autoClose, mode, ...restActionProps } = action;\n\n return (\n <Tappable\n Component={restActionProps.href ? 'a' : 'button'}\n className={classNames(\n styles['Alert__action'],\n mode === 'destructive' && styles['Alert__action--mode-destructive'],\n mode === 'cancel' && styles['Alert__action--mode-cancel'],\n )}\n onClick={handleItemClick}\n {...restActionProps}\n {...restProps}\n >\n {title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps['mode'] = 'tertiary';\n\n if (platform === Platform.VKCOM) {\n mode = action.mode === 'cancel' ? 'secondary' : 'primary';\n }\n\n return (\n <Button\n className={classNames(\n styles['Alert__button'],\n action.mode === 'cancel' && styles['Alert__button--mode-cancel'],\n )}\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 { isDesktop } = useAdaptivityWithJSMediaQueries();\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 === Platform.VKCOM ? 'horizontal' : actionsLayout;\n\n const timeout = platform === Platform.IOS ? 300 : 200;\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();\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();\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 className={className} closing={closing} style={style} onClick={close}>\n <FocusTrap\n {...restProps}\n getRootRef={elementRef}\n onClick={stopPropagation}\n onClose={close}\n timeout={timeout}\n className={classNames(\n styles['Alert'],\n platform === Platform.IOS && styles['Alert--ios'],\n platform === Platform.VKCOM && styles['Alert--vkcom'],\n resolvedActionsLayout === 'vertical' ? styles['Alert--v'] : styles['Alert--h'],\n closing && styles['Alert--closing'],\n isDesktop && styles['Alert--desktop'],\n )}\n role=\"alertdialog\"\n aria-modal\n aria-labelledby=\"vkui--alert--title\"\n aria-describedby=\"vkui--alert--desc\"\n >\n <div className={styles['Alert__content']}>\n {hasReactNode(header) && <AlertHeader id=\"vkui--alert--title\">{header}</AlertHeader>}\n {hasReactNode(text) && <AlertText id=\"vkui--alert--desc\">{text}</AlertText>}\n {children}\n </div>\n <div className={styles['Alert__actions']}>\n {actions.map((action, i) => (\n <AlertAction key={i} action={action} onItemClick={onItemClick} />\n ))}\n </div>\n {isDesktop && <ModalDismissButton onClick={close} aria-label={dismissLabel} />}\n </FocusTrap>\n </PopoutWrapper>\n );\n};\n"],"names":["Alert","AlertHeader","props","platform","usePlatform","Platform","IOS","Title","className","weight","level","AlertText","VKCOM","Footnote","Caption","Text","Component","AlertAction","action","onItemClick","restProps","handleItemClick","React","useCallback","title","actionProp","autoClose","mode","restActionProps","Tappable","href","classNames","onClick","Button","size","target","actions","actionsLayout","children","style","text","header","onClose","dismissLabel","isDesktop","useAdaptivityWithJSMediaQueries","waitTransitionFinish","useWaitTransitionFinish","useState","closing","setClosing","elementRef","useRef","resolvedActionsLayout","timeout","close","current","e","propertyName","item","useScrollLock","PopoutWrapper","FocusTrap","getRootRef","stopPropagation","role","aria-modal","aria-labelledby","aria-describedby","div","hasReactNode","id","map","i","key","ModalDismissButton","aria-label"],"mappings":"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"}
@@ -63,8 +63,8 @@ var AppRoot = function(_param) {
63
63
  }
64
64
  setPortalRoot(portal);
65
65
  return function() {
66
- var _portal_parentElement;
67
- portal === null || portal === void 0 ? void 0 : (_portal_parentElement = portal.parentElement) === null || _portal_parentElement === void 0 ? void 0 : _portal_parentElement.removeChild(portal);
66
+ var _portal_parentElement, _portal;
67
+ (_portal = portal) === null || _portal === void 0 ? void 0 : (_portal_parentElement = _portal.parentElement) === null || _portal_parentElement === void 0 ? void 0 : _portal_parentElement.removeChild(portal);
68
68
  };
69
69
  }, [
70
70
  portalRootProp
@@ -72,7 +72,7 @@ var AppRoot = function(_param) {
72
72
  // setup root classes
73
73
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function() {
74
74
  var _parent_classList;
75
- var _rootRef_current;
75
+ var _rootRef_current, _parent;
76
76
  if (mode === "partial") {
77
77
  return _vkjs.noop;
78
78
  }
@@ -80,10 +80,11 @@ var AppRoot = function(_param) {
80
80
  var classes = [
81
81
  "vkui__root"
82
82
  ].concat(mode === "embedded" ? "vkui__root--embedded" : []);
83
- parent === null || parent === void 0 ? void 0 : (_parent_classList = parent.classList).add.apply(_parent_classList, _to_consumable_array._(classes));
83
+ (_parent = parent) === null || _parent === void 0 ? void 0 : (_parent_classList = _parent.classList).add.apply(_parent_classList, _to_consumable_array._(classes));
84
84
  return function() {
85
85
  var _parent_classList;
86
- parent === null || parent === void 0 ? void 0 : (_parent_classList = parent.classList).remove.apply(_parent_classList, _to_consumable_array._(classes));
86
+ var _parent;
87
+ (_parent = parent) === null || _parent === void 0 ? void 0 : (_parent_classList = _parent.classList).remove.apply(_parent_classList, _to_consumable_array._(classes));
87
88
  };
88
89
  }, []);
89
90
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconSettingsProvider } from '@vkontakte/icons';\nimport { Insets } from '@vkontakte/vk-bridge';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useInsets } from '../../hooks/useInsets';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport styles from './AppRoot.module.css';\n\nconst vkuiSizeXClassNames = {\n none: 'vkui--sizeX-none',\n [SizeType.REGULAR]: 'vkui--sizeX-regular',\n};\n\nconst INSET_CUSTOM_PROPERTY_PREFIX = `--vkui_internal--safe_area_inset_`;\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n scroll?: 'global' | 'contain';\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal,\n className,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const insets = useInsets();\n const appearance = useAppearance();\n\n const { hasPointer, sizeX = 'none' } = useAdaptivity();\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | 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 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(mode === 'embedded' ? 'vkui__root--embedded' : []);\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === 'full') {\n document!.documentElement.classList.add('vkui');\n\n return () => {\n document!.documentElement.classList.remove('vkui');\n };\n }\n\n return undefined;\n }, [document, mode]);\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 let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key] === 'number') {\n const inset = insets[key];\n parent.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n }\n }\n\n return () => {\n let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n portalRoot && portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n const className = sizeX !== SizeType.COMPACT ? vkuiSizeXClassNames[sizeX] : null;\n const container = mode === 'embedded' ? rootRef.current?.parentElement : document!.body;\n\n if (className === null || !container) {\n return noop;\n }\n\n container.classList.add(className);\n return () => {\n container.classList.remove(className);\n };\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 () => document!.documentElement.style.removeProperty('color-scheme');\n }, [appearance]);\n\n const ScrollController = React.useMemo(\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 classPrefix=\"vkui\">{children}</IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["AppRoot","vkuiSizeXClassNames","none","SizeType","REGULAR","INSET_CUSTOM_PROPERTY_PREFIX","children","mode","scroll","portalRootProp","portalRoot","disablePortal","className","props","isKeyboardInputActive","useKeyboardInputTracker","rootRef","React","useRef","useState","setPortalRoot","document","useDOM","insets","useInsets","appearance","useAppearance","useAdaptivity","hasPointer","sizeX","useIsomorphicLayoutEffect","portal","isRefObject","current","createElement","body","appendChild","parentElement","removeChild","parent","noop","classes","concat","classList","add","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","COMPACT","container","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","AppRootContext","Provider","value","appRoot","embedded","keyboardInput","elRef","IconSettingsProvider","classPrefix","div","ref","classNames"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconSettingsProvider } from '@vkontakte/icons';\nimport { Insets } from '@vkontakte/vk-bridge';\nimport { classNames, noop } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useInsets } from '../../hooks/useInsets';\nimport { useKeyboardInputTracker } from '../../hooks/useKeyboardInputTracker';\nimport { SizeType } from '../../lib/adaptivity';\nimport { useDOM } from '../../lib/dom';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { AppRootContext } from './AppRootContext';\nimport { ElementScrollController, GlobalScrollController } from './ScrollContext';\nimport styles from './AppRoot.module.css';\n\nconst vkuiSizeXClassNames = {\n none: 'vkui--sizeX-none',\n [SizeType.REGULAR]: 'vkui--sizeX-regular',\n};\n\nconst INSET_CUSTOM_PROPERTY_PREFIX = `--vkui_internal--safe_area_inset_`;\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Режим встраивания */\n mode?: 'partial' | 'embedded' | 'full';\n window?: Window;\n scroll?: 'global' | 'contain';\n /**\n * Кастомный root-элемент портала\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n /** Disable portal for components */\n disablePortal?: boolean;\n}\n\n/**\n * @see https://vkcom.github.io/VKUI/#/AppRoot\n */\nexport const AppRoot = ({\n children,\n mode = 'full',\n scroll = 'global',\n portalRoot: portalRootProp = null,\n disablePortal,\n className,\n ...props\n}: AppRootProps) => {\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLElement | null>(null);\n const { document } = useDOM();\n const insets = useInsets();\n const appearance = useAppearance();\n\n const { hasPointer, sizeX = 'none' } = useAdaptivity();\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n let portal: HTMLElement | 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 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(mode === 'embedded' ? 'vkui__root--embedded' : []);\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n };\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (mode === 'full') {\n document!.documentElement.classList.add('vkui');\n\n return () => {\n document!.documentElement.classList.remove('vkui');\n };\n }\n\n return undefined;\n }, [document, mode]);\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 let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key) && typeof insets[key] === 'number') {\n const inset = insets[key];\n parent.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(INSET_CUSTOM_PROPERTY_PREFIX + key, `${inset}px`);\n }\n }\n\n return () => {\n let key: keyof Insets;\n for (key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n portalRoot && portalRoot.style.removeProperty(INSET_CUSTOM_PROPERTY_PREFIX + key);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === 'partial') {\n return noop;\n }\n const className = sizeX !== SizeType.COMPACT ? vkuiSizeXClassNames[sizeX] : null;\n const container = mode === 'embedded' ? rootRef.current?.parentElement : document!.body;\n\n if (className === null || !container) {\n return noop;\n }\n\n container.classList.add(className);\n return () => {\n container.classList.remove(className);\n };\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 () => document!.documentElement.style.removeProperty('color-scheme');\n }, [appearance]);\n\n const ScrollController = React.useMemo(\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 classPrefix=\"vkui\">{children}</IconSettingsProvider>\n </ScrollController>\n </AppRootContext.Provider>\n );\n\n return mode === 'partial' ? (\n content\n ) : (\n <div\n ref={rootRef}\n className={classNames(\n styles['AppRoot'],\n hasPointer === undefined\n ? styles['AppRoot--pointer-none']\n : !hasPointer && styles['AppRoot--pointer-has-not'],\n className,\n )}\n {...props}\n >\n {content}\n </div>\n );\n};\n"],"names":["AppRoot","vkuiSizeXClassNames","none","SizeType","REGULAR","INSET_CUSTOM_PROPERTY_PREFIX","children","mode","scroll","portalRootProp","portalRoot","disablePortal","className","props","isKeyboardInputActive","useKeyboardInputTracker","rootRef","React","useRef","useState","setPortalRoot","document","useDOM","insets","useInsets","appearance","useAppearance","useAdaptivity","hasPointer","sizeX","useIsomorphicLayoutEffect","portal","isRefObject","current","createElement","body","appendChild","parentElement","removeChild","parent","noop","classes","concat","classList","add","remove","documentElement","undefined","key","hasOwnProperty","inset","style","setProperty","removeProperty","COMPACT","container","ScrollController","useMemo","ElementScrollController","GlobalScrollController","content","AppRootContext","Provider","value","appRoot","embedded","keyboardInput","elRef","IconSettingsProvider","classPrefix","div","ref","classNames"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLElement | 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"],"names":["AppRootContext","React","createContext","portalRoot"],"mappings":";;;;+BAWaA;;;eAAAA;;;;+DAXU;AAWhB,IAAMA,iBAAiBC,OAAMC,cAAuC;IACzEC,YAAY;AACd"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRootContext.ts"],"sourcesContent":["import * as React from 'react';\n\nexport interface AppRootContextInterface {\n appRoot?: React.RefObject<HTMLDivElement>;\n portalRoot?: HTMLElement | 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"],"names":["AppRootContext","React","createContext","portalRoot"],"mappings":";;;;+BAWaA;;;eAAAA;;;;+DAXU;AAWhB,IAAMA,iBAAiBC,OAAMC,aAAa,CAA0B;IACzEC,YAAY;AACd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useIsClient } from '../../hooks/useIsClient';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { HasChildren } from '../../types';\nimport { AppearanceProvider } from '../AppearanceProvider/AppearanceProvider';\nimport { AppRootContext } from './AppRootContext';\n\nexport interface AppRootPortalProps extends HasChildren {\n className?: string;\n forcePortal?: boolean;\n /**\n * Кастомный root-элемент портала.\n * При передаче вместе с `forcePorta=true` игнорируется `portalRoot` и `disablePortal`\n * из контекста `AppRoot`.\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal: forcePortalProp,\n portalRoot: portalRootProp = null,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n const isClient = useIsClient();\n if (!isClient) {\n return null;\n }\n\n const forcePortal = forcePortalProp ?? mode !== 'full';\n\n const portalContainer = getPortalContainer(portalRootProp, portalRoot);\n\n const ignoreDisablePortalFlagFromContext = portalRootProp && forcePortal;\n const shouldUsePortal = ignoreDisablePortalFlagFromContext\n ? true\n : !disablePortal && portalContainer && forcePortal;\n\n return shouldUsePortal && portalContainer ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalContainer,\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n\n/**\n * Получает из кастомного пропа `partialRootProp` и `partialRoot` контекста\n * контейнер-элемент для портала.\n * `partialRootProp` может быть ref элементом.\n *\n */\nfunction getPortalContainer(\n portalRootProp?: HTMLElement | React.RefObject<HTMLElement> | null,\n portalRoot?: HTMLElement | null,\n) {\n if (!portalRootProp) {\n return portalRoot;\n }\n\n return isRefObject(portalRootProp) ? portalRootProp.current : portalRootProp;\n}\n"],"names":["AppRootPortal","children","className","forcePortal","forcePortalProp","portalRootProp","portalRoot","React","useContext","AppRootContext","mode","disablePortal","appearance","useAppearance","isClient","useIsClient","portalContainer","getPortalContainer","ignoreDisablePortalFlagFromContext","shouldUsePortal","createPortal","AppearanceProvider","div","Fragment","isRefObject","current"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;+DApBU;wBACM;6BACC;2BACF;2BACA;kCAEO;8BACJ;AAaxB,IAAMA,gBAAgB;QAC3BC,iBAAAA,UACAC,kBAAAA,WACAC,AAAaC,wBAAbD,aACYE,YAAZC,YAAYD,iBAAAA,iBAAiB,OAAjBA;IAEZ,IAA4CE,oBAAAA,OAAMC,WAAWC,iCAArDH,aAAoCC,kBAApCD,YAAYI,OAAwBH,kBAAxBG,MAAMC,gBAAkBJ,kBAAlBI;IAC1B,IAAMC,aAAaC,IAAAA;IAEnB,IAAMC,WAAWC,IAAAA;IACjB,IAAI,CAACD,UAAU;QACb,OAAO;IACT;IAEA,IAAMX,cAAcC,4BAAAA,6BAAAA,kBAAmBM,SAAS;IAEhD,IAAMM,kBAAkBC,mBAAmBZ,gBAAgBC;IAE3D,IAAMY,qCAAqCb,kBAAkBF;IAC7D,IAAMgB,kBAAkBD,qCACpB,OACA,CAACP,iBAAiBK,mBAAmBb;IAEzC,OAAOgB,mBAAmBH,gCACxBI,IAAAA,sCACE,qBAACC;QAAmBT,YAAYA;qBAC9B,qBAACU;QAAIpB,WAAWA;OAAYD,YAE9Be,iCAGF,qBAACT,OAAMgB,gBAAUtB;AAErB;AAEA;;;;;CAKC,GACD,SAASgB,mBACPZ,cAAkE,EAClEC,UAA+B;IAE/B,IAAI,CAACD,gBAAgB;QACnB,OAAOC;IACT;IAEA,OAAOkB,IAAAA,0BAAYnB,kBAAkBA,eAAeoB,UAAUpB;AAChE"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/AppRootPortal.tsx"],"sourcesContent":["import * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { useAppearance } from '../../hooks/useAppearance';\nimport { useIsClient } from '../../hooks/useIsClient';\nimport { isRefObject } from '../../lib/isRefObject';\nimport { HasChildren } from '../../types';\nimport { AppearanceProvider } from '../AppearanceProvider/AppearanceProvider';\nimport { AppRootContext } from './AppRootContext';\n\nexport interface AppRootPortalProps extends HasChildren {\n className?: string;\n forcePortal?: boolean;\n /**\n * Кастомный root-элемент портала.\n * При передаче вместе с `forcePorta=true` игнорируется `portalRoot` и `disablePortal`\n * из контекста `AppRoot`.\n */\n portalRoot?: HTMLElement | React.RefObject<HTMLElement> | null;\n}\n\nexport const AppRootPortal = ({\n children,\n className,\n forcePortal: forcePortalProp,\n portalRoot: portalRootProp = null,\n}: AppRootPortalProps) => {\n const { portalRoot, mode, disablePortal } = React.useContext(AppRootContext);\n const appearance = useAppearance();\n\n const isClient = useIsClient();\n if (!isClient) {\n return null;\n }\n\n const forcePortal = forcePortalProp ?? mode !== 'full';\n\n const portalContainer = getPortalContainer(portalRootProp, portalRoot);\n\n const ignoreDisablePortalFlagFromContext = portalRootProp && forcePortal;\n const shouldUsePortal = ignoreDisablePortalFlagFromContext\n ? true\n : !disablePortal && portalContainer && forcePortal;\n\n return shouldUsePortal && portalContainer ? (\n createPortal(\n <AppearanceProvider appearance={appearance}>\n <div className={className}>{children}</div>\n </AppearanceProvider>,\n portalContainer,\n )\n ) : (\n <React.Fragment>{children}</React.Fragment>\n );\n};\n\n/**\n * Получает из кастомного пропа `partialRootProp` и `partialRoot` контекста\n * контейнер-элемент для портала.\n * `partialRootProp` может быть ref элементом.\n *\n */\nfunction getPortalContainer(\n portalRootProp?: HTMLElement | React.RefObject<HTMLElement> | null,\n portalRoot?: HTMLElement | null,\n) {\n if (!portalRootProp) {\n return portalRoot;\n }\n\n return isRefObject(portalRootProp) ? portalRootProp.current : portalRootProp;\n}\n"],"names":["AppRootPortal","children","className","forcePortal","forcePortalProp","portalRootProp","portalRoot","React","useContext","AppRootContext","mode","disablePortal","appearance","useAppearance","isClient","useIsClient","portalContainer","getPortalContainer","ignoreDisablePortalFlagFromContext","shouldUsePortal","createPortal","AppearanceProvider","div","Fragment","isRefObject","current"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;+DApBU;wBACM;6BACC;2BACF;2BACA;kCAEO;8BACJ;AAaxB,IAAMA,gBAAgB;QAC3BC,iBAAAA,UACAC,kBAAAA,WACAC,AAAaC,wBAAbD,aACYE,YAAZC,YAAYD,iBAAAA,iBAAiB,OAAjBA;IAEZ,IAA4CE,oBAAAA,OAAMC,UAAU,CAACC,8BAAc,GAAnEH,aAAoCC,kBAApCD,YAAYI,OAAwBH,kBAAxBG,MAAMC,gBAAkBJ,kBAAlBI;IAC1B,IAAMC,aAAaC,IAAAA,4BAAa;IAEhC,IAAMC,WAAWC,IAAAA,wBAAW;IAC5B,IAAI,CAACD,UAAU;QACb,OAAO;IACT;IAEA,IAAMX,cAAcC,4BAAAA,6BAAAA,kBAAmBM,SAAS;IAEhD,IAAMM,kBAAkBC,mBAAmBZ,gBAAgBC;IAE3D,IAAMY,qCAAqCb,kBAAkBF;IAC7D,IAAMgB,kBAAkBD,qCACpB,OACA,CAACP,iBAAiBK,mBAAmBb;IAEzC,OAAOgB,mBAAmBH,gCACxBI,IAAAA,sBAAY,gBACV,qBAACC,sCAAkB;QAACT,YAAYA;qBAC9B,qBAACU;QAAIpB,WAAWA;OAAYD,YAE9Be,iCAGF,qBAACT,OAAMgB,QAAQ,QAAEtB;AAErB;AAEA;;;;;CAKC,GACD,SAASgB,mBACPZ,cAAkE,EAClEC,UAA+B;IAE/B,IAAI,CAACD,gBAAgB;QACnB,OAAOC;IACT;IAEA,OAAOkB,IAAAA,wBAAW,EAACnB,kBAAkBA,eAAeoB,OAAO,GAAGpB;AAChE"}
@@ -155,9 +155,10 @@ var ElementScrollController = function(param) {
155
155
  ]);
156
156
  var scrollTo = _react.useCallback(function() {
157
157
  var x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
158
+ var // Some iOS versions do not normalize scroll — do it manually.
159
+ _el;
158
160
  var el = elRef.current;
159
- // Some iOS versions do not normalize scroll do it manually.
160
- el === null || el === void 0 ? void 0 : el.scrollTo(x ? (0, _math.clamp)(x, 0, el.scrollWidth - el.clientWidth) : 0, y ? (0, _math.clamp)(y, 0, el.scrollHeight - el.clientHeight) : 0);
161
+ (_el = el) === null || _el === void 0 ? void 0 : _el.scrollTo(x ? (0, _math.clamp)(x, 0, el.scrollWidth - el.clientWidth) : 0, y ? (0, _math.clamp)(y, 0, el.scrollHeight - el.clientHeight) : 0);
161
162
  }, [
162
163
  elRef
163
164
  ]);
@@ -229,7 +230,8 @@ var useScrollLockEffect = function(effect, deps) {
229
230
  // Добавляем effectCallback в список функций, которые необходимо вызвать
230
231
  // до блокировки
231
232
  _react.useEffect(function() {
232
- var beforeSet = beforeScrollLockFnSetRef === null || beforeScrollLockFnSetRef === void 0 ? void 0 : beforeScrollLockFnSetRef.current;
233
+ var _beforeScrollLockFnSetRef;
234
+ var beforeSet = (_beforeScrollLockFnSetRef = beforeScrollLockFnSetRef) === null || _beforeScrollLockFnSetRef === void 0 ? void 0 : _beforeScrollLockFnSetRef.current;
233
235
  if (!beforeSet) {
234
236
  return _vkjs.noop;
235
237
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasChildren } from '../../types';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps extends HasChildren {\n elRef: React.RefObject<HTMLElement>;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: window!.pageXOffset,\n y: getPageYOffsetWithoutKeyboardHeight(window!),\n }),\n [window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0,\n );\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\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<ScrollContextInterface['disableScrollLock']>(() => {\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 <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({ elRef, children }: 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<ScrollContextInterface['enableScrollLock']>(() => {\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<ScrollContextInterface['disableScrollLock']>(() => {\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 <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (effect: React.EffectCallback, deps: React.DependencyList) => {\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"],"names":["ScrollContext","useScroll","GlobalScrollController","ElementScrollController","useScrollLockEffect","useScrollLock","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useContext","children","useDOM","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","current","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","Provider","value","elRef","scrollLeft","scrollTop","el","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","enabled","useIsomorphicLayoutEffect"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/AppRoot/ScrollContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { clamp } from '../../helpers/math';\nimport { useDOM } from '../../lib/dom';\nimport { useIsomorphicLayoutEffect } from '../../lib/useIsomorphicLayoutEffect';\nimport { HasChildren } from '../../types';\n\nconst clearDisableScrollStyle = (node: HTMLElement) => {\n Object.assign(node.style, {\n position: '',\n top: '',\n left: '',\n right: '',\n overflowY: '',\n overflowX: '',\n });\n};\n\nconst getPageYOffsetWithoutKeyboardHeight = (window: Window) => {\n // Note: здесь расчёт на то, что `clientHeight` равен `window.innerHeight`.\n // Это достигается тем, что тегу `html` задали`height: 100%` и у него нет отступов сверху и снизу. Если есть отступы,\n // то надо задать `box-sizing: border-box`, чтобы они не учитывались.\n const diffOfClientHeightAndViewportHeight =\n window.document.documentElement.clientHeight - window.innerHeight;\n return window.pageYOffset - diffOfClientHeightAndViewportHeight;\n};\n\nexport interface ScrollContextInterface {\n getScroll(this: void): { x: number; y: number };\n scrollTo(this: void, x?: number, y?: number): void;\n isScrollLock: boolean;\n enableScrollLock(this: void): void;\n disableScrollLock(this: void): void;\n beforeScrollLockFnSetRef?: React.RefObject<Set<() => void>>;\n}\n\nexport const ScrollContext = React.createContext<ScrollContextInterface>({\n getScroll: () => ({ x: 0, y: 0 }),\n scrollTo: noop,\n isScrollLock: false,\n enableScrollLock: noop,\n disableScrollLock: noop,\n});\n\nexport const useScroll = () => React.useContext(ScrollContext);\n\nexport interface ScrollControllerProps extends HasChildren {\n elRef: React.RefObject<HTMLElement>;\n}\n\nexport const GlobalScrollController = ({ children }: ScrollControllerProps) => {\n const { window, document } = useDOM();\n const [isScrollLock, setScrollLock] = React.useState(false);\n const beforeScrollLockFnSetRef = React.useRef<Set<() => void>>(new Set());\n\n const getScroll = React.useCallback<ScrollContextInterface['getScroll']>(\n () => ({\n x: window!.pageXOffset,\n y: getPageYOffsetWithoutKeyboardHeight(window!),\n }),\n [window],\n );\n const scrollTo = React.useCallback<ScrollContextInterface['scrollTo']>(\n (x = 0, y = 0) => {\n // Some iOS versions do not normalize scroll — do it manually.\n window!.scrollTo(\n x ? clamp(x, 0, document!.body.scrollWidth - window!.innerWidth) : 0,\n y ? clamp(y, 0, document!.body.scrollHeight - window!.innerHeight) : 0,\n );\n },\n [document, window],\n );\n\n const enableScrollLock = React.useCallback<ScrollContextInterface['enableScrollLock']>(() => {\n beforeScrollLockFnSetRef.current.forEach((fn) => {\n fn();\n });\n\n const scrollY = window!.pageYOffset;\n const scrollX = window!.pageXOffset;\n const overflowY = window!.innerWidth > document!.documentElement.clientWidth ? 'scroll' : '';\n const overflowX = window!.innerHeight > document!.documentElement.clientHeight ? 'scroll' : '';\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<ScrollContextInterface['disableScrollLock']>(() => {\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 <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\nexport const ElementScrollController = ({ elRef, children }: 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<ScrollContextInterface['enableScrollLock']>(() => {\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<ScrollContextInterface['disableScrollLock']>(() => {\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 <ScrollContext.Provider value={scrollController}>{children}</ScrollContext.Provider>;\n};\n\n/**\n * Вызывает функцию effect, до блокировки прокрутки\n * @param effect функция, которая может возвращать функцию очистки\n * @param deps effect обновится только при изменении значений в списке.\n */\nexport const useScrollLockEffect = (effect: React.EffectCallback, deps: React.DependencyList) => {\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"],"names":["ScrollContext","useScroll","GlobalScrollController","ElementScrollController","useScrollLockEffect","useScrollLock","clearDisableScrollStyle","node","Object","assign","style","position","top","left","right","overflowY","overflowX","getPageYOffsetWithoutKeyboardHeight","window","diffOfClientHeightAndViewportHeight","document","documentElement","clientHeight","innerHeight","pageYOffset","React","createContext","getScroll","x","y","scrollTo","noop","isScrollLock","enableScrollLock","disableScrollLock","useContext","children","useDOM","useState","setScrollLock","beforeScrollLockFnSetRef","useRef","Set","useCallback","pageXOffset","clamp","body","scrollWidth","innerWidth","scrollHeight","current","forEach","fn","scrollY","scrollX","clientWidth","parseInt","scrollController","useMemo","Provider","value","elRef","scrollLeft","scrollTop","el","effect","deps","destructorRef","effectCallback","useEffect","beforeSet","add","delete","enabled","useIsomorphicLayoutEffect"],"mappings":"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"}